diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-10-20 09:50:23 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-10-20 09:50:23 +0100 |
commit | 547caa904733bc2a3ac112415990a114ecbe8824 (patch) | |
tree | b8976d40b28d2cb015e3c07254aee99fe0ad655a /net-libs/gsoap | |
parent | 9346d46d1a9e0399ca3a4d3eb40689d0daa58ebc (diff) |
gentoo auto-resync : 20:10:2023 - 09:50:23
Diffstat (limited to 'net-libs/gsoap')
-rw-r--r-- | net-libs/gsoap/Manifest | 2 | ||||
-rw-r--r-- | net-libs/gsoap/files/gsoap-2.8.130-musl-strerror_r.patch | 59 | ||||
-rw-r--r-- | net-libs/gsoap/gsoap-2.8.130-r1.ebuild | 83 |
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 +} |