net-libs/gsoap: backport missing cookie support #340647
authorGokturk Yuksek <gokturk@binghamton.edu>
Sun, 27 Dec 2015 03:13:44 +0000 (22:13 -0500)
committerGokturk Yuksek <gokturk@binghamton.edu>
Sun, 27 Dec 2015 06:05:25 +0000 (01:05 -0500)
For <gsoap-2.8.24, successful compilation results in missing cookie
support due to undefined compilation flag. This is fixed in the later
versions by upstream. Backport it for gsoap-2.7.17.

Upstream-URL: https://sourceforge.net/p/gsoap2/code/85/tree//gsoap/Makefile.am?diff=51af4d3f5fcbc945b53d89a4:84
Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=340647

Package-Manager: portage-2.2.24

net-libs/gsoap/files/gsoap-2.7-fix-missing-cookie-support.patch [new file with mode: 0644]
net-libs/gsoap/gsoap-2.7.17-r2.ebuild [new file with mode: 0644]

diff --git a/net-libs/gsoap/files/gsoap-2.7-fix-missing-cookie-support.patch b/net-libs/gsoap/files/gsoap-2.7-fix-missing-cookie-support.patch
new file mode 100644 (file)
index 0000000..7f3ad8d
--- /dev/null
@@ -0,0 +1,24 @@
+From: Gokturk Yuksek <gokturk@binghamton.edu>
+Subject: [PATCH] Backport missing cookie support
+
+For <gsoap-2.8.24, successful compilation results in missing cookie
+support due to undefined compilation flag. This is fixed in the later
+versions by upstream.
+
+Upstream-URL: https://sourceforge.net/p/gsoap2/code/85/tree//gsoap/Makefile.am?diff=51af4d3f5fcbc945b53d89a4:84
+Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=340647
+
+--- a/gsoap/Makefile.am
++++ b/gsoap/Makefile.am
+@@ -42,9 +42,9 @@
+ libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp
+ libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
+ libgsoapssl_a_SOURCES = stdsoap2_ssl.c
+-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
++libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP -DWITH_COOKIES
+ libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp
+-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
++libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP -DWITH_COOKIES
+ 
+ BUILT_SOURCES = stdsoap2_cpp.cpp $(lib_LIBRARIES)
+ 
diff --git a/net-libs/gsoap/gsoap-2.7.17-r2.ebuild b/net-libs/gsoap/gsoap-2.7.17-r2.ebuild
new file mode 100644 (file)
index 0000000..a6a3adf
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="${PN}-2.7"
+
+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"
+
+LICENSE="GPL-2 gSOAP"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc debug examples +ssl"
+
+DEPEND="app-arch/unzip
+       sys-devel/flex
+       sys-devel/bison"
+RDEPEND="sys-libs/zlib
+       ssl? ( dev-libs/openssl:0= )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+       # Fix Pre-ISO headers
+       epatch "${FILESDIR}/${PN}-2.7-fix-pre-iso-headers.patch"
+       epatch "${FILESDIR}/${PN}-2.7.10-fedora-install_soapcpp2_wsdl2h_aux.patch"
+       epatch "${FILESDIR}/${PN}-2.7-fix-missing-cookie-support.patch" # 340647
+
+       # causes compilation of app-emulation/virtualbox-ose[vboxwebsrv] to
+       # break (bug #320901):
+       #epatch "${FILESDIR}/${PN}-2.7.15-use_libtool.patch"
+
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_enable ssl openssl) \
+               $(use_enable examples samples)
+}
+
+src_compile() {
+       emake -j1
+}
+
+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
+
+       dohtml changelog.html
+
+       prune_libtool_files --all
+
+       if use examples; then
+               rm -rf gsoap/samples/Makefile* gsoap/samples/*/Makefile* gsoap/samples/*/*.o || die
+               insinto /usr/share/doc/${PF}/examples
+               doins -r gsoap/samples/*
+       fi
+
+       if use doc; then
+               dohtml -r gsoap/doc/*
+       fi
+}