# libcurl - the multiprotocol file transfer library
# https://curl.se/

[buildout]
extends =
  ../openssl/buildout.cfg
  ../perl/buildout.cfg
  ../pkgconfig/buildout.cfg
  ../xz-utils/buildout.cfg
  ../zstd/buildout.cfg
  ../zlib/buildout.cfg
  ../libidn/buildout.cfg
  ../nghttp2/buildout.cfg
  ../ngtcp2/buildout.cfg
  ../nghttp3/buildout.cfg
  ../ca-certificates/buildout.cfg
parts =
  curl

[curl]
recipe = slapos.recipe.cmmi
shared = true
url = https://curl.se/download/curl-8.4.0.tar.bz2
md5sum = 1a61fde1fe5c7db5c29c1196435188a5
configure-options =
  --disable-static
  --disable-ech
  --disable-ldap
  --disable-ldaps
  --disable-rtsp
  --disable-dict
  --disable-telnet
  --disable-tftp
  --disable-pop3
  --disable-imap
  --disable-smtp
  --disable-gopher
  --disable-mqtt
  --disable-manual
  --enable-ipv6
  --disable-sspi
  ${:ALT-SVC}
  --with-zlib=${zlib:location}
  --with-ssl=${:OPENSSL}
  --with-ca-path=${:OPENSSL}/etc/ssl/certs
  --without-gnutls
  --without-polarssl
  --without-mbedtls
  --without-mesalink
  --without-nss
  --without-libpsl
  --without-libgsasl
  --without-libssh2
  --without-libssh
  --without-librtmp
  --with-libidn2=${libidn2:location}
  --with-nghttp2=${nghttp2:location}
  --without-ngtcp2
  --without-nghttp3
  --without-quiche
  --without-zsh-functions-dir
  --without-fish-functions-dir
  --without-brotli
  --with-zstd=${zstd:location}
  --without-gssapi
  ${:WITH}

ALT-SVC = --disable-alt-svc
LDFLAGS =
OPENSSL = ${openssl:location}
PKG_CONFIG_PATH =
WITH =

environment =
  PATH=${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
  PKG_CONFIG_PATH=${:OPENSSL}/lib/pkgconfig:${nghttp2:location}/lib/pkgconfig:${libidn2:location}/lib/pkgconfig${:PKG_CONFIG_PATH}
  LDFLAGS=-Wl,-rpath=${libidn2:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${:OPENSSL}/lib -Wl,-rpath=${nghttp2:location}/lib -Wl,-rpath=${zstd:location}/lib ${:LDFLAGS}

[curl-http3]
<= curl

ALT-SVC = --enable-alt-svc
LDFLAGS = -Wl,-rpath=${nghttp3:location}/lib -Wl,-rpath=${ngtcp2:location}/lib
OPENSSL = ${openssl-quictls:location}
PKG_CONFIG_PATH = :${nghttp3:location}/lib/pkgconfig:${ngtcp2:location}/lib/pkgconfig
WITH =
  --with-nghttp3=${nghttp3:location}
  --with-ngtcp2=${ngtcp2:location}