From nobody Tue Jun 9 19:32:10 2026 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZfDq2bSPz6gWpL for ; Tue, 09 Jun 2026 19:32:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gZfDp2vrHz3rsK for ; Tue, 09 Jun 2026 19:32:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781033530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8sdbvCxTxohTNl0cxaDwIrSJluvz1n0voQxCE+B13w=; b=HPFsAmoG9NL/C8XIYWCKmGscQPFg3FPgxdjeNnf/1bXKB0j0Ue+4LfflquRVpSXLmJcOqr gEVK9/nvVaZ3a1CPlT8pmtBWTWrdrbdpOcuOGO9/+856W+9eI+5HNRpvSHMxoxRBnMQ32a dpSy7I/ski5LKLX4iHcTGOtfNNepnIZbsqAwgOS+kqrQJQah/fj8jWNps2VAmGlVb5Lw03 UPK0YX6yIexnYNxf9578hQTWURpWT+JpFIoM9gOr3vPQIgoi42a1cQHTO8FKA6s/pfjgjr fZVhjc9GaH5wqNifr6rcacuEZABQQtJIlAIXpZoSHxXJHelTDE992JK08lb3uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781033530; a=rsa-sha256; cv=none; b=SulHQhm7wEyutlI3wVijyfmZcfCgjwNkX6bnGZBv6HWuiEbHmvefkMpytgIUrga4I6GvL3 /tursiANokDuGYjmECM8lqRSKmiA3Q5bolAo+lpA7Ypmw4pODhE1Q1WIud0NeC1DcUpO8L aIPUPoG8+J3R+92oQvyJVkVWhIcm/Ypmmx6ugN4/ufhCDBVo/FUAhNA2tnxrgTr8lKV4JU DHojsHb7Cb3uXuh0YBwVy+esaVFj9o01CsMlhmb6S1owOJjkTBfX/QQnkb/OFZ24r1CJ7f N7OoM96nMZWPr30jeSzTg60uL2WaiPj4Oo7lGsANmkLPgmFbcpVYVa5G5knmHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781033530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8sdbvCxTxohTNl0cxaDwIrSJluvz1n0voQxCE+B13w=; b=wQ/ZLKFGTVufhDiCBkno2P6q2usGdKsv7Mu6Vt0T3z6hRGIq0EdAhG009hC31GyB+/6ekf XlBgff5QxZ6YB1uJ2P4t/XOoJRPsmJSVvOyZLG1HjPcUSmY3NlmCXtozC4j7MhPG1t1QS1 r6T/RqdgjDMFIfn79XCTKJFPWu69lATzNrRC44HBku+smKczuxKvurPBR3xCAOBVhpjzA9 /7c7mtmtT90SzmeV5EDYc4/q28x2UpIrim2AKS8oTZEQd++/x1a2L44jkTV7S4DBs5m0po Dv5CCRLAHH7jXCyLqCuJu4BjbrdMOkqxg94ugQsRL+Q7U8p6iezpeOcEcKR67g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZfDp2VVjzpby for ; Tue, 09 Jun 2026 19:32:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ff34 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 09 Jun 2026 19:32:10 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: =?utf-8?Q?Jes=C3=BAs?= Daniel Colmenares Oviedo Subject: git: f4f0f118cf56 - main - www/py-yubal: New port: Self-hosted YouTube Music downloader List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dtxdf X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4f0f118cf566d17f2f6485fae41225c566faeb3 Auto-Submitted: auto-generated Date: Tue, 09 Jun 2026 19:32:10 +0000 Message-Id: <6a286a3a.3ff34.10203d97@gitrepo.freebsd.org> 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 AuthorDate: 2026-06-09 18:07:50 +0000 Commit: Jesús Daniel Colmenares Oviedo 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 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.