Download raw body.
[update] audio/beets update to 2.0.0; taking maintainer
hello,
On 2024-05-30 14:00, Kirill A. Korinsky wrote:
> On Thu, 30 May 2024 13:26:26 +0100,
> Stuart Henderson <stu@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 <kirill@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
>
[update] audio/beets update to 2.0.0; taking maintainer