summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2024-12-28 00:18:30 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2024-12-28 01:04:40 +0100
commitfd10d6bfe7b896b1bcdd6b1a3ebc5a01d9170d25 (patch)
tree3e3464e94b24d6967476ad941b321d1ad3e4f295 /media-libs/taglib-extras
parentmedia-sound/coquillo: fix build with taglib-2 (diff)
downloadgentoo-fd10d6bfe7b896b1bcdd6b1a3ebc5a01d9170d25.tar.gz
gentoo-fd10d6bfe7b896b1bcdd6b1a3ebc5a01d9170d25.tar.bz2
gentoo-fd10d6bfe7b896b1bcdd6b1a3ebc5a01d9170d25.zip
media-libs/taglib-extras: fix build with taglib-2, add slot op
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-libs/taglib-extras')
-rw-r--r--media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch283
-rw-r--r--media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild23
2 files changed, 306 insertions, 0 deletions
diff --git a/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch b/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch
new file mode 100644
index 000000000000..5a52b84ecca6
--- /dev/null
+++ b/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch
@@ -0,0 +1,283 @@
+Source: https://aur.archlinux.org/cgit/aur.git/tree/taglib-2.0.diff?h=taglib-extras
+
+* asturm 2024-12-28:
+ - Upstream repository still SVN: https://invent.kde.org/multimedia/amarok/-/issues/18
+ - Cleaned up patch content already part of taglib-extras-1.0.1-taglib110.patch
+ - Cleaned up the irrelevant taglib min version raising bits
+
+diff -U 3 -r a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2009-09-17 21:31:50.000000000 +0200
++++ b/CMakeLists.txt 2024-03-18 20:05:05.486108470 +0100
+@@ -14,7 +14,7 @@
+ if (CMAKE_COMPILER_IS_GNUCXX)
+ if (CMAKE_SYSTEM_NAME MATCHES Linux)
+ set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
+- set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-check-new -fno-common")
++ set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-check-new -fno-common -std=c++11")
+ endif (CMAKE_SYSTEM_NAME MATCHES Linux)
+ endif (CMAKE_COMPILER_IS_GNUCXX)
+ if(MSVC)
+diff -U 3 -r a/taglib-extras/audible/audibletag.cpp b/taglib-extras/audible/audibletag.cpp
+--- a/taglib-extras/audible/audibletag.cpp 2009-09-17 17:38:07.000000000 +0200
++++ b/taglib-extras/audible/audibletag.cpp 2024-03-18 19:33:40.553079218 +0100
+@@ -40,11 +40,11 @@
+ using namespace TagLibExtras;
+
+ Audible::Tag::Tag() {
+- m_title = TagLib::String::null;
+- m_artist = TagLib::String::null;
+- m_album = TagLib::String::null;
+- m_comment = TagLib::String::null;
+- m_genre = TagLib::String::null;
++ m_title = TagLib::String();
++ m_artist = TagLib::String();
++ m_album = TagLib::String();
++ m_comment = TagLib::String();
++ m_genre = TagLib::String();
+ m_year = 0;
+ m_track = 0;
+ m_userID = 0;
+@@ -55,11 +55,11 @@
+ }
+
+ bool Audible::Tag::isEmpty() const {
+- return m_title == TagLib::String::null &&
+- m_artist == TagLib::String::null &&
+- m_album == TagLib::String::null &&
+- m_comment == TagLib::String::null &&
+- m_genre == TagLib::String::null &&
++ return m_title == TagLib::String() &&
++ m_artist == TagLib::String() &&
++ m_album == TagLib::String() &&
++ m_comment == TagLib::String() &&
++ m_genre == TagLib::String() &&
+ m_year == 0 &&
+ m_track == 0 &&
+ m_userID == 0;
+@@ -114,7 +114,7 @@
+ }
+ else if(!strcmp(name, "description"))
+ {
+- if( m_comment.isNull() )
++ if( m_comment.isEmpty() )
+ m_comment = TagLib::String(value, TagLib::String::Latin1);
+ }
+ else if(!strcmp(name, "pubdate"))
+diff -U 3 -r a/taglib-extras/audible/audibletag.h b/taglib-extras/audible/audibletag.h
+--- a/taglib-extras/audible/audibletag.h 2009-09-17 17:38:07.000000000 +0200
++++ b/taglib-extras/audible/audibletag.h 2024-03-18 19:31:45.715118382 +0100
+@@ -52,30 +52,30 @@
+
+ /*!
+ * Returns the track name; if no track name is present in the tag
+- * TagLib::String::null will be returned.
++ * TagLib::String() will be returned.
+ */
+ virtual TagLib::String title() const { return m_title; }
+
+ /*!
+ * Returns the artist name; if no artist name is present in the tag
+- * TagLib::String::null will be returned.
++ * TagLib::String() will be returned.
+ */
+ virtual TagLib::String artist() const { return m_artist; }
+
+ /*!
+ * Returns the album name; if no album name is present in the tag
+- * TagLib::String::null will be returned.
++ * TagLib::String() will be returned.
+ */
+ virtual TagLib::String album() const { return m_album; }
+
+ /*!
+ * Returns the track comment; if no comment is present in the tag
+- * TagLib::String::null will be returned.
++ * TagLib::String() will be returned.
+ */
+ virtual TagLib::String comment() const { return m_comment; }
+
+ /*!
+- * Returns the genre name; if no genre is present in the tag TagLib::String::null
++ * Returns the genre name; if no genre is present in the tag TagLib::String()
+ * will be returned.
+ */
+ virtual TagLib::String genre() const { return m_genre; }
+@@ -83,45 +83,45 @@
+ /*!
+ * Returns the year; if there is no year set, this will return 0.
+ */
+- virtual TagLib::uint year() const { return m_year; }
++ virtual unsigned int year() const { return m_year; }
+
+ /*!
+ * Returns the track number; if there is no track number set, this will
+ * return 0.
+ */
+- virtual TagLib::uint track() const { return m_track; }
++ virtual unsigned int track() const { return m_track; }
+
+ /*!
+ * Returns the user id for this file.
+ */
+- virtual TagLib::uint userID() const { return m_userID; }
++ virtual unsigned int userID() const { return m_userID; }
+
+ /*!
+- * Sets the title to \a s. If \a s is TagLib::String::null then this value will be
++ * Sets the title to \a s. If \a s is TagLib::String() then this value will be
+ * cleared.
+ */
+ virtual void setTitle(const TagLib::String &s) { m_title = s; }
+
+ /*!
+- * Sets the artist to \a s. If \a s is TagLib::String::null then this value will be
++ * Sets the artist to \a s. If \a s is TagLib::String() then this value will be
+ * cleared.
+ */
+ virtual void setArtist(const TagLib::String &s) { m_artist = s; }
+
+ /*!
+- * Sets the album to \a s. If \a s is TagLib::String::null then this value will be
++ * Sets the album to \a s. If \a s is TagLib::String() then this value will be
+ * cleared.
+ */
+ virtual void setAlbum(const TagLib::String &s) { m_album = s; }
+
+ /*!
+- * Sets the album to \a s. If \a s is TagLib::String::null then this value will be
++ * Sets the album to \a s. If \a s is TagLib::String() then this value will be
+ * cleared.
+ */
+ virtual void setComment(const TagLib::String &s) { m_comment = s; }
+
+ /*!
+- * Sets the genre to \a s. If \a s is TagLib::String::null then this value will be
++ * Sets the genre to \a s. If \a s is TagLib::String() then this value will be
+ * cleared. For tag formats that use a fixed set of genres, the appropriate
+ * value will be selected based on a string comparison. A list of available
+ * genres for those formats should be available in that type's
+@@ -132,12 +132,12 @@
+ /*!
+ * Sets the year to \a i. If \a s is 0 then this value will be cleared.
+ */
+- virtual void setYear(TagLib::uint i) { m_year = i; }
++ virtual void setYear(unsigned int i) { m_year = i; }
+
+ /*!
+ * Sets the track to \a i. If \a s is 0 then this value will be cleared.
+ */
+- virtual void setTrack(TagLib::uint i) { m_track = i; }
++ virtual void setTrack(unsigned int i) { m_track = i; }
+
+ /*!
+ * Returns true if the tag does not contain any data. This should be
+@@ -159,7 +159,7 @@
+ */
+ static void duplicate(const Tag *source, Tag *target, bool overwrite = true);
+
+- virtual void setUserID(TagLib::uint id) { m_userID = id; }
++ virtual void setUserID(unsigned int id) { m_userID = id; }
+
+ int getTagsEndOffset();
+
+@@ -171,9 +171,9 @@
+ TagLib::String m_album;
+ TagLib::String m_comment;
+ TagLib::String m_genre;
+- TagLib::uint m_year;
+- TagLib::uint m_track;
+- TagLib::uint m_userID;
++ unsigned int m_year;
++ unsigned int m_track;
++ unsigned int m_userID;
+ bool readTag( FILE *fp, char **name, char **value);
+ int m_tagsEndOffset;
+ };
+diff -U 3 -r a/taglib-extras/rmff/realmediafile.cpp b/taglib-extras/rmff/realmediafile.cpp
+--- a/taglib-extras/rmff/realmediafile.cpp 2009-09-17 17:38:07.000000000 +0200
++++ b/taglib-extras/rmff/realmediafile.cpp 2024-03-18 19:25:30.819973309 +0100
+@@ -78,12 +78,12 @@
+ return m_rmff->genre();
+ }
+
+-TagLib::uint RealMedia::Tag::year() const
++unsigned int RealMedia::Tag::year() const
+ {
+ return m_rmff->year();
+ }
+
+-TagLib::uint RealMedia::Tag::track() const
++unsigned int RealMedia::Tag::track() const
+ {
+ return m_rmff->track();
+ }
+@@ -113,12 +113,12 @@
+ // TODO: write support
+ }
+
+-void RealMedia::Tag::setYear( TagLib::uint )
++void RealMedia::Tag::setYear( unsigned int )
+ {
+ // TODO: write support
+ }
+
+-void RealMedia::Tag::setTrack( TagLib::uint )
++void RealMedia::Tag::setTrack( unsigned int )
+ {
+ // TODO: write support
+ }
+diff -U 3 -r a/taglib-extras/rmff/realmediafile.h b/taglib-extras/rmff/realmediafile.h
+--- a/taglib-extras/rmff/realmediafile.h 2009-09-21 16:34:45.000000000 +0200
++++ b/taglib-extras/rmff/realmediafile.h 2024-03-18 19:25:44.642920743 +0100
+@@ -54,15 +54,15 @@
+ virtual TagLib::String album () const;
+ virtual TagLib::String comment () const;
+ virtual TagLib::String genre () const;
+- virtual TagLib::uint year () const;
+- virtual TagLib::uint track () const;
++ virtual unsigned int year () const;
++ virtual unsigned int track () const;
+ virtual void setTitle (const TagLib::String &s);
+ virtual void setArtist (const TagLib::String &s);
+ virtual void setAlbum (const TagLib::String &s);
+ virtual void setComment (const TagLib::String &s);
+ virtual void setGenre (const TagLib::String &s);
+- virtual void setYear (TagLib::uint i);
+- virtual void setTrack (TagLib::uint i);
++ virtual void setYear (unsigned int i);
++ virtual void setTrack (unsigned int i);
+
+ bool isEmpty() const;
+ void duplicate(const Tag *source, Tag *target, bool overwrite);
+diff -U 3 -r a/taglib-extras/rmff/rmff.cpp b/taglib-extras/rmff/rmff.cpp
+--- a/taglib-extras/rmff/rmff.cpp 2009-09-17 17:38:07.000000000 +0200
++++ b/taglib-extras/rmff/rmff.cpp 2024-03-18 19:25:59.039184503 +0100
+@@ -98,12 +98,12 @@
+ return !m_err && m_id3v1tag ? m_id3v1tag->tag()->genre() : "";
+ }
+
+-TagLib::uint RealMedia::RealMediaFF::year() const
++unsigned int RealMedia::RealMediaFF::year() const
+ {
+ return !m_err && m_id3v1tag ? m_id3v1tag->tag()->year() : 0;
+ }
+
+-TagLib::uint RealMedia::RealMediaFF::track() const
++unsigned int RealMedia::RealMediaFF::track() const
+ {
+ return !m_err && m_id3v1tag ? m_id3v1tag->tag()->track() : 0;
+ }
+diff -U 3 -r a/taglib-extras/rmff/rmff.h b/taglib-extras/rmff/rmff.h
+--- a/taglib-extras/rmff/rmff.h 2009-09-17 17:38:07.000000000 +0200
++++ b/taglib-extras/rmff/rmff.h 2024-03-18 19:26:08.022265920 +0100
+@@ -290,8 +290,8 @@
+ TagLib::String album () const;
+ TagLib::String comment () const;
+ TagLib::String genre () const;
+- TagLib::uint year () const;
+- TagLib::uint track () const;
++ unsigned int year () const;
++ unsigned int track () const;
+ // TODO write support
+ //void setTitle (const String &s);
+ //void setArtist (const String &s);
diff --git a/media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild b/media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild
new file mode 100644
index 000000000000..9dc52b5511f7
--- /dev/null
+++ b/media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Unofficial taglib plugins maintained by the Amarok team"
+HOMEPAGE="https://websvn.kde.org/trunk/kdesupport/taglib-extras/"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="media-libs/taglib:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-taglib110.patch" # bug 571072
+ "${FILESDIR}/${P}-taglib2.patch"
+)