pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/audio/py-beets



Module Name:    pkgsrc
Committed By:   adam
Date:           Wed Apr 15 10:53:40 UTC 2026

Modified Files:
        pkgsrc/audio/py-beets: Makefile PLIST distinfo

Log Message:
py-beets: updated to 2.9.0

2.9.0 (April 11, 2026)

Beets now officially supports Python 3.14.

New features

- :ref:`import-cmd` Use ffprobe to recognize format of any import music file
  that has no extension. If the file cannot be recognized as a music file, leave
  it alone. :bug:`4881`
- Query: Add ``has_cover_art`` computed field to query items by embedded cover
  art presence. Users can now search for tracks with or without embedded artwork
  using ``beet list has_cover_art:true`` or ``beet list has_cover_art:false``.
- :doc:`plugins/autobpm`: Add ``force`` configuration and CLI option and
  deprecate ``overwrite``.
- :doc:`plugins/autobpm`: The "BPM already exists for item" log message can now
  be hidden with the ``--quiet`` flag.
- :doc:`plugins/smartplaylist`: The list of available playlists shown when an
  unknown playlist name is passed as an argument is now sorted alphabetically
  and printed space-delimited and POSIX shell-quoted when required. This makes
  it easier to copy and paste multiple playlists for further use in the shell.
- :doc:`plugins/chroma`: Add new command ``chromasearch`` to search the local
  library by chromaprint fingerprint.
- Store track remixers, lyricists, composers, and arrangers in the multi-valued
  ``remixers``, ``lyricists``, ``composers``, and ``arrangers`` fields instead
  of the legacy single-value ``remixer``, ``lyricist``, ``composer``, and
  ``arranger`` fields. Existing libraries are migrated automatically, and
  :doc:`plugins/musicbrainz` now preserves each MusicBrainz ``remixer``,
  ``lyricist``, ``composer``, and ``arranger`` relation as a separate value.
- :doc:`plugins/musicbrainz`: Store MBIDs for remixers, lyricists, composers,
  and arrangers in the new multi-valued fields ``remixers_mbid``,
  ``lyricists_mbid``, ``composers_mbid``, and ``arrangers_mbid``. :bug:`5698`
- :doc:`plugins/replaygain`: Conflicting replay gain tags are now removed on
  write. RG_* tags are removed when setting R128_* and vice versa.
- :doc:`plugins/fetchart`: Add support for WebP images.
- :doc:`plugins/lastgenre`: Add support for a user-configurable ignorelist to
  exclude unwanted or incorrect Last.fm (or existing) genres, either per artist
  or globally :bug:`6449`

Bug fixes

- :doc:`plugins/deezer`: Fix Various Artists albums being tagged with a
  localized string instead of the configured ``va_name``. Detection now uses
  Deezer's artist ID rather than the artist name string. :bug:`4956`
- :doc:`plugins/listenbrainz`: Paginate through all ListenBrainz listens instead
  of fetching only 25, aggregate individual listen events into correct play
  counts, use ``recording_mbid`` from the ListenBrainz mapping when available,
  and avoid per-listen MusicBrainz API lookups that caused imports to hang on
  large listen histories. :bug:`6469`
- Correctly handle semicolon-delimited genre values from externally-tagged
  files. :bug:`6450`
- :doc:`plugins/listenbrainz`: Fix ``lbimport`` crashing when ListenBrainz
  tracks are processed through Last.fm-specific play-count import logic.
  Play-count imports now use source-specific fields so
  :doc:`plugins/listenbrainz`, :doc:`plugins/lastimport`, and
  :doc:`plugins/mpdstats` do not clash. :bug:`6469`
- :ref:`import-cmd` Fix ``albumartists_sort`` (and related fields) incorrectly
  prepending the full combined artist credit as the first element for
  multi-artist releases. :bug:`6470`
- :doc:`plugins/discogs`: Store specific Discogs styles in beets ``genres`` and
  broader Discogs genres in the ``style`` field. When
  :conf:`plugins.discogs:append_style_genre` is enabled, the broader Discogs
  genres are also appended to the ``genres`` list. :bug:`6390`
- :doc:`plugins/deezer`: Fix a regression in 2.8.0 where selecting a Deezer
  match during import could crash with ``AttributeError: 'AlbumInfo' object has
  no attribute 'raw_data'`` when Deezer returned numeric artist IDs. :bug:`6503`
- :ref:`modify-cmd` accepts legacy singular field names such as ``genre``,
  ``composer``, ``lyricist``, ``remixer``, and ``arranger`` in assignments,
  rewrites them to the corresponding multi-valued fields, and warns users to
  switch to the plural field names. :ref:`list-cmd`, and query expressions,
  accept the same legacy singular field names and warn users to switch to the
  plural field names. :bug:`6483`
- :doc:`plugins/fetchart`: Error when a configured source does not exist or
  sources configuration is empty. :bug:`6336`
- :doc:`plugins/rewrite` :doc:`plugins/advancedrewrite`: Fix rewriting
  multi-valued fields such as ``genres`` by applying rules to each matching list
  entry. Additionally, apply rewrite rules in config order, so that multiple
  rules can be applied to the same field. :bug:`6515`


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 pkgsrc/audio/py-beets/Makefile
cvs rdiff -u -r1.29 -r1.30 pkgsrc/audio/py-beets/PLIST
cvs rdiff -u -r1.31 -r1.32 pkgsrc/audio/py-beets/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/audio/py-beets/Makefile
diff -u pkgsrc/audio/py-beets/Makefile:1.52 pkgsrc/audio/py-beets/Makefile:1.53
--- pkgsrc/audio/py-beets/Makefile:1.52 Sun Mar 29 17:39:58 2026
+++ pkgsrc/audio/py-beets/Makefile      Wed Apr 15 10:53:40 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.52 2026/03/29 17:39:58 wiz Exp $
+# $NetBSD: Makefile,v 1.53 2026/04/15 10:53:40 adam Exp $
 
-DISTNAME=      beets-2.8.0
+DISTNAME=      beets-2.9.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    audio python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=b/beets/}
@@ -16,9 +16,9 @@ DEPENDS+=     ${PYPKGPREFIX}-Unidecode>=1.3.
 DEPENDS+=      ${PYPKGPREFIX}-confuse>=2.2.0:../../devel/py-confuse
 DEPENDS+=      ${PYPKGPREFIX}-jellyfish-[0-9]*:../../textproc/py-jellyfish
 DEPENDS+=      ${PYPKGPREFIX}-lap>=0.5.12:../../math/py-lap
-DEPENDS+=      ${PYPKGPREFIX}-mediafile>=0.12.0:../../audio/py-mediafile
+DEPENDS+=      ${PYPKGPREFIX}-mediafile>=0.16.0:../../audio/py-mediafile
 DEPENDS+=      ${PYPKGPREFIX}-musicbrainz-ngs>=0.4:../../audio/py-musicbrainz-ngs
-DEPENDS+=      ${PYPKGPREFIX}-numpy>=2.3.4:../../math/py-numpy
+DEPENDS+=      ${PYPKGPREFIX}-numpy>=2.3.5:../../math/py-numpy
 DEPENDS+=      ${PYPKGPREFIX}-packaging>=24.0:../../devel/py-packaging
 DEPENDS+=      ${PYPKGPREFIX}-platformdirs>=3.5.0:../../misc/py-platformdirs
 DEPENDS+=      ${PYPKGPREFIX}-requests>=2.32.5:../../devel/py-requests

Index: pkgsrc/audio/py-beets/PLIST
diff -u pkgsrc/audio/py-beets/PLIST:1.29 pkgsrc/audio/py-beets/PLIST:1.30
--- pkgsrc/audio/py-beets/PLIST:1.29    Sun Mar 29 17:39:58 2026
+++ pkgsrc/audio/py-beets/PLIST Wed Apr 15 10:53:40 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.29 2026/03/29 17:39:58 wiz Exp $
+@comment $NetBSD: PLIST,v 1.30 2026/04/15 10:53:40 adam Exp $
 bin/beet-${PYVERSSUFFIX}
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -170,6 +170,9 @@ ${PYSITELIB}/beets/util/deprecation.pyo
 ${PYSITELIB}/beets/util/diff.py
 ${PYSITELIB}/beets/util/diff.pyc
 ${PYSITELIB}/beets/util/diff.pyo
+${PYSITELIB}/beets/util/extension.py
+${PYSITELIB}/beets/util/extension.pyc
+${PYSITELIB}/beets/util/extension.pyo
 ${PYSITELIB}/beets/util/functemplate.py
 ${PYSITELIB}/beets/util/functemplate.pyc
 ${PYSITELIB}/beets/util/functemplate.pyo
@@ -206,6 +209,9 @@ ${PYSITELIB}/beetsplug/_utils/art.pyo
 ${PYSITELIB}/beetsplug/_utils/musicbrainz.py
 ${PYSITELIB}/beetsplug/_utils/musicbrainz.pyc
 ${PYSITELIB}/beetsplug/_utils/musicbrainz.pyo
+${PYSITELIB}/beetsplug/_utils/playcount.py
+${PYSITELIB}/beetsplug/_utils/playcount.pyc
+${PYSITELIB}/beetsplug/_utils/playcount.pyo
 ${PYSITELIB}/beetsplug/_utils/requests.py
 ${PYSITELIB}/beetsplug/_utils/requests.pyc
 ${PYSITELIB}/beetsplug/_utils/requests.pyo
@@ -349,6 +355,9 @@ ${PYSITELIB}/beetsplug/lastgenre/client.
 ${PYSITELIB}/beetsplug/lastgenre/client.pyo
 ${PYSITELIB}/beetsplug/lastgenre/genres-tree.yaml
 ${PYSITELIB}/beetsplug/lastgenre/genres.txt
+${PYSITELIB}/beetsplug/lastgenre/utils.py
+${PYSITELIB}/beetsplug/lastgenre/utils.pyc
+${PYSITELIB}/beetsplug/lastgenre/utils.pyo
 ${PYSITELIB}/beetsplug/lastimport.py
 ${PYSITELIB}/beetsplug/lastimport.pyc
 ${PYSITELIB}/beetsplug/lastimport.pyo

Index: pkgsrc/audio/py-beets/distinfo
diff -u pkgsrc/audio/py-beets/distinfo:1.31 pkgsrc/audio/py-beets/distinfo:1.32
--- pkgsrc/audio/py-beets/distinfo:1.31 Sun Mar 29 17:39:58 2026
+++ pkgsrc/audio/py-beets/distinfo      Wed Apr 15 10:53:40 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.31 2026/03/29 17:39:58 wiz Exp $
+$NetBSD: distinfo,v 1.32 2026/04/15 10:53:40 adam Exp $
 
-BLAKE2s (beets-2.8.0.tar.gz) = 0f6193c893e545ff38e122dc7971882d32061ffc74c8021df80b59988c7f3591
-SHA512 (beets-2.8.0.tar.gz) = c99f7602056c9c15175e81085c0383f2397a7908d55378ff380555a40a3fe3478249ee0b5dd1b0c6e088db012bd7e67b7aa5bc92f02052a5eb46f612761ea2d2
-Size (beets-2.8.0.tar.gz) = 2195951 bytes
+BLAKE2s (beets-2.9.0.tar.gz) = e0bcf342c1d3b21bdfc55b32d05732dbefa0847f078d18b56fd696f604ca91d6
+SHA512 (beets-2.9.0.tar.gz) = 0183ad818ee653122c1be2f7568b54b1ff372fd4969c2677360c7bb6b74cd267593bd2182dd9f9194ee0ba3a4373beab820a864a27765b8563cf01c09923bd64
+Size (beets-2.9.0.tar.gz) = 2233449 bytes



Home | Main Index | Thread Index | Old Index