Created attachment 453596 [details, diff] Patch to make Tag.pm Perl 5.22 clean What should have been dev-perl/MP3-Tag-1.13.0 is incorrectly tagged as dev-perl/MP3-Tag-1.130.0. This likewise applies to dev-perl/MP3-Tag-1.130.0-r1 which should be dev-perl/MP3-Tag-1.13.0-r1. Additionally, this version is not Perl 5.22 clean, resulting in the following warning: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at /usr/lib64/perl5/vendor_perl/5.22.2/MP3/Tag.pm line 2611. This has an extremely simple fix — two additional backslashes in one line. (See attached patch.)
The version isn't incorrect. Gentoo has a version normalisation scheme because Perl's versioning scheme(s) are not compatible with Gentoo version scheme semantics, so we have a transformation that we apply to all packages to provide a consistent equivalent. See dev-perl/Gentoo-PerlMod-Version Under this scheme, upstream version "1.13" becomes "1.130.0" In Gentoo. /usr/bin/gentoo-perlmod-version.pl 1.13 1.13 => 1.130.0 This is because upstream "1.13" means =~ "1.130000000" Where as in gentoo, 1.13 means more like =~ 1.000000013 , so a 1:1 mapping doesn't work. Will look into the escaping issue.
OK, makes sense to me. I guess I should patch the version number on my own modified version then (which adds the WinAmp 5.6 additional id3 genres).
It looks like the unescaped brace problem is fixed in 1.14, so its probably simpler if I just version bump it.
Bumped to 1.140.0, hopefully this is satisfactory. Thanks. commit bb0259e5f7f99a42b4d9b5a4688af9133b3e23bd Author: Kent Fredric <kentnl@gentoo.org> Date: Thu Nov 17 16:23:10 2016 +1300 dev-perl/MP3-Tag: Bump to version 1.140.0 re bug #600062 - EAPI6 - Add USE="examples" Upstream: - Fixed warnings on Perl 5.22+ - New method have_one_of_frame - New methods *_have() for all basic types like "title" etc - New tunable ampersand_joiner - New method _auto_field_from - Fix _parse_rex_microinterpolate not updateing $ecount with %% - Fix some %-escapes not being matched - More careful ID3v2 frame name parsing
Oh, and if you think it would be useful, we could consider adding those additional id3 genres gentoo side, or they could be upstreamed. Just depends on what you're doing =)
I was thinking of bumping my own to 1.14.0, so we're on the same page there. :) I think I've tried submitting the genres patch upstream and ... I don't remember whether I got no response or it was rejected. I know I've tried submitting a patch to do it in Gentoo and it was rejected. If the genres patch is adopted by Gentoo, it needs to be implemented both in dev-perl/MP3-Tag and in dev-perl/MP3-Info (and naturally I have patches for both). I don't know how much call for it there is, though. I patched the modules primarily for the use of my own MP3 jukebox app, media-sound/perljammer, which I wrote as a replacement for DigitalDJ when Mike Oliphant abandoned it, during the course of patching media-sound/grip to support the WinAmp 5.6 genre extensions. (Yes, I have WinAmp 5.6 genre patches for Grip as well.) Grip and DigitalDJ were designed to work together, and PerlJammer fills DigitalDJ's slot in that team.
By the way, I've just verified that my winamp56-genres patch applies cleanly against MP3::Tag 1.14. Let me know if you'd like to take a look at the patch set.
Just reopening this for tracking cleanup/stabilization.
commit: 0b7aca00f57c90b6b5e05bb55ecc4cb75b23ec63 author: 2017-05-31 15:48:43 +1200 Kent Fredric <kentnl@gentoo.org> commit: 2017-05-31 15:49:08 +1200 Kent Fredric <kentnl@gentoo.org> gpg-key: E854324B1366A820 dev-perl/MP3-Tag: Cleanup old re bug #600062 Remove versions broken by unescaped { deprecation in 5.26 Package-Manager: Portage-2.3.5, Repoman-2.3.2 dev-perl/MP3-Tag/MP3-Tag-1.130.0-r1.ebuild | 21 ----- dev-perl/MP3-Tag/Manifest | 1 - 2 files changed, 22 deletions(-)