# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"). You may # only use this file in accordance with the terms of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2019 Michal Nowak # OPENSSL_VERSION= 3.1 USE_PARALLEL_BUILD= yes include ../../../make-rules/shared-macros.mk COMPONENT_NAME= gsoap COMPONENT_MAJOR_VERSION= 2.8 COMPONENT_VERSION= $(COMPONENT_MAJOR_VERSION).133 COMPONENT_SUMMARY= Toolkit for SOAP/REST-based C/C++ server and client web service applications COMPONENT_PROJECT_URL= https://www.genivia.com/products.html COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_MAJOR_VERSION) COMPONENT_ARCHIVE= $(COMPONENT_NAME)_$(COMPONENT_VERSION).zip COMPONENT_ARCHIVE_URL= https://downloads.sourceforge.net/project/gsoap2/$(COMPONENT_ARCHIVE) COMPONENT_ARCHIVE_HASH= sha256:93e124302c5775e115e661af2bf4e1f07fa05aef14f58ce65b5c27c833afe279 COMPONENT_FMRI= library/gsoap COMPONENT_CLASSIFICATION=System/Libraries COMPONENT_LICENSE= GPLv2+ with exceptions COMPONENT_LICENSE_FILE= LICENSE.txt include $(WS_MAKE_RULES)/common.mk CXXFLAGS += -I$(OPENSSL_INCDIR) CFLAGS += -I$(OPENSSL_INCDIR) # Some samples need extra libraries, which are not autodetected LDFLAGS += -lsocket -lxnet -lnsl # Incite to use the provided openssl LDFLAGS += -L$(OPENSSL_LIBDIR) -R$(OPENSSL_LIBDIR) # gsoap zip file contain a lot of enexpected files (binaries, non-GPL-licensed # files, etc), files we don't want, don't need, or perhaps can't even ship. # # What follows is a list of files to be removed according to Fedora gsoap.spec # (openSUSE does a simmilar thing): # # * XML files non-executable # * Documentation fonts non-executable # * we want all txt files to have unix end-of-line encoding # * remove stuff with gsoap license only - not GPL # * remove pre-compiled binaries # * Remove .DS_Store files COMPONENT_PRE_CONFIGURE_ACTION += \ cd $(SOURCE_DIR) ; \ find gsoap/samples/autotest/databinding/examples -name '*.xml' -exec chmod a-x {} ';' ; \ chmod a-x gsoap/doc/fonts/* ; \ for txt in `find . -name '*.txt'`; do \ dos2unix $$txt $$txt ; \ done ; \ rm -rf gsoap/extras gsoap/mod_gsoap gsoap/Symbian ; \ sed 's!$$(top_srcdir)/gsoap/extras/\*!!' -i gsoap/Makefile.am ; \ rm -rf gsoap/bin rm gsoap/samples/calc_vs2005/calc_vs2005/soapcpp2.exe \ gsoap/samples/rest/person gsoap/samples/wcf/Basic/TransportSecurity/calculator \ rm gsoap/VisualStudio2005/wsdl2h/wsdl2h/soapcpp2.exe ; \ find . -name .DS_Store -exec rm {} ';' ; \ autoreconf --install --force ; \ cp -a $(SOURCE_DIR)/* $(@D) ; CONFIGURE_SCRIPT = $(@D)/configure CONFIGURE_OPTIONS += --disable-dependency-tracking CONFIGURE_OPTIONS += --enable-ipv6 # Build and runs tests CONFIGURE_OPTIONS += --enable-samples CONFIGURE_OPTIONS += LT_SYS_LIBRARY_PATH="$(OPENSSL_LIBDIR)" CONFIGURE_OPTIONS += --with-openssl-incdir=$(OPENSSL_INCDIR) # Parallel build fails. We either disable it, or build soapcpp2_yacc.c first. # We opt for the former. COMPONENT_BUILD_ARGS= # dos2unix REQUIRED_PACKAGES += system/extended-system-utilities # Auto-generated dependencies REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG) REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG) REQUIRED_PACKAGES += library/security/openssl-31 REQUIRED_PACKAGES += library/zlib REQUIRED_PACKAGES += system/library