Hi again,
This diff updates Mutagen to its latest version.
I've also added a patch to handle TXXX frames, as requested by Scot
Bontrager.
Regression tests suite 100% successful on amd64 and sparc64.
OK??
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/py-mutagen/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- Makefile 18 Oct 2010 16:52:47 -0000 1.4
+++ Makefile 27 May 2011 09:33:26 -0000
@@ -2,15 +2,14 @@
COMMENT = Python module to handle audio metadata
-MODPY_EGG_VERSION = 1.15
+MODPY_EGG_VERSION = 1.20
DISTNAME = mutagen-${MODPY_EGG_VERSION}
PKGNAME = py-${DISTNAME}
-REVISION = 1
CATEGORIES = audio
-HOMEPAGE = http://code.google.com/p/quodlibet/wiki/Development/Mutagen
+HOMEPAGE = http://mutagen.googlecode.com/
-MASTER_SITES = http://quodlibet.googlecode.com/files/
+MASTER_SITES = ${HOMEPAGE}/files/
# GPLv2
PERMIT_PACKAGE_CDROM = Yes
@@ -20,8 +19,23 @@ PERMIT_DISTFILES_FTP = Yes
MODULES = lang/python
-USE_GROFF = Yes
+MODPY_ADJ_FILES = mutagen/__init__.py \
+ tools/mid3iconv \
+ tools/mid3v2 \
+ tools/moggsplit \
+ tools/mutagen-inspect \
+ tools/mutagen-pony
+
+REGRESS_DEPENDS = audio/faad \
+ audio/flac \
+ audio/py-eyed3 \
+ audio/py-vorbis \
+ audio/vorbis-tools \
+ multimedia/oggz
REGRESS_TARGET = test
+
+pre-build:
+ @rm ${WRKDIST}/tools/*.orig
do-regress:
${_MODPY_CMD} ${REGRESS_TARGET}
Index: distinfo
===================================================================
RCS file: /cvs/ports/audio/py-mutagen/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo 29 Jan 2009 17:44:27 -0000 1.1.1.1
+++ distinfo 27 May 2011 09:33:26 -0000
@@ -1,5 +1,5 @@
-MD5 (mutagen-1.15.tar.gz) = c346e1290711a38c123727c31f3602f8
-RMD160 (mutagen-1.15.tar.gz) = 2763d311941e8408d800d929a731a89f443c66b6
-SHA1 (mutagen-1.15.tar.gz) = 831e618f6f0778a5cc285332d3d1e363dd31d652
-SHA256 (mutagen-1.15.tar.gz) =
636d816aa4c7e754496b9daec8a00d7e5f62b67d640440c91dea6d694c83c944
-SIZE (mutagen-1.15.tar.gz) = 590439
+MD5 (mutagen-1.20.tar.gz) = rbFtn2BWvIZKXIbG+IWveQ==
+RMD160 (mutagen-1.20.tar.gz) = 6O3OuhHWcM3TAhQp3rz0VOEdTZY=
+SHA1 (mutagen-1.20.tar.gz) = eowZGBYOa10krNFG9XwI7ZQqL6g=
+SHA256 (mutagen-1.20.tar.gz) = flbEeN4VT9zQDSV+vHe+hxgYjxoNuRb1HxKbfKAd5uc=
+SIZE (mutagen-1.20.tar.gz) = 651649
Index: patches/patch-man_mid3v2_1
===================================================================
RCS file: patches/patch-man_mid3v2_1
diff -N patches/patch-man_mid3v2_1
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-man_mid3v2_1 27 May 2011 09:33:26 -0000
@@ -0,0 +1,25 @@
+$OpenBSD$
+
+Add --TXXX support to mid3v2
+(upstream revision r97)
+
+--- man/mid3v2.1.orig Sun Dec 13 05:11:56 2009
++++ man/mid3v2.1 Thu May 26 12:28:04 2011
+@@ -1,4 +1,4 @@
+-.TH mid3v2 1 "December 12th, 2009"
++.TH mid3v2 1 "October 30th, 2010"
+ .SH NAME
+ mid3v2 \- audio tag editor similar to 'id3v2'
+ .SH SYNOPSIS
+@@ -60,6 +60,11 @@ Set the track number (TRCK).
+ Any text or URL frame (those beginning with T or W) can be modified or
+ added by prefixing the name of the frame with "\-\-". For example,
+ \fB\-\-TIT3 "Monkey!"\fR will set the TIT3 (subtitle) frame to \fBMonkey!\fR.
++.PP
++The TXXX frame requires a colon-separated description key; many TXXX
++frames may be set in the file as long as they have different keys. To
++set this key, just separate the text with a colon, e.g.
++\fB\-\-TXXX "ALBUMARTISTSORT:Examples,\ The"\fR.
+ .SH BUGS
+ No sanity checking is done on the editing operations you perform, so
+ mid3v2 will happily accept \-\-TSIZ when editing an ID3v2.4 frame. However,
Index: patches/patch-setup_py
===================================================================
RCS file: /cvs/ports/audio/py-mutagen/patches/patch-setup_py,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-setup_py
--- patches/patch-setup_py 29 Jan 2009 17:44:27 -0000 1.1.1.1
+++ patches/patch-setup_py 27 May 2011 09:33:26 -0000
@@ -1,8 +1,8 @@
$OpenBSD: patch-setup_py,v 1.1.1.1 2009/01/29 17:44:27 sthen Exp $
---- setup.py.orig Mon Jan 19 19:19:52 2009
-+++ setup.py Mon Jan 19 19:20:13 2009
-@@ -191,7 +191,7 @@ class coverage_cmd(Command):
- 100.0 * (total_lines - bad_lines) / float(total_lines))
+--- setup.py.orig Thu Oct 8 09:26:23 2009
++++ setup.py Thu May 26 12:02:03 2011
+@@ -196,7 +196,7 @@ class coverage_cmd(Command):
+ raise SystemExit("Coverage percentage went up; change setup.py.")
if os.name == "posix":
- data_files = [('share/man/man1', glob.glob("man/*.1"))]
Index: patches/patch-tests_test___init___py
===================================================================
RCS file: patches/patch-tests_test___init___py
diff -N patches/patch-tests_test___init___py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-tests_test___init___py 27 May 2011 09:33:26 -0000
@@ -0,0 +1,27 @@
+$OpenBSD$
+--- tests/test___init__.py.orig Thu May 26 14:34:47 2011
++++ tests/test___init__.py Thu May 26 14:35:05 2011
+@@ -181,23 +181,3 @@ class TFile(TestCase):
+ MP3.score(filename, fileobj, header))
+
+ add(TFile)
+-
+-class TMutagen(TestCase):
+- uses_mmap = False
+-
+- def test_not_prerelease(self):
+- from mutagen import version
+- from os.path import dirname, basename, abspath
+- trunk = dirname(dirname(abspath(__file__)))
+- definitely_trunk = os.path.join(trunk, "..", "trunk")
+- if os.path.isdir(definitely_trunk):
+- if basename(trunk) != "trunk":
+- self.failIf(
+- version[-1] < 0, "mutagen.version is a prerelease.")
+- else:
+- self.failIf(
+- version[-1] >= 0, "mutagen.version is not a prerelease.")
+- else:
+- print "WARNING: Unable to check version correctness."
+- print "WARNING: %r does not exist." % definitely_trunk
+-add(TMutagen)
Index: patches/patch-tools_mid3v2
===================================================================
RCS file: patches/patch-tools_mid3v2
diff -N patches/patch-tools_mid3v2
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_mid3v2 27 May 2011 09:33:26 -0000
@@ -0,0 +1,41 @@
+$OpenBSD$
+
+Add --TXXX support to mid3v2
+(upstream revision r97)
+
+--- tools/mid3v2.orig Wed Dec 30 01:21:12 2009
++++ tools/mid3v2 Thu May 26 12:21:12 2011
+@@ -89,7 +89,8 @@ def delete_frames(deletes, filenames):
+
+ def write_files(edits, filenames):
+ enc = locale.getpreferredencoding()
+- edits = [(frame[2:], value.decode(enc)) for (frame, value) in edits]
++ edits = [(frame[2:], value.decode(enc)) for (frame, value) in edits
++ if value]
+
+ # preprocess:
+ # for all [frame,value] pairs in the edits list
+@@ -128,11 +129,22 @@ def write_files(edits, filenames):
+ desc, lang = values[0], values[-1]
+ frame = mutagen.id3.COMM(
+ encoding=3, text=value, lang=lang, desc=desc)
++ id3.add(frame)
++ elif frame == "TXXX":
++ for value in vlist:
++ values = value.split(":", 1)
++ if len(values) == 1:
++ desc, value = "", values[0]
++ else:
++ desc, value = values[0], values[1]
++ frame = mutagen.id3.TXXX(encoding=3, text=value,
desc=desc)
++ id3.add(frame)
+ elif issubclass(mutagen.id3.Frames[frame], mutagen.id3.UrlFrame):
+ frame = mutagen.id3.Frames[frame](encoding=3, url=vlist)
++ id3.add(frame)
+ else:
+ frame = mutagen.id3.Frames[frame](encoding=3, text=vlist)
+- id3.add(frame)
++ id3.add(frame)
+ id3.save(filename)
+
+ def list_tags(filenames):
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/audio/py-mutagen/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST 29 Jan 2009 17:44:27 -0000 1.1.1.1
+++ pkg/PLIST 27 May 2011 09:33:26 -0000
@@ -20,6 +20,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/mutagen/asf.pyc
lib/python${MODPY_VERSION}/site-packages/mutagen/easyid3.py
lib/python${MODPY_VERSION}/site-packages/mutagen/easyid3.pyc
+lib/python${MODPY_VERSION}/site-packages/mutagen/easymp4.py
+lib/python${MODPY_VERSION}/site-packages/mutagen/easymp4.pyc
lib/python${MODPY_VERSION}/site-packages/mutagen/flac.py
lib/python${MODPY_VERSION}/site-packages/mutagen/flac.pyc
lib/python${MODPY_VERSION}/site-packages/mutagen/id3.py