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="http://www.openssl.org/"
SOURCE_URI="http://www.openssl.org/source/openssl-1.0.1g.tar.gz"
CHECKSUM_SHA256="53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028"
LICENSE="OpenSSL"
COPYRIGHT="
	1995-1998 Eric Young
	1998-2013 The OpenSSL Project.
	"
REVISION="1"
ARCHITECTURES="!x86_gcc2 !x86 !x86_64"
SECONDARY_ARCHITECTURES="!x86_gcc2 !x86"

PATCHES="openssl-1.0.1e.patchset"

PROVIDES="
	openssl$secondaryArchSuffix = $portVersion compat >= 1.0.0
	lib:libcrypto$secondaryArchSuffix = $portVersion compat >= 1.0.0
	lib:libssl$secondaryArchSuffix = $portVersion compat >= 1.0.0
	"
if [ -z "$secondaryArchSuffix" ]; then
	PROVIDES="$PROVIDES
		cmd:c_rehash = $portVersion compat >= 1
		cmd:openssl = $portVersion compat >= 1
		"
fi

REQUIRES="
	haiku$secondaryArchSuffix
	lib:libz$secondaryArchSuffix >= 1.2.3
	"
if [ -n "$secondaryArchSuffix" ]; then
	REQUIRES="$REQUIRES
		openssl == $portVersion base
		"
fi

BUILD_REQUIRES="
	devel:libz$secondaryArchSuffix >= 1.2.3
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel
	cmd:gcc${secondaryArchSuffix}
	cmd:ld${secondaryArchSuffix}
	cmd:make
	cmd:perl >= 5
	cmd:sed
	"

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 \
		zlib shared
	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

	# devel package
	packageEntries devel \
		$developDir \
		$manDir/man3

	# Remove stuff we don't need in the secondary architecture base package,
	# since we make it depend on the primary package.
	if [ -n "$secondaryArchSuffix" ]; then
		rm -rf $prefix/bin
		rm -rf $dataRootDir/ssl
		rm -rf $documentationDir
	fi
}

TEST()
{
	make test
}

# ----- devel package -------------------------------------------------------

PROVIDES_devel="
	openssl${secondaryArchSuffix}_devel = $portVersion
	devel:libcrypto${secondaryArchSuffix} = $portVersion compat >= 1.0.1
	devel:libssl${secondaryArchSuffix} = $portVersion compat >= 1.0.1
	"
REQUIRES_devel="
	openssl${secondaryArchSuffix} == $portVersion base
	"
