Saturday, May 09, 2026

www/qobuz-dl: update to 2.1.4, switch to fork and take maintainership

ports@, I'd like to update www/qobuz-dl to 2.1.4 from a fork which seems alive and fixes issues and includes all backported patches. I don't think that renaming is nessesary, so, I've just switched pypi source. Also, take maintainership of that port. Ok? Index: Makefile =================================================================== RCS file: /cvs/ports/www/qobuz-dl/Makefile,v diff -u -p -r1.3 Makefile --- Makefile 29 Apr 2025 10:40:31 -0000 1.3 +++ Makefile 8 May 2026 18:44:03 -0000 @@ -1,13 +1,15 @@ COMMENT = music downloader for Qobuz -MODPY_DISTV = 0.9.9.10 +MODPY_DISTV = 2.1.4 -DISTNAME = qobuz-dl-${MODPY_DISTV} -REVISION = 1 +DISTNAME = qobuz_dl_ultimate-${MODPY_DISTV} +PKGNAME= qobuz-dl-${MODPY_DISTV} CATEGORIES = www audio -HOMEPAGE = https://github.com/vitiko98/Qobuz-DL +HOMEPAGE = https://github.com/Sei969/qobuz-dl + +MAINTAINER = Kirill A. Korinsky <kirill@korins.ky> # GPLv3 PERMIT_PACKAGE = Yes @@ -22,12 +24,12 @@ RUN_DEPENDS = audio/py-mutagen \ devel/py-pathvalidate \ devel/py-pick \ devel/py-tqdm \ + graphics/ffmpeg \ + security/py-cryptography \ www/py-beautifulsoup4 \ www/py-requests # tests don't exist NO_TEST = Yes - -FIX_CRLF_FILES = qobuz_dl/qopy.py .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/www/qobuz-dl/distinfo,v diff -u -p -r1.1.1.1 distinfo --- distinfo 22 Nov 2024 19:17:36 -0000 1.1.1.1 +++ distinfo 8 May 2026 18:44:03 -0000 @@ -1,2 +1,2 @@ -SHA256 (qobuz-dl-0.9.9.10.tar.gz) = q7TUl3scg+isoLB0xJvJLCtvJU7O+ogMlftt0O73qb4= -SIZE (qobuz-dl-0.9.9.10.tar.gz) = 35976 +SHA256 (qobuz_dl_ultimate-2.1.4.tar.gz) = pwpFfWF6emQYCL64TuqZGFQo+qSrVvCUSYhlV1Yjshs= +SIZE (qobuz_dl_ultimate-2.1.4.tar.gz) = 88121 Index: patches/patch-qobuz_dl_core_py =================================================================== RCS file: patches/patch-qobuz_dl_core_py diff -N patches/patch-qobuz_dl_core_py --- patches/patch-qobuz_dl_core_py 22 Nov 2024 19:17:36 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,60 +0,0 @@ -https://github.com/vitiko98/qobuz-dl/pull/179 - -Index: qobuz_dl/core.py ---- qobuz_dl/core.py.orig -+++ qobuz_dl/core.py -@@ -274,7 +274,7 @@ class QobuzDL: - - def interactive(self, download=True): - try: -- from pick import pick -+ from pick import pick, Option - except (ImportError, ModuleNotFoundError): - if os.name == "nt": - sys.exit( -@@ -284,10 +284,10 @@ class QobuzDL: - raise - - qualities = [ -- {"q_string": "320", "q": 5}, -- {"q_string": "Lossless", "q": 6}, -- {"q_string": "Hi-res =< 96kHz", "q": 7}, -- {"q_string": "Hi-Res > 96 kHz", "q": 27}, -+ Option("320", 5), -+ Option("Lossless", 6), -+ Option("Hi-res =< 96kHz", 7), -+ Option("Hi-Res > 96 kHz", 27), - ] - - def get_title_text(option): -@@ -320,15 +320,17 @@ class QobuzDL: - "(one or more)\nPress Ctrl + c to quit\n" - "Don't select anything to try another search" - ) -+ -+ pick_options = [Option(option['text'], option['url']) for option in options] -+ - selected_items = pick( -- options, -+ pick_options, - title, - multiselect=True, - min_selection_count=0, -- options_map_func=get_title_text, - ) - if len(selected_items) > 0: -- [final_url_list.append(i[0]["url"]) for i in selected_items] -+ [final_url_list.append(i[0].value) for i in selected_items] - y_n = pick( - ["Yes", "No"], - "Items were added to queue to be downloaded. " -@@ -349,8 +351,7 @@ class QobuzDL: - qualities, - desc, - default_index=1, -- options_map_func=get_quality_text, -- )[0]["q"] -+ )[0].value - - if download: - self.download_list_of_urls(final_url_list) Index: patches/patch-qobuz_dl_qopy_py =================================================================== RCS file: patches/patch-qobuz_dl_qopy_py diff -N patches/patch-qobuz_dl_qopy_py --- patches/patch-qobuz_dl_qopy_py 22 Nov 2024 19:17:36 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -https://github.com/vitiko98/qobuz-dl/issues/261 -Index: qobuz_dl/qopy.py ---- qobuz_dl/qopy.py.orig -+++ qobuz_dl/qopy.py -@@ -122,12 +122,8 @@ class Client: - - def auth(self, email, pwd): - usr_info = self.api_call("user/login", email=email, pwd=pwd) -- if not usr_info["user"]["credential"]["parameters"]: -- raise IneligibleError("Free accounts are not eligible to download tracks.") - self.uat = usr_info["user_auth_token"] - self.session.headers.update({"X-User-Auth-Token": self.uat}) -- self.label = usr_info["user"]["credential"]["parameters"]["short_label"] -- logger.info(f"{GREEN}Membership: {self.label}") - - def multi_meta(self, epoint, key, id, type): - total = 1 Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/www/qobuz-dl/pkg/PLIST,v diff -u -p -r1.4 PLIST --- pkg/PLIST 23 Oct 2025 13:20:35 -0000 1.4 +++ pkg/PLIST 8 May 2026 18:44:03 -0000 @@ -1,18 +1,13 @@ bin/qdl bin/qobuz-dl lib/python${MODPY_VERSION}/site-packages/qobuz_dl/ -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/ -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/METADATA -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/RECORD -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/WHEEL -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/entry_points.txt -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/licenses/ -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/licenses/LICENSE -lib/python${MODPY_VERSION}/site-packages/qobuz_dl-${MODPY_DISTV}.dist-info/top_level.txt lib/python${MODPY_VERSION}/site-packages/qobuz_dl/__init__.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/__main__.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}/ lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}bundle.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}bundle.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}cli.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -21,6 +16,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}color.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}commands.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}commands.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}constants.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}constants.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}db.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -29,20 +26,50 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}downloader.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}lastfm_parser.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}lastfm_parser.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}lyrics_engine.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}lyrics_engine.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}metadata.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}metadata.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}qopy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}qopy.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}radar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}radar.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}retro_tagger.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}retro_tagger.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}settings.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}settings.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}sync_playlist.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}sync_playlist.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/qobuz_dl/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/qobuz_dl/bundle.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/cli.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/color.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/commands.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/constants.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/core.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/db.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/downloader.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/exceptions.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/lastfm_parser.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/lyrics_engine.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/metadata.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/qopy.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/radar.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/retro_tagger.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/settings.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/sync.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl/sync_playlist.py lib/python${MODPY_VERSION}/site-packages/qobuz_dl/utils.py +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/ +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/METADATA +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/RECORD +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/WHEEL +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/entry_points.txt +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/licenses/ +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/licenses/LICENSE +lib/python${MODPY_VERSION}/site-packages/qobuz_dl_ultimate-${MODPY_DISTV}.dist-info/top_level.txt -- wbr, Kirill

No comments:

Post a Comment