diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 72 |
1 files changed, 39 insertions, 33 deletions
@@ -1,45 +1,44 @@ # Maintainer: Hendrik 'T4cC0re' Meyer <aur@t4cc0.re> pkgname=curl-http3 -pkgver=7.71.1 +pkgver=8.6.0 pkgrel=1 pkgdesc="An URL retrieval utility and library - compiled with HTTP/3 support - binary is called curl3" arch=('x86_64') url="https://curl.haxx.se" license=('MIT') -depends=('ca-certificates' 'openssl' 'zlib' 'libpsl' 'libnghttp2' - 'libidn2' 'libidn2.so') +depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'libgssapi_krb5.so' + 'krb5' 'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' + 'libssh2' 'libssh2.so' 'openssl' 'zlib' 'zstd' 'libzstd.so') makedepends=('rust' 'git' 'go' 'cmake') -source=("https://curl.haxx.se/download/curl-$pkgver.tar.gz"{,.asc}) +_quiche_ref=0.20.0 +source=("https://curl.haxx.se/download/curl-$pkgver.tar.gz"{,.asc} + "git+https://github.com/cloudflare/quiche.git#tag=${_quiche_ref}" + "git+https://github.com/google/boringssl.git") validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg -#source=("curl-$pkgver.zip::https://github.com/curl/curl/archive/master.zip") -# Master as of 2020-06-24 -_quiche_ref=de78c58d44556967f90fb6480312aa3f4d4e396d - -build(){ - rm -rf quiche - ## Build quiche - mkdir quiche +prepare() { cd quiche - git init - git remote add origin https://github.com/cloudflare/quiche.git - git fetch --depth 1 origin ${_quiche_ref} - git checkout FETCH_HEAD - git submodule update --init --recursive - - cargo build --release --features pkg-config-meta,qlog - mkdir deps/boringssl/lib - ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) deps/boringssl/lib/ + git revert -n a1b212761c6cc0b77b9121cdc313e507daf6deb3 + git submodule init + git config submodule.boringssl.url "${srcdir}"/boringssl + git -c protocol.file.allow=always submodule update quiche/deps/boringssl +} +build() { + #Build quiche + cd quiche + CFLAGS+=' -ffat-lto-objects' + cargo build --package quiche --release --features ffi,pkg-config-meta,qlog + mkdir quiche/deps/boringssl/src/lib + ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) quiche/deps/boringssl/src/lib/ cd .. ## Build curl cd "curl-${pkgver}" - ./buildconf + autoreconf -fi ## Arch Linux build flags + BoringSSL and quiche - ./configure \ - LDFLAGS="-Wl,-rpath,${PWD}/../quiche/target/release" \ - --with-ssl=$PWD/../quiche/deps/boringssl \ + env LDFLAGS=${LDFLAGS:--Wl}",-L,${PWD}/../quiche/target/release" ./configure \ + --with-openssl=$PWD/../quiche/quiche/deps/boringssl/src \ --with-quiche=$PWD/../quiche/target/release \ --enable-alt-svc \ --prefix=/usr \ @@ -50,6 +49,8 @@ build(){ --disable-shared \ --enable-ipv6 \ --enable-threaded-resolver \ + --with-gssapi \ + --with-libssh2 \ --with-random=/dev/urandom \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt make @@ -57,23 +58,28 @@ build(){ package() { cd "curl-${pkgver}" -# cd "curl-master" make DESTDIR="$pkgdir" install - make DESTDIR="$pkgdir" install -C scripts + LD_LIBRARY_PATH=$PWD/../quiche/target/release${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} make DESTDIR="$pkgdir" install -C scripts - # license - install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING cd .. - + # rename curl to avoid conflicts mv "${pkgdir}/usr/bin/curl" "${pkgdir}/usr/bin/curl3" mv "${pkgdir}/usr/bin/curl-config" "${pkgdir}/usr/bin/curl-config3" # Remove stuff that would conflict with core/curl rm -rf "${pkgdir}/usr/lib" "${pkgdir}/usr/share" "${pkgdir}/usr/include" - - # libquice is requried + + # libquice is required install -Dm755 quiche/target/release/libquiche.so "${pkgdir}/usr/lib/libquiche.so" + + # license + install -Dm644 "curl-${pkgver}"/COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm644 quiche/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-quiche" + install -Dm644 quiche/quiche/deps/boringssl/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-boringssl" } -sha512sums=(614f8d67e6ee942cb5e57f2da1a3faaf84ebff549ffe383aaf3751a4de3c8874ff482076afa27a52e910a137dec9b0f6e98265dc7d4ad7c95845b63f39236fd4 SKIP) +sha512sums=('43fdb6b81b394f3382d353d5f57673b2b3d26cfe34b25d08a526bc0597f508d5298e5a7088d0736d1f139cad19cd922affa51533c3a5a4bb5f2de68891c2958d' + 'SKIP' + 'SKIP' + 'SKIP') |