summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD28
-rw-r--r--pyid3lib-0.5.1-py25.patch57
3 files changed, 102 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3129c42e0291
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = pyid3lib
+ pkgdesc = A Python module for editing ID3v2 tags of MP3 audio files
+ pkgver = 0.5.1
+ pkgrel = 9
+ url = http://pyid3lib.sourceforge.net/
+ arch = x86_64
+ license = LGPL
+ depends = python2
+ depends = glibc
+ depends = id3lib
+ source = https://downloads.sourceforge.net/sourceforge/pyid3lib/pyid3lib-0.5.1.tar.gz
+ source = pyid3lib-0.5.1-py25.patch
+ sha256sums = a0534b657cf91726bf93a57112ec9514336d39a93c859cd7afe4d3bf6ae0abcb
+ sha256sums = 07716da15662c5d266a3a184181d4825e391959306819f0eab89cd9993551342
+
+pkgname = pyid3lib
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e660380a1102
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
+# 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=9
+pkgdesc="A Python module for editing ID3v2 tags of MP3 audio files"
+arch=('x86_64')
+url="http://pyid3lib.sourceforge.net/"
+license=('LGPL')
+depends=('python2' 'glibc' 'id3lib')
+source=(https://downloads.sourceforge.net/sourceforge/pyid3lib/$pkgname-$pkgver.tar.gz
+ pyid3lib-0.5.1-py25.patch)
+sha256sums=('a0534b657cf91726bf93a57112ec9514336d39a93c859cd7afe4d3bf6ae0abcb'
+ '07716da15662c5d266a3a184181d4825e391959306819f0eab89cd9993551342')
+
+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
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ python2 setup.py install --root="$pkgdir"
+}
diff --git a/pyid3lib-0.5.1-py25.patch b/pyid3lib-0.5.1-py25.patch
new file mode 100644
index 000000000000..c24cfc97d5ac
--- /dev/null
+++ b/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;