Download raw body.
audio/beets: update to 2.4.0
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
audio/beets: update to 2.4.0