summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO66
-rw-r--r--PKGBUILD165
2 files changed, 181 insertions, 50 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 497f5ad8ce20..249c07457f43 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,27 +1,67 @@
pkgbase = curl-git
- pkgdesc = An URL retrieval utility and library
- pkgver = 7.72.0
- pkgrel = 1
- url = https://curl.haxx.se
+ pkgdesc = A command line tool and library for transferring data with URLs
+ pkgver = 8.4.0.r38.gd31a8424e8
+ pkgrel = 2
+ url = https://curl.se/
+ arch = i686
arch = x86_64
license = MIT
+ makedepends = git
+ makedepends = gnutls
+ makedepends = openssl
+ makedepends = patchelf
+ depends = glibc
depends = ca-certificates
+ depends = brotli
depends = krb5
+ depends = libbrotlidec.so
+ depends = libgssapi_krb5.so
+ depends = libidn2
+ depends = libidn2.so
+ depends = libnghttp2
+ depends = libpsl
+ depends = libpsl.so
depends = libssh2
depends = libssh2.so
- depends = openssl
+ depends = libzstd.so
depends = zlib
- depends = libpsl
- depends = libpsl.so
- depends = libnghttp2
+ depends = zstd
+ options = staticlibs
+ source = git+https://github.com/curl/curl.git
+ sha256sums = SKIP
+
+pkgname = curl-git
+ depends = glibc
+ depends = ca-certificates
+ depends = brotli
+ depends = krb5
+ depends = libbrotlidec.so
+ depends = libgssapi_krb5.so
depends = libidn2
depends = libidn2.so
+ depends = libnghttp2
+ depends = libpsl
+ depends = libpsl.so
+ depends = libssh2
+ depends = libssh2.so
+ depends = libzstd.so
+ depends = zlib
depends = zstd
- provides = libcurl.so
- provides = curl
+ depends = openssl
+ provides = curl=8.4.0.r38.gd31a8424e8
conflicts = curl
- source = git+https://github.com/curl/curl
- sha512sums = SKIP
-pkgname = curl-git
+pkgname = libcurl-compat-git
+ pkgdesc = A command line tool and library for transferring data with URLs (no versioned symbols)
+ depends = curl
+ provides = libcurl-compat=8.4.0.r38.gd31a8424e8
+ provides = libcurl-compat.so
+ conflicts = libcurl-compat
+pkgname = libcurl-gnutls-git
+ pkgdesc = A command line tool and library for transferring data with URLs (no versioned symbols, linked against gnutls)
+ depends = curl
+ depends = gnutls
+ provides = libcurl-gnutls=8.4.0.r38.gd31a8424e8
+ provides = libcurl-gnutls.so
+ conflicts = libcurl-gnutls
diff --git a/PKGBUILD b/PKGBUILD
index 9131e2fbe5ea..25d0b2cac18a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,56 +1,147 @@
-# Maintainer: Vincent Grande <shoober420@gmail.com>
+# Maintainer: Chocobo1 <chocobo1 AT archlinux DOT net>
+# Previous maintainer: Luis Martinez <luis dot martinez at disroot dot org>
+# Contributor: Vincent Grande <shoober420@gmail.com>
# Contributor: Dave Reisner <dreisner@archlinux.org>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
-pkgname=curl-git
-pkgver=7.72.0
-pkgrel=1
-pkgdesc="An URL retrieval utility and library"
-arch=('x86_64')
-url="https://curl.haxx.se"
+pkgbase=curl-git
+pkgname=('curl-git' 'libcurl-compat-git' 'libcurl-gnutls-git')
+pkgver=8.4.0.r38.gd31a8424e8
+pkgrel=2
+pkgdesc="A command line tool and library for transferring data with URLs"
+arch=('i686' 'x86_64')
+url="https://curl.se/"
license=('MIT')
-depends=('ca-certificates' 'krb5' 'libssh2' 'libssh2.so' 'openssl' 'zlib'
- 'libpsl' 'libpsl.so' 'libnghttp2' 'libidn2' 'libidn2.so' 'zstd')
-provides=('libcurl.so' curl)
-conflicts=(curl)
-source=("git+https://github.com/curl/curl")
-sha512sums=('SKIP')
+depends=('glibc' 'ca-certificates' 'brotli' 'krb5' 'libbrotlidec.so' 'libgssapi_krb5.so'
+ 'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so'
+ 'libzstd.so' 'zlib' 'zstd')
+makedepends=('git' 'gnutls' 'openssl' 'patchelf')
+options=('staticlibs')
+source=("git+https://github.com/curl/curl.git")
+sha256sums=('SKIP')
+
pkgver() {
- cd curl
- git describe --tags | sed 's/-/+/g'
+ cd "curl"
+
+ _tag=$(git tag -l --sort -v:refname | grep -E '^curl-[0-9_]+$' | head -n1)
+ _rev=$(git rev-list --count $_tag..HEAD)
+ _hash=$(git rev-parse --short HEAD)
+ printf "%s.r%s.g%s" "$_tag" "$_rev" "$_hash" | sed 's/^curl-//;s/_/./g'
}
build() {
- cd curl
-
- ./buildconf
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --disable-ldap \
- --disable-ldaps \
- --disable-manual \
- --enable-ipv6 \
- --enable-versioned-symbols \
- --enable-threaded-resolver \
- --with-gssapi \
- --with-libssh2 \
- --with-random=/dev/urandom \
- --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+ cd "curl"
+
+ local _configure_options=(
+ --prefix="/usr"
+ --disable-ldap
+ --disable-ldaps
+ --disable-manual
+ --enable-ipv6
+ --enable-threaded-resolver
+ --with-ca-bundle="/etc/ssl/certs/ca-certificates.crt"
+ --with-gssapi
+ --with-libssh2
+ )
+ autoreconf -fi
+
+ mkdir -p _build{-curl,-libcurl-compat,-libcurl-gnutls}
+
+ # build curl
+ pushd "_build-curl"
+ ../configure \
+ "${_configure_options[@]}" \
+ --enable-versioned-symbols \
+ --with-openssl
make
+ popd
+
+ # build libcurl-compat
+ pushd "_build-libcurl-compat"
+ ../configure \
+ "${_configure_options[@]}" \
+ --disable-versioned-symbols \
+ --with-openssl
+ make -C "lib"
+ popd
+
+ # build libcurl-gnutls
+ pushd "_build-libcurl-gnutls"
+ ../configure \
+ "${_configure_options[@]}" \
+ --disable-versioned-symbols \
+ --with-gnutls \
+ --without-openssl
+ make -C "lib"
+ patchelf --set-soname 'libcurl-gnutls.so.4' "lib/.libs/libcurl.so"
+ popd
+}
+
+check() {
+ cd "curl"
+
+ #make -C "_build-curl" check
+}
+
+package_curl-git() {
+ depends+=('openssl')
+ provides=("curl=$pkgver")
+ conflicts=('curl')
+
+ cd "curl"
+
+ make -C "_build-curl" DESTDIR="$pkgdir" install
+ make -C "_build-curl/scripts" DESTDIR="$pkgdir" install
+ install -Dm644 "COPYING" -t "$pkgdir/usr/share/licenses/curl"
+}
+
+package_libcurl-compat-git() {
+ pkgdesc='A command line tool and library for transferring data with URLs (no versioned symbols)'
+ depends=('curl')
+ provides=("libcurl-compat=$pkgver" 'libcurl-compat.so')
+ conflicts=('libcurl-compat')
+
+ cd "curl"
+
+ make -C "_build-libcurl-compat/lib" DESTDIR="$pkgdir" install
+
+ mv "$pkgdir/usr/lib/libcurl.a" "$pkgdir/usr/lib/libcurl-compat.a"
+
+ _version_full=$(find "$pkgdir/usr/lib" -type f | grep .so | tail -c 6)
+ _version_major=$(echo "$_version_full" | head -c 1)
+ rm "$pkgdir/usr/lib/libcurl.so"
+ rm "$pkgdir/usr/lib/libcurl.so.$_version_major"
+ mv "$pkgdir/usr/lib/libcurl.so.$_version_full" "$pkgdir/usr/lib/libcurl-compat.so.$_version_full"
+ ln -s "libcurl-compat.so.$_version_full" "$pkgdir/usr/lib/libcurl-compat.so"
+ ln -s "libcurl-compat.so.$_version_full" "$pkgdir/usr/lib/libcurl-compat.so.$_version_major"
+
+ install -Dm644 "COPYING" -t "$pkgdir/usr/share/licenses/libcurl-compat"
}
-package() {
- cd curl
+package_libcurl-gnutls-git() {
+ pkgdesc="A command line tool and library for transferring data with URLs (no versioned symbols, linked against gnutls)"
+ depends=('curl' 'gnutls')
+ provides=("libcurl-gnutls=$pkgver" 'libcurl-gnutls.so')
+ conflicts=('libcurl-gnutls')
+
+ cd "curl"
+
+ make -C "_build-libcurl-gnutls/lib" DESTDIR="$pkgdir" install
+
+ mv "$pkgdir/usr/lib/libcurl.a" "$pkgdir/usr/lib/libcurl-gnutls.a"
- make DESTDIR="$pkgdir" install
- make DESTDIR="$pkgdir" install -C scripts
+ _version_full=$(find "$pkgdir/usr/lib" -type f | grep .so | tail -c 6)
+ _version_major=$(echo "$_version_full" | head -c 1)
+ rm "$pkgdir/usr/lib/libcurl.so"
+ rm "$pkgdir/usr/lib/libcurl.so.$_version_major"
+ mv "$pkgdir/usr/lib/libcurl.so.$_version_full" "$pkgdir/usr/lib/libcurl-gnutls.so.$_version_full"
+ ln -s "libcurl-gnutls.so.$_version_full" "$pkgdir/usr/lib/libcurl-gnutls.so"
+ ln -s "libcurl-gnutls.so.$_version_full" "$pkgdir/usr/lib/libcurl-gnutls.so.$_version_major"
- # license
- install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING
+ install -Dm644 "COPYING" -t "$pkgdir/usr/share/licenses/libcurl-gnutls"
}