# Template file for 'openssl'
pkgname=openssl
_openssl_version=1.0.1
version=${_openssl_version}e
revision=5
makedepends="zlib-devel"
short_desc="Secure Socket Layer and cryptographic library - runtime utilities"
maintainer="Juan RP <xtraeme@gmail.com>"
license="BSD"
homepage="http://www.openssl.org/"
distfiles="https://www.openssl.org/source/$pkgname-$version.tar.gz"
checksum=f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3

bootstrap=yes

if [ "$CHROOT_READY" ]; then
	hostmakedepends="perl"
fi

do_configure() {
	local _opts

	case "$XBPS_TARGET_ARCH" in
		arm*) _target="linux-armv4";;
		mips*) msg_error "$pkgver: unknow cross arch\n";;
	esac

	if [ -z "${_target}" ]; then
		if [ "$XBPS_MACHINE" = "x86_64" ]; then
			_target="linux-x86_64"
			_opts="enable-ec_nistp_64_gcc_128"
		elif [ "$XBPS_MACHINE" = "i686" ]; then
			_target="linux-elf"
		elif [ "$XBPS_MACHINE" = "armv6l" ]; then
			_target="linux-armv4"
		fi
	fi

	sed -i '/^"linux-armv4/s/-DTERMIO/-DTERMIOS/' Configure
	sed -i '/^"linux-x86_64/s/-DTERMIO/-DTERMIOS/' Configure
	sed -i '/^"linux-elf/s/-DTERMIO/-DTERMIOS/' Configure
	sed -i 's/defined(linux)/0/' crypto/ui/ui_openssl.c

	if [ -z "$CHROOT_READY" ]; then
		CFLAGS+=" -I${XBPS_MASTERDIR}/usr/include"
		LDFLAGS+=" -L${XBPS_MASTERDIR}/usr/lib"
	fi

	./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
		shared zlib enable-md2 threads ${_opts} \
		${_target} -Wa,--noexecstack "${CFLAGS}"
}

do_build() {
	make
}

do_install() {
	local _sover="1.0.0"

	make INSTALL_PREFIX=${DESTDIR} MANDIR=/usr/share/man MANSUFFIX=ssl install

	chmod 755 ${DESTDIR}/usr/lib/engines/*.so
	for _solib_ in libssl.so libcrypto.so; do
		chmod 755 ${DESTDIR}/usr/lib/${_solib_}.${_sover}
		cd ${DESTDIR}/usr/lib
		ln -sf ${_solib_}.${_sover} ${_solib_}.1
		ln -sf ${_solib_}.${_sover} ${_solib_}
	done
}

openssl-devel_package() {
	depends="zlib-devel libssl>=$version"
	short_desc="Secure Socket Layer and cryptographic library - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
		vmove usr/lib/pkgconfig
		vmove usr/share/man/man3
	}
}

openssl_package() {
	depends="perl"
	conf_files="/etc/ssl/openssl.cnf"
	make_dirs="
		/etc/ssl/certs 0755 root root
		/etc/ssl/private 0750 root root"
	pkg_install() {
		vmove all
	}
}

libssl_package() {
	short_desc="Secure Sockets Layer and Cryptographic library"
	pkg_install() {
		vmove "usr/lib/lib*.so.*"
	}
}