Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
[update] audio/beets update to 2.0.0; taking maintainer
To:
OpenBSD ports <ports@openbsd.org>
Date:
Thu, 30 May 2024 13:20:14 +0100

Download raw body.

Thread
ports@

Here an update of beets to 2.0.0 which was released a few hours ago,
changelog available inside GitHub release
https://github.com/beetbox/beets/releases/tag/v2.0.0

I've added py-langdetect dependency which allows to use lyrics plugin, and
also would like to take care of this port

diff --git audio/beets/Makefile audio/beets/Makefile
index e01bee1b071..cc2fb824bdf 100644
--- audio/beets/Makefile
+++ audio/beets/Makefile
@@ -1,12 +1,13 @@
 COMMENT=	CLI tools to manage music collections
 
-MODPY_EGG_VERSION= 1.6.0
-REVISION=	2
+MODPY_EGG_VERSION= 2.0.0
 DISTNAME=	beets-${MODPY_EGG_VERSION}
 CATEGORIES=	audio
 
 HOMEPAGE=	https://beets.io/
 
+MAINTAINER=	Kirill A. Korinsky <kirill@korins.ky>
+
 # MIT
 PERMIT_PACKAGE=	Yes
 
@@ -14,16 +15,18 @@ MODULES=	lang/python
 MODPY_PYBUILD=	setuptools
 MODPY_PI=	Yes
 
-RUN_DEPENDS+=	audio/py-discogs-client${MODPY_FLAVOR}>=2.0.2 \
+RUN_DEPENDS+=	audio/py-discogs-client${MODPY_FLAVOR}>=2.3.15 \
 		audio/py-last${MODPY_FLAVOR} \
-		audio/py-mediafile${MODPY_FLAVOR} \
-		audio/py-musicbrainzngs${MODPY_FLAVOR} \
+		audio/py-mediafile${MODPY_FLAVOR}>=0.12.0 \
+		audio/py-musicbrainzngs${MODPY_FLAVOR}>=0.4 \
 		audio/py-mutagen${MODPY_FLAVOR} \
-		devel/py-algorithm-munkres${MODPY_FLAVOR} \
+		graphics/py-Pillow${MODPY_FLAVOR} \
+		devel/py-algorithm-munkres${MODPY_FLAVOR}>=1.0.0 \
 		devel/py-xdg${MODPY_FLAVOR} \
 		textproc/py-confuse${MODPY_FLAVOR} \
 		textproc/py-jellyfish${MODPY_FLAVOR} \
-		textproc/py-unidecode${MODPY_FLAVOR} \
+		textproc/py-langdetect${MODPY_FLAVOR} \
+		textproc/py-unidecode${MODPY_FLAVOR}>=1.3.6 \
 		textproc/py-yaml${MODPY_FLAVOR} \
 		www/py-beautifulsoup4${MODPY_FLAVOR} \
 		www/py-requests${MODPY_FLAVOR}
@@ -36,6 +39,7 @@ PORTHOME=	${WRKDIR}
 TEST_DEPENDS=	archivers/py-rarfile${MODPY_FLAVOR} \
 		audio/py-mpd2${MODPY_FLAVOR} \
 		devel/py-mock${MODPY_FLAVOR} \
+		devel/py-test-cov${MODPY_FLAVOR} \
 		www/py-flask${MODPY_FLAVOR} \
 		www/py-requests-oauthlib${MODPY_FLAVOR} \
 		www/py-responses${MODPY_FLAVOR}
diff --git audio/beets/distinfo audio/beets/distinfo
index 34ebbbf8185..5763af8ffb9 100644
--- audio/beets/distinfo
+++ audio/beets/distinfo
@@ -1,2 +1,2 @@
-SHA256 (beets-1.6.0.tar.gz) = qm+3NORK/JsDnAq9Dt1MdwbfANTrSq56+p/0trsVUl0=
-SIZE (beets-1.6.0.tar.gz) = 1698333
+SHA256 (beets-2.0.0.tar.gz) = OxFytbw3KeM6bqRon30CNmgr+CjGcZa2omDwOJyx+M8=
+SIZE (beets-2.0.0.tar.gz) = 2194709
diff --git audio/beets/patches/patch-test__common_py audio/beets/patches/patch-test__common_py
deleted file mode 100644
index 80436caa5de..00000000000
--- audio/beets/patches/patch-test__common_py
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: test/_common.py
---- test/_common.py.orig
-+++ test/_common.py
-@@ -22,9 +22,7 @@ import shutil
- import unittest
- from contextlib import contextmanager
- 
--import reflink
- 
--
- # Mangle the search path to include the beets sources.
- sys.path.insert(0, '..')
- import beets.library  # noqa: E402
-@@ -54,7 +52,7 @@ _item_ident = 0
- # OS feature test.
- HAVE_SYMLINK = sys.platform != 'win32'
- HAVE_HARDLINK = sys.platform != 'win32'
--HAVE_REFLINK = reflink.supported_at(tempfile.gettempdir())
-+HAVE_REFLINK = False
- 
- 
- def item(lib=None):
diff --git audio/beets/patches/patch-test_test_files_py audio/beets/patches/patch-test_test_files_py
new file mode 100644
index 00000000000..fa0285ceb65
--- /dev/null
+++ audio/beets/patches/patch-test_test_files_py
@@ -0,0 +1,18 @@
+https://github.com/beetbox/beets/pull/5272
+
+Index: test/test_files.py
+--- test/test_files.py.orig
++++ test/test_files.py
+@@ -88,10 +88,12 @@ class MoveTest(_common.TestCase):
+         self.i.move(operation=MoveOperation.COPY)
+         self.assertExists(self.path)
+ 
++    @unittest.skipUnless(_common.HAVE_REFLINK, "need reflink")
+     def test_reflink_arrives(self):
+         self.i.move(operation=MoveOperation.REFLINK_AUTO)
+         self.assertExists(self.dest)
+ 
++    @unittest.skipUnless(_common.HAVE_REFLINK, "need reflink")
+     def test_reflink_does_not_depart(self):
+         self.i.move(operation=MoveOperation.REFLINK_AUTO)
+         self.assertExists(self.path)
diff --git audio/beets/pkg/PLIST audio/beets/pkg/PLIST
index 3e155c825b0..049ca24be50 100644
--- audio/beets/pkg/PLIST
+++ audio/beets/pkg/PLIST
@@ -6,7 +6,6 @@ lib/python${MODPY_VERSION}/site-packages/beets-${MODPY_EGG_VERSION}.dist-info/ME
 lib/python${MODPY_VERSION}/site-packages/beets-${MODPY_EGG_VERSION}.dist-info/RECORD
 lib/python${MODPY_VERSION}/site-packages/beets-${MODPY_EGG_VERSION}.dist-info/WHEEL
 lib/python${MODPY_VERSION}/site-packages/beets-${MODPY_EGG_VERSION}.dist-info/entry_points.txt
-lib/python${MODPY_VERSION}/site-packages/beets-${MODPY_EGG_VERSION}.dist-info/pbr.json
 lib/python${MODPY_VERSION}/site-packages/beets-${MODPY_EGG_VERSION}.dist-info/top_level.txt
 lib/python${MODPY_VERSION}/site-packages/beets/__init__.py
 lib/python${MODPY_VERSION}/site-packages/beets/__main__.py
@@ -70,6 +69,17 @@ 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/plugins.py
 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
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}_common.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}_common.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}helper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beets/test/${MODPY_PYCACHE}helper.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beets/test/_common.py
+lib/python${MODPY_VERSION}/site-packages/beets/test/helper.py
 lib/python${MODPY_VERSION}/site-packages/beets/ui/
 lib/python${MODPY_VERSION}/site-packages/beets/ui/__init__.py
 ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/beets/ui/${MODPY_PYCACHE}/
@@ -96,6 +106,10 @@ lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}functemplate
 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}
 lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}hidden.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}id_extractors.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}id_extractors.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beets/util/${MODPY_PYCACHE}m3u.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+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/artresizer.py
@@ -104,6 +118,8 @@ lib/python${MODPY_VERSION}/site-packages/beets/util/confit.py
 lib/python${MODPY_VERSION}/site-packages/beets/util/enumeration.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/vfs.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/
@@ -115,10 +131,14 @@ lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}absubmit.${MO
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}absubmit.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}acousticbrainz.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}acousticbrainz.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}advancedrewrite.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}advancedrewrite.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}albumtypes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}albumtypes.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}aura.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}aura.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}autobpm.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}autobpm.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}badfiles.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}badfiles.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}bareasc.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -187,6 +207,10 @@ lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}kodiupdate.${
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}kodiupdate.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}lastimport.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}lastimport.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}limit.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}limit.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}listenbrainz.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}listenbrainz.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}loadext.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}loadext.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}lyrics.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -231,6 +255,8 @@ lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}subsonicplayl
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}subsonicplaylist.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}subsonicupdate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}subsonicupdate.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}substitute.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}substitute.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}the.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}the.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}thumbnails.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -243,8 +269,10 @@ lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}zero.${MODPY_
 lib/python${MODPY_VERSION}/site-packages/beetsplug/${MODPY_PYCACHE}zero.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/beetsplug/absubmit.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/acousticbrainz.py
+lib/python${MODPY_VERSION}/site-packages/beetsplug/advancedrewrite.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/albumtypes.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/aura.py
+lib/python${MODPY_VERSION}/site-packages/beetsplug/autobpm.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/badfiles.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/bareasc.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/beatport.py
@@ -294,6 +322,8 @@ lib/python${MODPY_VERSION}/site-packages/beetsplug/lastgenre/${MODPY_PYCACHE}__i
 lib/python${MODPY_VERSION}/site-packages/beetsplug/lastgenre/genres-tree.yaml
 lib/python${MODPY_VERSION}/site-packages/beetsplug/lastgenre/genres.txt
 lib/python${MODPY_VERSION}/site-packages/beetsplug/lastimport.py
+lib/python${MODPY_VERSION}/site-packages/beetsplug/limit.py
+lib/python${MODPY_VERSION}/site-packages/beetsplug/listenbrainz.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/loadext.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/lyrics.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/mbcollection.py
@@ -327,6 +357,7 @@ lib/python${MODPY_VERSION}/site-packages/beetsplug/sonosupdate.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/spotify.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/subsonicplaylist.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/subsonicupdate.py
+lib/python${MODPY_VERSION}/site-packages/beetsplug/substitute.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/the.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/thumbnails.py
 lib/python${MODPY_VERSION}/site-packages/beetsplug/types.py


-- 
wbr, Kirill