0
0
Fork 0
haikuports/net-libs/gnutls/gnutls-3.6.16.recipe

223 lines
6.4 KiB
Bash

SUMMARY="A TLS 1.0 and SSL 3.0 implementation for the GNU project"
DESCRIPTION="GnuTLS is a secure communications library implementing the SSL, \
TLS and DTLS protocols and technologies around them. It provides a simple C \
language application programming interface (API) to access the secure \
communications protocols as well as APIs to parse and write X.509, PKCS #12, \
OpenPGP and other required structures. It is aimed to be portable and \
efficient with focus on security and interoperability."
HOMEPAGE="https://www.gnutls.org/"
COPYRIGHT="2000-2018 Free Software Fundation Inc.
2004-2008 Simon Josefsson
2000-2004 Nikos Mavrogiannopoulos"
LICENSE="GNU LGPL v2.1"
REVISION="1"
SOURCE_URI="https://www.gnupg.org/ftp/gcrypt/gnutls/v${portVersion%\.*}/gnutls-$portVersion.tar.xz"
CHECKSUM_SHA256="1b79b381ac283d8b054368b335c408fedcb9b7144e0c07f531e3537d4328f3b3"
SOURCE_DIR="gnutls-$portVersion"
PATCHES="gnutls-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2 ?arm ?ppc"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libgnutls_opensslVersion="27.0.2"
libgnutlsVersion="30.28.2"
libgnutlsxxVersion="28.1.0"
libgnutls_opensslVersionCompat="$libgnutls_opensslVersion compat >= ${libgnutls_opensslVersion%%.*}"
libgnutlsVersionCompat="$libgnutlsVersion compat >= ${libgnutlsVersion%%.*}"
libgnutlsxxVersionCompat="$libgnutlsxxVersion compat >= ${libgnutlsxxVersion%%.*}"
PROVIDES="
gnutls$secondaryArchSuffix = $portVersion
lib:libgnutls_openssl$secondaryArchSuffix = $libgnutls_opensslVersionCompat
lib:libgnutls$secondaryArchSuffix = $libgnutlsVersionCompat
lib:libgnutlsxx$secondaryArchSuffix = $libgnutlsxxVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libgpg_error$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libidn2$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libnettle$secondaryArchSuffix
lib:libp11_kit$secondaryArchSuffix
lib:libtasn1$secondaryArchSuffix
lib:libunistring$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
CONFLICTS="
gnutls34$secondaryArchSuffix
gnutls35$secondaryArchSuffix
gnutls36$secondaryArchSuffix
"
REPLACES="
gnutls36$secondaryArchSuffix
"
if [ -z "$commandSuffix" ]; then
PROVIDES_bin="
gnutls${secondaryArchSuffix}_bin = $portVersion
cmd:certtool
cmd:gnutls_cli
cmd:gnutls_cli_debug
cmd:gnutls_serv
cmd:ocsptool
cmd:p11tool
cmd:psktool
cmd:srptool
"
REQUIRES_bin="
gnutls$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libgpg_error$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libidn2$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libnettle$secondaryArchSuffix
lib:libp11_kit$secondaryArchSuffix
lib:libtasn1$secondaryArchSuffix
lib:libunistring$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
CONFLICTS_bin="
gnutls34${secondaryArchSuffix}_bin
gnutls35${secondaryArchSuffix}_bin
gnutls36${secondaryArchSuffix}_bin
"
REPLACES_bin="
gnutls36${secondaryArchSuffix}_bin
"
fi
PROVIDES_devel="
gnutls${secondaryArchSuffix}_devel = $portVersion
devel:libgnutls_openssl$secondaryArchSuffix = $libgnutls_opensslVersionCompat
devel:libgnutls$secondaryArchSuffix = $libgnutlsVersionCompat
devel:libgnutlsxx$secondaryArchSuffix = $libgnutlsxxVersionCompat
"
REQUIRES_devel="
gnutls$secondaryArchSuffix == $portVersion base
devel:libgcrypt$secondaryArchSuffix
devel:libgpg_error$secondaryArchSuffix
devel:libidn2$secondaryArchSuffix
devel:libnettle$secondaryArchSuffix >= 8
devel:libp11_kit$secondaryArchSuffix
devel:libtasn1$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
CONFLICTS_devel="
gnutls34${secondaryArchSuffix}_devel
gnutls35${secondaryArchSuffix}_devel
gnutls36${secondaryArchSuffix}_devel
"
REPLACES_devel="
gnutls36${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libgcrypt$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libgpg_error$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libidn2$secondaryArchSuffix
devel:libnettle$secondaryArchSuffix >= 8
devel:libp11_kit$secondaryArchSuffix
devel:libtasn1$secondaryArchSuffix
devel:libunistring$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:autoheader
cmd:automake
cmd:autopoint
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:makeinfo
cmd:perl
cmd:pkg_config$secondaryArchSuffix
"
TEST_REQUIRES="
cmd:cvs
cmd:git
"
debugList=(
"$libDir"/libgnutls-openssl.so.$libgnutls_opensslVersion
"$libDir"/libgnutls.so.$libgnutlsVersion
"$libDir"/libgnutlsxx.so.$libgnutlsxxVersion
)
if [ -z "$commandSuffix" ]; then
debugList+=(
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/certtool
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/gnutls-cli
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/gnutls-cli-debug
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/gnutls-serv
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/ocsptool
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/psktool
"${commandBinDir/gnutls$secondaryArchSuffix/gnutls${secondaryArchSuffix}_bin}"/srptool
)
fi
defineDebugInfoPackage gnutls$secondaryArchSuffix "${debugList[@]}"
BUILD()
{
runConfigure --omit-dirs binDir ./configure --bindir="$commandBinDir" \
--enable-openssl-compatibility \
--disable-hardware-acceleration \
--disable-nls \
--with-default-trust-store-file=/system/data/ssl/CARootCertificates.pem
make $jobArgs AUTOCONF=: AUTOMAKE=: AUTOHEADER=: ACLOCAL=:
}
INSTALL()
{
make install AUTOCONF=: AUTOMAKE=: AUTOHEADER=: ACLOCAL=:
rm -f "$infoDir"/dir
rm -f "$libDir"/libgnutls*.la
prepareInstalledDevelLibs libgnutls-openssl libgnutls libgnutlsxx
fixPkgconfig
if [ -n "$commandSuffix" ]; then
rm -rf "$commandBinDir" "$documentationDir"
maybe_manDir_man3=
else
maybe_manDir_man3="$manDir"/man3
fi
packageEntries devel \
"$developDir" \
${maybe_manDir_man3:+"$maybe_manDir_man3"}
if [ -z "$commandSuffix" ]; then
packageEntries bin \
"$commandBinDir" \
"$manDir"/man1
rmdir "$manDir"
fi
}
TEST()
{
make check LIBS="-lgnu"
}