# Template file for 'botan'
pkgname=botan
version=2.0.1
revision=2
wrksrc="${pkgname^}-${version}"
build_style=gnu-makefile
hostmakedepends="doxygen epstopdf python"
makedepends="libressl-devel bzip2-devel liblzma-devel sqlite-devel zlib-devel"
short_desc="Crypto library written in C++"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="3-clause-BSD"
homepage="http://botan.randombit.net/"
distfiles="http://botan.randombit.net/releases/Botan-${version}.tgz"
checksum=a138ed316d11450a8405451b9c9664b8e640a9b7ad84d3f3ad34e8071f364e0b

LDFLAGS="-pthread"

do_configure() {
	local _arch _cpu _march _tune
	case "$XBPS_TARGET_MACHINE" in
	i686*)
		_cpu="i686"; _arch="x86"; _march="i686"; _tune="i686" ;;
	x86_64*)
		_cpu="x86_64"; _arch="x86"; _march="x86_64"; _tune="generic" ;;
	armv5*)
		_cpu="armv5"; _arch="armv5te"; _march="armv5te" ;;
	armv6*)
		_cpu="armv6"; _arch="armv6"; _march="armv6" ;;
	armv7*)
		_cpu="armv7-a"; _arch="armv7"; _march="armv7-a" ;;
	aarch64*)
		_cpu="armv8-a"; _arch="arm64"; _march="armv8-a" ;;
	mipselhf*)
		_cpu="mips32"; _arch="mips"; _march="mips32"; _mtune="mips32r2 --hard-float" ;;
	mips*)
		_cpu="mips32"; _arch="mips"; _march="mips32"; _mtune="mips32r2 --soft-float" ;;
	esac
	python configure.py \
		--prefix=/usr \
		--os=linux \
		--cc=gcc \
		--cc-bin=$CXX \
		--cc-abi-flags="-arch ${_arch} -stdlib=libc++" \
		--cpu=$_cpu \
		--with-doxygen \
		--with-openssl \
		--with-bzip2 \
		--with-lzma \
		--with-zlib \
		--with-sqlite3 \
		--enable-shared

	sed -i Makefile \
		-e"s;^\(CXX.*\)=.*;\1= $CXXFLAGS;" \
		-e"s;^\(LIB_OPT.*\)=.*;\1= $LDFLAGS;" \
		-e"s;^\(AR.*\)=.*;\1= $AR;" \
		-e"s;^\(DESTDIR.*\)=.*;\1= $DESTDIR;" \
		-e"s;\(--destdir\)=/usr;\1=$DESTDIR/usr;" \
		-e's;$(DESTDIR)/bin;$(DESTDIR)/usr/bin;' \
		-e's;$(DESTDIR)/lib;$(DESTDIR)/usr/lib;' \
		-e's;$(DESTDIR)/include;$(DESTDIR)/usr/include;' \
		-e's;$(DESTDIR)/share;$(DESTDIR)/usr/share;' \
		-e's;$(AR) $(STATIC_LIB);$(AR) crus $(STATIC_LIB);'

	# configure.py sometimes(?) creates invalid "-march= " and "-mtune= " without parameter
	sed -i Makefile \
		-e"s;-std= ;-std=c++11 ;" \
		-e"s;-march= ;-march=${_march} ;" \
		-e"s;-mtune= ;-mtune=${_tune} ;"
}
post_install() {
	vlicense license.txt
}

botan-doc_package() {
	short_desc+=" - documentation"
	noarch=yes
	pkg_install() {
		vmove usr/share/doc
	}
}

botan-devel_package() {
	short_desc+=" - development files"
	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/*.a
		vmove usr/lib/*.so
		vmove usr/lib/pkgconfig
	}
}
