summaryrefslogtreecommitdiff
path: root/net-libs/gsoap
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-20 09:50:23 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-20 09:50:23 +0100
commit547caa904733bc2a3ac112415990a114ecbe8824 (patch)
treeb8976d40b28d2cb015e3c07254aee99fe0ad655a /net-libs/gsoap
parent9346d46d1a9e0399ca3a4d3eb40689d0daa58ebc (diff)
gentoo auto-resync : 20:10:2023 - 09:50:23
Diffstat (limited to 'net-libs/gsoap')
-rw-r--r--net-libs/gsoap/Manifest2
-rw-r--r--net-libs/gsoap/files/gsoap-2.8.130-musl-strerror_r.patch59
-rw-r--r--net-libs/gsoap/gsoap-2.8.130-r1.ebuild83
3 files changed, 144 insertions, 0 deletions
diff --git a/net-libs/gsoap/Manifest b/net-libs/gsoap/Manifest
index 53310be5d6c9..f4971278cb8a 100644
--- a/net-libs/gsoap/Manifest
+++ b/net-libs/gsoap/Manifest
@@ -1,8 +1,10 @@
AUX gsoap-2.7.10-fedora-install_soapcpp2_wsdl2h_aux.patch 614 BLAKE2B b54c19d6a465c71d3f7e4ac42ccc0add193b4b50b0047450583ee7c22d652b620e72f218ec5f87048331bd61e232b5ad1d2298f1ffdc17079ccdcf1d8f300aae SHA512 7a63d83db669ea0eba5dd43fb7a65e8a8b6bf6d397bf3884ab84eb5661f2b4fb0f19a9aead2851772d3d84e6b2ec470b67a2589f82fa28f7a27cb9b59d7890d8
+AUX gsoap-2.8.130-musl-strerror_r.patch 3994 BLAKE2B ca8634ecc89f20638b3a20076e9322534df226f68728bf5a559d17504bed08a01b3bf4bcc3ce4e780ae0b61f1f88e02b2764a7c8906b24ad3b8d6a5577ca65d7 SHA512 76a5f8c51aaa816ade8f98a948efba80300ddff588d1022259bfa64bd6dcfd80571a63763bbd3600049f1edf0d63395db9f3eca3befea0f2cdbae5e66054fe43
AUX gsoap-2.8.130-shared_libs.patch 6670 BLAKE2B 069fcbea69a783d3ee7b717dc92b06ade8976b9c39f6695f8d815f8eb9430c577aabd5a4bf9a8dd90da365c428d47198f174a756b1d550a3435e56bcc9016622 SHA512 4a7cd1bc2b96507e22e6840b14d53bc6cb987fbcd886674d55efdad40e6a40d7b2ada07c630a3b0fd66bf0d1af626d4a23f65d2b68720abe33d733b22c84cc6e
AUX gsoap-2.8.91-shared_libs.patch 6463 BLAKE2B 7d31673c56e53b146b8cc8f1ed9403a574b1a1c16aca169e1811ad822a9f389693d7e93821920366c3fe41e01ae15282a87795c68a1176de07f76e8e55c5af38 SHA512 2fc865443e6da4d9426f2b6cbded9ce0d31b47df37bed6f0a12ac715d1a4e4de4d53bc4df612275d8f42d7fcc9ad00fbdee3109ec073edd8760af4676f792d09
DIST gsoap_2.8.114.zip 34599617 BLAKE2B fe68b057fa288b033f068be33e3f8871af8daf812d77a2fc87399f6750a4a8e23cb323dade3385c9b2147b2cde46980e9c52d393eff6eb16fa52cdbcc7a62537 SHA512 205d38a36c56780fd34bad8ea56525a04d4dc5b58af55676783c78d6eecf47dd0e9c86b0106f68127cfb2f45cb94f6ac9ebe353d1c6687e9faa13badb4a9690a
DIST gsoap_2.8.130.zip 55318989 BLAKE2B 5b118027811787c818c2e4e9be86eae954fc15fcc9f0bc237afec6fb71c697c659ce5071d572ee3178315c9d140e32c0e0c226bfaeb6aba0df7d84a4b90fcd3a SHA512 b82ebc7d058a9e2f59d325e2c50e96f6bd712c65285389cb120c4a9bbf51da1b99a833d8f81ba674e37f34090fde8317990de1906c97434342cbe84568d66b6c
EBUILD gsoap-2.8.114-r1.ebuild 1572 BLAKE2B a9a6708dd73166fff0ef87b4fd2a2c8826d11bbec8c7f8c4799d2604adfbc584b07fd06847e8150e6be469014f114076bb6935cb5b2188bb87d894c844cea0a1 SHA512 201d1c907c069657aa41bfc09644dc4a69404500636bbbe9228c109f6a05bd2b016770c8fb49d9fa75e2b157517804835261ae48417fabca17831b5c9f6c167a
+EBUILD gsoap-2.8.130-r1.ebuild 1594 BLAKE2B 7d912dcca4bbe47cf8b348d27c1c59f97c56dfd28e4a951a80bf5c6226f3fb6aa383320c84291d779923430beae0cae36ffdb453762d25c14786cac19ac3e70d SHA512 30647fd0bccf9178add3b9ccb222d66aab7043a229ea775b7adbc8f5dc875d7747319587a94dadd2a3a32f44fb146b735f7c7c8a6814ec046325f42242fd988e
EBUILD gsoap-2.8.130.ebuild 1490 BLAKE2B 3b13346d3debf2e0e9f0e41ab0d108a81e6b7778ee758d9d4abfd5df369c0c59bccadd31fb936a53b5ce8d1ab417b41c2375fc80b3ce3b7600ee367d9bcc7f49 SHA512 3cc3ac776b5fd1bdd272d56cbf8275e97741fbb1034fa0c3253c67bfac7148fc60a5f675ee380590cf2447d82bde9d934e826e22c9a34c2da6229f7264f0feec
MISC metadata.xml 249 BLAKE2B 6fef7c508be7fb79b2efbecf4acf23f37b519350ff2302604047ee5b6fbd6f82e590199edaece99dbe6d6546c5158e54a40fab8e372b739f9431849ce82baf3a SHA512 1b646829358569b7654b1f94f1aad14941f1a9f748408d149bf4a8af1c608952fcda3d9edbedc4298d85c0e86e2c469e72813fa237acbb2eb15da712bd0123ee
diff --git a/net-libs/gsoap/files/gsoap-2.8.130-musl-strerror_r.patch b/net-libs/gsoap/files/gsoap-2.8.130-musl-strerror_r.patch
new file mode 100644
index 000000000000..01a7f82b2348
--- /dev/null
+++ b/net-libs/gsoap/files/gsoap-2.8.130-musl-strerror_r.patch
@@ -0,0 +1,59 @@
+Bug: https://bugs.gentoo.org/897870
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Tue, 12 Sep 2023 17:32:42 +0000
+Subject: [PATCH] Fix incompatible integer to pointer conversion on musl
+
+musl libc only supports XSI-compliant version of strerror_r. Hence we
+need to check if __GLIBC__ is defined or not.
+
+Also it's incorrectly assumed to use a differnt version of gethostbyname_r than
+that's available with glibc or musl libc. Without the extra !defined(__GLIBC__)
+the condition goes straight to the following section of the code
+```
+#elif defined(HAVE_GETHOSTBYNAME_R)
+ hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
+#elif defined(VXWORKS)
+```
+Which is not the correct implementation of gethostbyname_r present.
+
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+--- a/gsoap/stdsoap2.c
++++ b/gsoap/stdsoap2.c
+@@ -23145,7 +23145,7 @@ soap_strerror(struct soap *soap)
+ {
+ #ifndef WIN32
+ # ifdef HAVE_STRERROR_R
+-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
++# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) || !defined(__GLIBC__)
+ err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+ if (err != 0)
+ soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
+--- a/gsoap/stdsoap2.cpp
++++ b/gsoap/stdsoap2.cpp
+@@ -5457,7 +5457,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ {
+ #if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R)
+ struct hostent_data ht_data;
+-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && defined(HAVE_GETHOSTBYNAME_R)
++#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && defined(HAVE_GETHOSTBYNAME_R) || !defined(__GLIBC__)
+ int r;
+ char *tmpbuf = soap->tmpbuf;
+ size_t tmplen = sizeof(soap->tmpbuf);
+@@ -5490,7 +5490,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ hostent = NULL;
+ soap->errnum = h_errno;
+ }
+-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
++#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) || !defined(__GLIBC__) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
+ while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
+ {
+ if (tmpbuf != soap->tmpbuf)
+@@ -23145,7 +23145,7 @@ soap_strerror(struct soap *soap)
+ {
+ #ifndef WIN32
+ # ifdef HAVE_STRERROR_R
+-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
++# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) || !defined(__GLIBC__)
+ err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+ if (err != 0)
+ soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
diff --git a/net-libs/gsoap/gsoap-2.8.130-r1.ebuild b/net-libs/gsoap/gsoap-2.8.130-r1.ebuild
new file mode 100644
index 000000000000..32f10b9caae9
--- /dev/null
+++ b/net-libs/gsoap/gsoap-2.8.130-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P="${PN}-2.8"
+DESCRIPTION="A cross-platform open source C and C++ SDK for SOAP/XML Web services"
+HOMEPAGE="http://gsoap2.sourceforge.net"
+SRC_URI="mirror://sourceforge/gsoap2/gsoap_${PV}.zip"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="|| ( gSOAP-1.3b GPL-2+-with-openssl-exception ) GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc debug examples ipv6 gnutls +ssl"
+
+RDEPEND="
+ sys-libs/zlib
+ gnutls? ( net-libs/gnutls )
+ ssl? (
+ dev-libs/openssl:=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ app-arch/unzip
+ sys-devel/bison
+ sys-devel/flex
+"
+
+PATCHES=(
+ # Enable shared libs (bug #583398)
+ "${FILESDIR}/${PN}-2.8.130-shared_libs.patch"
+ # use XSI-compliant version of strerror_r() on musl
+ "${FILESDIR}/${PN}-2.8.130-musl-strerror_r.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ unset YACC LEX
+
+ local myeconfargs=(
+ # Don't include xlocale.h as it got removed in >=glibc-2.26
+ --disable-xlocale
+ $(use_enable debug)
+ $(use_enable gnutls)
+ $(usev ipv6 --enable-ipv6)
+ $(usev !ssl --disable-ssl)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # Yes, we also install the license-file since
+ # it contains info about how to apply the licenses.
+ dodoc *.txt
+
+ docinto html
+ dodoc changelog.md
+
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+
+ if use examples; then
+ insinto /usr/share/${PN}/examples
+ doins -r gsoap/samples/*
+ fi
+
+ if use doc; then
+ docinto html
+ dodoc -r gsoap/doc/*
+ fi
+}