Files
haikuports/dev-libs/openssl/openssl-1.0.2q.recipe
2018-12-18 19:57:43 +01:00

180 lines
4.6 KiB
Bash

SUMMARY="Full-strength general purpose cryptography library (with SSL/TLS)"
DESCRIPTION="The OpenSSL Project is a collaborative effort to develop a \
robust, commercial-grade, full-featured, and Open Source toolkit implementing \
the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) \
protocols as well as a full-strength general purpose cryptography library. The \
project is managed by a worldwide community of volunteers that use the \
Internet to communicate, plan, and develop the OpenSSL toolkit and its related \
documentation.
OpenSSL is based on the excellent SSLeay library developed by Eric A. Young \
and Tim J. Hudson. The OpenSSL toolkit is licensed under an Apache-style \
licence, which basically means that you are free to get and use it for \
commercial and non-commercial purposes subject to some simple license \
conditions."
HOMEPAGE="https://www.openssl.org/"
COPYRIGHT="1995-1998 Eric Young
1998-2018 The OpenSSL Project."
LICENSE="OpenSSL"
REVISION="1"
SOURCE_URI="https://www.openssl.org/source/openssl-$portVersion.tar.gz"
CHECKSUM_SHA256="5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684"
PATCHES="openssl-$portVersion.patchset"
ARCHITECTURES="x86_gcc2 x86 x86_64 ?arm ?ppc"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
libVersion=1.0.0
cmdSuffix=
mySuffix=
altSuffix=11
PROVIDES="
openssl$mySuffix$secondaryArchSuffix = $portVersion compat >= $libVersion
lib:libcrypto$secondaryArchSuffix = $libVersion compat >= $libVersion
lib:libssl$secondaryArchSuffix = $libVersion compat >= $libVersion
"
if [ -z "$secondaryArchSuffix" ]; then
PROVIDES="$PROVIDES
cmd:c_rehash${cmdSuffix/-/_} = $portVersion compat >= 1
cmd:openssl${cmdSuffix/-/_} = $portVersion compat >= 1
"
fi
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix >= 1.2.3
ca_root_certificates
"
if [ -z "$secondaryArchSuffix" ]; then
SUMMARY_man="Manual pages for openssl $portVersion"
ARCHITECTURES_man="any"
PROVIDES_man="
openssl${mySuffix}_man = $portVersion
"
REQUIRES_man="
openssl$mySuffix == $portVersion
"
SUPPLEMENTS_man="
openssl$mySuffix == $portVersion
"
CONFLICTS_man="
openssl${altSuffix}_man
"
fi
PROVIDES_devel="
openssl$mySuffix${secondaryArchSuffix}_devel = $portVersion
devel:libcrypto$secondaryArchSuffix = $libVersion compat >= $libVersion
devel:libssl$secondaryArchSuffix = $libVersion compat >= $libVersion
"
REQUIRES_devel="
openssl$mySuffix$secondaryArchSuffix == $portVersion base
"
CONFLICTS_devel="
openssl$altSuffix${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
devel:libz$secondaryArchSuffix >= 1.2.3
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:perl >= 5
cmd:sed
"
TEST_REQUIRES="
cmd:cmp
"
if [ -n "$secondaryArchSuffix" ]; then
maybe_binDir_runtimes=
else
maybe_binDir_runtimes="
$binDir/openssl$cmdSuffix \
"
fi
defineDebugInfoPackage openssl$mySuffix$secondaryArchSuffix \
$libDir/engines/lib4758cca.so \
$libDir/engines/libaep.so \
$libDir/engines/libatalla.so \
$libDir/engines/libcapi.so \
$libDir/engines/libchil.so \
$libDir/engines/libcswift.so \
$libDir/engines/libgmp.so \
$libDir/engines/libgost.so \
$libDir/engines/libnuron.so \
$libDir/engines/libpadlock.so \
$libDir/engines/libsureware.so \
$libDir/engines/libubsec.so \
$libDir/libcrypto.so.$libVersion \
$libDir/libssl.so.$libVersion \
$maybe_binDir_runtimes
PATCH()
{
# fix hard-coded perl path
sed -i 's,/usr/bin/perl,/bin/env perl,g' apps/tsget
}
BUILD()
{
PERL="/bin/env perl" \
./config --prefix=$prefix --libdir=$relativeLibDir \
--openssldir=$dataRootDir/ssl \
enable-ssl2 zlib shared -g
make
# multi-job builds don't work correctly
}
INSTALL()
{
make MANDIR=$manDir install
# move include dir to correct location
mkdir -p $(dirname $includeDir)
mv $prefix/include $includeDir
# prepare develop/lib
prepareInstalledDevelLibs libcrypto libssl
fixPkgconfig
if [ -n "$secondaryArchSuffix" ]; then
maybe_manDir_man3=
else
maybe_manDir_man3=$manDir/man3
fi
# devel package
packageEntries devel \
$developDir \
$maybe_manDir_man3
# Remove stuff we don't need in the secondary architecture base package
if [ -n "$secondaryArchSuffix" ]; then
rm -rf $prefix/bin
rm -rf $dataRootDir/ssl
rm -rf $documentationDir
else
if [ -n "$cmdSuffix" ]; then
mv $binDir/openssl $binDir/openssl$cmdSuffix
mv $binDir/c_rehash $binDir/c_rehash$cmdSuffix
sed -i -e "s/\"openssl\"/\"openssl$cmdSuffix\"/" \
$binDir/c_rehash$cmdSuffix
fi
# man package
packageEntries man \
$manDir
fi
}
TEST()
{
make test
}