| # Maintainer: Alexey Pavlov <alexpux@gmail.com> |
| |
| _variant=-openssl |
| #_variant=-winssl |
| #_variant=-gnutls |
| |
| if [ "${_variant}" = "-openssl" ]; then |
| _namesuff= |
| else |
| _namesuff="${_variant}" |
| fi |
| |
| _realname=curl |
| pkgbase=mingw-w64-${_realname} |
| pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}${_namesuff}" |
| pkgver=7.77.0 |
| pkgrel=2 |
| pkgdesc="Command line tool and library for transferring data with URLs. (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') |
| url="https://curl.se/" |
| license=("MIT") |
| makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" |
| "${MINGW_PACKAGE_PREFIX}-pkg-config") |
| depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" |
| "${MINGW_PACKAGE_PREFIX}-c-ares" |
| "${MINGW_PACKAGE_PREFIX}-brotli" |
| "${MINGW_PACKAGE_PREFIX}-libidn2" |
| "${MINGW_PACKAGE_PREFIX}-libmetalink" |
| "${MINGW_PACKAGE_PREFIX}-libpsl" |
| "${MINGW_PACKAGE_PREFIX}-libssh2" |
| "${MINGW_PACKAGE_PREFIX}-zlib" |
| "${MINGW_PACKAGE_PREFIX}-zstd" |
| $([[ "$_variant" == "-openssl" ]] && echo \ |
| "${MINGW_PACKAGE_PREFIX}-ca-certificates" \ |
| "${MINGW_PACKAGE_PREFIX}-openssl" \ |
| "${MINGW_PACKAGE_PREFIX}-nghttp2") |
| $([[ "$_variant" == "-gnutls" ]] && echo \ |
| "${MINGW_PACKAGE_PREFIX}-rtmpdump" \ |
| "${MINGW_PACKAGE_PREFIX}-ca-certificates" \ |
| "${MINGW_PACKAGE_PREFIX}-gnutls") |
| ) |
| if [ -n "${_namesuff}" ]; then |
| provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| fi |
| options=('staticlibs') |
| source=("https://github.com/curl/curl/releases/download/${_realname}-${pkgver//./_}/${_realname}-${pkgver}.tar.xz"{,.asc} |
| "0001-Make-cURL-relocatable.patch" |
| "0002-nghttp2-static.patch" |
| "0003-libpsl-static-libs.patch") |
| sha256sums=('0f64582c54282f31c0de9f0a1a596b182776bd4df9a4c4a2a41bbeb54f62594b' |
| 'SKIP' |
| 'bf160265eafc7d29ab760bfa7a32588ecabf8da2f4d22aac9ef2a080d6d96836' |
| '79eec8a337e375d5102fef884030ceacd163a79e5c495e9a974a6b9a11b60c61' |
| '7492d019036b5bec251bfbc3c0b40e5f16d3dd6b2515068835e087a6c21f19ad') |
| validpgpkeys=('914C533DF9B2ADA2204F586D78E11C6B279D5C91' # Daniel Stenberg |
| '27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' |
| '4461EAF0F8E9097F48AF0555F9FEAFF9D34A1BDB') |
| |
| prepare() { |
| cd "${srcdir}/${_realname}-${pkgver}" |
| rm -f lib/pathtools.h lib/pathtools.c > /dev/null 2>&1 || true |
| patch -p1 -i "${srcdir}/0001-Make-cURL-relocatable.patch" |
| patch -p1 -i "${srcdir}/0002-nghttp2-static.patch" |
| patch -p1 -i "${srcdir}/0003-libpsl-static-libs.patch" |
| autoreconf -vfi |
| } |
| |
| build() { |
| local -a extra_config |
| if check_option "debug" "y"; then |
| extra_config+=( --enable-debug ) |
| else |
| extra_config+=( --disable-debug ) |
| fi |
| |
| local -a _variant_config |
| if [ "${_variant}" = "-winssl" ]; then |
| _variant_config+=("--with-schannel") |
| _variant_config+=('--without-nghttp2') |
| _variant_config+=("--without-ca-bundle") |
| _variant_config+=("--without-ca-path") |
| _variant_config+=("--without-librtmp") |
| elif [ "${_variant}" = "-gnutls" ]; then |
| _variant_config+=("--with-default-ssl-backend=gnutls") |
| _variant_config+=("--with-gnutls") |
| _variant_config+=("--with-schannel") |
| _variant_config+=('--without-nghttp2') |
| _variant_config+=("--with-ca-bundle=${MINGW_PREFIX}/ssl/certs/ca-bundle.crt") |
| _variant_config+=("--with-librtmp") |
| elif [ "${_variant}" = "-openssl" ]; then |
| _variant_config+=("--with-default-ssl-backend=openssl") |
| _variant_config+=("--with-openssl") |
| _variant_config+=("--with-schannel") |
| _variant_config+=("--with-ca-bundle=${MINGW_PREFIX}/ssl/certs/ca-bundle.crt") |
| _variant_config+=("--with-nghttp2=${MINGW_PREFIX}") |
| _variant_config+=("--without-librtmp") |
| fi |
| |
| mkdir -p "${srcdir}/build-static-${MSYSTEM}" && cd "${srcdir}/build-static-${MSYSTEM}" |
| ../${_realname}-${pkgver}/configure \ |
| --prefix=${MINGW_PREFIX} \ |
| --build=${MINGW_CHOST} \ |
| --host=${MINGW_CHOST} \ |
| --target=${MINGW_CHOST} \ |
| --without-random \ |
| --enable-static \ |
| --disable-shared \ |
| --enable-sspi \ |
| --enable-ldap \ |
| --enable-ldaps \ |
| --with-brotli \ |
| --with-ldap-lib=wldap32 \ |
| --with-libmetalink=${MINGW_PREFIX} \ |
| --with-libssh2 \ |
| --with-zstd \ |
| "${_variant_config[@]}" \ |
| "${extra_config[@]}" |
| # there's a bug with zsh completion generation script and Windows. |
| # curl has to specified with the file extension. |
| sed -i "s|\/curl > \$\@|\/curl\$\{EXEEXT\} > \$\@|" scripts/Makefile |
| make |
| |
| mkdir -p "${srcdir}/build-shared-${MSYSTEM}" && cd "${srcdir}/build-shared-${MSYSTEM}" |
| ../${_realname}-${pkgver}/configure \ |
| --prefix=${MINGW_PREFIX} \ |
| --build=${MINGW_CHOST} \ |
| --host=${MINGW_CHOST} \ |
| --target=${MINGW_CHOST} \ |
| --without-random \ |
| --disable-static \ |
| --enable-shared \ |
| --enable-sspi \ |
| --enable-ldap \ |
| --enable-ldaps \ |
| --with-brotli \ |
| --with-ldap-lib=wldap32 \ |
| --with-libmetalink=${MINGW_PREFIX} \ |
| --with-libssh2 \ |
| --with-zstd \ |
| "${_variant_config[@]}" \ |
| "${extra_config[@]}" |
| # there's a bug with zsh completion generation script and Windows. |
| # curl has to specified with the file extension. |
| sed -i "s|\/curl > \$\@|\/curl\$\{EXEEXT\} > \$\@|" scripts/Makefile |
| make |
| } |
| |
| package() { |
| cd "${srcdir}/build-static-${MSYSTEM}" |
| make DESTDIR="${pkgdir}" install |
| |
| cd "${srcdir}/build-shared-${MSYSTEM}" |
| make DESTDIR="${pkgdir}" install |
| |
| local PREFIX_DEPS=$(cygpath -am ${MINGW_PREFIX}) |
| sed -s "s|${PREFIX_DEPS}|${MINGW_PREFIX}|g" -i ${pkgdir}${MINGW_PREFIX}/bin/curl-config |
| } |