hello, On 2024-05-30 14:00, Kirill A. Korinsky wrote: > On Thu, 30 May 2024 13:26:26 +0100, > Stuart Henderson <s...@spacehopper.org> wrote: > > > > On 2024/05/30 13:20, Kirill A. Korinsky wrote: > > > -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 \ > > > > I recommend not listing the minimum versions, there's no support for > > using mixed versions of the ports tree, or current versions of the ports > > tree with out of date packages, and if they're present then it's one > > more thing that needs dealing with if we ever have to revert an update > > to one of those ports (which would require using EPOCH and then changing > > version specs to add the 'v0'). > > > > Thanks, for explanation. Here an updated diff where I drop all hardcoded > minimum versions:
Works great in my test setup, huge improvement as it fixes some very annoying bugs. Thanks for working on getting this update in. thanks, .jh > diff --git audio/beets/Makefile audio/beets/Makefile > index e01bee1b071..30783e3d75f 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 <kir...@korins.ky> > + > # MIT > PERMIT_PACKAGE= Yes > > @@ -14,15 +15,17 @@ 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} \ > audio/py-last${MODPY_FLAVOR} \ > audio/py-mediafile${MODPY_FLAVOR} \ > audio/py-musicbrainzngs${MODPY_FLAVOR} \ > audio/py-mutagen${MODPY_FLAVOR} \ > + graphics/py-Pillow${MODPY_FLAVOR} \ > devel/py-algorithm-munkres${MODPY_FLAVOR} \ > devel/py-xdg${MODPY_FLAVOR} \ > textproc/py-confuse${MODPY_FLAVOR} \ > textproc/py-jellyfish${MODPY_FLAVOR} \ > + textproc/py-langdetect${MODPY_FLAVOR} \ > textproc/py-unidecode${MODPY_FLAVOR} \ > textproc/py-yaml${MODPY_FLAVOR} \ > www/py-beautifulsoup4${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 >