# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup clang_dependency 1.0 name curl version 7.67.0 categories net www platforms darwin freebsd maintainers {ryandesign @ryandesign} license Curl description Tool for transferring files with URL syntax long_description curl is a client to get documents/files from servers, \ using any of the supported protocols. The command is \ designed to work without user interaction or any kind \ of interactivity. homepage https://curl.haxx.se master_sites ${homepage}/download/:curl \ http://curl.mirror.anstey.ca/:curl \ http://curl.askapache.com/download/:curl use_xz yes set curl_distfile ${distfiles} distfiles ${curl_distfile}:curl checksums ${curl_distfile} \ rmd160 f9db855e7f76abeac1eeeb9ebc37b2b116be77f2 \ sha256 f5d2e7320379338c3952dcc7566a140abb49edb575f9f99272455785c40e536c \ size 2418548 if {${name} eq ${subport}} { PortGroup muniversal 1.0 revision 0 depends_build port:pkgconfig depends_lib port:libidn2 \ port:libpsl \ port:zlib # Prevent curl-config from telling curl's dependents that they have to # link with all of curl's dependencies as well. patchfiles configure.patch configure.args --disable-silent-rules \ --enable-ipv6 \ --without-brotli \ --without-cyassl \ --without-gnutls \ --without-gssapi \ --without-libmetalink \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ --without-nss \ --without-polarssl \ --without-ssl \ --without-darwinssl \ --disable-ares \ --disable-ldap \ --disable-ldaps \ --with-libidn2=${prefix} \ --with-zlib=${prefix} \ ac_cv_prog_AWK=/usr/bin/awk configure.cflags-append -mmacosx-version-min=${macosx_deployment_target} configure.env PKG_CONFIG_PATH=${prefix} post-configure { if {[variant_isset universal]} { set dirs {} foreach arch ${universal_archs_to_use} { lappend dirs ${worksrcpath}-${arch} } } else { set dirs ${worksrcpath} } foreach dir ${dirs} { reinplace -E {s|-arch [a-z0-9_]+||g} ${dir}/curl-config # These flags only ends up in curl-config in some cases, such as # when "cross compiling" a universal binary. # See https://trac.macports.org/ticket/24001 reinplace -E -q {s/ '(host_alias|--host)=[^']+'//g} ${dir}/curl-config } } test.run yes test.target test-full global merger_dont_diff set merger_dont_diff "${prefix}/include/curl/curlbuild.h" post-destroot { set docdir ${prefix}/share/doc/${name} xinstall -d ${destroot}${docdir}/html/libcurl ${destroot}${docdir}/pdf/libcurl \ ${destroot}${prefix}/share/aclocal xinstall -m 0644 -W ${worksrcpath} \ CHANGES \ COPYING \ README \ RELEASE-NOTES \ ${destroot}${docdir} xinstall -m 0644 -W ${worksrcpath}/docs \ BINDINGS.md \ BUGS \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ HISTORY.md \ HTTP-COOKIES.md \ HTTP2.md \ INTERNALS.md \ KNOWN_BUGS \ LICENSE-MIXING.md \ MAIL-ETIQUETTE \ RESOURCES \ ROADMAP.md \ SECURITY-PROCESS.md \ SSL-PROBLEMS.md \ SSLCERTS.md \ THANKS \ TODO \ TheArtOfHttpScripting \ VERSIONS \ ${destroot}${docdir} xinstall -m 0644 ${worksrcpath}/docs/libcurl/libcurl.m4 \ ${destroot}${prefix}/share/aclocal/ } variant ares description {Support resolving names asynchronously} { depends_lib-append port:c-ares configure.args-replace --disable-ares --enable-ares } variant darwinssl conflicts ssl gnutls wolfssl description {Allow secure connections using Apple OS native TLS} { configure.args-replace --without-darwinssl --with-darwinssl configure.args-append --without-ca-bundle } variant gnutls conflicts ssl wolfssl darwinssl description {Allow secure connections using GNU TLS} { depends_lib-append port:gnutls \ path:share/curl/curl-ca-bundle.crt:curl-ca-bundle configure.args-replace --without-gnutls --with-gnutls configure.args-append --with-ca-bundle=${prefix}/share/curl/curl-ca-bundle.crt } variant wolfssl conflicts ssl gnutls darwinssl description {Allow secure connections using wolfSSL, formerly CyaSSL} { depends_lib-append port:wolfssl \ path:share/curl/curl-ca-bundle.crt:curl-ca-bundle configure.args-replace --without-cyassl --with-cyassl configure.args-append --with-ca-bundle=${prefix}/share/curl/curl-ca-bundle.crt } variant gss description {Support the Generic Security Service API} { # This needs to use the system's Kerberos, not MacPorts' gss or kerberos5. conflicts-append gss kerberos5 configure.args-replace --without-gssapi --with-gssapi } variant http2 description {Support HTTP/2 with nghttp2} { depends_lib-append port:nghttp2 configure.args-replace --without-nghttp2 --with-nghttp2 } variant metalink description {Support Metalink XML download description files} { depends_lib-append port:libmetalink configure.args-replace --without-libmetalink --with-libmetalink=${prefix} } variant openldap description {Support performing Lightweight Directory Access Protocol queries with OpenLDAP} { depends_lib-append port:openldap configure.args-replace --disable-ldap --enable-ldap configure.args-replace --disable-ldaps --enable-ldaps } variant sftp_scp description {Support SFTP/SCP connections via libssh2} { depends_lib-append port:libssh2 configure.args-replace --without-libssh2 --with-libssh2 } variant ssl conflicts gnutls wolfssl darwinssl description {Allow secure connections using OpenSSL} { depends_lib-append path:lib/libssl.dylib:openssl \ path:share/curl/curl-ca-bundle.crt:curl-ca-bundle configure.args-replace --without-ssl --with-ssl=${prefix} configure.args-append --with-ca-bundle=${prefix}/share/curl/curl-ca-bundle.crt } if {![variant_isset gnutls] && ![variant_isset darwinssl] && ![variant_isset wolfssl]} { default_variants +ssl } livecheck.type regex livecheck.url [join [lrange [split [lindex ${master_sites} 0] {:}] 0 end-1] {:}] livecheck.regex ${name}-(\[0-9.\]+)${extract.suffix} } else { livecheck.type none } subport curl-ca-bundle { revision 2 categories net license {MPL-2 LGPL-2.1+} supported_archs noarch installs_libs no conflicts certsync description CA certificate bundle for curl long_description Installs a bundle of certification authority certificates \ (CA certs) which curl (when linked with OpenSSL) uses to \ verify the authenticity of secure web and FTP servers. depends_extract-append bin:unzip:unzip depends_build path:bin/perl:perl5 # The approximate time (in seconds since the epoch) when the port maintainer # updated the certdata.txt file in this port. (The output of "date +%s".) set certdata_updated 1575014585 # The upstream commit in which certdata.txt was last updated. set certdata_commit dc8776ff47594e025f7cd07a5d7eefb00cbc9770 # The date (in YYYYMMDD format) that commit was pushed. set certdata_date 20191127 set certdata_file certdata.txt # Using tar.bz2 would be preferable because it's smaller but upstream has # disabled the creation of all but zip archives: # https://bugzilla.mozilla.org/show_bug.cgi?id=1596135 set certdata_extract_suffix .zip set certdata_distfile certdata-${certdata_date}-${certdata_commit}${certdata_extract_suffix} set certdata_path security/nss/lib/ckfw/builtins/${certdata_file} # Only try to fetch from upstream shortly after the port is updated, # to reduce load on their server: # https://bugzilla.mozilla.org/show_bug.cgi?id=1596135 if {[clock seconds] - ${certdata_updated} < 86400} { master_sites-append https://hg.mozilla.org/mozilla-central/archive/${certdata_commit}${certdata_extract_suffix}/${certdata_path}?dummy=:certdata } else { master_sites-append macports_distfiles::certdata } distfiles-append ${certdata_distfile}:certdata checksums-append ${certdata_distfile} \ rmd160 560120de8901f051ba92ec0444b267602f6ef1ba \ sha256 e01615571ad502435b438971226dc45336bee01644186a2cc9ecab5bc24d1f0f \ size 257920 extract.only ${curl_distfile} extract.post_args-append ${worksrcdir}/Makefile \ ${worksrcdir}/lib/mk-ca-bundle.pl post-extract { system -W ${workpath} "unzip -q -a '${distpath}/${certdata_distfile}'" move ${workpath}/mozilla-central-${certdata_commit}/${certdata_path} ${worksrcpath}/${certdata_file} } patchfiles patch-no-autodownload.diff use_configure no build.target ca-bundle destroot { set ca_bundle_dir ${prefix}/share/curl set openssl_dir ${prefix}/etc/openssl xinstall -d ${destroot}${ca_bundle_dir} ${destroot}${openssl_dir} xinstall -m 644 ${worksrcpath}/lib/ca-bundle.crt ${destroot}${ca_bundle_dir}/curl-ca-bundle.crt ln -s ${ca_bundle_dir}/curl-ca-bundle.crt ${destroot}${openssl_dir}/cert.pem } livecheck.type regexm livecheck.url https://hg.mozilla.org/mozilla-central/log/default/${certdata_path} livecheck.version ${certdata_commit} livecheck.regex {/rev/([0-9a-f]+)"} }