summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-03 23:44:01 +0000
committerSam James <sam@gentoo.org>2023-01-03 23:44:01 +0000
commitfc52cb4bd9b7ff759f73cd62b0f681885bd90c59 (patch)
tree829f11ce3deb2a2c04540d01944672e3be8a5d40 /app-text/opensp
parentdev-python/pillow: Stabilize 9.4.0 amd64, #889598 (diff)
downloadgentoo-fc52cb4bd9b7ff759f73cd62b0f681885bd90c59.tar.gz
gentoo-fc52cb4bd9b7ff759f73cd62b0f681885bd90c59.tar.bz2
gentoo-fc52cb4bd9b7ff759f73cd62b0f681885bd90c59.zip
app-text/opensp: fix build w/ clang 16
Closes: https://bugs.gentoo.org/889600 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-text/opensp')
-rw-r--r--app-text/opensp/files/opensp-1.5.2-configure-clang16.patch198
-rw-r--r--app-text/opensp/opensp-1.5.2-r10.ebuild85
2 files changed, 283 insertions, 0 deletions
diff --git a/app-text/opensp/files/opensp-1.5.2-configure-clang16.patch b/app-text/opensp/files/opensp-1.5.2-configure-clang16.patch
new file mode 100644
index 000000000000..6e6832957679
--- /dev/null
+++ b/app-text/opensp/files/opensp-1.5.2-configure-clang16.patch
@@ -0,0 +1,198 @@
+https://bugs.gentoo.org/889600
+https://src.fedoraproject.org/rpms/opensp/blob/ad3afd1f07f600aa21cd6a3f1960db5570682e47/f/opensp-configure-c99.patch
+
+Avoid implicit function declarations because they have been removed
+from C in 1999. Future compilers are likely to reject them by
+default.
+
+No need to upstream this because the aclocal.m4 file is not checked
+into the repository since:
+
+------------------------------------------------------------------------
+r412 | clasen | 1999-11-06 14:10:34 +0100 (Sat, 06 Nov 1999) | 3 lines
+Changed paths:
+ M /trunk/sp/Makefile.in
+ D /trunk/sp/config/aclocal.m4
+ D /trunk/sp/config/configure.in
+ M /trunk/sp/configure
+ A /trunk/sp/configure.in
+
+Install headers in $(includedir)/OpenSP, move configure.in to toplevel,
+remove generated file aclocal.m4.
+
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -833,10 +833,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -850,7 +846,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }]
+ EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+--- a/configure
++++ b/configure
+@@ -2917,7 +2917,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+- '' \
++ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+@@ -5186,8 +5186,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+@@ -9508,10 +9508,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -9525,7 +9521,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }
+ EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -9606,10 +9602,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -9623,7 +9615,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }
+ EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -13321,10 +13313,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -13338,7 +13326,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }
+ EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -13419,10 +13407,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -13436,7 +13420,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }
+ EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -19110,10 +19094,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -19127,7 +19107,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }
+ EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -19208,10 +19188,6 @@ else
+ # endif
+ #endif
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+ void fnord() { int i=42;}
+ int main ()
+ {
+@@ -19225,7 +19201,7 @@ int main ()
+ /* dlclose (self); */
+ }
+
+- exit (status);
++ return status;
+ }
+ EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -27450,8 +27426,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+
diff --git a/app-text/opensp/opensp-1.5.2-r10.ebuild b/app-text/opensp/opensp-1.5.2-r10.ebuild
new file mode 100644
index 000000000000..de279d310010
--- /dev/null
+++ b/app-text/opensp/opensp-1.5.2-r10.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+MY_P=${P/opensp/OpenSP}
+DESCRIPTION="A free, object-oriented toolkit for SGML parsing and entity management"
+HOMEPAGE="https://openjade.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/project/openjade/opensp/${PV}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc nls static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="elibc_glibc? ( net-libs/libnsl:0= )"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )
+ doc? (
+ app-text/xmlto
+ app-text/docbook-xml-dtd:4.1.2
+ )
+ test? (
+ app-text/docbook-xml-dtd:4.5
+ app-text/openjade
+ app-text/sgml-common
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-segfault.patch
+ "${FILESDIR}"/${P}-c11-using.patch
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+ use prefix && eautoreconf
+}
+
+src_configure() {
+ export CONFIG_SHELL=${BASH} # configure needs bash
+
+ # The following filters are taken from openjade's ebuild. See bug #100828.
+ # Please note! Opts are disabled. If you know what you're doing
+ # feel free to remove this line. It may cause problems with
+ # docbook-sgml-utils among other things.
+ #ALLOWED_FLAGS="-O -O1 -O2 -pipe -g -march"
+ strip-flags
+
+ append-cxxflags -std=gnu++11
+
+ econf \
+ --enable-http \
+ --enable-default-catalog="${EPREFIX}"/etc/sgml/catalog \
+ --enable-default-search-path="${EPREFIX}"/usr/share/sgml \
+ --datadir="${EPREFIX}"/usr/share/sgml/${P} \
+ $(use_enable nls) \
+ $(use_enable doc doc-build) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake pkgdocdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_test() {
+ # Skipping tests known not to work
+ emake SHOWSTOPPERS= check
+ SANDBOX_PREDICT="${SANDBOX_PREDICT%:/}"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ pkgdocdir="${EPREFIX}"/usr/share/doc/${PF} \
+ install
+
+ find "${ED}" -name '*.la' -delete || die
+
+ dodoc AUTHORS BUGS ChangeLog NEWS README
+}