summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/tagpy')
-rw-r--r--dev-python/tagpy/Manifest1
-rw-r--r--dev-python/tagpy/files/tagpy-2018.1-readme.rst16
-rw-r--r--dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch17
-rw-r--r--dev-python/tagpy/tagpy-2018.1.ebuild56
4 files changed, 90 insertions, 0 deletions
diff --git a/dev-python/tagpy/Manifest b/dev-python/tagpy/Manifest
index fd14db3709e0..21ce9c56c297 100644
--- a/dev-python/tagpy/Manifest
+++ b/dev-python/tagpy/Manifest
@@ -1 +1,2 @@
DIST tagpy-2013.1.tar.gz 151463 BLAKE2B 07d35dcff3ca01061c3df03ceb36d7e3fab6b993d3b85ccd44baad19a7c4232d348f470af7a7ee0ab72cf0fcdfd2cfcfa6086306cb3ab4491eebfcf662b37dbc SHA512 4068b33fcbee2d5037149fda3ad0b256a31187ee35146392d0e187acb1d8e57c249da5356cb396cb9f027ed47ff44016466a1faaea0912494535c631f8271d58
+DIST tagpy-2018.1.tar.gz 145501 BLAKE2B acdda6789dae000ba2f664e4a5582f6218f312bed20ec81c4ea54f358bec70d41aceed6704f392a7a32c39d263da81f9c832922942fa179e1865e423dcf28bcf SHA512 2010baa919adadc9fc231deeb093953622ec54c8b6011e2d6a3489b086032de0a71cc26f42439435f26bd7a1ff069e3944dafc61217abe6ea5e81b01b9d18c50
diff --git a/dev-python/tagpy/files/tagpy-2018.1-readme.rst b/dev-python/tagpy/files/tagpy-2018.1-readme.rst
new file mode 100644
index 000000000000..83bb4d2671e3
--- /dev/null
+++ b/dev-python/tagpy/files/tagpy-2018.1-readme.rst
@@ -0,0 +1,16 @@
+TagPy is a set of Python bindings for Scott Wheeler's
+`TagLib <http://developer.kde.org/~wheeler/taglib.html>`_.
+It builds upon `Boost.Python <http://www.boost.org/libs/python/doc/>`_,
+a wrapper generation library which is part of the renowned Boost
+set of C++ libraries.
+
+Just like TagLib, TagPy can:
+
+* read and write ID3 tags of version 1 and 2, with many supported frame types
+ for version 2 (in MPEG Layer 2 and MPEG Layer 3, FLAC and MPC),
+* access Xiph Comments in Ogg Vorbis Files and Ogg Flac Files,
+* access APE tags in Musepack and MP3 files.
+
+All these features have their own specific interfaces, but
+TagLib's generic tag reading and writing mechanism is also
+supported. It comes with a bunch of examples. \ No newline at end of file
diff --git a/dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch b/dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch
new file mode 100644
index 000000000000..90c49a29af74
--- /dev/null
+++ b/dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch
@@ -0,0 +1,17 @@
+diff -Naur a/src/wrapper/id3.cpp b/src/wrapper/id3.cpp
+--- a/src/wrapper/id3.cpp 2019-03-23 08:26:04.975722018 -0400
++++ b/src/wrapper/id3.cpp 2019-03-23 08:26:54.438399217 -0400
+@@ -220,12 +220,7 @@
+ .DEF_SIMPLE_METHOD(removeFrame)
+ .DEF_SIMPLE_METHOD(removeFrames)
+
+- #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10800)
+- .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)() const)
+- .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(int) const)
+- #else
+- .def("render", (ByteVector (cl::*)() const) &cl::render)
+- #endif
++ .def("render", (ByteVector (cl::*)() const) &cl::render)
+ ;
+ }
+
diff --git a/dev-python/tagpy/tagpy-2018.1.ebuild b/dev-python/tagpy/tagpy-2018.1.ebuild
new file mode 100644
index 000000000000..c6309a878ecf
--- /dev/null
+++ b/dev-python/tagpy/tagpy-2018.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+inherit distutils-r1
+
+DESCRIPTION="Python Bindings for TagLib"
+HOMEPAGE="https://mathema.tician.de//software/tagpy
+ https://pypi.org/project/tagpy/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-libs/boost:=[python,threads,${PYTHON_USEDEP}]
+ >=media-libs/taglib-1.8
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}/${P}-taglib-1.8.patch" )
+
+python_prepare_all() {
+ cp "${FILESDIR}"/${P}-readme.rst README.rst || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local boostpy_ver="${EPYTHON#python}"
+ if has_version ">=dev-libs/boost-1.70"; then
+ boostpy_ver="${boostpy_ver/\.}"
+ else
+ boostpy_ver="-${boostpy_ver}"
+ fi
+
+ "${PYTHON}" configure.py \
+ --taglib-inc-dir="${EPREFIX}/usr/include/taglib" \
+ --boost-python-libname="boost_python${boostpy_ver}"
+}
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r test/*
+ fi
+
+ distutils-r1_python_install_all
+}