diff --git a/curl/0001-typecheck_accept_expressions_for_option_info_parameters.patch b/curl/0001-typecheck_accept_expressions_for_option_info_parameters.patch new file mode 100644 index 0000000..6da4dda --- /dev/null +++ b/curl/0001-typecheck_accept_expressions_for_option_info_parameters.patch @@ -0,0 +1,52 @@ +From e2aed004302e51cfa5b6ce8c8ab65ef92aa83196 Mon Sep 17 00:00:00 2001 +From: Patrick Monnerat +Date: Fri, 23 Dec 2022 15:35:27 +0100 +Subject: typecheck: accept expressions for option/info parameters + +As expressions can have side effects, evaluate only once. + +To enable deprecation reporting only once, get rid of the __typeof__ +use to define the local temporary variable and use the target type +(CURLoption/CURLINFO). This also avoids multiple reports on type +conflicts (if some) by the curlcheck_* macros. + +Note that CURLOPT_* and CURLINFO_* symbols may be deprecated, but not +their values: a curl_easy_setopt call with an integer constant as option +will never report a deprecation. + +Reported-by: Thomas Klausner +Fixes #10148 +Closes #10149 +--- + include/curl/typecheck-gcc.h | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/include/curl/typecheck-gcc.h b/include/curl/typecheck-gcc.h +index bf655bb632..85aa8b7b49 100644 +--- a/include/curl/typecheck-gcc.h ++++ b/include/curl/typecheck-gcc.h +@@ -42,9 +42,8 @@ + */ + #define curl_easy_setopt(handle, option, value) \ + __extension__({ \ +- CURL_IGNORE_DEPRECATION(__typeof__(option) _curl_opt = option;) \ ++ CURLoption _curl_opt = (option); \ + if(__builtin_constant_p(_curl_opt)) { \ +- (void) option; \ + CURL_IGNORE_DEPRECATION( \ + if(curlcheck_long_option(_curl_opt)) \ + if(!curlcheck_long(value)) \ +@@ -120,9 +119,8 @@ + /* wraps curl_easy_getinfo() with typechecking */ + #define curl_easy_getinfo(handle, info, arg) \ + __extension__({ \ +- CURL_IGNORE_DEPRECATION(__typeof__(info) _curl_info = info;) \ ++ CURLINFO _curl_info = (info); \ + if(__builtin_constant_p(_curl_info)) { \ +- (void) info; \ + CURL_IGNORE_DEPRECATION( \ + if(curlcheck_string_info(_curl_info)) \ + if(!curlcheck_arr((arg), char *)) \ +-- +cgit v1.2.3-53-g9071 + diff --git a/curl/PKGBUILD b/curl/PKGBUILD index 8c3cbdb..83db27c 100644 --- a/curl/PKGBUILD +++ b/curl/PKGBUILD @@ -8,7 +8,7 @@ pkgbase=curl pkgname=(curl libcurl-compat libcurl-gnutls) pkgver=7.87.0 -pkgrel=01 +pkgrel=02 pkgdesc='An URL retrieval utility and library - w/o ipv6 & zstd' arch=('x86_64') url='https://curl.haxx.se' @@ -18,8 +18,8 @@ depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so' 'openssl' 'zlib') makedepends=('patchelf') provides=('libcurl.so') -source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}) -# '0001-noproxy.patch') +source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc} + '0001-typecheck_accept_expressions_for_option_info_parameters.patch') _configure_options=( --prefix='/usr' @@ -37,11 +37,11 @@ _configure_options=( --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' ) -#prepare() { -# cd "${srcdir}/${pkgbase}-${pkgver}" -# -# patch -Np1 < "${srcdir}"/0001-noproxy.patch -#} +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -Np1 < ../0001-typecheck_accept_expressions_for_option_info_parameters.patch +} build() { mkdir build-curl{,-compat,-gnutls} @@ -135,8 +135,10 @@ license=('MIT') validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg sha256sums=(8a063d664d1c23d35526b87a2bf15514962ffdd8ef7fd40519191b3c23e39548 # curl-7.87.0.tar.gz - 0b2d605653367adeaee6f33d190c0791b6809afd6b6469468bd2c1d532409ab8) # curl-7.87.0.tar.gz.asc + 0b2d605653367adeaee6f33d190c0791b6809afd6b6469468bd2c1d532409ab8 # curl-7.87.0.tar.gz.asc + 15b85263f8b8a7acbfa0861d71ce994cbe26c1a67e7de6749cb11831e34a481f) # 0001-typecheck_accept_expressions_for_option_info_parameters.patch -sha512sums=('939be5a7d82f7ed4e96173639aa50f5e6748b387d3f458f3845c584ad24d15d77b8cd64f4f2dc11bcc207b097d125d1dc713a9769964e3d4766182a217e9898d' - 'SKIP') +sha512sums=(939be5a7d82f7ed4e96173639aa50f5e6748b387d3f458f3845c584ad24d15d77b8cd64f4f2dc11bcc207b097d125d1dc713a9769964e3d4766182a217e9898d + SKIP + 89bacef6d58f296c4a21e0bf669b94b8dd771aae7a3897b445b7d98a0cf006e6131ed9a26d8e10aef4605c5a9d63030332ca5e32e8bae35e8a1844f1ae2c47a1) diff --git a/curl/PKGBUILD-arch b/curl/PKGBUILD-arch index dcb33ce..84c387e 100644 --- a/curl/PKGBUILD-arch +++ b/curl/PKGBUILD-arch @@ -7,7 +7,7 @@ pkgbase=curl pkgname=(curl libcurl-compat libcurl-gnutls) pkgver=7.87.0 -pkgrel=1 +pkgrel=2 pkgdesc='An URL retrieval utility and library' arch=('x86_64') url='https://curl.haxx.se' @@ -18,9 +18,11 @@ depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so' 'openssl' 'zlib' 'zstd' 'libzstd.so') makedepends=('patchelf') provides=('libcurl.so') -source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}) +source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc} + '0001-typecheck_accept_expressions_for_option_info_parameters.patch') sha512sums=('939be5a7d82f7ed4e96173639aa50f5e6748b387d3f458f3845c584ad24d15d77b8cd64f4f2dc11bcc207b097d125d1dc713a9769964e3d4766182a217e9898d' - 'SKIP') + 'SKIP' + '89bacef6d58f296c4a21e0bf669b94b8dd771aae7a3897b445b7d98a0cf006e6131ed9a26d8e10aef4605c5a9d63030332ca5e32e8bae35e8a1844f1ae2c47a1') validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg _configure_options=( @@ -37,6 +39,12 @@ _configure_options=( --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' ) +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -Np1 < ../0001-typecheck_accept_expressions_for_option_info_parameters.patch +} + build() { mkdir build-curl{,-compat,-gnutls} diff --git a/curl/time b/curl/time index dbe9480..06f0c19 100644 --- a/curl/time +++ b/curl/time @@ -1,6 +1,6 @@ -real 4m18.899s -user 3m50.742s -sys 0m32.983s +real 3m40.946s +user 3m13.964s +sys 0m32.094s diff --git a/links/PKGBUILD b/links/PKGBUILD index 2e18a7e..a7c6c11 100644 --- a/links/PKGBUILD +++ b/links/PKGBUILD @@ -7,12 +7,12 @@ pkgname=links pkgver=2.28 -pkgrel=02 -pkgdesc='A text WWW browser, similar to Lynx - gfx enabled in xlinks' +pkgrel=05 +pkgdesc='A text WWW browser, similar to Lynx - gfx enabled in xlinks w/o zstd and ipv6' arch=('x86_64') url='http://links.twibright.com/' depends=('brotli' 'libbrotlidec.so' 'bzip2' 'libbz2.so' 'gpm' 'libgpm.so' - 'libevent' 'openssl' 'pcre' 'xz' 'zstd' 'libzstd.so') + 'libevent' 'openssl' 'xz') makedepends=('libtiff' 'libpng' 'libxt' 'librsvg') optdepends=('libx11: for using xlinks' 'libtiff: for using xlinks' @@ -26,6 +26,8 @@ configure_options=( --prefix=/usr --mandir=/usr/share/man --disable-javascript + --without-zstd + --without-ipv6 ) prepare() { @@ -74,4 +76,3 @@ license=('GPL') sha256sums=(2fd5499b13dee59457c132c167b8495c40deda75389489c6cccb683193f454b4 # links-2.28.tar.bz2 f96bf2638e9c309bfdb857bd62a732b980231b3a683cd585ec872b249c2c1b19) # links.desktop - diff --git a/links/PKGBUILD-arch b/links/PKGBUILD-arch index c6e8dda..2bca4fe 100644 --- a/links/PKGBUILD-arch +++ b/links/PKGBUILD-arch @@ -3,13 +3,13 @@ pkgname=links pkgver=2.28 -pkgrel=2 +pkgrel=5 pkgdesc='A text WWW browser, similar to Lynx' arch=('x86_64') url='http://links.twibright.com/' license=('GPL') depends=('brotli' 'libbrotlidec.so' 'bzip2' 'libbz2.so' 'gpm' 'libgpm.so' - 'libevent' 'openssl' 'pcre' 'xz' 'zstd' 'libzstd.so') + 'libevent' 'openssl' 'xz' 'zstd' 'libzstd.so') makedepends=('libtiff' 'libpng' 'libxt' 'librsvg') optdepends=('libx11: for using xlinks' 'libtiff: for using xlinks' diff --git a/links/confdefs.h b/links/confdefs.h new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/links/confdefs.h @@ -0,0 +1 @@ + diff --git a/links/config.cache b/links/config.cache new file mode 100644 index 0000000..e69de29 diff --git a/links/config.log b/links/config.log new file mode 100644 index 0000000..645045d --- /dev/null +++ b/links/config.log @@ -0,0 +1,6 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +configure:638: checking for a BSD compatible install +configure:691: checking whether build environment is sane +configure:748: checking whether make sets ${MAKE} diff --git a/links/configure b/links/configure new file mode 100644 index 0000000..13db9b3 --- /dev/null +++ b/links/configure @@ -0,0 +1,85 @@ +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print `checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [/usr/local] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [same as prefix] + --bindir=DIR user executables in DIR [EPREFIX/bin] + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data in DIR + [PREFIX/share] + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data in DIR + [PREFIX/com] + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] + --libdir=DIR object code libraries in DIR [EPREFIX/lib] + --includedir=DIR C header files in DIR [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] + --infodir=DIR info documentation in DIR [PREFIX/info] + --mandir=DIR man documentation in DIR [PREFIX/man] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM + run sed PROGRAM on installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized: + --enable-debuglevel set internal checking level + -1 - recover from segmentation faults + 0 - no checks (fastest) + 1 - check memory leaks + 2 - check memory leaks, red zone + 3 - check memory leaks, red zone, pattern filling + --enable-graphics use graphics + --disable-utf8 disable UTF-8 terminal (saves memory) + --without-getaddrinfo compile without getaddrinfo function + --without-ipv6 compile without ipv6 + --without-libevent compile without libevent + --without-gpm compile without gpm mouse + --with-ssl(=directory) enable SSL support + --with-ssl=nss enable SSL support through NSS OpenSSL emulation + --disable-ssl-pkgconfig don't use pkgconfig when searching for openssl + --without-zlib compile without zlib compression + --without-brotli compile without brotli compression + --without-zstd compile without zstandard compression + --without-bzip2 compile without bzip2 compression + --without-lzma compile without lzma compression + --without-lzip compile without lzip compression + --without-openmp compile without OpenMP + --without-svgalib compile without svgalib graphics driver + --without-x compile without X Window System graphics driver + --without-fb compile without Linux Framebuffer graphics driver + --without-directfb compile without DirectFB graphics driver + --without-pmshell compile without PMShell graphics driver + --without-windows compile without Windows graphics driver + --without-atheos compile without Atheos graphics driver + --without-haiku compile without Haiku graphics driver + --without-grx compile without DOS GRX graphics driver + --with-x use the X Window System + --without-freetype compile without freetype support + --disable-freetype-pkgconfig don't use pkgconfig when searching for libfreetype + --disable-png-pkgconfig don't use pkgconfig when searching for libpng + --without-libjpeg compile without JPEG support + --without-libtiff compile without TIFF support + --without-librsvg compile without SVG support + --disable-svg-pkgconfig don't use pkgconfig when searching for librsvg + --without-libwebp compile without WEBP support + --disable-webp-pkgconfig don't use pkgconfig when searching for librwebp