# SliTaz package receipt.

PACKED_SIZE="284.0K"
UNPACKED_SIZE="908.0K"
PACKAGE="openssl"
VERSION="3.5.3"
CATEGORY="security"
SHORT_DESC="Open source Secure Sockets Layer."
MAINTAINER="pascal.bellard@slitaz.org"
LICENSE="BSD"
WEB_SITE="https://www.openssl.org/"
TAGS="ssl security"
HOST_ARCH="i486 arm"

TARBALL="$PACKAGE-$VERSION.tar.gz"
WGET_URL="https://www.openssl.org/source/$TARBALL"

DEPENDS="libcrypto libssl"
BUILD_DEPENDS="perl-text-template zlib-dev"
SPLIT="libcrypto libcrypto-dev libssl openssl-dev"

# What is the latest version available today?
current_version()
{
	wget -O - $(dirname $WGET_URL) 2>/dev/null | \
	sed '/openssl-/!d;/tar.gz/!d;/-[abr]/d;s|.tar.gz</a.*||;s|.*>openssl-||;q'
}

# Perl is installed in cross env.
case "$ARCH" in
	arm) BUILD_DEPENDS="" ;;
esac

# Rules to configure and make the package.
compile_rules()
{
	# MAKEFLAGS make openssl build fail.
	unset MAKEFLAGS

	# Add -Wa,--noexecstack here so that libcrypto's assembler modules will be
	# marked as not requiring an executable stack (compatibility improvement).
	case "$ARCH" in
		arm)
			# BUG: shared libs are not built
			./Configure --prefix=/usr --openssldir=/etc/ssl --api=0.9.8 \
				 shared zlib enable-md2 -Wa,--noexecstack \
				 linux-armv4 &&
			sed -i 's/\(basename .*\)`/\1 || true `/' Makefile &&
			make \
				CC=${HOST_SYSTEM}-gcc \
				AR="${HOST_SYSTEM}-ar r" \
				RANLIB=${HOST_SYSTEM}-ranlib ;;
		i486)
			sed -i 's|target=""|target="linux-x86"|' Configure
			MACHINE=i686 \
			./config --prefix=/usr --openssldir=/etc/ssl --api=0.9.8 \
				shared zlib zlib-dynamic enable-md2 -Wa,--noexecstack &&
			make depend ;;
	esac &&
	# Install
	make DESTDIR=$DESTDIR \
		MANDIR=/usr/share/man CC=${HOST_SYSTEM}-gcc install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
	cook_copy_folders etc bin engines
}

testsuite()
{
	readelf -h $install/usr/bin/openssl
}
