diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-12-28 06:30:54 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-12-28 06:30:54 +0000 |
commit | 72fd2b48b7154274a1d2009cdaab54e7f49fb3aa (patch) | |
tree | 9c6ce981e8f924eb5f24e71e13c91b37aafb8616 /dev-python/tagpy | |
parent | 721e451ec418e1712f6962404e111f0ebd487389 (diff) |
gentoo auto-resync : 28:12:2024 - 06:30:54
Diffstat (limited to 'dev-python/tagpy')
-rw-r--r-- | dev-python/tagpy/Manifest | 3 | ||||
-rw-r--r-- | dev-python/tagpy/files/tagpy-2022.1-fix-build-taglib2.patch | 235 | ||||
-rw-r--r-- | dev-python/tagpy/files/tagpy-2022.1-py3_13.patch | 13 | ||||
-rw-r--r-- | dev-python/tagpy/tagpy-2022.1-r1.ebuild | 39 |
4 files changed, 290 insertions, 0 deletions
diff --git a/dev-python/tagpy/Manifest b/dev-python/tagpy/Manifest index 82563538f150..f07c23237b9b 100644 --- a/dev-python/tagpy/Manifest +++ b/dev-python/tagpy/Manifest @@ -1,3 +1,6 @@ +AUX tagpy-2022.1-fix-build-taglib2.patch 9817 BLAKE2B 95ba627f3b8cc5d1d65081562731377e1970cf2c934bf090dd18fbc06c78d5bf444fd1d4e849c6c5b0e47b0c361de3f90f32128ff620ef3e809b629690fa67fe SHA512 5af886e0eac8722438d72277928e39b82806ce7071a94e56aaf8c6649b4cf453e5d312f8f4ae9c77fe48da7bdcd52ecc22e63f42902ff582ada4c1d40ff7169c +AUX tagpy-2022.1-py3_13.patch 397 BLAKE2B 3bed0c287516f532f8227d3a0c9676a86fc6ce1a1628e11ad7309559b1ea603c7fa47c1f04be848037cf13b2e05dd7d45789cf0310e92961c6fb29ccf3747f5b SHA512 8b0d0de81244b7a3bb8c9601fa306c31c6ef144eff9d525af593015d18b12f530989a76817c97f806e5a3f8fff6062846329f0ec0df00ec70f09c233b846c416 DIST tagpy-2022.1.gh.tar.gz 198744 BLAKE2B 1a0722017ae532444cf97171c04964453bdb6c427a49bace4ad9fe3a3be9be7f0903a9ae3fb8dbf0c8450112ed5f83677044c6b2546dddec3550d8251cef4cff SHA512 d740bf17abe6a2a7cd7fe037c024c8361d49d2ec4e8d03dbdc27c9ec273696b0a41d087a7159692e9b849e807af493f68239562da01d5191bee95060b32aabda +EBUILD tagpy-2022.1-r1.ebuild 715 BLAKE2B db8c11c018ee0588fc24b896e05e77c35fed3928c31e9581b1f88d9f9dd8cdd1d3f9cef378b5f3b73b58e9d94702b665ee04d647015cf43aab824cb309425f8a SHA512 f7a84ddd42e53f26b79ce4155464e95bf3fad6a848e0ea5d63f5c09974569e980838d037eca76b114efdc58531a8c6041a8751d98abb7660639c69f417f21a77 EBUILD tagpy-2022.1.ebuild 625 BLAKE2B 08be0a36be0df514c7039ca5a91dffd5cc8fb1ccebb7ea5b26f16e12fbf1bf8530f7584fc86b7964f5cdba5193ff0f114fa3ccb2c6bc7fa286c996d191a2d662 SHA512 601f754d5d45849435729cc49e53f8369106700f6e5a6a6767c5c95fc3fafabba96d575c82354bb7066cb742c66ad9bffd64859534b7a7221b320f51f75ed969 MISC metadata.xml 601 BLAKE2B b82a1af702b40b3d3ee0cc0168bced0afca8014a34a59f7012571874ab4d1bbe06fa25229cce7ff419d5e3c662cc82d64b91e70f7d02704e8f760c6dc51a72d5 SHA512 0d28f25be7a89d369b1029ccd2050745e79343e7eed2d7b6d3f5577cc2989558f30e495ec1e489f997a66077bb26fc22f2eec5ae9a381e222e1e2f67a2d80c77 diff --git a/dev-python/tagpy/files/tagpy-2022.1-fix-build-taglib2.patch b/dev-python/tagpy/files/tagpy-2022.1-fix-build-taglib2.patch new file mode 100644 index 000000000000..05512cbbc7f2 --- /dev/null +++ b/dev-python/tagpy/files/tagpy-2022.1-fix-build-taglib2.patch @@ -0,0 +1,235 @@ +https://github.com/palfrey/tagpy/pull/16.patch +diff --git a/src/wrapper/basics.cpp b/src/wrapper/basics.cpp +index b84f672..d58f7e0 100644 +--- a/src/wrapper/basics.cpp ++++ b/src/wrapper/basics.cpp +@@ -80,15 +80,15 @@ namespace + String album() const { return this->get_override("album")(); } + String comment() const { return this->get_override("comment")(); } + String genre() const { return this->get_override("genre")(); } +- TagLib::uint year() const { return this->get_override("year")(); } +- TagLib::uint track() const { return this->get_override("track")(); } ++ uint year() const { return this->get_override("year")(); } ++ uint track() const { return this->get_override("track")(); } + void setTitle(const String &v) const { this->get_override("setTitle")(v); } + void setArtist(const String &v) const { this->get_override("setArtist")(v); } + void setAlbum(const String &v) const { this->get_override("setAlbum")(v); } + void setComment(const String &v) const { this->get_override("setComment")(v); } + void setGenre(const String &v) const { this->get_override("setGenre")(v); } +- void setYear(TagLib::uint i) const { this->get_override("setYear")(i); } +- void setTrack(TagLib::uint i) const { this->get_override("setTrack")(i); } ++ void setYear(uint i) const { this->get_override("setYear")(i); } ++ void setTrack(uint i) const { this->get_override("setTrack")(i); } + }; + + +@@ -169,7 +169,7 @@ BOOST_PYTHON_MODULE(_tagpy) + { + typedef AudioProperties cl; + class_<AudioPropertiesWrap, boost::noncopyable>("AudioProperties", no_init) +- .add_property("length", &cl::length) ++ .add_property("length", &cl::lengthInSeconds) + .add_property("bitrate", &cl::bitrate) + .add_property("sampleRate", &cl::sampleRate) + .add_property("channels", &cl::channels) +diff --git a/src/wrapper/common.hpp b/src/wrapper/common.hpp +index 2fbdf74..febaa16 100644 +--- a/src/wrapper/common.hpp ++++ b/src/wrapper/common.hpp +@@ -129,7 +129,7 @@ namespace { + // List + // ------------------------------------------------------------- + template<typename Value> +- Value &List_getitem(List<Value> &l, TagLib::uint i) ++ Value &List_getitem(List<Value> &l, uint i) + { + if (i >= l.size()) + { +@@ -140,7 +140,7 @@ namespace { + } + + template<typename Value> +- void List_setitem(List<Value> &l, TagLib::uint i, Value v) ++ void List_setitem(List<Value> &l, uint i, Value v) + { + if (i >= l.size()) + { +@@ -177,7 +177,7 @@ namespace { + // PointerList + // ------------------------------------------------------------- + template<typename Value> +- Value *&PointerList_getitem(List<Value *> &l, TagLib::uint i) ++ Value *&PointerList_getitem(List<Value *> &l, uint i) + { + if (i >= l.size()) + { +@@ -188,7 +188,7 @@ namespace { + } + + template<typename Value> +- void PointerList_setitem(List<Value *> &l, TagLib::uint i, auto_ptr<Value> v) ++ void PointerList_setitem(List<Value *> &l, uint i, auto_ptr<Value> v) + { + if (i >= l.size()) + { +diff --git a/src/wrapper/id3.cpp b/src/wrapper/id3.cpp +index cc0eb53..74d5923 100644 +--- a/src/wrapper/id3.cpp ++++ b/src/wrapper/id3.cpp +@@ -58,7 +58,7 @@ namespace + + void id3v2_Tag_addFrame(ID3v2::Tag &t, ID3v2::Frame *f) + { +- ID3v2::Frame *f_clone = ID3v2::FrameFactory::instance()->createFrame(f->render()); ++ ID3v2::Frame *f_clone = ID3v2::FrameFactory::instance()->createFrame(f->render(), t.header()); + t.addFrame(f_clone); + } + +@@ -71,7 +71,7 @@ namespace + #define MF_OL(MF, MIN, MAX) \ + BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(MF##_overloads, MF, MIN, MAX); + +- MF_OL(createFrame, 1, 2); ++ MF_OL(createFrame, 2, 2); + MF_OL(volumeAdjustmentIndex, 0, 1); + MF_OL(volumeAdjustment, 0, 1); + MF_OL(peakVolume, 0, 1); +@@ -121,15 +121,12 @@ void exposeID3() + { + typedef ID3v2::FrameFactory cl; + +- ID3v2::Frame *(ID3v2::FrameFactory::*cf1)(const ByteVector &, bool) const +- = &cl::createFrame; +- ID3v2::Frame *(ID3v2::FrameFactory::*cf2)(const ByteVector &, TagLib::uint) const ++ ID3v2::Frame *(ID3v2::FrameFactory::*cf)(const ByteVector &, const ID3v2::Header *) const + = &cl::createFrame; + + class_<ID3v2::FrameFactory, boost::noncopyable> + ("id3v2_FrameFactory", no_init) +- .def("createFrame", cf1, return_value_policy<manage_new_object>()) +- .def("createFrame", cf2, createFrame_overloads()[return_value_policy<manage_new_object>()]) ++ .def("createFrame", cf, createFrame_overloads()[return_value_policy<manage_new_object>()]) + .def("instance", &cl::instance, + return_value_policy<reference_existing_object>()) + .staticmethod("instance") +@@ -150,10 +147,10 @@ void exposeID3() + .DEF_SIMPLE_METHOD(render) + + .def("headerSize", +- (TagLib::uint (*)()) ++ (uint (*)()) + &ID3v2::Frame::headerSize) + .def("headerSize", +- (TagLib::uint (*)(TagLib::uint)) ++ (uint (*)(uint)) + &ID3v2::Frame::headerSize) + // MISSING: textDelimiter + ; +@@ -210,7 +207,6 @@ void exposeID3() + class_<cl, boost::noncopyable, bases<Tag> >("id3v2_Tag") + .def("header", &ID3v2::Tag::header, return_internal_reference<>()) + .def("extendedHeader", &ID3v2::Tag::extendedHeader, return_internal_reference<>()) +- .def("footer", &ID3v2::Tag::footer, return_internal_reference<>()) + + .def("frameListMap", &ID3v2::Tag::frameListMap, return_internal_reference<>()) + .def("frameList", fl1, return_internal_reference<>()) +@@ -224,7 +220,7 @@ void exposeID3() + // Commented out following comment at: + // https://github.com/inducer/tagpy/commit/fb6d9a95f8ed1b0f347a82569a13e60a75c7e6d6 + // .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)() const) +- .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(int) const) ++ .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(ID3v2::Version) const) + #else + .def("render", (ByteVector (cl::*)() const) &cl::render) + #endif +@@ -323,7 +319,6 @@ void exposeID3() + ("id3v2_RelativeVolumeFrame", init<const ByteVector &>()) + // MISSING: Empty constructor, gives symbol errors + .def("channels", id3v2_rvf_channels) +- .DEF_SIMPLE_METHOD(setChannelType) + .DEF_OVERLOADED_METHOD(volumeAdjustmentIndex, short (cl::*)(cl::ChannelType) const) + .DEF_OVERLOADED_METHOD(setVolumeAdjustmentIndex, void (cl::*)(short, cl::ChannelType)) + .DEF_OVERLOADED_METHOD(volumeAdjustment, float (cl::*)(cl::ChannelType) const) +@@ -424,7 +419,7 @@ void exposeID3() + .def(init<const char *, ID3v2::FrameFactory *, optional<bool, AudioProperties::ReadStyle> >()) + .def("save", + #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10800) +- (bool (MPEG::File::*)(int, bool, int)) ++ (bool (MPEG::File::*)(int, TagLib::File::StripTags, TagLib::ID3v2::Version, TagLib::File::DuplicateTags)) + #else + (bool (MPEG::File::*)(int, bool)) + #endif +@@ -444,7 +439,6 @@ void exposeID3() + .def("strip", + (bool (cl::*)(int)) &cl::strip, + strip_overloads()) +- .DEF_SIMPLE_METHOD(setID3v2FrameFactory) + .DEF_SIMPLE_METHOD(firstFrameOffset) + .DEF_SIMPLE_METHOD(nextFrameOffset) + .DEF_SIMPLE_METHOD(previousFrameOffset) +diff --git a/src/wrapper/rest.cpp b/src/wrapper/rest.cpp +index 0a94bc8..dd843bf 100644 +--- a/src/wrapper/rest.cpp ++++ b/src/wrapper/rest.cpp +@@ -51,7 +51,7 @@ namespace + // Ogg + // ------------------------------------------------------------- + MF_OL(addField, 2, 3); +- MF_OL(removeField, 1, 2); ++ MF_OL(removeFields, 1, 2); + MF_OL(render, 0, 1); + + // ------------------------------------------------------------- +@@ -62,7 +62,6 @@ namespace + // ------------------------------------------------------------- + // MPC + // ------------------------------------------------------------- +- MF_OL(remove, 0, 1); + //MF_OL(ID3v1Tag, 0, 1); + MF_OL(APETag, 0, 1); + +@@ -90,8 +89,8 @@ void exposeRest() + return_internal_reference<>()) + .DEF_SIMPLE_METHOD(vendorID) + .DEF_OVERLOADED_METHOD(addField, void (cl::*)(const String &, const String &, bool)) +- .DEF_OVERLOADED_METHOD(removeField, void (cl::*)(const String &, const String &)) +- .DEF_OVERLOADED_METHOD(removeField, void (cl::*)(const String &, const String &)) ++ .DEF_OVERLOADED_METHOD(removeFields, void (cl::*)(const String &, const String &)) ++ .DEF_OVERLOADED_METHOD(removeFields, void (cl::*)(const String &, const String &)) + .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(bool) const) + ; + } +@@ -159,10 +158,10 @@ void exposeRest() + .def(init<const String &, const StringList &>()) + .def(init<const cl &>()) + .DEF_SIMPLE_METHOD(key) +- .DEF_SIMPLE_METHOD(value) ++ .DEF_SIMPLE_METHOD(binaryData) + .DEF_SIMPLE_METHOD(size) + .DEF_SIMPLE_METHOD(toString) +- .DEF_SIMPLE_METHOD(toStringList) ++ .DEF_SIMPLE_METHOD(values) + .DEF_SIMPLE_METHOD(render) + .DEF_SIMPLE_METHOD(parse) + .DEF_SIMPLE_METHOD(setReadOnly) +@@ -207,9 +206,6 @@ void exposeRest() + (Ogg::XiphComment *(FLAC::File::*)(bool)) + &FLAC::File::xiphComment, + xiphComment_overloads()[return_internal_reference<>()]) +- .DEF_SIMPLE_METHOD(setID3v2FrameFactory) +- .DEF_SIMPLE_METHOD(streamInfoData) +- .DEF_SIMPLE_METHOD(streamLength) + ; + } + +@@ -238,8 +234,8 @@ void exposeRest() + APETag_overloads()[return_internal_reference<>()]) + .def("remove", + (void (cl::*)(int)) +- &cl::remove, +- remove_overloads()) ++ &cl::strip, ++ strip_overloads()) + ; + } + diff --git a/dev-python/tagpy/files/tagpy-2022.1-py3_13.patch b/dev-python/tagpy/files/tagpy-2022.1-py3_13.patch new file mode 100644 index 000000000000..f415260daac5 --- /dev/null +++ b/dev-python/tagpy/files/tagpy-2022.1-py3_13.patch @@ -0,0 +1,13 @@ +diff --git a/src/wrapper/basics.cpp b/src/wrapper/basics.cpp +index b84f672..ba037dc 100644 +--- a/src/wrapper/basics.cpp ++++ b/src/wrapper/basics.cpp +@@ -51,7 +51,7 @@ namespace + { + static PyObject *convert(ByteVector const& s) + { +- return PyUnicode_FromStringAndSize(s.data(), s.size()); ++ return PyBytes_FromStringAndSize(s.data(), s.size()); + } + }; + diff --git a/dev-python/tagpy/tagpy-2022.1-r1.ebuild b/dev-python/tagpy/tagpy-2022.1-r1.ebuild new file mode 100644 index 000000000000..e2bf7fed8cd3 --- /dev/null +++ b/dev-python/tagpy/tagpy-2022.1-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 + +DESCRIPTION="Python Bindings for TagLib" +HOMEPAGE=" + https://github.com/palfrey/tagpy/ + https://pypi.org/project/tagpy/ +" +SRC_URI=" + https://github.com/palfrey/tagpy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" + +DEPEND=" + dev-libs/boost:=[python,${PYTHON_USEDEP}] + media-libs/taglib:= +" +RDEPEND=" + ${DEPEND} +" + +PATCHES=( + "${FILESDIR}"/${P}-py3_13.patch + "${FILESDIR}"/${P}-fix-build-taglib2.patch +) + +distutils_enable_tests pytest |