From e05a6dd5fe2fa18f9281b45a5d4380aa993cdb0f Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 19 May 2020 18:52:35 +0000 Subject: [PATCH] eyeD3: update to 0.9.5. v0.9.5 (2020-03-28) : I Knew Her, She Knew Me ---------------------------------------------- Fix ~~~ - `eyeD3 --genre ""` to clear genre frame restored. - Genre id->name mapping for non-standard genres and custom maps. v0.9.4 (2020-03-21) : The Devil Made Me Do It ----------------------------------------------- New ~~~ - Relative volume adjustments (RVA2 and RVAD) (#399) - Tag properties copyright and encoded_by - Support GRP1 (Apple) frames. Changes ~~~~~~~ - Genre serialization not ID3 v2.3 format by default, and other genre cleanup (#402) fixes #382 Fix ~~~ - Date correctness between ID3 versions (#396) - PopularityFrame email encoding bug. - Plugins more featured in docs v0.9.3 (2020-03-01) : It Dawned On Me -------------------------------------- Changes ~~~~~~~ - Track/disc numbers can be set with integer strings. - Disc number getter and setter hooks v0.9.2 (2020-02-10) : Into The Future -------------------------------------- Fix ~~~ - Removed setting of PYTHONIOENCODING, it breaks MacOS. Fixes #388 v0.9.1 (2020-02-09) : Dead and Gone ------------------------------------ Fix ~~~ - Docs and pep8. Other ~~~~~ - Experiment with setting utf-8 writer for stdout and stderr. v0.9 (2020-01-01) : Favorite Thing ----------------------------------- Major Changes ~~~~~~~~~~~~~ - Dropped support for Python versions 2.7, 3.4, and 3.5. - File scanning is no longer recursive by default; use `-r / --recursive`. - Default log-level changed from WARNING to ERROR. New ~~~ - Mime-type detection uses filetype.py (libmagic no longer required) - setFileScannerOpts function accepts `default_recursive` option. - A new `jsontag` plugin for converting tags to JSON. - A new `extract` plugin for extracting tags from media. - A new `yamltag` plugin for converting tags to YAML. - A new `mimetypes` plugin for listing file mime-types / measuring performance - Original artist support (TOPE frame, --orig-artist) - Added support for Python 3.8 and pypy3. Changes ~~~~~~~ - Log warning when ID3 v1.x text truncation occurs. Fixes #299. - Accept (invalid) date strings for the form YYYYMMDD. Fixes #379 - Adjust replay gain correctly for lame >= 3.95.1 headers. - Added -r/--recursive argument. eyeD3 is no longer recursive by default (#378) - Regenerated grako parser. - New ValueError for _setNum when unknown type/values are passed. - Moved src/* to top-level repo directory. Fix ~~~ - PRIV data type checking, fixed examples, etc. - Use tox for `make test` - ID3 v2.3 to v2.4 date conversion. - Match mp3 mime-types against all possible mime-types. Specifically, application/x-font-gdos. Fixes #338 - Fix simple typo: titel -> title. - Fixed: load the right config file in arguments. - Fix issue tracker link. Fixes #333. - Fixed art plugin when `pylast` is not installed. - Unbound variable for track num/total. Fixes #327. - Fixed MP3 header search to not false match on BOMs. - Honor APIC text encoding when description is "". #200. - Fixed bug with improper types when re-rendering unique file ID. (#324) - UFID fixes, update (#325) Other ~~~~~ - Deprecation of eyed3.utils.guessMimeType - Removed ipdb from dev requirements v0.8.12 (2019-12-27) --------------------- Changes ~~~~~~~ - Accept (invalid) date strings for the form YYYYMMDD. Fixes #379 Other ~~~~~ - Test with py38 v0.8.11 (2019-11-09) ------------------------ Fix ~~~ - ID3 v2.3 to v2.4 date conversion. - Match mp3 mime-types against all possible mime-types. Specifically, application/x-font-gdos. Fixes #338 v0.8.10 (2019-03-07) : Apples ------------------------------ New ~~~ - Log warning when ID3 v1.x text truncation occurs. Fixes #299. Fix ~~~ - Honor APIC text encoding when description is "". #200. - Fixed bug with improper types when re-rendering unique file ID. (#324) v0.8.9 (2019-01-12) : Descent Into... -------------------------------------- Changes ~~~~~~~ - Fixup plugin: -t changed to --type. - Pin pathlib to latest version 1.0.1 (#304) Fix ~~~ - Force no-color output when stdout is not a terminal (#297) - Requirements.txt: pathlib is only needed for older python versions (#284) - Art plugin: Pin pylast to 2.x to preserve Python2 support. v0.8.8 (2018-11-28) : In Ruins ------------------------------ New ~~~ - Follow symlink directories. Fixes #224 Changes ~~~~~~~ - Eyed3.core.AudioInfo `time_secs` is now a float and non-lossy. Fixes #210 - Removed Python 3.3 support. Fix ~~~ - Better type handling during TLEN [fixup plugin]. - Don't tweak logging by default, only thru `main`. Fixes #243 Other ~~~~~ - Added a separate example for Windows (--add-image ) [Addresses the issue #219] (#220) v0.8.7 (2018-06-11) : Aeon --------------------------- Fix ~~~ - Only use os.fwalk where supported. v0.8.6 (2018-05-27) : Robot Man -------------------------------- New ~~~ - Art plugin can now download album covers from last.fm. Changes ~~~~~~~ - Use os.fwalk for its better performance (esp. >= py37) Fixes #166 - TagTemplate `path_friendly` is now a string, namely the delimiter to use. Fix ~~~ - Classic plugin: --write-image will work with --quiet. Fixes #188 - Multiple fixes for display plugin %images% replacements. Fixes #176 - Allow --remove-* options to work when there are no tags. Fixes #183 v0.8.5 (2018-03-27) : 30$ Bag ----------------------------- New ~~~ - Mp3AudioFile.initTag now returns the new tag. - Eyed3.core.EP_MAX_SIZE_HINT. - Added docs for install devel dependencies and test data. Changes ~~~~~~~ - Similarly to TextFrame, fallback to latin1 for invalid encodings. - Removed paver as a dep. - Removed fabfile and mkenv. - Clean pytest_cache. - Nicfit.py cc update. Fix ~~~ - Handle missing `fcntl` on Windows. Fixes #135. - In addition to None, "" will now clear dates. - Update index.rst to reflect the code is in a Git repo, not Mercurial (#164) Other ~~~~~ - Update pytest from 3.2.2 to 3.5.0 (#175) - Update twine from 1.9.1 to 1.11.0 (#173) - Update sphinx from 1.6.5 to 1.7.2 (#174) - Update sphinxcontrib-paverutils from 1.16.0 to 1.17.0 (#172) - Update pytest-runner from 3.0 to 4.2 (#171) - Update nicfit.py from 0.7 to 0.8 (#161) - Update ipdb from 0.10.3 to 0.11 (#159) - Update factory-boy from 2.9.2 to 2.10.0 (#150) - Update pyaml from 17.10.0 to 17.12.1 (#138) - Update python-magic to 0.4.15 (#130) - Update pip-tools from 1.10.1 to 1.11.0 (#129) - Update check-manifest from 0.35 to 0.36 (#125) v0.8.4 (2017-11-17) : The Cold Vein ------------------------------------- New ~~~ - Composer (TCOM) support (#123) - Check for version incompatibilities during version changes. Changes ~~~~~~~ - More forgiving of invalid text encoding identifiers (fixes #101) - More forgiving of bad Unicode in text frames (fixes #105) - EyeD3 cmd line helper turned not session-scoped fixture. - Only warn about missing grako when the plugin is used. Fixes #115. Fix ~~~ - Fix python3 setup when system encoding is not utf-8 (#120) - Fix bad frames detection in stats plugin for python3 (#113) - Script exits with 0 status when called with --version/--help (#109) - Help pymagic with poorly encoded filenames. - [display plugin] Handle comments. - [display plugin] Handle internal exception types. Fixes #118. - IOError (nor OSError) have a message attr. Other ~~~~~ - Set theme jekyll-theme-slate. - Update pytest to 3.2.5 (#122) - Update pytest-runner to 3.0 (#108) - Update sphinx to 1.6.5 (#106) - Update flake8 to 3.5.0 (#107) v0.8.3 (2017-10-22) : So Alone ------------------------------- Fix ~~~ - Reload and process after tag removals, fixes #102. (PR #103) - Display incorrectly encoded strings (usually filenames) Other ~~~~~ - Make the classic output span the actual width of the tty so you can see the actual path with a long file name. (#92) v0.8.2 (2017-09-23) : Standing At the Station ---------------------------------------------- New ~~~ - Pypy and pypy3 support. Changes ~~~~~~~ - 'nose' is no longer used/required for testing. Fix ~~~ - Fix for Unicode paths when using Python2. Fixes #56. v0.8.1 (2017-08-26) : I Can't Talk To You ------------------------------------------ New ~~~ - ``make pkg-test-data`` target. - Sample mime-type tests. Fix ~~~ - Added ``python-magic`` as a dependency for reliable mime-type detection. Fixes #61 - Add pathlib to requirements. Fixes #43. - [doc] Fixed github URL. v0.8 (2017-05-13) : I Don't Know My Name ----------------------------------------- .. warning:: This release is **NOT** API compatible with 0.7.x. The majority of the command line interface has been preserved although many options have either changed or been removed. Additionally, support for Python 2.6 has been dropped. New ~~~ - Python 3 support (version 2.7 and >= 3.3 supported) - The Display plugin (-P/--plugin display) enables complete control over tag output. Requires ``grako``. If using pip, ``pip install eyeD3[display]``. Contributed by Sebastian Patschorke. - Genre.parse(id3_std=False) (and --non-std-genres) to disable genre # mapping. - eyed3.load accept pathlib.Path arguments. - eyed3.core.AudioFile accept pathlib.Path arguments. - eyed3.utils.walk accept pathlib.Path arguments. - New manual page. Contributed by Gaetano Guerriero - ``make test-data`` Changes ~~~~~~~~ - Project home from to GitHub: https://github.com/nicfit/eyeD3 Fix ~~~ - Lang fixes, and no longer coerce invalids to eng. Other ~~~~~ - Moved to pytest, although unittest not yet purged. --- audio/eyeD3/Makefile | 29 +++++++++--------- audio/eyeD3/PLIST | 47 +++++++++++++++++++++--------- audio/eyeD3/distinfo | 11 +++---- audio/eyeD3/patches/patch-Makefile | 16 ++++++++++ 4 files changed, 71 insertions(+), 32 deletions(-) create mode 100644 audio/eyeD3/patches/patch-Makefile diff --git a/audio/eyeD3/Makefile b/audio/eyeD3/Makefile index 799e4fd2e47a..3df098b7e581 100644 --- a/audio/eyeD3/Makefile +++ b/audio/eyeD3/Makefile @@ -1,24 +1,27 @@ -# $NetBSD: Makefile,v 1.13 2020/01/26 17:30:41 rillig Exp $ +# $NetBSD: Makefile,v 1.14 2020/05/19 18:52:35 wiz Exp $ -DISTNAME= eyeD3-0.7.11 -PKGREVISION= 1 +DISTNAME= eyeD3-0.9.5 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_PYPI:=e/eyeD3/} MAINTAINER= pkgsrc-users@NetBSD.org -HOMEPAGE= https://eyed3.nicfit.net/ -COMMENT= Python tool for working with audio files (in particular, mp3) -LICENSE= gnu-gpl-v2 +HOMEPAGE= https://eyed3.readthedocs.io/en/latest/ +COMMENT= Python audio data toolkit (ID3 and MP3) +LICENSE= gnu-gpl-v3 + +DEPENDS+= ${PYPKGPREFIX}-deprecation-[0-9]*:../../devel/py-deprecation +DEPENDS+= ${PYPKGPREFIX}-factory_boy-[0-9]*:../../devel/py-factory_boy +DEPENDS+= ${PYPKGPREFIX}-filetype-[0-9]*:../../sysutils/py-filetype + +PYTHON_VERSIONED_DEPENDENCIES+= test:test USE_LANGUAGES= # none -PYTHON_VERSIONS_ACCEPTED= 27 # not yet ported as of 0.7.11 -REPLACE_SH+= bin/eyeD3 -SUBST_CLASSES+= python -SUBST_STAGE.python= post-configure -SUBST_MESSAGE.python= Fixing path to python executable. -SUBST_FILES.python+= bin/eyeD3 -SUBST_SED.python+= -e "s,python,${PYTHONBIN}," +# 13 test failures as of 0.9.5 +# https://github.com/nicfit/eyeD3/issues/437 +do-test: + cd ${WRKSRC} && ${SETENV} ${TEST_ENV} py.test-${PYVERSSUFFIX} +.include "../../lang/python/versioned_dependencies.mk" .include "../../lang/python/egg.mk" .include "../../mk/bsd.pkg.mk" diff --git a/audio/eyeD3/PLIST b/audio/eyeD3/PLIST index 19f135dd1547..524f607303f1 100644 --- a/audio/eyeD3/PLIST +++ b/audio/eyeD3/PLIST @@ -1,16 +1,18 @@ -@comment $NetBSD: PLIST,v 1.2 2017/02/08 14:21:26 wiz Exp $ +@comment $NetBSD: PLIST,v 1.3 2020/05/19 18:52:35 wiz Exp $ bin/eyeD3 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt +${PYSITELIB}/${EGG_INFODIR}/entry_points.txt ${PYSITELIB}/${EGG_INFODIR}/not-zip-safe +${PYSITELIB}/${EGG_INFODIR}/requires.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt +${PYSITELIB}/eyed3/__about__.py +${PYSITELIB}/eyed3/__about__.pyc +${PYSITELIB}/eyed3/__about__.pyo ${PYSITELIB}/eyed3/__init__.py ${PYSITELIB}/eyed3/__init__.pyc ${PYSITELIB}/eyed3/__init__.pyo -${PYSITELIB}/eyed3/compat.py -${PYSITELIB}/eyed3/compat.pyc -${PYSITELIB}/eyed3/compat.pyo ${PYSITELIB}/eyed3/core.py ${PYSITELIB}/eyed3/core.pyc ${PYSITELIB}/eyed3/core.pyo @@ -29,13 +31,12 @@ ${PYSITELIB}/eyed3/id3/headers.pyo ${PYSITELIB}/eyed3/id3/tag.py ${PYSITELIB}/eyed3/id3/tag.pyc ${PYSITELIB}/eyed3/id3/tag.pyo -${PYSITELIB}/eyed3/info.py -${PYSITELIB}/eyed3/info.py.in -${PYSITELIB}/eyed3/info.pyc -${PYSITELIB}/eyed3/info.pyo ${PYSITELIB}/eyed3/main.py ${PYSITELIB}/eyed3/main.pyc ${PYSITELIB}/eyed3/main.pyo +${PYSITELIB}/eyed3/mimetype.py +${PYSITELIB}/eyed3/mimetype.pyc +${PYSITELIB}/eyed3/mimetype.pyo ${PYSITELIB}/eyed3/mp3/__init__.py ${PYSITELIB}/eyed3/mp3/__init__.pyc ${PYSITELIB}/eyed3/mp3/__init__.pyo @@ -45,12 +46,21 @@ ${PYSITELIB}/eyed3/mp3/headers.pyo ${PYSITELIB}/eyed3/plugins/__init__.py ${PYSITELIB}/eyed3/plugins/__init__.pyc ${PYSITELIB}/eyed3/plugins/__init__.pyo +${PYSITELIB}/eyed3/plugins/_display_parser.py +${PYSITELIB}/eyed3/plugins/_display_parser.pyc +${PYSITELIB}/eyed3/plugins/_display_parser.pyo ${PYSITELIB}/eyed3/plugins/art.py ${PYSITELIB}/eyed3/plugins/art.pyc ${PYSITELIB}/eyed3/plugins/art.pyo ${PYSITELIB}/eyed3/plugins/classic.py ${PYSITELIB}/eyed3/plugins/classic.pyc ${PYSITELIB}/eyed3/plugins/classic.pyo +${PYSITELIB}/eyed3/plugins/display.py +${PYSITELIB}/eyed3/plugins/display.pyc +${PYSITELIB}/eyed3/plugins/display.pyo +${PYSITELIB}/eyed3/plugins/extract.py +${PYSITELIB}/eyed3/plugins/extract.pyc +${PYSITELIB}/eyed3/plugins/extract.pyo ${PYSITELIB}/eyed3/plugins/fixup.py ${PYSITELIB}/eyed3/plugins/fixup.pyc ${PYSITELIB}/eyed3/plugins/fixup.pyo @@ -60,21 +70,33 @@ ${PYSITELIB}/eyed3/plugins/genres.pyo ${PYSITELIB}/eyed3/plugins/itunes.py ${PYSITELIB}/eyed3/plugins/itunes.pyc ${PYSITELIB}/eyed3/plugins/itunes.pyo +${PYSITELIB}/eyed3/plugins/jsontag.py +${PYSITELIB}/eyed3/plugins/jsontag.pyc +${PYSITELIB}/eyed3/plugins/jsontag.pyo ${PYSITELIB}/eyed3/plugins/lameinfo.py ${PYSITELIB}/eyed3/plugins/lameinfo.pyc ${PYSITELIB}/eyed3/plugins/lameinfo.pyo +${PYSITELIB}/eyed3/plugins/lastfm.py +${PYSITELIB}/eyed3/plugins/lastfm.pyc +${PYSITELIB}/eyed3/plugins/lastfm.pyo +${PYSITELIB}/eyed3/plugins/mimetype.py +${PYSITELIB}/eyed3/plugins/mimetype.pyc +${PYSITELIB}/eyed3/plugins/mimetype.pyo ${PYSITELIB}/eyed3/plugins/nfo.py ${PYSITELIB}/eyed3/plugins/nfo.pyc ${PYSITELIB}/eyed3/plugins/nfo.pyo ${PYSITELIB}/eyed3/plugins/pymod.py ${PYSITELIB}/eyed3/plugins/pymod.pyc ${PYSITELIB}/eyed3/plugins/pymod.pyo -${PYSITELIB}/eyed3/plugins/statistics.py -${PYSITELIB}/eyed3/plugins/statistics.pyc -${PYSITELIB}/eyed3/plugins/statistics.pyo +${PYSITELIB}/eyed3/plugins/stats.py +${PYSITELIB}/eyed3/plugins/stats.pyc +${PYSITELIB}/eyed3/plugins/stats.pyo ${PYSITELIB}/eyed3/plugins/xep_118.py ${PYSITELIB}/eyed3/plugins/xep_118.pyc ${PYSITELIB}/eyed3/plugins/xep_118.pyo +${PYSITELIB}/eyed3/plugins/yamltag.py +${PYSITELIB}/eyed3/plugins/yamltag.pyc +${PYSITELIB}/eyed3/plugins/yamltag.pyo ${PYSITELIB}/eyed3/utils/__init__.py ${PYSITELIB}/eyed3/utils/__init__.pyc ${PYSITELIB}/eyed3/utils/__init__.pyo @@ -84,9 +106,6 @@ ${PYSITELIB}/eyed3/utils/art.pyo ${PYSITELIB}/eyed3/utils/binfuncs.py ${PYSITELIB}/eyed3/utils/binfuncs.pyc ${PYSITELIB}/eyed3/utils/binfuncs.pyo -${PYSITELIB}/eyed3/utils/cli.py -${PYSITELIB}/eyed3/utils/cli.pyc -${PYSITELIB}/eyed3/utils/cli.pyo ${PYSITELIB}/eyed3/utils/console.py ${PYSITELIB}/eyed3/utils/console.pyc ${PYSITELIB}/eyed3/utils/console.pyo diff --git a/audio/eyeD3/distinfo b/audio/eyeD3/distinfo index 2c3379deca68..3834bd081a24 100644 --- a/audio/eyeD3/distinfo +++ b/audio/eyeD3/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.4 2017/03/14 19:17:21 adam Exp $ +$NetBSD: distinfo,v 1.5 2020/05/19 18:52:35 wiz Exp $ -SHA1 (eyeD3-0.7.11.tar.gz) = e497d01366497b2112598043eb715710d3a826c4 -RMD160 (eyeD3-0.7.11.tar.gz) = 852b7fd18cb4dead92275f345e2d177e7738f9ef -SHA512 (eyeD3-0.7.11.tar.gz) = 39452dc4ae01f71da976e41d38027f67b4389ebd14294327b058fb0156a46e1da517081c7e9e716b1cbede5743e03c43fd43860dc98118c04a850b1a33d99f45 -Size (eyeD3-0.7.11.tar.gz) = 234235 bytes +SHA1 (eyeD3-0.9.5.tar.gz) = eaba68dd6991ad12fcb64dfa0fcf5b8e66d2f41f +RMD160 (eyeD3-0.9.5.tar.gz) = 32caacd2ce61e0eb5ed5743bcbe12404b225f107 +SHA512 (eyeD3-0.9.5.tar.gz) = 74f75bc583a6cf7ee277a581b3ef4111804fd220371b65ab4d0a4491ce8434da6ce48f32e2b845426819948e4cb2b224e8a263137b9fad5297d5b9fd57befd9e +Size (eyeD3-0.9.5.tar.gz) = 222994 bytes +SHA1 (patch-Makefile) = d7f902b125c6e92e7191d3b7d46b345525fbc8ad diff --git a/audio/eyeD3/patches/patch-Makefile b/audio/eyeD3/patches/patch-Makefile new file mode 100644 index 000000000000..c1bedd4b9205 --- /dev/null +++ b/audio/eyeD3/patches/patch-Makefile @@ -0,0 +1,16 @@ +$NetBSD: patch-Makefile,v 1.1 2020/05/19 18:52:35 wiz Exp $ + +Fix unportable test(1) operator. +https://github.com/nicfit/eyeD3/pull/438 + +--- Makefile.orig 2020-03-22 03:42:08.000000000 +0000 ++++ Makefile +@@ -269,7 +269,7 @@ CC_OPTS ?= --no-input + GIT_COMMIT_HOOK = .git/hooks/commit-msg + cookiecutter: + tmp_d=`mktemp -d`; cc_d=$$tmp_d/eyeD3; \ +- if test "${CC_MERGE}" == "no"; then \ ++ if test "${CC_MERGE}" = "no"; then \ + nicfit cookiecutter ${CC_OPTS} "$${tmp_d}"; \ + git -C "$$cc_d" diff; \ + git -C "$$cc_d" status -s -b; \