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
> 

Reply via email to