From cd17041885771fc3109bbbc1b9c230cfefc8d4f1 Mon Sep 17 00:00:00 2001 From: Alexey Pavlov Date: Wed, 27 Dec 2023 15:02:35 +0300 Subject: [PATCH] ngtcp2: Update to 1.1.0 --- ...574eb66cda0dcbecf3185399b571c3b01693.patch | 54 +++++++++++++++++++ mingw-w64-ngtcp2/PKGBUILD | 20 ++++--- 2 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 mingw-w64-ngtcp2/7ed4574eb66cda0dcbecf3185399b571c3b01693.patch diff --git a/mingw-w64-ngtcp2/7ed4574eb66cda0dcbecf3185399b571c3b01693.patch b/mingw-w64-ngtcp2/7ed4574eb66cda0dcbecf3185399b571c3b01693.patch new file mode 100644 index 0000000000..31cd2e8344 --- /dev/null +++ b/mingw-w64-ngtcp2/7ed4574eb66cda0dcbecf3185399b571c3b01693.patch @@ -0,0 +1,54 @@ +From 7ed4574eb66cda0dcbecf3185399b571c3b01693 Mon Sep 17 00:00:00 2001 +From: Tatsuhiro Tsujikawa +Date: Sat, 16 Dec 2023 16:01:54 +0900 +Subject: [PATCH] Avoid detecting OpenSSL 3.2 as quictls + +Previously, SSL_is_quic is used to detect quictls. But OpenSSL 3.2 +has added it as a part of its own QUIC implementation which breaks our +script. Use SSL_provide_quic_data to correctly identify quictls and +avoid OpenSSL 3.2. +--- + CMakeLists.txt | 6 +++--- + configure.ac | 5 ++--- + 2 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 085a59ee..a1949e5f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -151,13 +151,13 @@ if(ENABLE_OPENSSL AND OPENSSL_FOUND) + if(WIN32) + set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}" "ws2_32" "bcrypt") + endif() +- check_symbol_exists(SSL_is_quic "openssl/ssl.h" HAVE_SSL_IS_QUIC) +- if(NOT HAVE_SSL_IS_QUIC) ++ check_symbol_exists(SSL_provide_quic_data "openssl/ssl.h" HAVE_SSL_PROVIDE_QUIC_DATA) ++ if(NOT HAVE_SSL_PROVIDE_QUIC_DATA) + message(WARNING "Disabling OpenSSL due to lack of QUIC support in ${OPENSSL_LIBRARIES}") + endif() + cmake_pop_check_state() + endif() +-if(ENABLE_OPENSSL AND HAVE_SSL_IS_QUIC) ++if(ENABLE_OPENSSL AND HAVE_SSL_PROVIDE_QUIC_DATA) + set(OPENSSL_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR}) + set(HAVE_OPENSSL TRUE) + set(HAVE_CRYPTO TRUE) +diff --git a/configure.ac b/configure.ac +index df49cd63..eaaf778d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -252,12 +252,11 @@ if test "x${request_openssl}" != "xno"; then + CFLAGS="$OPENSSL_CFLAGS $CFLAGS" + LIBS="$OPENSSL_LIBS $LIBS" + +- AC_MSG_CHECKING([for SSL_is_quic]) ++ AC_MSG_CHECKING([for SSL_provide_quic_data]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include + ]], [[ +- SSL *ssl = NULL; +- SSL_is_quic(ssl); ++ SSL_provide_quic_data(NULL, 0, NULL, 0); + ]])], + [AC_MSG_RESULT([yes]); have_openssl_quic=yes], + [AC_MSG_RESULT([no]); have_openssl_quic=no]) diff --git a/mingw-w64-ngtcp2/PKGBUILD b/mingw-w64-ngtcp2/PKGBUILD index 7ef30be8b4..3c27771fff 100644 --- a/mingw-w64-ngtcp2/PKGBUILD +++ b/mingw-w64-ngtcp2/PKGBUILD @@ -3,28 +3,36 @@ _realname=ngtcp2 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.0.0 +pkgver=1.1.0 pkgrel=1 pkgdesc="An effort to implement IETF QUIC protocol (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/ngtcp2/ngtcp2' -depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") +checkdepends=("${MINGW_PACKAGE_PREFIX}-cunit") +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" + #"${MINGW_PACKAGE_PREFIX}-libev" + #"${MINGW_PACKAGE_PREFIX}-nghttp3" + #"${MINGW_PACKAGE_PREFIX}-openssl" + ) makedepends=( "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-cc" ) license=('spdx:MIT') -source=("${pkgname}-${pkgver}.tar.gz::https://github.com/ngtcp2/ngtcp2/archive/refs/tags/v${pkgver}.tar.gz" - "001-fix-pc-prefix.patch") -sha256sums=('1283eac66b196578fff64e9159bc876f605d928a16562fb608c601f9717dd600' - 'cdbb6fad1afc1eac3f3bca72cd83e49684439c02b0b74fd8841b9d1523ab86de') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/ngtcp2/ngtcp2/archive/refs/tags/v${pkgver}.tar.gz" + "001-fix-pc-prefix.patch" + "7ed4574eb66cda0dcbecf3185399b571c3b01693.patch") +sha256sums=('987d784643edea4f2859c405f7dfbc53871a9f7ae5fcddf5fb12ec5dfce1ef22' + 'cdbb6fad1afc1eac3f3bca72cd83e49684439c02b0b74fd8841b9d1523ab86de' + '050d56ae2dbc0fc8049a8f99871bd343ba70ecc59ec7a7d6af7c7ed19caaafca') prepare() { cd "${_realname}-${pkgver}" patch -Np1 -i "$srcdir/001-fix-pc-prefix.patch" + patch -Np1 -i "$srcdir/7ed4574eb66cda0dcbecf3185399b571c3b01693.patch" } build() {