Update german/BBBike to version 3.18_3
[dports.git] / ftp / curl / Makefile
1 # Created by: Neil Blakey-Milner <nbm@rucus.ru.ac.za>
2 # $FreeBSD$
3
4 PORTNAME=       curl
5 PORTVERSION=    7.40.0
6 CATEGORIES=     ftp www
7 MASTER_SITES=   http://curl.haxx.se/download/ \
8                 LOCAL/sunpoet
9
10 MAINTAINER?=    sunpoet@FreeBSD.org
11 COMMENT?=       Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
12
13 LICENSE=        MIT
14
15 OPTIONS_DEFINE= CA_BUNDLE COOKIES CURL_DEBUG DEBUG DOCS EXAMPLES HTTP2 IDN IPV6 LDAP LDAPS LIBSSH2 PROXY RTMP TLS_SRP
16 OPTIONS_RADIO=  GSSAPI RESOLV SSL
17 OPTIONS_RADIO_GSSAPI=   HEIMDAL_PORT KRB5_PORT
18 OPTIONS_RADIO_RESOLV=   CARES THREADED_RESOLVER
19 OPTIONS_RADIO_SSL=      CYASSL GNUTLS NSS OPENSSL POLARSSL
20 OPTIONS_DEFAULT=CA_BUNDLE COOKIES IPV6 OPENSSL PROXY RESOLV THREADED_RESOLVER SSL TLS_SRP
21 CA_BUNDLE_DESC= Install CA bundle for OpenSSL
22 COOKIES_DESC=   Cookies support
23 CURL_DEBUG_DESC=cURL debug memory tracking
24 GSSAPI_BASE_DESC=       GSSAPI support via base system
25 HEIMDAL_PORT_DESC=      GSSAPI support via security/heimdal
26 KRB5_PORT_DESC= GSSAPI support via security/krb5
27 LIBSSH2_DESC=   SCP/SFTP support via libssh2
28 RESOLV_DESC=    DNS resolving options
29 THREADED_RESOLVER_DESC= Threaded DNS resolver
30 TLS_SRP_DESC=   TLS-SRP (Secure Remote Password) support
31
32 CONFIGURE_ARGS+=--disable-werror \
33                 --enable-imap --enable-pop3 --enable-rtsp --enable-smtp \
34                 --without-axtls
35 CONFIGURE_ENV+= LOCALBASE=${LOCALBASE}
36 GNU_CONFIGURE=  yes
37 MAKE_ENV+=      INSTALL_STRIP_FLAG=${STRIP}
38 USE_PERL5=      build
39 USES=           libtool pathfix perl5 tar:lzma
40
41 .if !defined(BUILDING_HIPHOP)
42 USE_LDCONFIG=   yes
43 USES+=          cpe
44
45 PORTDOCS=       *
46 PORTEXAMPLES=   *
47
48 CPE_VENDOR=     haxx
49
50 DOCS=           BINDINGS BUGS CONTRIBUTE DISTRO-DILEMMA FAQ FEATURES HISTORY \
51                 HTTP-COOKIES INSTALL INSTALL.devcpp INTERNALS KNOWN_BUGS \
52                 LIBCURL-STRUCTS LICENSE-MIXING MAIL-ETIQUETTE MANUAL \
53                 README.netware README.win32 RELEASE-PROCEDURE RESOURCES \
54                 SECURITY SSL-PROBLEMS SSLCERTS THANKS TODO \
55                 TheArtOfHttpScripting VERSIONS curl-config.html \
56                 curl-config.pdf curl.html curl.pdf index.html \
57                 mk-ca-bundle.html mk-ca-bundle.pdf
58 .endif
59
60 SLAVEDIRS=      ftp/curl-hiphop
61
62 HEIMDAL_HOME?=  ${PREFIX}
63 KRB5_HOME?=     ${PREFIX}
64
65 CA_BUNDLE_CONFIGURE_OFF=--without-ca-bundle
66 CA_BUNDLE_CONFIGURE_ON= --with-ca-bundle=${LOCALBASE}/share/certs/ca-root-nss.crt
67 CA_BUNDLE_RUN_DEPENDS=  ${LOCALBASE}/share/certs/ca-root-nss.crt:${PORTSDIR}/security/ca_root_nss
68 CARES_CONFIGURE_OFF=    --disable-ares
69 CARES_CONFIGURE_ON=     --enable-ares=${LOCALBASE}
70 CARES_LIB_DEPENDS=      libcares.so:${PORTSDIR}/dns/c-ares
71 COOKIES_CONFIGURE_OFF=  --disable-cookies
72 COOKIES_CONFIGURE_ON=   --enable-cookies
73 CURL_DEBUG_CONFIGURE_OFF=       --disable-curldebug
74 CURL_DEBUG_CONFIGURE_ON=--enable-curldebug
75 CYASSL_CONFIGURE_OFF=   --without-cyassl
76 CYASSL_CONFIGURE_ON=    --with-cyassl=${LOCALBASE}
77 CYASSL_LIB_DEPENDS=     libcyassl.so:${PORTSDIR}/security/yassl
78 DEBUG_CONFIGURE_OFF=    --disable-debug
79 DEBUG_CONFIGURE_ON=     --enable-debug
80 GNUTLS_CONFIGURE_OFF=   --without-gnutls
81 GNUTLS_CONFIGURE_ON=    --with-gnutls=${LOCALBASE}
82 GNUTLS_LIB_DEPENDS=     libgnutls.so:${PORTSDIR}/security/gnutls
83 GSSAPI_BASE_CONFIGURE_ON=       --with-gssapi=/usr
84 GSSAPI_BASE_CPPFLAGS=   -I${INCLUDEDIR}
85 HEIMDAL_PORT_CONFIGURE_ON=      --with-gssapi=${HEIMDAL_HOME}
86 HEIMDAL_PORT_CPPFLAGS=  -I${HEIMDAL_HOME}/include
87 HEIMDAL_PORT_LDFLAGS=   -L${HEIMDAL_HOME}/lib
88 HEIMDAL_PORT_LIB_DEPENDS=       libgssapi.so.3:${PORTSDIR}/security/heimdal
89 HTTP2_BUILD_DEPENDS=    nghttp2>=0.6.0:${PORTSDIR}/www/nghttp2
90 HTTP2_CONFIGURE_OFF=    --without-nghttp2
91 HTTP2_CONFIGURE_ON=     --with-nghttp2=${LOCALBASE}
92 HTTP2_LIB_DEPENDS=      libnghttp2.so:${PORTSDIR}/www/nghttp2
93 HTTP2_RUN_DEPENDS=      nghttp2>=0.6.0:${PORTSDIR}/www/nghttp2
94 HTTP2_USES=             pkgconfig
95 IDN_CONFIGURE_OFF=      --without-libidn
96 IDN_CONFIGURE_ON=       --with-libidn=${LOCALBASE}
97 IDN_LIB_DEPENDS=        libidn.so:${PORTSDIR}/dns/libidn
98 IPV6_CATEGORIES=        ipv6
99 IPV6_CONFIGURE_OFF=     --disable-ipv6
100 IPV6_CONFIGURE_ON=      --enable-ipv6
101 KRB5_PORT_CONFIGURE_ON= --with-gssapi=${KRB5_HOME}
102 KRB5_PORT_CPPFLAGS=     -I${KRB5_HOME}/include
103 KRB5_PORT_LDFLAGS=      -L${KRB5_HOME}/lib -lcom_err
104 KRB5_PORT_LIB_DEPENDS=  libgssapi_krb5.so.2:${PORTSDIR}/security/krb5
105 LDAP_CONFIGURE_OFF=     --disable-ldap
106 LDAP_CONFIGURE_ON=      --enable-ldap
107 LDAP_CPPFLAGS=          -I${LOCALBASE}/include
108 LDAP_LDFLAGS=           -L${LOCALBASE}/lib
109 LDAP_USE=               OPENLDAP=yes
110 LDAPS_CONFIGURE_OFF=    --disable-ldaps
111 LDAPS_CONFIGURE_ON=     --enable-ldaps
112 LIBSSH2_CONFIGURE_OFF=  --without-libssh2
113 LIBSSH2_CONFIGURE_ON=   --with-libssh2=${LOCALBASE}
114 LIBSSH2_LIB_DEPENDS=    libssh2.so:${PORTSDIR}/security/libssh2
115 NSS_CONFIGURE_OFF=      --without-nss
116 NSS_CONFIGURE_ON=       --with-nss=yes
117 NSS_LIB_DEPENDS=        libnss3.so:${PORTSDIR}/security/nss
118 NSS_USES=               pkgconfig
119 OPENSSL_CONFIGURE_OFF=  --without-ssl
120 OPENSSL_CONFIGURE_ON=   --with-ssl=${OPENSSLBASE}
121 OPENSSL_CPPFLAGS=       -I${OPENSSLINC}
122 OPENSSL_LDFLAGS=        -L${OPENSSLLIB}
123 OPENSSL_USE=            OPENSSL=yes
124 POLARSSL_CONFIGURE_OFF= --without-polarssl
125 POLARSSL_CONFIGURE_ON=  --with-polarssl=${LOCALBASE}
126 POLARSSL_LIB_DEPENDS=   libpolarssl.so:${PORTSDIR}/security/polarssl
127 PROXY_CONFIGURE_OFF=    --disable-proxy
128 PROXY_CONFIGURE_ON=     --enable-proxy
129 RTMP_CONFIGURE_OFF=     --without-librtmp
130 RTMP_CONFIGURE_ON=      --with-librtmp=${LOCALBASE}
131 RTMP_LIB_DEPENDS=       librtmp.so:${PORTSDIR}/multimedia/librtmp
132 THREADED_RESOLVER_CONFIGURE_OFF=--disable-threaded-resolver
133 THREADED_RESOLVER_CONFIGURE_ON= --enable-threaded-resolver
134 TLS_SRP_CONFIGURE_OFF=  --disable-tls-srp
135 TLS_SRP_CONFIGURE_ON=   --enable-tls-srp
136
137 .include <bsd.port.options.mk>
138
139 .if ${PORT_OPTIONS:MCA_BUNDLE} && !${PORT_OPTIONS:MOPENSSL}
140 IGNORE=         only supports CA bundle with OpenSSL
141 .endif
142
143 .if !${PORT_OPTIONS:MGNUTLS} && !${PORT_OPTIONS:MOPENSSL} && ${PORT_OPTIONS:MTLS_SRP}
144 IGNORE=         only supports TLS-SRP with either OpenSSL or GnuTLS
145 .endif
146
147 .if !${PORT_OPTIONS:MLDAP} && ${PORT_OPTIONS:MLDAPS}
148 IGNORE=         only supports LDAPS with LDAP
149 .endif
150
151 .if ${PORT_OPTIONS:MLDAPS} && !${PORT_OPTIONS:MCYASSL} && !${PORT_OPTIONS:MGNUTLS} && !${PORT_OPTIONS:MNSS} && !${PORT_OPTIONS:MOPENSSL} && !${PORT_OPTIONS:MPOLARSSL}
152 IGNORE=         only supports LDAPS with SSL
153 .endif
154
155 .if ${PORT_OPTIONS:MLIBSSH2} && !${PORT_OPTIONS:MOPENSSL}
156 IGNORE=         only supports LIBSSH2 with OpenSSL
157 .endif
158
159 .if !${PORT_OPTIONS:MGSSAPI_BASE} && !${PORT_OPTIONS:MHEIMDAL_PORT} && !${PORT_OPTIONS:MKRB5_PORT}
160 CONFIGURE_ARGS+=--without-gssapi
161 .endif
162
163 post-patch:
164         @${REINPLACE_CMD} -e '/^SUBDIRS = / s|$$| docs|; /^DIST_SUBDIRS = / s| docs||; /cd docs &&/d' ${WRKSRC}/Makefile.in
165         @${REINPLACE_CMD} -e 's|\(flags_dbg_off=\)".*"|\1""|; s|\(flags_opt_off=\)".*"|\1""|; s|lib/pkgconfig|libdata/pkgconfig|g' ${WRKSRC}/configure
166         @${REINPLACE_CMD} -e 's|include <gssapi.h>|include <gssapi/gssapi.h>|' ${WRKSRC}/lib/curl_gssapi.h ${WRKSRC}/lib/urldata.h
167         @${REINPLACE_CMD} -e 's|gss_nt_service_name|GSS_C_NT_HOSTBASED_SERVICE|' ${WRKSRC}/lib/curl_sasl_gssapi.c
168
169 post-install:
170 .if !defined(BUILDING_HIPHOP)
171         ${LN} -s libcurl.so.4 ${STAGEDIR}${PREFIX}/lib/libcurl.so.7
172         ${INSTALL_DATA} ${WRKSRC}/docs/libcurl/libcurl.m4 ${STAGEDIR}${PREFIX}/share/aclocal/
173         ${MKDIR} ${STAGEDIR}${DOCSDIR}/ ${STAGEDIR}${DOCSDIR}/libcurl/
174         cd ${WRKSRC}/docs/ && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}/
175         cd ${WRKSRC}/docs/libcurl/ && ${INSTALL_DATA} ABI *.html *.pdf *.m4 ${STAGEDIR}${DOCSDIR}/libcurl/
176         ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
177         cd ${WRKSRC}/docs/examples/ && ${INSTALL_DATA} README Makefile.example makefile* *.c *.cpp ${STAGEDIR}${EXAMPLESDIR}/
178 .endif
179
180 regression-test test: build
181 .if !${PORT_OPTIONS:MPROXY}
182         @${ECHO_MSG} "******************************************"
183         @${ECHO_MSG} "* You have disabled curl proxy support.  *"
184         @${ECHO_MSG} "* Some tests SHALL FAIL!                 *"
185         @${ECHO_MSG} "* This is being addressed.               *"
186         @${ECHO_MSG} "******************************************"
187 .endif
188         cd ${WRKSRC}/ && ${SETENV} ${MAKE_ENV} LC_ALL=C ${MAKE_CMD} test
189
190 .include <bsd.port.mk>