# Template file for 'openssl'
pkgname=openssl
_openssl_version=1.0.1
version=${_openssl_version}e
revision=3
fulldepends="perl"
crossmakedepends="zlib-devel"
conf_files="/etc/ssl/openssl.cnf"
subpackages="libssl openssl-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

make_dirs="
/etc/ssl/certs 0755 root root
/etc/ssl/private 0750 root root"

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

	./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 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

	# Rename passwd.1, conflicts with shadow.
	mv ${DESTDIR}/usr/share/man/man1/passwd.1 \
		${DESTDIR}/usr/share/man/man1/openssl-passwd.1

	# Rename rand.3 and err.3, conflicts with man-pages.
	for f in rand err; do
		mv ${DESTDIR}/usr/share/man/man3/${f}.3 \
			${DESTDIR}/usr/share/man/man3/openssl-${f}.3
	done
}