From: Kirill A. Korinsky Subject: audio/beets: update to 2.4.0 To: OpenBSD ports Date: Sun, 14 Sep 2025 11:03:43 +0200 ports@, I'd like to commit in a few days an update for audio/beets to 2.4.0 Changes: https://github.com/beetbox/beets/releases/tag/v2.4.0 It works on my usecase on -current/amd64 without any regression, but any tests are welcome, as usual. Index: Makefile =================================================================== RCS file: /home/cvs/ports/audio/beets/Makefile,v diff -u -p -r1.71 Makefile --- Makefile 23 May 2025 12:55:50 -0000 1.71 +++ Makefile 14 Sep 2025 08:48:56 -0000 @@ -1,6 +1,6 @@ COMMENT= CLI tools to manage music collections -MODPY_DISTV= 2.3.1 +MODPY_DISTV= 2.4.0 DISTNAME= beets-${MODPY_DISTV} CATEGORIES= audio @@ -23,6 +23,7 @@ RUN_DEPENDS+= textproc/py-confuse \ math/py-numpy \ sysutils/py-platformdirs \ textproc/py-yaml \ + devel/py-typing-extensions \ textproc/py-unidecode \ www/py-beautifulsoup4 \ textproc/py-langdetect \ Index: distinfo =================================================================== RCS file: /home/cvs/ports/audio/beets/distinfo,v diff -u -p -r1.27 distinfo --- distinfo 23 May 2025 12:55:50 -0000 1.27 +++ distinfo 14 Sep 2025 08:50:07 -0000 @@ -1,2 +1,2 @@ -SHA256 (beets-2.3.1.tar.gz) = h1mHIaFK+JoG1a09noE4+KwRJRAnGpgakLhA7XhNVxI= -SIZE (beets-2.3.1.tar.gz) = 2133246 +SHA256 (beets-2.4.0.tar.gz) = xYl+ewGPvq8CqcULk+M4pPToVO2DIUcb5pCndGvgPvo= +SIZE (beets-2.4.0.tar.gz) = 2134935 Index: pkg/PLIST =================================================================== RCS file: /home/cvs/ports/audio/beets/pkg/PLIST,v diff -u -p -r1.29 PLIST --- pkg/PLIST 23 May 2025 12:55:50 -0000 1.29 +++ pkg/PLIST 14 Sep 2025 08:57:18 -0000 @@ -15,14 +15,12 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}art.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}art.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}importer.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}importer.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}library.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}library.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}logging.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}logging.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}mediafile.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}mediafile.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}metadata_plugins.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}metadata_plugins.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}plugins.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}plugins.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/${MODPY_PYCACHE}random.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -35,15 +33,15 @@ lib/python${MODPY_VERSION}/site-packages ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}/ lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}distance.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}distance.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}hooks.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}hooks.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}match.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}match.${MODPY_PYC_MAGIC_TAG}pyc -lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}mb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} -lib/python${MODPY_VERSION}/site-packages/beets/autotag/${MODPY_PYCACHE}mb.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/autotag/distance.py lib/python${MODPY_VERSION}/site-packages/beets/autotag/hooks.py lib/python${MODPY_VERSION}/site-packages/beets/autotag/match.py -lib/python${MODPY_VERSION}/site-packages/beets/autotag/mb.py lib/python${MODPY_VERSION}/site-packages/beets/config_default.yaml lib/python${MODPY_VERSION}/site-packages/beets/dbcore/ lib/python${MODPY_VERSION}/site-packages/beets/dbcore/__init__.py @@ -62,11 +60,45 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beets/dbcore/query.py lib/python${MODPY_VERSION}/site-packages/beets/dbcore/queryparse.py lib/python${MODPY_VERSION}/site-packages/beets/dbcore/types.py -lib/python${MODPY_VERSION}/site-packages/beets/importer.py -lib/python${MODPY_VERSION}/site-packages/beets/library.py +lib/python${MODPY_VERSION}/site-packages/beets/importer/ +lib/python${MODPY_VERSION}/site-packages/beets/importer/__init__.py +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}stages.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}stages.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}state.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}state.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}tasks.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/importer/${MODPY_PYCACHE}tasks.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/importer/session.py +lib/python${MODPY_VERSION}/site-packages/beets/importer/stages.py +lib/python${MODPY_VERSION}/site-packages/beets/importer/state.py +lib/python${MODPY_VERSION}/site-packages/beets/importer/tasks.py +lib/python${MODPY_VERSION}/site-packages/beets/library/ +lib/python${MODPY_VERSION}/site-packages/beets/library/__init__.py +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}library.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}library.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}models.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}models.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}queries.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/library/${MODPY_PYCACHE}queries.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/library/exceptions.py +lib/python${MODPY_VERSION}/site-packages/beets/library/library.py +lib/python${MODPY_VERSION}/site-packages/beets/library/models.py +lib/python${MODPY_VERSION}/site-packages/beets/library/queries.py lib/python${MODPY_VERSION}/site-packages/beets/logging.py lib/python${MODPY_VERSION}/site-packages/beets/mediafile.py +lib/python${MODPY_VERSION}/site-packages/beets/metadata_plugins.py lib/python${MODPY_VERSION}/site-packages/beets/plugins.py +lib/python${MODPY_VERSION}/site-packages/beets/py.typed lib/python${MODPY_VERSION}/site-packages/beets/random.py lib/python${MODPY_VERSION}/site-packages/beets/test/ lib/python${MODPY_VERSION}/site-packages/beets/test/__init__.py @@ -97,6 +129,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}artresizer.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}bluelet.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}bluelet.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}functemplate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}functemplate.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}hidden.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -107,13 +141,17 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}m3u.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}pipeline.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}pipeline.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}units.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}units.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beets/util/artresizer.py lib/python${MODPY_VERSION}/site-packages/beets/util/bluelet.py +lib/python${MODPY_VERSION}/site-packages/beets/util/config.py lib/python${MODPY_VERSION}/site-packages/beets/util/functemplate.py lib/python${MODPY_VERSION}/site-packages/beets/util/hidden.py lib/python${MODPY_VERSION}/site-packages/beets/util/id_extractors.py lib/python${MODPY_VERSION}/site-packages/beets/util/m3u.py lib/python${MODPY_VERSION}/site-packages/beets/util/pipeline.py +lib/python${MODPY_VERSION}/site-packages/beets/util/units.py lib/python${MODPY_VERSION}/site-packages/beets/vfs.py lib/python${MODPY_VERSION}/site-packages/beetsplug/ ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}/ @@ -219,6 +257,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}mpdstats.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}mpdupdate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}mpdupdate.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}musicbrainz.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}musicbrainz.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}parentwork.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}parentwork.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}permissions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -231,6 +271,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}plexupdate.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}random.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}random.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}replace.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}replace.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}replaygain.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}replaygain.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}rewrite.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -336,12 +378,14 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/beetsplug/missing.py lib/python${MODPY_VERSION}/site-packages/beetsplug/mpdstats.py lib/python${MODPY_VERSION}/site-packages/beetsplug/mpdupdate.py +lib/python${MODPY_VERSION}/site-packages/beetsplug/musicbrainz.py lib/python${MODPY_VERSION}/site-packages/beetsplug/parentwork.py lib/python${MODPY_VERSION}/site-packages/beetsplug/permissions.py lib/python${MODPY_VERSION}/site-packages/beetsplug/play.py lib/python${MODPY_VERSION}/site-packages/beetsplug/playlist.py lib/python${MODPY_VERSION}/site-packages/beetsplug/plexupdate.py lib/python${MODPY_VERSION}/site-packages/beetsplug/random.py +lib/python${MODPY_VERSION}/site-packages/beetsplug/replace.py lib/python${MODPY_VERSION}/site-packages/beetsplug/replaygain.py lib/python${MODPY_VERSION}/site-packages/beetsplug/rewrite.py lib/python${MODPY_VERSION}/site-packages/beetsplug/scrub.py -- wbr, Kirill