diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2020-05-19 15:31:11 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2020-05-19 15:32:34 +0000 |
commit | 789f4b1ddf0994c9d71b0669f455f85b47366db6 (patch) | |
tree | 220e042d762d1645647f073dfdf860a65ba0f356 | |
parent | bd0bdd92410a6487ae92eaa36f6baba97562b06c (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/APKBUILD | 20 | ||||
-rw-r--r-- | community/gsoap/gsoap-fix-parallel-build.patch | 20 | ||||
-rw-r--r-- | community/gsoap/gsoap-libtool.patch | 137 |
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 |