git: f4f0f118cf56 - main - www/py-yubal: New port: Self-hosted YouTube Music downloader
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 09 Jun 2026 19:32:10 UTC
The branch main has been updated by dtxdf:
URL: https://cgit.FreeBSD.org/ports/commit/?id=f4f0f118cf566d17f2f6485fae41225c566faeb3
commit f4f0f118cf566d17f2f6485fae41225c566faeb3
Author: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2026-06-09 18:07:50 +0000
Commit: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2026-06-09 19:31:32 +0000
www/py-yubal: New port: Self-hosted YouTube Music downloader
yubal is a self-hosted YouTube Music downloader. Paste a link, get
a tagged, organized library.
Scheduled sync. Smart deduplication. Media server ready. Browser
extension included.
WWW: https://github.com/guillevc/yubal/
---
www/Makefile | 1 +
www/py-yubal/Makefile | 38 ++++++++++++++++++++++++++++++++++++++
www/py-yubal/distinfo | 3 +++
www/py-yubal/pkg-descr | 5 +++++
4 files changed, 47 insertions(+)
diff --git a/www/Makefile b/www/Makefile
index 39320f61159f..b8d7f5cdcffc 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2037,6 +2037,7 @@
SUBDIR += py-youtube-transcript-api
SUBDIR += py-yt-dlp
SUBDIR += py-yt-dlp-ejs
+ SUBDIR += py-yubal
SUBDIR += pydio-cells
SUBDIR += qdecoder
SUBDIR += qhttpengine
diff --git a/www/py-yubal/Makefile b/www/py-yubal/Makefile
new file mode 100644
index 000000000000..ab17e9f63c78
--- /dev/null
+++ b/www/py-yubal/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= yubal
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.9.0
+CATEGORIES= www python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Self-hosted YouTube Music downloader
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKDIR}/${PORTNAME}-${DISTVERSION}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uv-build>=0:devel/py-uv-build@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mediafile>=0:devel/py-mediafile@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=0:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pathvalidate>=0:devel/py-pathvalidate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rapidfuzz>=0:devel/py-rapidfuzz@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}unidecode>=0:converters/py-unidecode@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}yt-dlp>=0:www/py-yt-dlp@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ytmusicapi>=0:devel/py-ytmusicapi@${PY_FLAVOR} \
+ rsgain:audio/rsgain
+
+USES= python
+USE_PYTHON= autoplist pep517
+USE_GITHUB= yes
+GH_ACCOUNT= guillevc
+
+WRKSRC_SUBDIR= packages/yubal
+
+OPTIONS_DEFINE= CLI
+OPTIONS_DEFAULT= CLI
+
+CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}rich>=0:textproc/py-rich@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typer>=0:devel/py-typer@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-yubal/distinfo b/www/py-yubal/distinfo
new file mode 100644
index 000000000000..2124f53338fa
--- /dev/null
+++ b/www/py-yubal/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1780935120
+SHA256 (guillevc-yubal-v0.9.0_GH0.tar.gz) = 19ba551b6411c613fcf6fb488d49a6d9df47bba9c1d03dfa47698dc5f5efc398
+SIZE (guillevc-yubal-v0.9.0_GH0.tar.gz) = 12894665
diff --git a/www/py-yubal/pkg-descr b/www/py-yubal/pkg-descr
new file mode 100644
index 000000000000..d4ae1ee56de5
--- /dev/null
+++ b/www/py-yubal/pkg-descr
@@ -0,0 +1,5 @@
+yubal is a self-hosted YouTube Music downloader. Paste a link, get
+a tagged, organized library.
+
+Scheduled sync. Smart deduplication. Media server ready. Browser
+extension included.