145 lines
4.9 KiB
Bash
145 lines
4.9 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
|
|
_realname=gnutls
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
pkgver=3.8.4
|
|
pkgrel=1
|
|
pkgdesc="A library which provides a secure layer over a reliable transport layer (mingw-w64)"
|
|
arch=('any')
|
|
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
|
|
license=('spdx:GPL-3.0-or-later' 'spdx:LGPL-2.1-or-later')
|
|
url="https://www.gnutls.org/"
|
|
msys2_repository_url="https://gitlab.com/gnutls/gnutls"
|
|
msys2_references=(
|
|
"cpe: cpe:/a:gnu:gnutls"
|
|
)
|
|
options=('!zipman')
|
|
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
|
"${MINGW_PACKAGE_PREFIX}-gettext-runtime"
|
|
"${MINGW_PACKAGE_PREFIX}-gmp"
|
|
"${MINGW_PACKAGE_PREFIX}-brotli"
|
|
"${MINGW_PACKAGE_PREFIX}-libidn2"
|
|
"${MINGW_PACKAGE_PREFIX}-libtasn1"
|
|
"${MINGW_PACKAGE_PREFIX}-nettle>=3.6"
|
|
"${MINGW_PACKAGE_PREFIX}-p11-kit>=0.23.1"
|
|
"${MINGW_PACKAGE_PREFIX}-libunistring"
|
|
"${MINGW_PACKAGE_PREFIX}-libwinpthread-git"
|
|
"${MINGW_PACKAGE_PREFIX}-zlib"
|
|
"${MINGW_PACKAGE_PREFIX}-zstd"
|
|
#"${MINGW_PACKAGE_PREFIX}-unbound"
|
|
)
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
|
"${MINGW_PACKAGE_PREFIX}-gtk-doc"
|
|
"${MINGW_PACKAGE_PREFIX}-gettext-tools"
|
|
"${MINGW_PACKAGE_PREFIX}-autotools")
|
|
# Need remove "autogen" package before building.
|
|
source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v${pkgver%.*}/${_realname}-${pkgver}.tar.xz{,.sig}
|
|
0003-gnutls-fix-external-libtasn1-detection.patch
|
|
0004-disable-broken-examples.patch
|
|
0005-remove-coverage-rules.patch)
|
|
sha256sums=('2bea4e154794f3f00180fa2a5c51fe8b005ac7a31cd58bd44cdfa7f36ebc3a9b'
|
|
'SKIP'
|
|
'6493f69e782d60fe04de4b0040987e99851c522d0baf2fe25d10b85b63e97863'
|
|
'cbf9e59fb2432d4ac1edcb70734023e074b8058fa4c010a036a40de8449f67fb'
|
|
'10ea5a84459af8d848788cc8871decd3b3cdd542b829883ebe4f6ec28d60578f')
|
|
validpgpkeys=('0424D4EE81A0E3D119C6F835EDA21E94B565716F') # "Simon Josefsson <simon@josefsson.org>"
|
|
validpgpkeys+=('1F42418905D8206AA754CCDC29EE58B996865171') # "Nikos Mavrogiannopoulos <nmav@gnutls.org>
|
|
validpgpkeys+=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno <ueno@unixuser.org>"
|
|
validpgpkeys+=('5D46CB0F763405A7053556F47A75A648B3F9220C') # Zoltan Fridrich <zfridric at redhat.com>
|
|
|
|
prepare() {
|
|
cd "${srcdir}/${_realname}-${pkgver}"
|
|
patch -p1 -i ${srcdir}/0003-gnutls-fix-external-libtasn1-detection.patch
|
|
patch -p1 -i ${srcdir}/0004-disable-broken-examples.patch
|
|
patch -p1 -i ${srcdir}/0005-remove-coverage-rules.patch
|
|
|
|
WANT_AUTOMAKE=latest autoreconf -fiv -I m4
|
|
}
|
|
|
|
build() {
|
|
# Workaround for localtime_r functions
|
|
CFLAGS+=" -D_POSIX_C_SOURCE -Wno-int-conversion"
|
|
CXXFLAGS+=" -D_POSIX_C_SOURCE -Wno-int-conversion"
|
|
|
|
local -a extra_config
|
|
case "${CARCH}" in
|
|
i?86|x86_64)
|
|
;;
|
|
*)
|
|
extra_config+=(--disable-hardware-acceleration)
|
|
;;
|
|
esac
|
|
|
|
# Weak symbols are broken with GCC + binutils
|
|
# https://github.com/msys2/MINGW-packages/issues/11743
|
|
export gl_cv_have_weak=no
|
|
|
|
[[ -d "${srcdir}/build-${MSYSTEM}-static" ]] && rm -rf "${srcdir}/build-${MSYSTEM}-static"
|
|
mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"
|
|
|
|
CPPFLAGS+=" -DIN_LIBUNISTRING" \
|
|
../${_realname}-${pkgver}/configure \
|
|
--prefix=${MINGW_PREFIX} \
|
|
--build=${MINGW_CHOST} \
|
|
--host=${MINGW_CHOST} \
|
|
--target=${MINGW_CHOST} \
|
|
--disable-shared \
|
|
--enable-static \
|
|
--enable-cxx \
|
|
--enable-nls \
|
|
--enable-openssl-compatibility \
|
|
--disable-rpath \
|
|
--disable-gtk-doc \
|
|
--with-libiconv-prefix=${MINGW_PREFIX} \
|
|
--disable-libdane \
|
|
--disable-tests \
|
|
"${extra_config[@]}" \
|
|
gl_cv_double_slash_root=yes
|
|
|
|
make
|
|
|
|
[[ -d "${srcdir}/build-${MSYSTEM}-shared" ]] && rm -rf "${srcdir}/build-${MSYSTEM}-shared"
|
|
mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared"
|
|
|
|
../${_realname}-${pkgver}/configure \
|
|
--prefix=${MINGW_PREFIX} \
|
|
--build=${MINGW_CHOST} \
|
|
--host=${MINGW_CHOST} \
|
|
--target=${MINGW_CHOST} \
|
|
--enable-shared \
|
|
--disable-static \
|
|
--enable-cxx \
|
|
--enable-nls \
|
|
--enable-openssl-compatibility \
|
|
--disable-rpath \
|
|
--disable-gtk-doc \
|
|
--with-libiconv-prefix=${MINGW_PREFIX} \
|
|
--disable-libdane \
|
|
--disable-tests \
|
|
"${extra_config[@]}" \
|
|
gl_cv_double_slash_root=yes
|
|
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd "${srcdir}/build-${MSYSTEM}-static"
|
|
make -k check || /bin/true
|
|
|
|
cd "${srcdir}/build-${MSYSTEM}-shared"
|
|
make -k check || /bin/true
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/build-${MSYSTEM}-static"
|
|
make DESTDIR="${pkgdir}" install
|
|
|
|
cd "${srcdir}/build-${MSYSTEM}-shared"
|
|
make DESTDIR="${pkgdir}" install
|
|
|
|
find "${pkgdir}${MINGW_PREFIX}" -name '*.def' -o -name '*.exp' | xargs -rtl1 rm
|
|
local PREFIX_DEPS=$(cygpath -am ${MINGW_PREFIX})
|
|
find ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig -name *.pc -exec sed -i -e"s|${PREFIX_DEPS}|${MINGW_PREFIX}|g" {} \;
|
|
}
|