summaryrefslogtreecommitdiff
path: root/community/pyid3lib
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/pyid3lib
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/pyid3lib')
-rw-r--r--community/pyid3lib/PKGBUILD24
-rw-r--r--community/pyid3lib/pyid3lib-0.5.1-py25.patch57
2 files changed, 81 insertions, 0 deletions
diff --git a/community/pyid3lib/PKGBUILD b/community/pyid3lib/PKGBUILD
new file mode 100644
index 000000000..c0a541b66
--- /dev/null
+++ b/community/pyid3lib/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 66183 2012-02-23 02:32:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+# Maintainer: Jens Persson <xerxes2 at gmail.com>
+
+pkgname=pyid3lib
+pkgver=0.5.1
+pkgrel=7
+pkgdesc="A Python module for editing ID3v2 tags of MP3 audio files"
+arch=('i686' 'x86_64')
+url="http://pyid3lib.sourceforge.net/"
+license=('LGPL')
+depends=('python2' 'glibc' 'id3lib')
+source=(http://downloads.sourceforge.net/sourceforge/pyid3lib/$pkgname-$pkgver.tar.gz
+ pyid3lib-0.5.1-py25.patch)
+md5sums=('5fd37a7dda7c540f665ca5d428a28f5e'
+ '377b797acfae7411c3a70c244d3cf9b6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ [ "${CARCH}" = "x86_64" ] && patch -p1 < ../pyid3lib-0.5.1-py25.patch
+ sed -i "s#strchr( str, '/' )#strchr( (char*)str, '/' )#" pyid3lib.cc
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/community/pyid3lib/pyid3lib-0.5.1-py25.patch b/community/pyid3lib/pyid3lib-0.5.1-py25.patch
new file mode 100644
index 000000000..c24cfc97d
--- /dev/null
+++ b/community/pyid3lib/pyid3lib-0.5.1-py25.patch
@@ -0,0 +1,57 @@
+--- pyid3lib-0.5.1/pyid3lib.cc.orig 2007-08-08 23:53:08.000000000 +0300
++++ pyid3lib-0.5.1/pyid3lib.cc 2007-08-08 23:53:12.000000000 +0300
+@@ -10,13 +10,19 @@
+ #include <id3/id3lib_frame.h>
+ #include <id3/tag.h>
+
++#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
++typedef int Py_ssize_t;
++#define PY_SSIZE_T_MAX INT_MAX
++#define PY_SSIZE_T_MIN INT_MIN
++#endif
++
+ typedef struct
+ {
+ PyObject_HEAD
+
+ ID3_Tag* tag;
+ ID3_Frame** frames;
+- int size, alloc;
++ Py_ssize_t size, alloc;
+ } ID3Object;
+
+ typedef struct
+@@ -80,13 +86,24 @@
+
+
+ static PySequenceMethods tag_as_sequence = {
++#if PY_VERSION_HEX >= 0x02050000
++ (lenfunc)id3_length,
++#else
+ (inquiry)id3_length,
++#endif
+ NULL,
+ NULL,
++#if PY_VERSION_HEX >= 0x02050000
++ (ssizeargfunc)id3_item,
++ (ssizessizeargfunc)id3_slice,
++ (ssizeobjargproc)id3_ass_item,
++ (ssizessizeobjargproc)id3_ass_slice,
++#else
+ (intargfunc)id3_item,
+ (intintargfunc)id3_slice,
+ (intobjargproc)id3_ass_item,
+ (intintobjargproc)id3_ass_slice,
++#endif
+ (objobjproc)id3_contains,
+ NULL,
+ NULL,
+@@ -824,7 +841,7 @@
+ static ID3_Frame* frame_from_dict( ID3_FrameID fid, PyObject* dict )
+ {
+ char* data;
+- int size;
++ Py_ssize_t size;
+
+ ID3_Field* field;
+ ID3_FieldID flid;