diff --git a/mingw-w64-ngtcp2/001-fix-pc-prefix.patch b/mingw-w64-ngtcp2/001-fix-pc-prefix.patch new file mode 100644 index 0000000000..e3a53cec40 --- /dev/null +++ b/mingw-w64-ngtcp2/001-fix-pc-prefix.patch @@ -0,0 +1,15 @@ +--- ngtcp2-1.0.0/CMakeLists.txt.orig 2022-10-29 12:52:40 +0000 ++++ ngtcp2-1.0.0/CMakeLists.txt 2022-10-29 12:52:25 +0000 +@@ -457,9 +457,9 @@ + set(abs_top_builddir "${CMAKE_CURRENT_BINARY_DIR}") + # libnghttp3.pc (pkg-config file) + set(prefix "${CMAKE_INSTALL_PREFIX}") +-set(exec_prefix "${CMAKE_INSTALL_PREFIX}") +-set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}") +-set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") ++set(exec_prefix "\${prefix}") ++set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") ++set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + set(VERSION "${PACKAGE_VERSION}") + # For init scripts and systemd service file (in contrib/) + set(bindir "${CMAKE_INSTALL_FULL_BINDIR}") diff --git a/mingw-w64-ngtcp2/PKGBUILD b/mingw-w64-ngtcp2/PKGBUILD new file mode 100644 index 0000000000..7ef30be8b4 --- /dev/null +++ b/mingw-w64-ngtcp2/PKGBUILD @@ -0,0 +1,76 @@ +# Maintainer: Christoph Reiter + +_realname=ngtcp2 +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgver=1.0.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") +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') + +prepare() { + cd "${_realname}-${pkgver}" + + patch -Np1 -i "$srcdir/001-fix-pc-prefix.patch" +} + +build() { + declare -a extra_config + if check_option "debug" "n"; then + extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi + + cd "${srcdir}/${_realname}-${pkgver}" + mkdir -p "${srcdir}/build-shared-${MSYSTEM}" && cd "${srcdir}/build-shared-${MSYSTEM}" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + "${MINGW_PREFIX}"/bin/cmake.exe \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ + "${extra_config[@]}" \ + -DENABLE_SHARED_LIB=ON \ + -DENABLE_STATIC_LIB=OFF \ + -DCMAKE_DLL_NAME_WITH_SOVERSION=ON \ + ../"${_realname}-${pkgver}" + + "${MINGW_PREFIX}"/bin/cmake.exe --build . + + cd "${srcdir}/${_realname}-${pkgver}" + mkdir -p "${srcdir}/build-static-${MSYSTEM}" && cd "${srcdir}/build-static-${MSYSTEM}" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + "${MINGW_PREFIX}"/bin/cmake.exe \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ + "${extra_config[@]}" \ + -DENABLE_SHARED_LIB=OFF \ + -DENABLE_STATIC_LIB=ON \ + ../${_realname}-${pkgver} + + "${MINGW_PREFIX}"/bin/cmake.exe --build . +} + +package() { + cd "${srcdir}/build-static-${MSYSTEM}" + DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install . + + cd "${srcdir}/build-shared-${MSYSTEM}" + DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install . + + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" +}