Date: Thursday, February 16, 2023 @ 09:42:54
  Author: eworm
Revision: 1400815

upgpkg: lib32-curl 7.88.0-3: build from git, collect upstream fixes

Modified:
  lib32-curl/trunk/PKGBUILD
Deleted:
  lib32-curl/trunk/0001-Revert-http2-minor-buffer-and-error-path-fixes.patch

-----------------------------------------------------------+
 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch |   56 --------
 PKGBUILD                                                  |   77 +++++++-----
 2 files changed, 50 insertions(+), 83 deletions(-)

Deleted: 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch
===================================================================
--- 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch   2023-02-16 
09:17:37 UTC (rev 1400814)
+++ 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch   2023-02-16 
09:42:54 UTC (rev 1400815)
@@ -1,56 +0,0 @@
-From 7c5f90353e2e107b9464a73dbdd58e5cc90ec22f Mon Sep 17 00:00:00 2001
-From: Christian Hesse <[email protected]>
-Date: Wed, 15 Feb 2023 12:22:41 +0100
-Subject: [PATCH 1/1] Revert "http2: minor buffer and error path fixes"
-
-This reverts commit 8c762f59983a3e9e2b80fdb34aa5e08f1d9a1c7d.
----
- lib/http2.c                         | 17 ++++-------------
- tests/tests-httpd/test_05_errors.py | 18 +++++++-----------
- 2 files changed, 11 insertions(+), 24 deletions(-)
-
-diff --git a/lib/http2.c b/lib/http2.c
-index 46fc74645..db968ed2d 100644
---- a/lib/http2.c
-+++ b/lib/http2.c
-@@ -1905,9 +1905,8 @@ static ssize_t cf_h2_recv(struct Curl_cfilter *cf, 
struct Curl_easy *data,
- 
-   if(stream->memlen) {
-     ssize_t retlen = stream->memlen;
--
--    /* TODO: all this buffer handling is very brittle */
--    stream->len += stream->memlen;
-+    DEBUGF(LOG_CF(data, cf, "[h2sid=%u] recv: returns %zd",
-+                  stream->stream_id, retlen));
-     stream->memlen = 0;
- 
-     if(ctx->pause_stream_id == stream->stream_id) {
-@@ -1919,10 +1918,6 @@ static ssize_t cf_h2_recv(struct Curl_cfilter *cf, 
struct Curl_easy *data,
-       Curl_expire(data, 0, EXPIRE_RUN_NOW);
-     }
-     else if(stream->closed) {
--      if(stream->reset || stream->error) {
--        nread = http2_handle_stream_close(cf, data, stream, err);
--        goto out;
--      }
-       /* this stream is closed, trigger a another read ASAP to detect that */
-       DEBUGF(LOG_CF(data, cf, "[h2sid=%u] is closed now, run again",
-                     stream->stream_id));
-@@ -1934,15 +1929,11 @@ static ssize_t cf_h2_recv(struct Curl_cfilter *cf, 
struct Curl_easy *data,
-     }
- 
-     nread = retlen;
--    DEBUGF(LOG_CF(data, cf, "[h2sid=%u] cf_h2_recv -> %zd",
--                  stream->stream_id, nread));
-     goto out;
-   }
- 
--  if(stream->closed) {
--    nread = http2_handle_stream_close(cf, data, stream, err);
--    goto out;
--  }
-+  if(stream->closed)
-+    return http2_handle_stream_close(cf, data, stream, err);
- 
-   if(!data->state.drain && Curl_conn_cf_data_pending(cf->next, data)) {
-     DEBUGF(LOG_CF(data, cf, "[h2sid=%u] pending data, set drain",

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-02-16 09:17:37 UTC (rev 1400814)
+++ PKGBUILD    2023-02-16 09:42:54 UTC (rev 1400815)
@@ -7,42 +7,48 @@
 
 pkgbase=lib32-curl
 pkgname=(lib32-curl lib32-libcurl-compat lib32-libcurl-gnutls)
-pkgver=7.88.0
-pkgrel=2
+_tag='67c55cb8b3f5a530478201fd780a533fce92b2eb' # git rev-parse v${_tag_name}
+_tag_name='7_88_0'
+pkgver="${_tag_name//_/.}"
+pkgrel=3
 pkgdesc='An URL retrieval utility and library (32-bit)'
 arch=('x86_64')
-url='https://curl.haxx.se'
+url='https://curl.haxx.se/'
 license=('MIT')
 depends=('curl' 'lib32-brotli' 'lib32-libidn2' 'lib32-libssh2' 'lib32-krb5'
          'lib32-libpsl' 'lib32-zlib' 'lib32-zstd')
-makedepends=('lib32-gnutls' 'lib32-openssl')
+makedepends=('git' 'lib32-gnutls' 'lib32-openssl')
 provides=('libcurl.so')
-source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc}
-        '0001-Revert-http2-minor-buffer-and-error-path-fixes.patch')
-sha512sums=('bfaac71e97a45d884be410872a55fdb365f9d03c11620fb12e82c7f26dbbb6a417b51dd0dc2a3631e95fb36e37a72c7f73fd6cf5f796c154f1424395c03c22cb'
-            'SKIP'
-            
'c06b5738290394e20c666fbb9d0f4b08ce5a3c668dd1ae2d6271b42235526b929c1caac1238aa05bc541a82eb6c9678a81f7d8dc2c3ad282188f934b9b036699')
 validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
+source=("git+https://github.com/bagder/curl.git#tag=${_tag}?signed";)
+sha512sums=('SKIP')
 
-_configure_options=(
-  --prefix='/usr'
-  --disable-dependency-tracking
-  --disable-ldap
-  --disable-ldaps
-  --enable-ipv6
-  --enable-manual
-  --enable-threaded-resolver
-  --with-gssapi
-  --with-libssh2
-  --with-random='/dev/urandom'
-  --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
-  --libdir='/usr/lib32'
+_backports=(
+  # git master
+  'curl-7_88_0..8c939453f587b8565af33927361edf40b48544ea'
 )
 
+_reverts=(
+)
+
 prepare() {
-  cd "${srcdir}/curl-${pkgver}"
+  cd curl
 
-  patch -Np1 < ../0001-Revert-http2-minor-buffer-and-error-path-fixes.patch
+  local _c
+  for _c in "${_backports[@]}"; do
+    if [[ $_c == *..* ]]; then
+      git log --oneline --reverse "${_c}"
+    else
+      git log --oneline -1 "${_c}"
+    fi
+    git cherry-pick -n -m1 "${_c}"
+  done
+  for _c in "${_reverts[@]}"; do
+    git log --oneline -1 "${_c}"
+    git revert -n "${_c}"
+  done
+
+  autoreconf -fi
 }
 
 build() {
@@ -50,12 +56,27 @@
   export CXX="g++ -m32"
   export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
 
+  local _configure_options=(
+    --prefix='/usr'
+    --disable-dependency-tracking
+    --disable-ldap
+    --disable-ldaps
+    --enable-ipv6
+    --enable-manual
+    --enable-threaded-resolver
+    --with-gssapi
+    --with-libssh2
+    --with-random='/dev/urandom'
+    --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
+    --libdir='/usr/lib32'
+  )
+
   mkdir build-curl{,-compat,-gnutls}
 
   # build lib32-curl
   cd "${srcdir}"/build-curl
 
-  "${srcdir}/curl-${pkgver}"/configure \
+  "${srcdir}/curl"/configure \
     "${_configure_options[@]}" \
     --with-openssl \
     --enable-versioned-symbols
@@ -66,7 +87,7 @@
   # build lib32-libcurl-compat
   cd "${srcdir}"/build-curl-compat
 
-  "${srcdir}/curl-${pkgver}"/configure \
+  "${srcdir}/curl"/configure \
     "${_configure_options[@]}" \
     --with-openssl \
     --disable-versioned-symbols
@@ -76,7 +97,7 @@
   # build lib32-libcurl-gnutls
   cd "${srcdir}"/build-curl-gnutls
 
-  "${srcdir}/curl-${pkgver}"/configure \
+  "${srcdir}/curl"/configure \
     "${_configure_options[@]}" \
     --disable-versioned-symbols \
     --without-openssl \
@@ -101,6 +122,7 @@
 package_lib32-libcurl-compat() {
   pkgdesc='An URL retrieval utility and library (32-bit, without versioned 
symbols)'
   depends+=('lib32-openssl')
+  provides=('libcurl-compat.so')
 
   cd "${srcdir}"/build-curl-compat
 
@@ -120,6 +142,7 @@
 package_lib32-libcurl-gnutls() {
   pkgdesc='An URL retrieval utility and library (32-bit, without versioned 
symbols and linked against gnutls)'
   depends+=('lib32-gnutls')
+  provides=('libcurl-gnutls.so')
 
   cd "${srcdir}"/build-curl-gnutls
 

Reply via email to