summaryrefslogtreecommitdiff
path: root/media-sound/easytag
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-28 06:30:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-28 06:30:54 +0000
commit72fd2b48b7154274a1d2009cdaab54e7f49fb3aa (patch)
tree9c6ce981e8f924eb5f24e71e13c91b37aafb8616 /media-sound/easytag
parent721e451ec418e1712f6962404e111f0ebd487389 (diff)
gentoo auto-resync : 28:12:2024 - 06:30:54
Diffstat (limited to 'media-sound/easytag')
-rw-r--r--media-sound/easytag/Manifest2
-rw-r--r--media-sound/easytag/easytag-2.4.3-r7.ebuild85
-rw-r--r--media-sound/easytag/files/easytag-2.4.3-fix-build-taglib2.patch202
3 files changed, 289 insertions, 0 deletions
diff --git a/media-sound/easytag/Manifest b/media-sound/easytag/Manifest
index bfd86c65326a..606f01e14837 100644
--- a/media-sound/easytag/Manifest
+++ b/media-sound/easytag/Manifest
@@ -1,4 +1,6 @@
+AUX easytag-2.4.3-fix-build-taglib2.patch 6569 BLAKE2B a1486a91e418ca3701a4bd25c57979c07f5bf0fce69e2c4abeb72c1bf8654667cc64cc3d3920470aca2ae4ad7a37fbcb0bd8cb7ac53ed893c149ac923e940bdb SHA512 ad08cf0ed12ffecce4fe67eed05cb7850f984c7c5d66954d518f7cdb2ab0a3716d896b0fa01bd273fe92a5abe97f01d71eba17dabbae867501a7534c9150dbff
AUX easytag-2.4.3-ogg-corruption.patch 7233 BLAKE2B e0123a9d195a85d80136fc831cdfe1a870346a2f0cf0213a53e0ef51bc82e72db390898df0c8d02ba8865c3571e5d2f8b8faafe0b3750b6cd123e3fe065cc65f SHA512 f25cedb0f09edf987317f395133195f115549503a6c02edfce7e49f1f24d2e5d01920c9b48f41addb2b632d68bb329cbdefc25aec4e56239daa4f7980d33bd10
DIST easytag-2.4.3.tar.xz 1381084 BLAKE2B 22358cd15e53a51f2786ad2a62e5d9eea78e9c8b8127d2820dbd5657d734a9a0e694a6d180ad730b87c8c236e3d3396c9ea4c651df4080d0f4b4dc0e212b945c SHA512 ef596341772ce7da3b7feec2c82a20ca29d25c2496074c469be5b8dd75d2b2718e689310e0d61de53bc29a4f54ce9f853a336e1a35076046fd107afd28699087
EBUILD easytag-2.4.3-r6.ebuild 1971 BLAKE2B cc41ea0cdb02a1cf520f4cdf669189c8e693c3c4f65c6954534d43a0c941e76e9b48989c96a273ed5c320aaa2b9b0e435a086606bde7036dda925308ad8ece45 SHA512 835083104b3ada76d5b62ca026407c7f35210e0ccd8980f84475446740915c98934b240ea99877bfa48365ad46ee77f83eef1b6952560ff575d765e3d4634a7c
+EBUILD easytag-2.4.3-r7.ebuild 2021 BLAKE2B 768aad5ef327739c7115f11daa009368bc84a211c3ee09d8e53d7edcc6bab94cc4f7692ecf7379cf3511e4e90f00de9a07851d51e68c43965c59c6a8ccae0f3c SHA512 45eb6fc7bf802c40a7d7eaccbcb532ae9b67a11931666c00620af7db4d1f504baf1270772b6d895490151e4fbb12e9cc8adae9ca375f120232a34603638dc1b5
MISC metadata.xml 422 BLAKE2B d1415eb185e22013f0567c5553c886558d812f8edaa2c817f684d6f0c1bb04d8a7fa8fd63abf929d07e9d9f181d0dd64af3c2c2c77f5769e3a718530598d9529 SHA512 438a22ec60b4e7b2061fd6d7645b4a31b537c06fec22968b86496e85f98306227ff6025eb2afd8a0dbaa57929aa78b3f7bc4631f9232f1204e8efa3d6f16e238
diff --git a/media-sound/easytag/easytag-2.4.3-r7.ebuild b/media-sound/easytag/easytag-2.4.3-r7.ebuild
new file mode 100644
index 000000000000..594ad5101f03
--- /dev/null
+++ b/media-sound/easytag/easytag-2.4.3-r7.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2
+
+DESCRIPTION="GTK+ utility for editing MP2, MP3, MP4, FLAC, Ogg and other media tags"
+HOMEPAGE="https://wiki.gnome.org/Apps/EasyTAG"
+
+LICENSE="GPL-2 GPL-2+ LGPL-2 LGPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="flac mp3 mp4 opus speex test vorbis wavpack"
+# Disable nautilus support until https://gitlab.gnome.org/GNOME/easytag/-/issues/78
+# is solved
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ opus? ( vorbis )
+ speex? ( vorbis )"
+
+RDEPEND="
+ >=dev-libs/glib-2.38:2
+ || (
+ media-libs/libcanberra-gtk3
+ media-libs/libcanberra[gtk3(-)]
+ )
+ >=x11-libs/gtk+-3.10:3
+ flac? ( >=media-libs/flac-1.3:= )
+ mp3? (
+ >=media-libs/id3lib-3.8.3-r8
+ >=media-libs/libid3tag-0.15.1b-r4:=
+ )
+ mp4? ( media-libs/taglib:=[mp4(+)] )
+ opus? (
+ >=media-libs/opus-1.1
+ >=media-libs/opusfile-0.4
+ )
+ speex? ( >=media-libs/speex-1.2_rc1 )
+ vorbis? (
+ >=media-libs/libogg-1.3.1
+ >=media-libs/libvorbis-1.3.4
+ )
+ wavpack? ( >=media-sound/wavpack-4.70 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.4
+ app-text/yelp-tools
+ dev-util/glib-utils
+ dev-libs/libxml2
+ dev-libs/libxslt
+ >=dev-util/intltool-0.50
+ >=sys-devel/gettext-0.18.3.2
+ virtual/pkgconfig
+ test? (
+ dev-libs/appstream-glib
+ >=dev-util/desktop-file-utils-0.22
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ogg-corruption.patch
+ "${FILESDIR}"/${P}-fix-build-taglib2.patch
+)
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-Werror \
+ --disable-nautilus-actions \
+ $(use_enable test appdata-validate) \
+ $(use_enable test tests) \
+ $(use_enable mp3) \
+ $(use_enable mp3 id3v23) \
+ $(use_enable vorbis ogg) \
+ $(use_enable opus) \
+ $(use_enable speex) \
+ $(use_enable flac) \
+ $(use_enable mp4) \
+ $(use_enable wavpack)
+}
+
+src_install() {
+ gnome2_src_install
+ # https://gitlab.gnome.org/GNOME/easytag/-/issues/82
+ mv "${ED}"/usr/share/{appdata,metainfo} || die
+}
diff --git a/media-sound/easytag/files/easytag-2.4.3-fix-build-taglib2.patch b/media-sound/easytag/files/easytag-2.4.3-fix-build-taglib2.patch
new file mode 100644
index 000000000000..d27e5cdc9fe7
--- /dev/null
+++ b/media-sound/easytag/files/easytag-2.4.3-fix-build-taglib2.patch
@@ -0,0 +1,202 @@
+from https://gitlab.gnome.org/GNOME/easytag/-/merge_requests/16.patch
+compatibility added with taglib1
+
+diff '--color=auto' -uNr a/src/tags/gio_wrapper.cc b/src/tags/gio_wrapper.cc
+--- a/src/tags/gio_wrapper.cc
++++ b/src/tags/gio_wrapper.cc
+@@ -47,11 +47,15 @@
+ }
+
+ TagLib::ByteVector
++#if (TAGLIB_MAJOR_VERSION == 2)
++GIO_InputStream::readBlock (ulong len)
++#else
+ GIO_InputStream::readBlock (TagLib::ulong len)
++#endif
+ {
+ if (error)
+ {
+- return TagLib::ByteVector::null;
++ return TagLib::ByteVector();
+ }
+
+ TagLib::ByteVector rv (len, 0);
+@@ -69,15 +73,25 @@
+ }
+
+ void
++#if (TAGLIB_MAJOR_VERSION == 2)
++GIO_InputStream::insert (TagLib::ByteVector const &data,
++ TagLib::offset_t start,
++ size_t replace)
++#else
+ GIO_InputStream::insert (TagLib::ByteVector const &data,
+ TagLib::ulong start,
+ TagLib::ulong replace)
++#endif
+ {
+ g_warning ("%s", "Trying to write to read-only file!");
+ }
+
+ void
++#if (TAGLIB_MAJOR_VERSION == 2)
++GIO_InputStream::removeBlock (TagLib::offset_t start, size_t len)
++#else
+ GIO_InputStream::removeBlock (TagLib::ulong start, TagLib::ulong len)
++#endif
+ {
+ g_warning ("%s", "Trying to write to read-only file!");
+ }
+@@ -200,11 +214,15 @@
+ }
+
+ TagLib::ByteVector
++#if (TAGLIB_MAJOR_VERSION == 2)
++GIO_IOStream::readBlock (ulong len)
++#else
+ GIO_IOStream::readBlock (TagLib::ulong len)
++#endif
+ {
+ if (error)
+ {
+- return TagLib::ByteVector::null;
++ return TagLib::ByteVector();
+ }
+
+ gsize bytes = 0;
+@@ -238,9 +256,15 @@
+ }
+
+ void
++#if (TAGLIB_MAJOR_VERSION == 2)
++GIO_IOStream::insert (TagLib::ByteVector const &data,
++ TagLib::offset_t start,
++ size_t replace)
++#else
+ GIO_IOStream::insert (TagLib::ByteVector const &data,
+ TagLib::ulong start,
+ TagLib::ulong replace)
++#endif
+ {
+ if (error)
+ {
+@@ -351,9 +375,15 @@
+ }
+
+ void
++#if (TAGLIB_MAJOR_VERSION == 2)
++GIO_IOStream::removeBlock (TagLib::offset_t start, size_t len)
++{
++ if (start + len >= (ulong)length ())
++#else
+ GIO_IOStream::removeBlock (TagLib::ulong start, TagLib::ulong len)
+ {
+ if (start + len >= (TagLib::ulong)length ())
++#endif
+ {
+ truncate (start);
+ return;
+diff '--color=auto' -uNr a/src/tags/gio_wrapper.h b/src/tags/gio_wrapper.h
+--- a/src/tags/gio_wrapper.h
++++ b/src/tags/gio_wrapper.h
+@@ -33,10 +33,17 @@
+ GIO_InputStream (GFile *file_);
+ virtual ~GIO_InputStream ();
+ virtual TagLib::FileName name () const;
++#if (TAGLIB_MAJOR_VERSION == 2)
++ virtual TagLib::ByteVector readBlock (ulong length);
++ virtual void writeBlock (TagLib::ByteVector const &data);
++ virtual void insert (TagLib::ByteVector const &data, TagLib::offset_t start = 0, size_t replace = 0);
++ virtual void removeBlock (TagLib::offset_t start = 0, size_t length = 0);
++#else
+ virtual TagLib::ByteVector readBlock (TagLib::ulong length);
+ virtual void writeBlock (TagLib::ByteVector const &data);
+ virtual void insert (TagLib::ByteVector const &data, TagLib::ulong start = 0, TagLib::ulong replace = 0);
+ virtual void removeBlock (TagLib::ulong start = 0, TagLib::ulong length = 0);
++#endif
+ virtual bool readOnly () const;
+ virtual bool isOpen () const;
+ virtual void seek (long int offset, TagLib::IOStream::Position p = TagLib::IOStream::Beginning);
+@@ -61,10 +68,17 @@
+ GIO_IOStream (GFile *file_);
+ virtual ~GIO_IOStream ();
+ virtual TagLib::FileName name () const;
++#if (TAGLIB_MAJOR_VERSION == 2)
++ virtual TagLib::ByteVector readBlock (ulong length);
++ virtual void writeBlock (TagLib::ByteVector const &data);
++ virtual void insert (TagLib::ByteVector const &data, TagLib::offset_t start = 0, size_t replace = 0);
++ virtual void removeBlock (TagLib::offset_t start = 0, size_t len = 0);
++#else
+ virtual TagLib::ByteVector readBlock (TagLib::ulong length);
+ virtual void writeBlock (TagLib::ByteVector const &data);
+ virtual void insert (TagLib::ByteVector const &data, TagLib::ulong start = 0, TagLib::ulong replace = 0);
+ virtual void removeBlock (TagLib::ulong start = 0, TagLib::ulong len = 0);
++#endif
+ virtual bool readOnly () const;
+ virtual bool isOpen () const;
+ virtual void seek (long int offset, TagLib::IOStream::Position p = TagLib::IOStream::Beginning);
+diff '--color=auto' -uNr a/src/tags/mp4_header.cc b/src/tags/mp4_header.cc
+--- a/src/tags/mp4_header.cc
++++ b/src/tags/mp4_header.cc
+@@ -105,7 +105,7 @@
+ ETFileInfo->bitrate = properties->bitrate ();
+ ETFileInfo->samplerate = properties->sampleRate ();
+ ETFileInfo->mode = properties->channels ();
+- ETFileInfo->duration = properties->length ();
++ ETFileInfo->duration = properties->lengthInSeconds ();
+
+ return TRUE;
+ }
+diff '--color=auto' -uNr a/src/tags/mp4_tag.cc b/src/tags/mp4_tag.cc
+--- a/src/tags/mp4_tag.cc
++++ b/src/tags/mp4_tag.cc
+@@ -222,7 +222,7 @@
+ FileTag->encoded_by = g_strdup (encodedbys.front ().toCString (true));
+ }
+
+- const TagLib::MP4::ItemListMap &extra_items = tag->itemListMap ();
++ const TagLib::MP4::ItemMap &extra_items = tag->itemMap ();
+
+ /* Album Artist */
+ #if (TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION < 10)
+@@ -437,25 +437,12 @@
+ fields.insert ("ENCODEDBY", string);
+ }
+
+- TagLib::MP4::ItemListMap &extra_items = tag->itemListMap ();
+-
+ /* Album artist. */
+ if (!et_str_empty (FileTag->album_artist))
+ {
+ TagLib::String string (FileTag->album_artist, TagLib::String::UTF8);
+-#if (TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION < 10)
+- /* No "ALBUMARTIST" support in TagLib until 1.10; use atom directly. */
+- extra_items.insert ("aART", TagLib::MP4::Item (string));
+-#else
+ fields.insert ("ALBUMARTIST", string);
+-#endif
+ }
+-#if (TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION < 10)
+- else
+- {
+- extra_items.erase ("aART");
+- }
+-#endif
+
+ /***********
+ * Picture *
+@@ -491,12 +478,12 @@
+ TagLib::MP4::CoverArt art (f, TagLib::ByteVector((char *)data,
+ data_size));
+
+- extra_items.insert ("covr",
++ tag->setItem("covr",
+ TagLib::MP4::Item (TagLib::MP4::CoverArtList ().append (art)));
+ }
+ else
+ {
+- extra_items.erase ("covr");
++ tag->removeItem("covr");
+ }
+
+ tag->setProperties (fields);