David Stes
2024-03-31 8cdd197ba643eb2608c5aab87567625bb9336cee
commit | author | age
b551f6 1 #
MN 2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"). You may
4 # only use this file in accordance with the terms of the CDDL.
5 #
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
9 #
10
11 #
12 # Copyright 2019 Michal Nowak
13 #
14
f4f0e4 15 OPENSSL_VERSION= 3.1
e5cdf1 16 USE_PARALLEL_BUILD= yes
b551f6 17 include ../../../make-rules/shared-macros.mk
MN 18
14c7f2 19 COMPONENT_NAME=         gsoap
a8e168 20 COMPONENT_MAJOR_VERSION= 2.8
e5cdf1 21 COMPONENT_VERSION=      $(COMPONENT_MAJOR_VERSION).133
14c7f2 22 COMPONENT_SUMMARY=      Toolkit for SOAP/REST-based C/C++ server and client web service applications
AW 23 COMPONENT_PROJECT_URL=  https://www.genivia.com/products.html
a8e168 24 COMPONENT_SRC=          $(COMPONENT_NAME)-$(COMPONENT_MAJOR_VERSION)
14c7f2 25 COMPONENT_ARCHIVE=      $(COMPONENT_NAME)_$(COMPONENT_VERSION).zip
4a40a3 26 COMPONENT_ARCHIVE_URL=  https://downloads.sourceforge.net/project/gsoap2/$(COMPONENT_ARCHIVE)
e5cdf1 27 COMPONENT_ARCHIVE_HASH= sha256:93e124302c5775e115e661af2bf4e1f07fa05aef14f58ce65b5c27c833afe279
dc28fa 28 COMPONENT_FMRI=         library/gsoap
AW 29 COMPONENT_CLASSIFICATION=System/Libraries
14c7f2 30 COMPONENT_LICENSE=      GPLv2+ with exceptions
dc28fa 31 COMPONENT_LICENSE_FILE= LICENSE.txt
b551f6 32
14c7f2 33 include $(WS_MAKE_RULES)/common.mk
f4f0e4 34
AW 35 CXXFLAGS += -I$(OPENSSL_INCDIR)
36 CFLAGS += -I$(OPENSSL_INCDIR)
b551f6 37
MN 38 # Some samples need extra libraries, which are not autodetected
39 LDFLAGS += -lsocket -lxnet -lnsl
14c7f2 40 # Incite to use the provided openssl
dc28fa 41 LDFLAGS += -L$(OPENSSL_LIBDIR) -R$(OPENSSL_LIBDIR)
b551f6 42
MN 43 # gsoap zip file contain a lot of enexpected files (binaries, non-GPL-licensed
44 # files, etc), files we don't want, don't need, or perhaps can't even ship.
45 #
46 # What follows is a list of files to be removed according to Fedora gsoap.spec
47 # (openSUSE does a simmilar thing):
48 #
49 # * XML files non-executable
50 # * Documentation fonts non-executable
51 # * we want all txt files to have unix end-of-line encoding
52 # * remove stuff with gsoap license only - not GPL
53 # * remove pre-compiled binaries
54 # * Remove .DS_Store files
55 COMPONENT_PRE_CONFIGURE_ACTION += \
56     cd $(SOURCE_DIR) ; \
57     find gsoap/samples/autotest/databinding/examples -name '*.xml' -exec chmod a-x {} ';' ; \
58     chmod a-x gsoap/doc/fonts/* ; \
59     for txt in `find . -name '*.txt'`; do \
60         dos2unix $$txt $$txt ; \
61     done ; \
62     rm -rf gsoap/extras gsoap/mod_gsoap gsoap/Symbian ; \
63     sed 's!$$(top_srcdir)/gsoap/extras/\*!!' -i gsoap/Makefile.am ; \
64     rm -rf gsoap/bin rm gsoap/samples/calc_vs2005/calc_vs2005/soapcpp2.exe \
65         gsoap/samples/rest/person gsoap/samples/wcf/Basic/TransportSecurity/calculator \
66         rm gsoap/VisualStudio2005/wsdl2h/wsdl2h/soapcpp2.exe ; \
67     find . -name .DS_Store -exec rm {} ';' ; \
68     autoreconf --install --force ; \
69     cp -a $(SOURCE_DIR)/* $(@D) ;
70
71 CONFIGURE_SCRIPT = $(@D)/configure
72
e5cdf1 73 CONFIGURE_OPTIONS += --disable-dependency-tracking
dc28fa 74 CONFIGURE_OPTIONS += --enable-ipv6
b551f6 75 # Build and runs tests
dc28fa 76 CONFIGURE_OPTIONS += --enable-samples
AW 77 CONFIGURE_OPTIONS += LT_SYS_LIBRARY_PATH="$(OPENSSL_LIBDIR)"
78 CONFIGURE_OPTIONS += --with-openssl-incdir=$(OPENSSL_INCDIR)
b551f6 79
MN 80 # Parallel build fails. We either disable it, or build soapcpp2_yacc.c first.
81 # We opt for the former.
82 COMPONENT_BUILD_ARGS=
83
84 # dos2unix
85 REQUIRED_PACKAGES += system/extended-system-utilities
dc28fa 86
b551f6 87 # Auto-generated dependencies
MN 88 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
14c7f2 89 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
f4f0e4 90 REQUIRED_PACKAGES += library/security/openssl-31
b551f6 91 REQUIRED_PACKAGES += library/zlib
MN 92 REQUIRED_PACKAGES += system/library