Wed Nov 4 09:53:40 2015 UTC ()
Update to 1.31:

1.31 - 2015.09.10
-----------------

* New padding control API for flac/id3/mp4/asf/ogg/aiff and everything
  based on it, except oggflac :bug:`229`
* Mutagen will now reduce padding on save if there is lots of it.
* delete() will remove padding in addition to tags.

* ASF:

  * Padding support :bug:`201`
  * Don't report negative lengths for some broken files
  * New :class:`asf.ASFInfo`.codec_type/codec_name/codec_description
  * Implement ASF.delete()

* OGG: Padding support for Opus/Vorbis/Theora/Speex
* M4A: Implementation removed. Every operation will raise. Use mp4 instead.
* Tools: Support Unicode output under Windows :bug:`232`

1.30 - 2015.08.22
-----------------

* FLAC:

  * Fix :meth:`flac.FLAC.save` in case the source contained a too large
    (invalid but recovered) image block :bug:`226`

* MP3:

  * Improved length and bitrate accuracy:

    * Read lame "Info" tags for improved bitrate/length accuracy
    * Use bytes info of VBRI headers for improved bitrate accuracy
    * Subtract encoder delay/padding from length for improved length accuracy
      (especially for short tracks)
    * Fix rare false identification of Xing headers :bug:`182`

  * New :class:`mp3.MPEGInfo`.encoder_info attribute containing the encoder
    name and version :bug:`66`
  * New :class:`mp3.MPEGInfo`.bitrate_mode attribute exposing if the file is
    VBR, ABR or CBR :bug:`24` :bug:`66`
  * New :class:`mp3.MPEGInfo`.channels attribute providing the channel count
  * New :class:`mp3.MPEGInfo`.track_gain/track_peak/album_gain values exposing
    the replaygain info provided by the lame header :bug:`36`

* ID3:

  * New :class:`id3.PictureType` enum for the picture type used in APIC frames :bug:`222`

* MP4:

  * Fix MP4FreeForm.__eq__ and MP4Cover.__eq__ when comparing with bytes
    :bug:`218`

* Don't raise on :meth:`FileType.save` if there are no tags. :bug:`227`
* Minor fixes: :bug:`228`

1.29 - 2015.05.09
-----------------

* mid3v2: Fix an error under Python 3 with files without tags :bug:`219`
* mid3v2: Various Windows+Python2+Unicode fixes :bug:`214`
* Don't emit warnings during loading (ID3Warning) :bug:`223`
* py.test support

1.28 - 2015.03.06
-----------------

* Various minor fixes to make mutagen behave the same under Python3 as under
  Python2.
* Update gpl text :bug:`205`
* Documentation: Add example for how to create a new flac.Picture :bug:`209`

* ID3:

  * Various error handling fixes (:bug:`110`, :bug:`211`, ...)
  * Don't hide ID3 loading errors with ID3FileType.
  * In case a synch safe marked frame isn't sync safe, only warn :bug:`210`
  * Removed PEDANTIC mode

* Tools:

  * Add signal handling :bug:`170`
  * mid3cp: Make it work under Windows.
  * mutagen-inspect: Make it work under Windows+Python3 :bug:`216`
  * Support unicode file paths under Windows+Python2 :bug:`214`
  * Support file paths with invalid encoding under Unix+Python3.


(wiz)
diff -r1.16 -r1.17 pkgsrc/audio/py-mutagen/Makefile
diff -r1.10 -r1.11 pkgsrc/audio/py-mutagen/PLIST
diff -r1.10 -r1.11 pkgsrc/audio/py-mutagen/distinfo
diff -r1.6 -r1.7 pkgsrc/audio/py-mutagen/patches/patch-aa

cvs diff -r1.16 -r1.17 pkgsrc/audio/py-mutagen/Makefile (expand / switch to unified diff)

--- pkgsrc/audio/py-mutagen/Makefile 2015/01/06 19:52:40 1.16
+++ pkgsrc/audio/py-mutagen/Makefile 2015/11/04 09:53:40 1.17
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.16 2015/01/06 19:52:40 drochner Exp $ 1# $NetBSD: Makefile,v 1.17 2015/11/04 09:53:40 wiz Exp $
2 2
3DISTNAME= mutagen-1.27 3DISTNAME= mutagen-1.31
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= audio 5CATEGORIES= audio
6MASTER_SITES= https://bitbucket.org/lazka/mutagen/downloads/ 6MASTER_SITES= https://bitbucket.org/lazka/mutagen/downloads/
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://bitbucket.org/lazka/mutagen 9HOMEPAGE= https://bitbucket.org/lazka/mutagen
10COMMENT= Audio metadata handling for Python 10COMMENT= Audio metadata handling for Python
11LICENSE= gnu-gpl-v2 11LICENSE= gnu-gpl-v2
12 12
13USE_LANGUAGES= # none 13USE_LANGUAGES= # none
14 14
15.include "../../lang/python/distutils.mk" 15.include "../../lang/python/distutils.mk"
16.include "../../mk/bsd.pkg.mk" 16.include "../../mk/bsd.pkg.mk"

cvs diff -r1.10 -r1.11 pkgsrc/audio/py-mutagen/PLIST (expand / switch to unified diff)

--- pkgsrc/audio/py-mutagen/PLIST 2015/01/06 19:52:40 1.10
+++ pkgsrc/audio/py-mutagen/PLIST 2015/11/04 09:53:40 1.11
@@ -1,48 +1,63 @@ @@ -1,48 +1,63 @@
1@comment $NetBSD: PLIST,v 1.10 2015/01/06 19:52:40 drochner Exp $ 1@comment $NetBSD: PLIST,v 1.11 2015/11/04 09:53:40 wiz Exp $
2${PYSITELIB}/${EGG_FILE} 2${PYSITELIB}/${EGG_FILE}
3${PYSITELIB}/mutagen/__init__.py 3${PYSITELIB}/mutagen/__init__.py
4${PYSITELIB}/mutagen/__init__.pyc 4${PYSITELIB}/mutagen/__init__.pyc
5${PYSITELIB}/mutagen/__init__.pyo 5${PYSITELIB}/mutagen/__init__.pyo
6${PYSITELIB}/mutagen/_compat.py 6${PYSITELIB}/mutagen/_compat.py
7${PYSITELIB}/mutagen/_compat.pyc 7${PYSITELIB}/mutagen/_compat.pyc
8${PYSITELIB}/mutagen/_compat.pyo 8${PYSITELIB}/mutagen/_compat.pyo
9${PYSITELIB}/mutagen/_constants.py 9${PYSITELIB}/mutagen/_constants.py
10${PYSITELIB}/mutagen/_constants.pyc 10${PYSITELIB}/mutagen/_constants.pyc
11${PYSITELIB}/mutagen/_constants.pyo 11${PYSITELIB}/mutagen/_constants.pyo
12${PYSITELIB}/mutagen/_file.py 12${PYSITELIB}/mutagen/_file.py
13${PYSITELIB}/mutagen/_file.pyc 13${PYSITELIB}/mutagen/_file.pyc
14${PYSITELIB}/mutagen/_file.pyo 14${PYSITELIB}/mutagen/_file.pyo
 15${PYSITELIB}/mutagen/_mp3util.py
 16${PYSITELIB}/mutagen/_mp3util.pyc
 17${PYSITELIB}/mutagen/_mp3util.pyo
15${PYSITELIB}/mutagen/_tags.py 18${PYSITELIB}/mutagen/_tags.py
16${PYSITELIB}/mutagen/_tags.pyc 19${PYSITELIB}/mutagen/_tags.pyc
17${PYSITELIB}/mutagen/_tags.pyo 20${PYSITELIB}/mutagen/_tags.pyo
 21${PYSITELIB}/mutagen/_toolsutil.py
 22${PYSITELIB}/mutagen/_toolsutil.pyc
 23${PYSITELIB}/mutagen/_toolsutil.pyo
18${PYSITELIB}/mutagen/_util.py 24${PYSITELIB}/mutagen/_util.py
19${PYSITELIB}/mutagen/_util.pyc 25${PYSITELIB}/mutagen/_util.pyc
20${PYSITELIB}/mutagen/_util.pyo 26${PYSITELIB}/mutagen/_util.pyo
21${PYSITELIB}/mutagen/_vorbis.py 27${PYSITELIB}/mutagen/_vorbis.py
22${PYSITELIB}/mutagen/_vorbis.pyc 28${PYSITELIB}/mutagen/_vorbis.pyc
23${PYSITELIB}/mutagen/_vorbis.pyo 29${PYSITELIB}/mutagen/_vorbis.pyo
24${PYSITELIB}/mutagen/aac.py 30${PYSITELIB}/mutagen/aac.py
25${PYSITELIB}/mutagen/aac.pyc 31${PYSITELIB}/mutagen/aac.pyc
26${PYSITELIB}/mutagen/aac.pyo 32${PYSITELIB}/mutagen/aac.pyo
27${PYSITELIB}/mutagen/aiff.py 33${PYSITELIB}/mutagen/aiff.py
28${PYSITELIB}/mutagen/aiff.pyc 34${PYSITELIB}/mutagen/aiff.pyc
29${PYSITELIB}/mutagen/aiff.pyo 35${PYSITELIB}/mutagen/aiff.pyo
30${PYSITELIB}/mutagen/apev2.py 36${PYSITELIB}/mutagen/apev2.py
31${PYSITELIB}/mutagen/apev2.pyc 37${PYSITELIB}/mutagen/apev2.pyc
32${PYSITELIB}/mutagen/apev2.pyo 38${PYSITELIB}/mutagen/apev2.pyo
33${PYSITELIB}/mutagen/asf.py 39${PYSITELIB}/mutagen/asf/__init__.py
34${PYSITELIB}/mutagen/asf.pyc 40${PYSITELIB}/mutagen/asf/__init__.pyc
35${PYSITELIB}/mutagen/asf.pyo 41${PYSITELIB}/mutagen/asf/__init__.pyo
 42${PYSITELIB}/mutagen/asf/_attrs.py
 43${PYSITELIB}/mutagen/asf/_attrs.pyc
 44${PYSITELIB}/mutagen/asf/_attrs.pyo
 45${PYSITELIB}/mutagen/asf/_objects.py
 46${PYSITELIB}/mutagen/asf/_objects.pyc
 47${PYSITELIB}/mutagen/asf/_objects.pyo
 48${PYSITELIB}/mutagen/asf/_util.py
 49${PYSITELIB}/mutagen/asf/_util.pyc
 50${PYSITELIB}/mutagen/asf/_util.pyo
36${PYSITELIB}/mutagen/easyid3.py 51${PYSITELIB}/mutagen/easyid3.py
37${PYSITELIB}/mutagen/easyid3.pyc 52${PYSITELIB}/mutagen/easyid3.pyc
38${PYSITELIB}/mutagen/easyid3.pyo 53${PYSITELIB}/mutagen/easyid3.pyo
39${PYSITELIB}/mutagen/easymp4.py 54${PYSITELIB}/mutagen/easymp4.py
40${PYSITELIB}/mutagen/easymp4.pyc 55${PYSITELIB}/mutagen/easymp4.pyc
41${PYSITELIB}/mutagen/easymp4.pyo 56${PYSITELIB}/mutagen/easymp4.pyo
42${PYSITELIB}/mutagen/flac.py 57${PYSITELIB}/mutagen/flac.py
43${PYSITELIB}/mutagen/flac.pyc 58${PYSITELIB}/mutagen/flac.pyc
44${PYSITELIB}/mutagen/flac.pyo 59${PYSITELIB}/mutagen/flac.pyo
45${PYSITELIB}/mutagen/id3/__init__.py 60${PYSITELIB}/mutagen/id3/__init__.py
46${PYSITELIB}/mutagen/id3/__init__.pyc 61${PYSITELIB}/mutagen/id3/__init__.pyc
47${PYSITELIB}/mutagen/id3/__init__.pyo 62${PYSITELIB}/mutagen/id3/__init__.pyo
48${PYSITELIB}/mutagen/id3/_frames.py 63${PYSITELIB}/mutagen/id3/_frames.py

cvs diff -r1.10 -r1.11 pkgsrc/audio/py-mutagen/distinfo (expand / switch to unified diff)

--- pkgsrc/audio/py-mutagen/distinfo 2015/11/03 01:12:48 1.10
+++ pkgsrc/audio/py-mutagen/distinfo 2015/11/04 09:53:40 1.11
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
1$NetBSD: distinfo,v 1.10 2015/11/03 01:12:48 agc Exp $ 1$NetBSD: distinfo,v 1.11 2015/11/04 09:53:40 wiz Exp $
2 2
3SHA1 (mutagen-1.27.tar.gz) = 4c9b874feb6f1e9dbf6f2c37341dad3a47135640 3SHA1 (mutagen-1.31.tar.gz) = 09721ea47b9ebdf0c76a7b2e07cdd50c23993e10
4RMD160 (mutagen-1.27.tar.gz) = b6d4c5c880b9eba4b0377e04421c840392c20eff 4RMD160 (mutagen-1.31.tar.gz) = 3573207b601a31e0dcdb9440c59fbec21e2b5417
5SHA512 (mutagen-1.27.tar.gz) = ae15fb3f5d77025a60e25a2ed25e23f7d21160d4e63c49fe7d01508440ff1f6b673cf34d8f4facc834824825ad6f4d3ed9830133db5aba339ac1eae46f7f50d5 5SHA512 (mutagen-1.31.tar.gz) = d603afa049e2223dc1050ee26101add4150f8ca57fcee1bbbfd1233276b15fda5972d58e8472135396e54f2778219462619fbec8dddb97c35a7fb7638fec0c23
6Size (mutagen-1.27.tar.gz) = 875720 bytes 6Size (mutagen-1.31.tar.gz) = 897785 bytes
7SHA1 (patch-aa) = 23644c996940b95bb430ae303d3aef2e0a9287d4 7SHA1 (patch-aa) = 05453c544b1d242000b1c897c9a42450d86ca4cb

cvs diff -r1.6 -r1.7 pkgsrc/audio/py-mutagen/patches/Attic/patch-aa (expand / switch to unified diff)

--- pkgsrc/audio/py-mutagen/patches/Attic/patch-aa 2015/01/06 19:52:40 1.6
+++ pkgsrc/audio/py-mutagen/patches/Attic/patch-aa 2015/11/04 09:53:40 1.7
@@ -1,21 +1,23 @@ @@ -1,21 +1,23 @@
1$NetBSD: patch-aa,v 1.6 2015/01/06 19:52:40 drochner Exp $ 1$NetBSD: patch-aa,v 1.7 2015/11/04 09:53:40 wiz Exp $
 2
 3Do not install the command line tools. -- drochner, 2009
2 4
3--- setup.py.orig 2014-11-26 13:18:57.000000000 +0000 5--- setup.py.orig 2014-11-26 13:18:57.000000000 +0000
4+++ setup.py 6+++ setup.py
5@@ -256,15 +256,15 @@ if __name__ == "__main__": 7@@ -256,15 +256,15 @@ if __name__ == "__main__":
6 'Topic :: Multimedia :: Sound/Audio', 8 'Topic :: Multimedia :: Sound/Audio',
7 ], 9 ],
8 packages=["mutagen", "mutagen.id3", "mutagen.mp4"], 10 packages=["mutagen", "mutagen.id3", "mutagen.mp4", "mutagen.asf"],
9- data_files=data_files, 11- data_files=data_files,
10- scripts=[os.path.join("tools", name) for name in [ 12- scripts=[os.path.join("tools", name) for name in [
11- "mid3cp", 13- "mid3cp",
12- "mid3iconv", 14- "mid3iconv",
13- "mid3v2", 15- "mid3v2",
14- "moggsplit", 16- "moggsplit",
15- "mutagen-inspect", 17- "mutagen-inspect",
16- "mutagen-pony", 18- "mutagen-pony",
17- ]], 19- ]],
18+# data_files=data_files, 20+# data_files=data_files,
19+# scripts=[os.path.join("tools", name) for name in [ 21+# scripts=[os.path.join("tools", name) for name in [
20+# "mid3cp", 22+# "mid3cp",
21+# "mid3iconv", 23+# "mid3iconv",