diff options
Diffstat (limited to 'app-text/opensp')
-rw-r--r-- | app-text/opensp/Manifest | 2 | ||||
-rw-r--r-- | app-text/opensp/files/opensp-1.5.2-configure-clang16.patch | 198 | ||||
-rw-r--r-- | app-text/opensp/opensp-1.5.2-r10.ebuild | 85 |
3 files changed, 285 insertions, 0 deletions
diff --git a/app-text/opensp/Manifest b/app-text/opensp/Manifest index 33b3809d01f4..5a1087aa7663 100644 --- a/app-text/opensp/Manifest +++ b/app-text/opensp/Manifest @@ -1,5 +1,7 @@ AUX opensp-1.5.2-c11-using.patch 2626 BLAKE2B 16ff8ba1701831fa0c87e0788f8b420f1d96bf5b2f645d2d6706e82ae1767a99fed8f6ca4bd4f1abbc24bf80c4fa00d848f03056b01ac98f5b8a74d3a78c4467 SHA512 dea5fe17ea2662150b201ab6011bb01ba0f0c07689d267ec4086a914cefef3e91967f8db4be0258bac87d3cd73a9b05eb1f879415860552d9853e66e98e16e11 +AUX opensp-1.5.2-configure-clang16.patch 4027 BLAKE2B 089c16ecbe47dc7e69b42e6be91db548e6cd785f8c96de6f9ef3fb675fc2ce2ccdf435fbec26276a9d0c124ff0f776541ce33101e28bbddf949b48834074fad0 SHA512 191d5c61eeb73b4040be06b7de197f25a0599286dcd6077e942bc2cc1d4400e70e8af69a08563713036c1225e41adf6ee2f4dba3d264ffcf3ca6a35b7c37e087 AUX opensp-1.5.2-fix-segfault.patch 747 BLAKE2B 544dbb8a638d2fc8fed5c7426e828d1524f4756e6882ac837b4cf3deab4e039a0b66564431b1849d9067f6071955f82b8057cde5168094da70b1419844b000fe SHA512 e0c72df8e8b191c6cecabcac550cc52918bbff7c2fddf8099ff4403de0fe817c1f3f5deb44b4c33e9d135a97a4fd8978c4090f6740c99dbadc6f9b06e24c41cf DIST OpenSP-1.5.2.tar.gz 1521390 BLAKE2B 2c6f8dfc721c77ab223aa67e90c8dfb45855b74fdd382ac98303c6fb23af08019ca96b5430bcdb87b9e86fc333114bd8b2e5f243c87f2cf84ee04c880c8c309b SHA512 a7dcc246ba7f58969ecd6d107c7b82dede811e65f375b7aa3e683621f2c6ff3e7dccefdd79098fcadad6cca8bb94c2933c63f4701be2c002f9a56f1bbe6b047e +EBUILD opensp-1.5.2-r10.ebuild 2213 BLAKE2B fba33dad53760b1870a17e642670b92eb4c3e66419171e3beb0508e5747b35af838c4dc28293f5add3022880e6b8462458b7852fadf25bf5c27ba7a2c74e431b SHA512 eba835db45305c760f7e392cc5e53e3492473f78a16c0ae74371d78312a448731e13d47c01b255b77a2f047a618a2f8e79dd761867a0ebdcf1b047cebb80be8e EBUILD opensp-1.5.2-r9.ebuild 2161 BLAKE2B c74553892ab3339340bd07124a3a2cf90d9e7df6e0cb0d8f2e4f5f49aa6d55d260ad8f23ff043f2dc3713cb3411be2f5794baf84d6017ceaf40f471d5afd7ffb SHA512 4e30775bcc7c6a940702e20bd8784c8f60b604f6ea0381de9057726ae9717182047cc4a57c3ac06b91bf4ea2a850b9faf4296b37700eafa261042dda5f6c6858 MISC metadata.xml 321 BLAKE2B 5571226bba817c3d5cc47e0bd7d67e82399403e24e7773104f33b13bf40d95113da9613db2bd77408557e6793b9efb6d435402a7b680d07e1e3e6952614bdedd SHA512 95c0d6759a91874b81b707e479eee48bf67ba762584587b4027b583e42d63a83018a3243fe81b6649090d1e0167ab825b591dfccbd3a8db9078b1a80f729de15 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 +} |