mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
media-sound/easytag: fix up for id3lib bool changes
This is a temporary bandaid. I've concluded my previous approach isn't going to work and will revisit it tomorrow, but this is good enough for now. Bug: https://bugs.gentoo.org/949086 Bug: https://bugs.gentoo.org/949814 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
86
media-sound/easytag/easytag-2.4.3-r8.ebuild
Normal file
86
media-sound/easytag/easytag-2.4.3-r8.ebuild
Normal file
@@ -0,0 +1,86 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
GNOME2_EAUTORECONF="yes"
|
||||
inherit flag-o-matic 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/appstream-glib
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
>=dev-util/intltool-0.50
|
||||
>=sys-devel/gettext-0.18.3.2
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
>=dev-util/desktop-file-utils-0.22
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-ogg-corruption.patch
|
||||
"${FILESDIR}"/${P}-fix-build-taglib2.patch
|
||||
"${FILESDIR}"/${P}-fix-check-id3.patch
|
||||
"${FILESDIR}"/${P}-fix-appdata.patch
|
||||
"${FILESDIR}"/${P}-c23.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# bug #949814
|
||||
filter-lto
|
||||
|
||||
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)
|
||||
}
|
||||
56
media-sound/easytag/files/easytag-2.4.3-c23.patch
Normal file
56
media-sound/easytag/files/easytag-2.4.3-c23.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
The C23 patch we added to media-libs/id3lib for https://bugs.gentoo.org/949086
|
||||
means that 'bool' isn't exposed by the id3lib headers anymore (see
|
||||
commit 5b0d1e373dcd8c4f79735d033d205a6f36698c59 for the details on why)
|
||||
so we need to use 'my_bool' which *is* exposed by them instead when
|
||||
apparently making up our own interfaces here in easytag.
|
||||
|
||||
See https://bugs.gentoo.org/949814.
|
||||
--- a/src/tags/id3lib/id3_bugfix.h
|
||||
+++ b/src/tags/id3lib/id3_bugfix.h
|
||||
@@ -29,13 +29,13 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#if !HAVE_DECL_ID3FIELD_SETENCODING
|
||||
-ID3_C_EXPORT bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc);
|
||||
+ID3_C_EXPORT my_bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc);
|
||||
#endif /* !HAVE_DECL_ID3FIELD_SETENCODING */
|
||||
#if !HAVE_DECL_ID3FIELD_GETENCODING
|
||||
ID3_C_EXPORT ID3_TextEnc CCONV ID3Field_GetEncoding (const ID3Field *field);
|
||||
#endif /* !HAVE_DECL_ID3FIELD_GETENCODING */
|
||||
#if !HAVE_DECL_ID3FIELD_ISENCODABLE
|
||||
-ID3_C_EXPORT bool CCONV ID3Field_IsEncodable (const ID3Field *field);
|
||||
+ID3_C_EXPORT my_bool CCONV ID3Field_IsEncodable (const ID3Field *field);
|
||||
#endif /* !HAVE_DECL_ID3FIELD_ISENCODABLE */
|
||||
ID3_C_EXPORT ID3_FieldType CCONV ID3Field_GetType (const ID3Field *field);
|
||||
//ID3_C_EXPORT ID3_FieldID CCONV ID3Field_GetID (const ID3Field *field);
|
||||
diff --git a/src/tags/id3lib/c_wrapper.cpp b/src/tags/id3lib/c_wrapper.cpp
|
||||
index ace7442..d7ad422 100644
|
||||
--- a/src/tags/id3lib/c_wrapper.cpp
|
||||
+++ b/src/tags/id3lib/c_wrapper.cpp
|
||||
@@ -39,7 +39,7 @@ extern "C"
|
||||
// Tag wrappers
|
||||
//
|
||||
|
||||
- ID3_C_EXPORT bool CCONV
|
||||
+ ID3_C_EXPORT my_bool CCONV
|
||||
ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc)
|
||||
{
|
||||
bool changed = false;
|
||||
@@ -61,7 +61,7 @@ extern "C"
|
||||
return enc;
|
||||
}
|
||||
|
||||
- ID3_C_EXPORT bool CCONV
|
||||
+ ID3_C_EXPORT my_bool CCONV
|
||||
ID3Field_IsEncodable(const ID3Field *field)
|
||||
{
|
||||
bool isEncodable = false;
|
||||
@@ -116,7 +116,7 @@ extern "C"
|
||||
// Call with :
|
||||
// Mp3_Headerinfo* headerInfo = malloc(sizeof(Mp3_Headerinfo));
|
||||
// ID3Tag_GetMp3HeaderInfo(tag, headerInfo);
|
||||
- /*ID3_C_EXPORT bool CCONV
|
||||
+ /*ID3_C_EXPORT my_bool CCONV
|
||||
ID3Tag_GetMp3HeaderInfo(ID3Tag *tag, Mp3_Headerinfo* headerInfo)
|
||||
{
|
||||
const Mp3_Headerinfo* rem_headerInfo = NULL;
|
||||
Reference in New Issue
Block a user