# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2018, Michal Nowak # Copyright (c) 2022, Niklas Poslovski # USE_PARALLEL_BUILD = yes USE_DEFAULT_TEST_TRANSFORMS= yes include ../../../make-rules/shared-macros.mk COMPONENT_NAME= curl COMPONENT_VERSION= 8.23.0 COMPONENT_REVISION= 1 COMPONENT_SUMMARY= The CURL Network Utility and Library COMPONENT_DESCRIPTION= A command-line tool and library for transforming data with URL syntax COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) COMPONENT_PROJECT_URL= https://curl.se COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz COMPONENT_ARCHIVE_HASH= sha256:8dadd7d2536a314f982ad05a651b713f426bf7d02cc2c76cffb9796f2218e6c5 COMPONENT_ARCHIVE_URL= $(COMPONENT_PROJECT_URL)/download/$(COMPONENT_ARCHIVE) COMPONENT_FMRI= web/$(COMPONENT_NAME) COMPONENT_CLASSIFICATION=System/Libraries COMPONENT_LICENSE= CURL COMPONENT_LICENSE_FILE= COPYING include $(WS_MAKE_RULES)/common.mk # Community code uses different defs $(BUILD_DIR_64)/.configured: CPPFLAGS += -D__LP64=64 CPPFLAGS += $(CPP_LARGEFILES) CPPFLAGS += $(CC_PIC_ENABLE) CPPFLAGS += -DNAME_MAX=256 CPPFLAGS += -I/usr/include/openldap CPPFLAGS += $(shell pkg-config --cflags libidn2) # GSS MECH's API is in /usr/include/kerberosv5/gssapi/ CPPFLAGS += $(shell krb5-config --cflags) LIBS += $(shell krb5-config --libs gssapi) GSSAPI_LIBDIR_64= /usr/lib/$(MACH64) LDFLAGS += -m$(BITS) LDFLAGS += $(LD_Z_DEFS) CONFIGURE_ENV += CFLAGS="-I$(OPENSSL_INCDIR) $(CFLAGS)" CONFIGURE_ENV += CPPFLAGS="-I$(OPENSSL_INCDIR) $(CPPFLAGS) -I/usr/include/openldap" CONFIGURE_OPTIONS += LDFLAGS="-L$(OPENSSL_LIBDIR.$(BITS)) $(LDFLAGS)" CONFIGURE_OPTIONS += --disable-dependency-tracking CONFIGURE_OPTIONS += --enable-shared CONFIGURE_OPTIONS += --disable-static CONFIGURE_OPTIONS += --enable-http CONFIGURE_OPTIONS += --enable-ftp CONFIGURE_OPTIONS += --enable-file CONFIGURE_OPTIONS += --enable-dict CONFIGURE_OPTIONS += --enable-manual CONFIGURE_OPTIONS += --disable-libgcc CONFIGURE_OPTIONS += --enable-rtsp CONFIGURE_OPTIONS += --enable-proxy CONFIGURE_OPTIONS += --enable-telnet CONFIGURE_OPTIONS += --enable-tftp CONFIGURE_OPTIONS += --enable-pop3 CONFIGURE_OPTIONS += --enable-imap CONFIGURE_OPTIONS += --enable-smtp CONFIGURE_OPTIONS += --enable-ipv6 CONFIGURE_OPTIONS += --enable-verbose CONFIGURE_OPTIONS += --disable-sspi CONFIGURE_OPTIONS += --enable-cookies CONFIGURE_OPTIONS += --enable-ldap # Use the system name service switch (including NIS) without blocking IPS transfers. CONFIGURE_OPTIONS += --disable-ares CONFIGURE_OPTIONS += --enable-threaded-resolver CONFIGURE_OPTIONS += --enable-websockets CONFIGURE_OPTIONS += --with-openssl=$(OPENSSL_PREFIX) CONFIGURE_OPTIONS += --with-ldap-lib=ldap_r-2.4 CONFIGURE_OPTIONS += --with-lber-lib=lber-2.4 CONFIGURE_OPTIONS += --with-gssapi-includes=/usr/include/gssapi CONFIGURE_OPTIONS += --with-gssapi-libs=$(GSSAPI_LIBDIR_$(BITS)) CONFIGURE_OPTIONS += --with-gssapi=/usr --without-ca-bundle CONFIGURE_OPTIONS += --with-ca-path=/etc/openssl/certs CONFIGURE_OPTIONS += --with-zlib=/usr CONFIGURE_OPTIONS += --with-pic CONFIGURE_OPTIONS += --with-libssh2 CONFIGURE_OPTIONS += "curl_disallow_getifaddrs=yes" # Generate configuration scripts form .am-files COMPONENT_PREP_ACTION= (cd $(@D) ; PATH="$(PATH)" autoreconf -fi) ENV = /usr/bin/env -i COMPONENT_TEST_ENV += CC="$(CC)" COMPONENT_TEST_ENV += USER=`id -un` COMPONENT_TEST_ENV += PATH="$(GCC_ROOT)/bin:$(GNUBIN):$(PATH)" COMPONENT_TEST_ENV += CFLAGS="$(CFLAGS)" COMPONENT_TEST_ENV += LC_ALL=C COMPONENT_TEST_ARGS += -k -i # Only the #'s of passed/failed tests are verified for change # Note that we have many broken tests if valgrind is installed. COMPONENT_TEST_TRANSFORMS += \ '-e "s/ during [0-9]* seconds.//" ' \ '-e "/TESTDONE:/p" ' # Auto-generated dependencies REQUIRED_PACKAGES += $(OPENSSL_PKG) REQUIRED_PACKAGES += compress/zstd REQUIRED_PACKAGES += library/brotli REQUIRED_PACKAGES += library/libidn2 REQUIRED_PACKAGES += library/libpsl REQUIRED_PACKAGES += library/libssh2 REQUIRED_PACKAGES += library/nghttp2 REQUIRED_PACKAGES += library/openldap REQUIRED_PACKAGES += library/zlib REQUIRED_PACKAGES += shell/ksh93 REQUIRED_PACKAGES += system/library REQUIRED_PACKAGES += system/library/security/gss