summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxz-dev <xiangzhedev@gmail.com>2024-07-26 22:22:31 +0800
committerJoonas Niilola <juippis@gentoo.org>2024-08-19 22:03:56 +0300
commit5e280a46919a483217249f546c84506fde9ce8e2 (patch)
tree38cb8746fa2ef154545951bb6485928570c678a0 /dev-libs/eb
parentapp-misc/anki: add upstream metadata (diff)
downloadgentoo-5e280a46919a483217249f546c84506fde9ce8e2.tar.gz
gentoo-5e280a46919a483217249f546c84506fde9ce8e2.tar.bz2
gentoo-5e280a46919a483217249f546c84506fde9ce8e2.zip
dev-libs/eb: fix build with gcc14, bump to 4.4.3
Closes: https://bugs.gentoo.org/920641 Signed-off-by: xz-dev <xiangzhedev@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/37731 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-libs/eb')
-rw-r--r--dev-libs/eb/Manifest1
-rw-r--r--dev-libs/eb/eb-4.4.3.ebuild49
-rw-r--r--dev-libs/eb/files/eb-4.4-gcc14-iconv.patch13
-rw-r--r--dev-libs/eb/files/eb-4.4.3-fix-threads.patch13
4 files changed, 76 insertions, 0 deletions
diff --git a/dev-libs/eb/Manifest b/dev-libs/eb/Manifest
index 2be27262b1d5..fad9428866b1 100644
--- a/dev-libs/eb/Manifest
+++ b/dev-libs/eb/Manifest
@@ -1 +1,2 @@
DIST eb-4.4.1.tar.lzma 438852 BLAKE2B 575d301605d014999b571c14fc639d8043bf32660180aeaa2386ca58c506c4ff03bbeae6166aededd0494c6609514ef9a6d8eb1d1cd94883739ca0522fc9fa72 SHA512 c65ffae78d4f3beb9b6bdffde2b265fdb3a7c9b4c7626ddb0ca279e4193d48cad5e9748793f3ead3786e8c7d340134edf4ff1b9d835542ff12639581793b80c6
+DIST eb-4.4.3.tar.bz2 505510 BLAKE2B cb7476331498cc70c47406aa89833fdc8dd71b3bfd4d72d2878e9bb773d4f16a35e3b7235a3a1bf426e0b021b07874d13d1e87affbb77b545f8797523fb1f30c SHA512 29578223e9bf0e8475cf0518c4e319d8440eb9dc2b819ea7de6e90d67824eb7ac9f5a29cf1baa9b6e947840de17ad2182d1ea6ee4816df84e7baf025149bbbf2
diff --git a/dev-libs/eb/eb-4.4.3.ebuild b/dev-libs/eb/eb-4.4.3.ebuild
new file mode 100644
index 000000000000..47152c89bf66
--- /dev/null
+++ b/dev-libs/eb/eb-4.4.3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="EB is a C library and utilities for accessing CD-ROM books"
+HOMEPAGE="https://web.archive.org/web/20120330123930/http://www.sra.co.jp/people/m-kasahr/eb/"
+SRC_URI="ftp://ftp.sra.co.jp/pub/misc/eb/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+IUSE="ipv6 nls threads"
+
+RDEPEND="
+ sys-libs/zlib
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS ChangeLog{,.0,.1,.2} NEWS README )
+
+PATCHES=(
+ "${FILESDIR}/eb-4.4-gcc14-iconv.patch" #920641
+ "${FILESDIR}/eb-4.4.3-fix-threads.patch" #https://github.com/gentoo/gentoo/pull/37731#pullrequestreview-2218229971
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable ipv6)
+ $(use_enable nls)
+ $(use_enable threads pthread)
+ --with-pkgdocdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/eb/files/eb-4.4-gcc14-iconv.patch b/dev-libs/eb/files/eb-4.4-gcc14-iconv.patch
new file mode 100644
index 000000000000..ac17c585e7d6
--- /dev/null
+++ b/dev-libs/eb/files/eb-4.4-gcc14-iconv.patch
@@ -0,0 +1,13 @@
+diff --git a/libebutils/puts_eucjp.c b/libebutils/puts_eucjp.c
+index 678b296..d4c41b6 100644
+--- a/libebutils/puts_eucjp.c
++++ b/libebutils/puts_eucjp.c
+@@ -94,7 +94,7 @@ fputs_eucjp_to_locale(const char *string, FILE *stream)
+ out_p = buffer;
+ out_left = buffer_size;
+
+- if (iconv(cd, &in_p, &in_left, &out_p, &out_left) != -1)
++ if (iconv(cd, (char **)&in_p, &in_left, &out_p, &out_left) != -1)
+ break;
+ if (errno == E2BIG) {
+ /*
diff --git a/dev-libs/eb/files/eb-4.4.3-fix-threads.patch b/dev-libs/eb/files/eb-4.4.3-fix-threads.patch
new file mode 100644
index 000000000000..7c1e15be2119
--- /dev/null
+++ b/dev-libs/eb/files/eb-4.4.3-fix-threads.patch
@@ -0,0 +1,13 @@
+diff --git a/eb/readtext.c b/eb/readtext.c
+index 6e3c218..e4dcf95 100644
+--- a/eb/readtext.c
++++ b/eb/readtext.c
+@@ -1560,7 +1560,7 @@ eb_is_text_stopped(EB_Book *book)
+ {
+ int is_stopped = 0;
+
+- eb_lock(book);
++ eb_lock(&book->lock);
+ LOG(("in: eb_is_text_stopped(book=%d)", (int)book->code));
+
+ if (book->subbook_current != NULL) {