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.
This commit is contained in:
wiz 2022-12-16 17:49:09 +00:00
parent b8406c66fa
commit 86ce51784a
5 changed files with 274 additions and 0 deletions

13
audio/puddletag/DESCR Normal file
View file

@ -0,0 +1,13 @@
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.

32
audio/puddletag/Makefile Normal file
View file

@ -0,0 +1,32 @@
# $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"

207
audio/puddletag/PLIST Normal file
View file

@ -0,0 +1,207 @@
@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

6
audio/puddletag/distinfo Normal file
View file

@ -0,0 +1,6 @@
$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

View file

@ -0,0 +1,16 @@
$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()