Fri Dec 16 17:49:09 2022 UTC ()
audio/puddletag: import puddletag-2.0.1

puddletag is an audio tag editor (primarily created) for GNU/Linux
similar to the Windows program, Mp3tag. Unlike most taggers for
GNU/Linux, it uses a spreadsheet-like layout so that all the tags
you want to edit by hand are visible and easily editable.

The usual tag editor features are supported like extracting tag
information from filenames, renaming files based on their tags by
using patterns and basic tag editing.

Then there're Functions, which can do things like replace text,
trim it, do case conversions, etc. Actions can automate repetitive
tasks. Doing web lookups using Amazon (including cover art), Discogs
(does cover art too!), FreeDB and MusicBrainz is also supported.


(wiz)
diff -r0 -r1.1 pkgsrc/audio/puddletag/DESCR
diff -r0 -r1.1 pkgsrc/audio/puddletag/Makefile
diff -r0 -r1.1 pkgsrc/audio/puddletag/PLIST
diff -r0 -r1.1 pkgsrc/audio/puddletag/distinfo
diff -r0 -r1.1 pkgsrc/audio/puddletag/patches/patch-puddlestuff_audio__filter.py

File Added: pkgsrc/audio/puddletag/DESCR
puddletag is an audio tag editor (primarily created) for GNU/Linux
similar to the Windows program, Mp3tag. Unlike most taggers for
GNU/Linux, it uses a spreadsheet-like layout so that all the tags
you want to edit by hand are visible and easily editable.

The usual tag editor features are supported like extracting tag
information from filenames, renaming files based on their tags by
using patterns and basic tag editing.

Then there're Functions, which can do things like replace text,
trim it, do case conversions, etc. Actions can automate repetitive
tasks. Doing web lookups using Amazon (including cover art), Discogs
(does cover art too!), FreeDB and MusicBrainz is also supported.

File Added: pkgsrc/audio/puddletag/Makefile
# $NetBSD: Makefile,v 1.1 2022/12/16 17:49:09 wiz Exp $

DISTNAME=	puddletag-2.0.1
CATEGORIES=	audio python
MASTER_SITES=	${MASTER_SITE_GITHUB:=puddletag/}
GITHUB_RELEASE=	${PKGVERSION_NOREV}
GITHUB_PROJECT=	puddletag

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://puddletag.sourceforge.net/
COMMENT=	Simple, powerful audio tag editor
LICENSE=	gnu-gpl-v2

DEPENDS+=	chromaprint>=0.4:../../audio/chromaprint
DEPENDS+=	quodlibet-[0-9]*:../../audio/quodlibet
DEPENDS+=	${PYPKGPREFIX}-configobj-[0-9]*:../../devel/py-configobj
DEPENDS+=	${PYPKGPREFIX}-pyparsing>=1.5.1:../../devel/py-pyparsing
DEPENDS+=	${PYPKGPREFIX}-mutagen>=1.45:../../audio/py-mutagen
DEPENDS+=	${PYPKGPREFIX}-qt5-[0-9]*:../../x11/py-qt5

USE_LANGUAGES=	# none

PYTHON_SELF_CONFLICT=		yes
PYTHON_VERSIONS_INCOMPATIBLE=	27 37

INSTALLATION_DIRS=	${PKGMANDIR}/man1

post-install:
	${MV} ${DESTDIR}${PREFIX}/share/man/man1/* ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1

.include "../../lang/python/egg.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/audio/puddletag/PLIST
@comment $NetBSD: PLIST,v 1.1 2022/12/16 17:49:09 wiz Exp $
bin/puddletag
${PYSITELIB}/puddlestuff/__init__.py
${PYSITELIB}/puddlestuff/__init__.pyc
${PYSITELIB}/puddlestuff/__init__.pyo
${PYSITELIB}/puddlestuff/about.py
${PYSITELIB}/puddlestuff/about.pyc
${PYSITELIB}/puddlestuff/about.pyo
${PYSITELIB}/puddlestuff/action_shortcuts.py
${PYSITELIB}/puddlestuff/action_shortcuts.pyc
${PYSITELIB}/puddlestuff/action_shortcuts.pyo
${PYSITELIB}/puddlestuff/actiondlg.py
${PYSITELIB}/puddlestuff/actiondlg.pyc
${PYSITELIB}/puddlestuff/actiondlg.pyo
${PYSITELIB}/puddlestuff/audio_filter.py
${PYSITELIB}/puddlestuff/audio_filter.pyc
${PYSITELIB}/puddlestuff/audio_filter.pyo
${PYSITELIB}/puddlestuff/audioinfo/__init__.py
${PYSITELIB}/puddlestuff/audioinfo/__init__.pyc
${PYSITELIB}/puddlestuff/audioinfo/__init__.pyo
${PYSITELIB}/puddlestuff/audioinfo/_compatid3.py
${PYSITELIB}/puddlestuff/audioinfo/_compatid3.pyc
${PYSITELIB}/puddlestuff/audioinfo/_compatid3.pyo
${PYSITELIB}/puddlestuff/audioinfo/apev2.py
${PYSITELIB}/puddlestuff/audioinfo/apev2.pyc
${PYSITELIB}/puddlestuff/audioinfo/apev2.pyo
${PYSITELIB}/puddlestuff/audioinfo/constants.py
${PYSITELIB}/puddlestuff/audioinfo/constants.pyc
${PYSITELIB}/puddlestuff/audioinfo/constants.pyo
${PYSITELIB}/puddlestuff/audioinfo/id3.py
${PYSITELIB}/puddlestuff/audioinfo/id3.pyc
${PYSITELIB}/puddlestuff/audioinfo/id3.pyo
${PYSITELIB}/puddlestuff/audioinfo/mp4.py
${PYSITELIB}/puddlestuff/audioinfo/mp4.pyc
${PYSITELIB}/puddlestuff/audioinfo/mp4.pyo
${PYSITELIB}/puddlestuff/audioinfo/tag_versions.py
${PYSITELIB}/puddlestuff/audioinfo/tag_versions.pyc
${PYSITELIB}/puddlestuff/audioinfo/tag_versions.pyo
${PYSITELIB}/puddlestuff/audioinfo/util.py
${PYSITELIB}/puddlestuff/audioinfo/util.pyc
${PYSITELIB}/puddlestuff/audioinfo/util.pyo
${PYSITELIB}/puddlestuff/audioinfo/vorbis.py
${PYSITELIB}/puddlestuff/audioinfo/vorbis.pyc
${PYSITELIB}/puddlestuff/audioinfo/vorbis.pyo
${PYSITELIB}/puddlestuff/confirmations.py
${PYSITELIB}/puddlestuff/confirmations.pyc
${PYSITELIB}/puddlestuff/confirmations.pyo
${PYSITELIB}/puddlestuff/constants.py
${PYSITELIB}/puddlestuff/constants.pyc
${PYSITELIB}/puddlestuff/constants.pyo
${PYSITELIB}/puddlestuff/findfunc.py
${PYSITELIB}/puddlestuff/findfunc.pyc
${PYSITELIB}/puddlestuff/findfunc.pyo
${PYSITELIB}/puddlestuff/funcprint.py
${PYSITELIB}/puddlestuff/funcprint.pyc
${PYSITELIB}/puddlestuff/funcprint.pyo
${PYSITELIB}/puddlestuff/functions.py
${PYSITELIB}/puddlestuff/functions.pyc
${PYSITELIB}/puddlestuff/functions.pyo
${PYSITELIB}/puddlestuff/functions_dialogs.py
${PYSITELIB}/puddlestuff/functions_dialogs.pyc
${PYSITELIB}/puddlestuff/functions_dialogs.pyo
${PYSITELIB}/puddlestuff/genres.py
${PYSITELIB}/puddlestuff/genres.pyc
${PYSITELIB}/puddlestuff/genres.pyo
${PYSITELIB}/puddlestuff/helperwin.py
${PYSITELIB}/puddlestuff/helperwin.pyc
${PYSITELIB}/puddlestuff/helperwin.pyo
${PYSITELIB}/puddlestuff/libraries/__init__.py
${PYSITELIB}/puddlestuff/libraries/__init__.pyc
${PYSITELIB}/puddlestuff/libraries/__init__.pyo
${PYSITELIB}/puddlestuff/libraries/quodlibetlib.py
${PYSITELIB}/puddlestuff/libraries/quodlibetlib.pyc
${PYSITELIB}/puddlestuff/libraries/quodlibetlib.pyo
${PYSITELIB}/puddlestuff/loadshortcuts.py
${PYSITELIB}/puddlestuff/loadshortcuts.pyc
${PYSITELIB}/puddlestuff/loadshortcuts.pyo
${PYSITELIB}/puddlestuff/logger.py
${PYSITELIB}/puddlestuff/logger.pyc
${PYSITELIB}/puddlestuff/logger.pyo
${PYSITELIB}/puddlestuff/m3u.py
${PYSITELIB}/puddlestuff/m3u.pyc
${PYSITELIB}/puddlestuff/m3u.pyo
${PYSITELIB}/puddlestuff/mainwin/__init__.py
${PYSITELIB}/puddlestuff/mainwin/__init__.pyc
${PYSITELIB}/puddlestuff/mainwin/__init__.pyo
${PYSITELIB}/puddlestuff/mainwin/action_dialogs.py
${PYSITELIB}/puddlestuff/mainwin/action_dialogs.pyc
${PYSITELIB}/puddlestuff/mainwin/action_dialogs.pyo
${PYSITELIB}/puddlestuff/mainwin/artwork.py
${PYSITELIB}/puddlestuff/mainwin/artwork.pyc
${PYSITELIB}/puddlestuff/mainwin/artwork.pyo
${PYSITELIB}/puddlestuff/mainwin/dirview.py
${PYSITELIB}/puddlestuff/mainwin/dirview.pyc
${PYSITELIB}/puddlestuff/mainwin/dirview.pyo
${PYSITELIB}/puddlestuff/mainwin/filterwin.py
${PYSITELIB}/puddlestuff/mainwin/filterwin.pyc
${PYSITELIB}/puddlestuff/mainwin/filterwin.pyo
${PYSITELIB}/puddlestuff/mainwin/funcs.py
${PYSITELIB}/puddlestuff/mainwin/funcs.pyc
${PYSITELIB}/puddlestuff/mainwin/funcs.pyo
${PYSITELIB}/puddlestuff/mainwin/logdialog.py
${PYSITELIB}/puddlestuff/mainwin/logdialog.pyc
${PYSITELIB}/puddlestuff/mainwin/logdialog.pyo
${PYSITELIB}/puddlestuff/mainwin/patterncombo.py
${PYSITELIB}/puddlestuff/mainwin/patterncombo.pyc
${PYSITELIB}/puddlestuff/mainwin/patterncombo.pyo
${PYSITELIB}/puddlestuff/mainwin/previews.py
${PYSITELIB}/puddlestuff/mainwin/previews.pyc
${PYSITELIB}/puddlestuff/mainwin/previews.pyo
${PYSITELIB}/puddlestuff/mainwin/storedtags.py
${PYSITELIB}/puddlestuff/mainwin/storedtags.pyc
${PYSITELIB}/puddlestuff/mainwin/storedtags.pyo
${PYSITELIB}/puddlestuff/mainwin/tagpanel.py
${PYSITELIB}/puddlestuff/mainwin/tagpanel.pyc
${PYSITELIB}/puddlestuff/mainwin/tagpanel.pyo
${PYSITELIB}/puddlestuff/mainwin/tagtools.py
${PYSITELIB}/puddlestuff/mainwin/tagtools.pyc
${PYSITELIB}/puddlestuff/mainwin/tagtools.pyo
${PYSITELIB}/puddlestuff/masstag/__init__.py
${PYSITELIB}/puddlestuff/masstag/__init__.pyc
${PYSITELIB}/puddlestuff/masstag/__init__.pyo
${PYSITELIB}/puddlestuff/masstag/config.py
${PYSITELIB}/puddlestuff/masstag/config.pyc
${PYSITELIB}/puddlestuff/masstag/config.pyo
${PYSITELIB}/puddlestuff/masstag/dialogs.py
${PYSITELIB}/puddlestuff/masstag/dialogs.pyc
${PYSITELIB}/puddlestuff/masstag/dialogs.pyo
${PYSITELIB}/puddlestuff/musiclib.py
${PYSITELIB}/puddlestuff/musiclib.pyc
${PYSITELIB}/puddlestuff/musiclib.pyo
${PYSITELIB}/puddlestuff/pluginloader.py
${PYSITELIB}/puddlestuff/pluginloader.pyc
${PYSITELIB}/puddlestuff/pluginloader.pyo
${PYSITELIB}/puddlestuff/plugins/__init__.py
${PYSITELIB}/puddlestuff/plugins/__init__.pyc
${PYSITELIB}/puddlestuff/plugins/__init__.pyo
${PYSITELIB}/puddlestuff/puddleobjects.py
${PYSITELIB}/puddlestuff/puddleobjects.pyc
${PYSITELIB}/puddlestuff/puddleobjects.pyo
${PYSITELIB}/puddlestuff/puddlesettings.py
${PYSITELIB}/puddlestuff/puddlesettings.pyc
${PYSITELIB}/puddlestuff/puddlesettings.pyo
${PYSITELIB}/puddlestuff/puddletag.py
${PYSITELIB}/puddlestuff/puddletag.pyc
${PYSITELIB}/puddlestuff/puddletag.pyo
${PYSITELIB}/puddlestuff/releasewidget.py
${PYSITELIB}/puddlestuff/releasewidget.pyc
${PYSITELIB}/puddlestuff/releasewidget.pyo
${PYSITELIB}/puddlestuff/resource.py
${PYSITELIB}/puddlestuff/resource.pyc
${PYSITELIB}/puddlestuff/resource.pyo
${PYSITELIB}/puddlestuff/shortcutsettings.py
${PYSITELIB}/puddlestuff/shortcutsettings.pyc
${PYSITELIB}/puddlestuff/shortcutsettings.pyo
${PYSITELIB}/puddlestuff/tagmodel.py
${PYSITELIB}/puddlestuff/tagmodel.pyc
${PYSITELIB}/puddlestuff/tagmodel.pyo
${PYSITELIB}/puddlestuff/tagsources/CDDB.py
${PYSITELIB}/puddlestuff/tagsources/CDDB.pyc
${PYSITELIB}/puddlestuff/tagsources/CDDB.pyo
${PYSITELIB}/puddlestuff/tagsources/__init__.py
${PYSITELIB}/puddlestuff/tagsources/__init__.pyc
${PYSITELIB}/puddlestuff/tagsources/__init__.pyo
${PYSITELIB}/puddlestuff/tagsources/_acoustid.py
${PYSITELIB}/puddlestuff/tagsources/_acoustid.pyc
${PYSITELIB}/puddlestuff/tagsources/_acoustid.pyo
${PYSITELIB}/puddlestuff/tagsources/acoust_id.py
${PYSITELIB}/puddlestuff/tagsources/acoust_id.pyc
${PYSITELIB}/puddlestuff/tagsources/acoust_id.pyo
${PYSITELIB}/puddlestuff/tagsources/amazon.py
${PYSITELIB}/puddlestuff/tagsources/amazon.pyc
${PYSITELIB}/puddlestuff/tagsources/amazon.pyo
${PYSITELIB}/puddlestuff/tagsources/discogs.py
${PYSITELIB}/puddlestuff/tagsources/discogs.pyc
${PYSITELIB}/puddlestuff/tagsources/discogs.pyo
${PYSITELIB}/puddlestuff/tagsources/freedb.py
${PYSITELIB}/puddlestuff/tagsources/freedb.pyc
${PYSITELIB}/puddlestuff/tagsources/freedb.pyo
${PYSITELIB}/puddlestuff/tagsources/mp3tag/__init__.py
${PYSITELIB}/puddlestuff/tagsources/mp3tag/__init__.pyc
${PYSITELIB}/puddlestuff/tagsources/mp3tag/__init__.pyo
${PYSITELIB}/puddlestuff/tagsources/mp3tag/funcs.py
${PYSITELIB}/puddlestuff/tagsources/mp3tag/funcs.pyc
${PYSITELIB}/puddlestuff/tagsources/mp3tag/funcs.pyo
${PYSITELIB}/puddlestuff/tagsources/musicbrainz.py
${PYSITELIB}/puddlestuff/tagsources/musicbrainz.pyc
${PYSITELIB}/puddlestuff/tagsources/musicbrainz.pyo
${PYSITELIB}/puddlestuff/tagsources/parse_html.py
${PYSITELIB}/puddlestuff/tagsources/parse_html.pyc
${PYSITELIB}/puddlestuff/tagsources/parse_html.pyo
${PYSITELIB}/puddlestuff/translations.py
${PYSITELIB}/puddlestuff/translations.pyc
${PYSITELIB}/puddlestuff/translations.pyo
${PYSITELIB}/puddlestuff/util.py
${PYSITELIB}/puddlestuff/util.pyc
${PYSITELIB}/puddlestuff/util.pyo
${PYSITELIB}/puddlestuff/webdb.py
${PYSITELIB}/puddlestuff/webdb.pyc
${PYSITELIB}/puddlestuff/webdb.pyo
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
man/man1/puddletag.1
share/applications/puddletag.desktop
share/pixmaps/puddletag.png

File Added: pkgsrc/audio/puddletag/distinfo
$NetBSD: distinfo,v 1.1 2022/12/16 17:49:09 wiz Exp $

BLAKE2s (puddletag-2.0.1.tar.gz) = 1175e9a0f9868e2c37d1227cb70bdbf0810b778db4693980447f5fa852aa8b4c
SHA512 (puddletag-2.0.1.tar.gz) = d84ba360a6cd8c3ddb6628e30276df58d059d9e8cbb2d1255320ca273436c69f05584059c2e768a15871d3f56dc08d7ac96fef9a9c7c077811bb9fdfde444610
Size (puddletag-2.0.1.tar.gz) = 1227152 bytes
SHA1 (patch-puddlestuff_audio__filter.py) = ddd6508a902a5105471819d5feb9ce04e300db2c

File Added: pkgsrc/audio/puddletag/patches/patch-puddlestuff_audio__filter.py
$NetBSD: patch-puddlestuff_audio__filter.py,v 1.1 2022/12/16 17:49:09 wiz Exp $

Stop using deprecated function.
https://github.com/puddletag/puddletag/issues/643

--- puddlestuff/audio_filter.py.orig	2020-08-29 13:19:47.992420700 +0000
+++ puddlestuff/audio_filter.py
@@ -180,7 +180,7 @@ bool_exprs = [
 field_expr = Combine('%' + Word(alphanums + '_') + '%')
 tokens = QuotedString('"', unquoteResults=False) \
          | field_expr | Word(alphanums + '_')
-bool_expr = operatorPrecedence(tokens, bool_exprs)
+bool_expr = infixNotation(tokens, bool_exprs)
 bool_expr.enablePackrat()