aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2020-05-19 15:31:11 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2020-05-19 15:32:34 +0000
commit789f4b1ddf0994c9d71b0669f455f85b47366db6 (patch)
tree220e042d762d1645647f073dfdf860a65ba0f356
parentbd0bdd92410a6487ae92eaa36f6baba97562b06c (diff)
community/gsoap: build shared lib
and fix the parallel build issue while at it (https://sourceforge.net/p/gsoap2/bugs/1280/) fixes #11511
-rw-r--r--community/gsoap/APKBUILD20
-rw-r--r--community/gsoap/gsoap-fix-parallel-build.patch20
-rw-r--r--community/gsoap/gsoap-libtool.patch137
3 files changed, 171 insertions, 6 deletions
diff --git a/community/gsoap/APKBUILD b/community/gsoap/APKBUILD
index c2b568f2ac6..74a10849865 100644
--- a/community/gsoap/APKBUILD
+++ b/community/gsoap/APKBUILD
@@ -2,18 +2,24 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gsoap
pkgver=2.8.102
-pkgrel=0
+pkgrel=1
arch="all"
pkgdesc="Cross-platform C and C++ SDK for SOAP/XML Web services"
license="GPL-2.0-or-later gSOAP-1.3b"
url="http://gsoap2.sourceforge.net"
makedepends="autoconf automake bison flex openssl-dev libtool zlib-dev"
-subpackages="$pkgname-dev"
-source="https://downloads.sourceforge.net/project/gsoap2/gsoap-${pkgver%.*}/gsoap_$pkgver.zip"
+subpackages="$pkgname-static $pkgname-dev"
+source="https://downloads.sourceforge.net/project/gsoap2/gsoap-${pkgver%.*}/gsoap_$pkgver.zip
+ gsoap-libtool.patch
+ gsoap-fix-parallel-build.patch
+ "
builddir="$srcdir/$pkgname-${pkgver%.*}"
+prepare() {
+ default_prepare
+ autoreconf -vif
+}
build() {
- touch configure.ac aclocal.m4 configure Makefile.am Makefile.in
./configure --prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
@@ -21,11 +27,13 @@ build() {
--enable-ipv6 \
--enable-c-locale \
CFLAGS="$CFLAGS -D_GNU_SOURCE"
- make -j1
+ make
}
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3cff65605b15f820c9d56e32575231fb6fb89927bafc1db85ac1f879acd8496d6f38b558e994d17cce475beae0976d5fafcff7f22b28cdfbec8b7ec4b08bcbe7 gsoap_2.8.102.zip"
+sha512sums="3cff65605b15f820c9d56e32575231fb6fb89927bafc1db85ac1f879acd8496d6f38b558e994d17cce475beae0976d5fafcff7f22b28cdfbec8b7ec4b08bcbe7 gsoap_2.8.102.zip
+081217f40e193d0645cd2a196c880574901de38ef561a2d880b79c081c6cbba234b5496195ea6681cf6222d38ace8a31a5c21be3b34165f71c0c0a7ed8a8e2b5 gsoap-libtool.patch
+cb701c6d475970b0379468f8b93231eed7e35538da2b212de708ed00dea61c1f2665d360432a0814498e90ed38d53ccf1582abc0266c94ecc1053c39beeacf30 gsoap-fix-parallel-build.patch"
diff --git a/community/gsoap/gsoap-fix-parallel-build.patch b/community/gsoap/gsoap-fix-parallel-build.patch
new file mode 100644
index 00000000000..46a96a10e52
--- /dev/null
+++ b/community/gsoap/gsoap-fix-parallel-build.patch
@@ -0,0 +1,20 @@
+From: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-libs/gsoap/files/gsoap-2.8.93-fix-parallel-build.patch
+Upstream: https://sourceforge.net/p/gsoap2/bugs/1280/
+
+--- a/gsoap/src/Makefile.am
++++ b/gsoap/src/Makefile.am
+@@ -10,11 +10,13 @@ AUTOMAKE_OPTIONS = foreign 1.4
+ AM_YFLAGS=-d -v
+ AM_LFLAGS=$(LEX_FLAGS)
+
++BUILT_SOURCES = soapcpp2_yacc.h
++
+ bin_PROGRAMS=soapcpp2
+
+ soapcpp2_CFLAGS=$(BISON_DEFINE) $(LEX_DEFINE) $(C_DEBUG_FLAGS) $(SOAPCPP2_IMPORTPATH) -D$(platform)
+ soapcpp2_LDADD=$(YACC_LIB) $(LEXLIB)
+-soapcpp2_SOURCES= soapcpp2_yacc.y soapcpp2_yacc.h soapcpp2_lex.l symbol2.c error2.c init2.c soapcpp2.c
++soapcpp2_SOURCES= soapcpp2_yacc.y soapcpp2_lex.l symbol2.c error2.c init2.c soapcpp2.c
+
+ CLEANFILES= *~ soapcpp2_lex.c soapcpp2_yacc.c soapcpp2_yacc.h soapcpp2_yacc.output
+
diff --git a/community/gsoap/gsoap-libtool.patch b/community/gsoap/gsoap-libtool.patch
new file mode 100644
index 00000000000..692f64b7d6c
--- /dev/null
+++ b/community/gsoap/gsoap-libtool.patch
@@ -0,0 +1,137 @@
+From: https://src.fedoraproject.org/rpms/gsoap/blob/master/f/gsoap-libtool.patch
+
+diff -ur gsoap-2.8.orig/configure.ac gsoap-2.8/configure.ac
+--- gsoap-2.8.orig/configure.ac 2019-01-14 18:17:20.000000000 +0100
++++ gsoap-2.8/configure.ac 2019-01-17 15:48:00.000982088 +0100
+@@ -16,8 +16,7 @@
+ AM_PROG_LEX
+ AC_PROG_YACC
+ AC_PROG_CPP
+-AC_PROG_RANLIB
+-#AM_PROG_LIBTOOL
++AM_PROG_LIBTOOL
+ AC_PROG_LN_S
+ AC_PROG_AWK
+ AC_PROG_INSTALL
+@@ -295,15 +294,15 @@
+ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lgnutls -lgcrypt -lgpg-error -lz"
+ SAMPLE_INCLUDES=
+ SAMPLE_SSL_LIBS="-lgnutls -lgcrypt -lgpg-error -lz"
+- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
+ else
+ AC_MSG_RESULT(no)
+ WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
+ # compile with wsdl2h when OPENSSL is available
+- WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lssl -lcrypto -lz"
++ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lcrypto"
+ SAMPLE_INCLUDES=
+ SAMPLE_SSL_LIBS="-lssl -lcrypto -lz"
+- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
+ fi
+ if test -n "$ZLIB"; then
+ WSDL2H_EXTRA_FLAGS="-I${ZLIB}/include ${WSDL2H_EXTRA_FLAGS}"
+@@ -322,7 +321,7 @@
+ WSDL2H_EXTRA_FLAGS=
+ SAMPLE_SSL_LIBS=
+ SAMPLE_INCLUDES=
+- WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoap++.la"
+ fi
+ AM_CONDITIONAL(WITH_OPENSSL, test "x$with_openssl" = "xyes" -a "x$with_gnutls" != "xyes")
+ AC_SUBST(WITH_OPENSSL)
+diff -ur gsoap-2.8.orig/gsoap/Makefile.am gsoap-2.8/gsoap/Makefile.am
+--- gsoap-2.8.orig/gsoap/Makefile.am 2019-01-14 18:17:21.000000000 +0100
++++ gsoap-2.8/gsoap/Makefile.am 2019-01-17 15:58:13.041317567 +0100
+@@ -34,20 +34,30 @@
+ dom_cpp.cpp: dom.cpp
+ $(LN_S) -f $(top_srcdir)/gsoap/dom.cpp dom_cpp.cpp
+
+-lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
++lib_LTLIBRARIES = libgsoap.la libgsoap++.la libgsoapck.la libgsoapck++.la libgsoapssl.la libgsoapssl++.la
+
+-libgsoap_a_SOURCES = stdsoap2.c dom.c
+-libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
+-libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
+-libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
+-libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
+-libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
+-libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
+-libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
+-libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
+-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
+-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
++SOVERSION = $(shell grep 'define VERSION' $(srcdir)/src/soapcpp2.h | cut -d '"' -f 2)
++
++libgsoap_la_SOURCES = stdsoap2.c dom.c
++libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
++libgsoap_la_LDFLAGS = -release $(SOVERSION)
++libgsoap___la_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
++libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
++libgsoap___la_LDFLAGS = -release $(SOVERSION)
++libgsoapck_la_SOURCES = stdsoap2_ck.c dom.c
++libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
++libgsoapck_la_LDFLAGS = -release $(SOVERSION)
++libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
++libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
++libgsoapck___la_LDFLAGS = -release $(SOVERSION)
++libgsoapssl_la_SOURCES = stdsoap2_ssl.c dom.c
++libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
++libgsoapssl_la_LDFLAGS = -release $(SOVERSION)
++libgsoapssl_la_LIBADD = -lssl -lcrypto -lz
++libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
++libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
++libgsoapssl___la_LDFLAGS = -release $(SOVERSION)
++libgsoapssl___la_LIBADD = -lssl -lcrypto -lz
+
+ BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp
+
+diff -ur gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8/gsoap/samples/autotest/Makefile.am
+--- gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am 2019-01-14 18:17:22.000000000 +0100
++++ gsoap-2.8/gsoap/samples/autotest/Makefile.am 2019-01-17 15:48:00.008982002 +0100
+@@ -14,7 +14,7 @@
+ WSDLINPUT=$(top_srcdir)/gsoap/samples/autotest/examples.wsdl
+ SOAPHEADER=$(top_srcdir)/gsoap/samples/autotest/examples.h
+ SOAP_CPP_SRC=soapC.cpp soapServer.cpp
+-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
++SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
+
+ $(SOAP_CPP_SRC) : $(WSDLINPUT)
+ $(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
+diff -ur gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8/gsoap/samples/databinding/Makefile.am
+--- gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am 2019-01-14 18:17:22.000000000 +0100
++++ gsoap-2.8/gsoap/samples/databinding/Makefile.am 2019-01-17 15:48:00.008982002 +0100
+@@ -14,7 +14,7 @@
+ WSDLINPUT=$(top_srcdir)/gsoap/samples/databinding/address.xsd
+ SOAPHEADER=$(top_srcdir)/gsoap/samples/databinding/address.h
+ SOAP_CPP_SRC=addressC.cpp
+-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
++SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
+
+ $(SOAP_CPP_SRC) : $(WSDLINPUT)
+ $(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
+diff -ur gsoap-2.8.orig/gsoap/samples/Makefile.defines gsoap-2.8/gsoap/samples/Makefile.defines
+--- gsoap-2.8.orig/gsoap/samples/Makefile.defines 2019-01-14 18:17:22.000000000 +0100
++++ gsoap-2.8/gsoap/samples/Makefile.defines 2019-01-17 15:48:00.008982002 +0100
+@@ -13,13 +13,13 @@
+ SOAP_C_CORE=soapC.c
+ SOAP_C_CLIENT=soapClient.c $(SOAP_C_CORE)
+ SOAP_C_SERVER=soapServer.c $(SOAP_C_CORE)
+-SOAP_C_LIB=$(top_builddir)/gsoap/libgsoap.a
+-SOAP_C_LIB_CK=$(top_builddir)/gsoap/libgsoapck.a
+-SOAP_C_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl.a
++SOAP_C_LIB=$(top_builddir)/gsoap/libgsoap.la
++SOAP_C_LIB_CK=$(top_builddir)/gsoap/libgsoapck.la
++SOAP_C_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl.la
+
+ SOAP_CPP_CORE=soapC.cpp
+ SOAP_CPP_CLIENT=soapClient.cpp $(SOAP_CPP_CORE)
+ SOAP_CPP_SERVER=soapServer.cpp $(SOAP_CPP_CORE)
+-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+-SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.a
+-SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.a
++SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
++SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.la
++SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.la