# Template file for 'monero'
pkgname=monero
version=0.14.1.0
revision=1
build_style=cmake
configure_args="-DBUILD_GUI_DEPS=ON -DHAVE_LIBRESSL=1"
conf_files="/etc/monerod.conf"
make_dirs="
 /var/lib/monero 0750 monero monero
 /var/log/monero 0755 monero monero"
hostmakedepends="pkg-config qt5-host-tools"
makedepends="libressl-devel boost-devel libldns-devel libunwind-devel
 readline-devel unbound-devel miniupnpc-devel expat-devel
 cppzmq czmq-devel rapidjson libsodium-devel"
short_desc="Private, secure, untraceable, decentralised digital currency"
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="BSD-3-Clause"
homepage="https://getmonero.org"
distfiles="https://github.com/monero-project/monero/archive/v${version}.tar.gz"
checksum=a27f2856817498067ab4fd8c456c24d3372f1c174d19652f8213a2771ab95e72
system_accounts="monero"

if [ "$CROSS_BUILD" ]; then
	configure_args+=" -DTHREADS_PTHREAD_ARG=OFF"
fi

case "$XBPS_TARGET_MACHINE" in
	armv7*) configure_args+=" -DARCH=armv7"
	;;
	armv6*) configure_args+=" -DARCH=armv6"
		makedepends+=" libatomic-devel"
		CFLAGS+=" -latomic"
	;;
	armv5*) configure_args+=" -DARCH=armv5"
		makedepends+=" libatomic-devel"
		CFLAGS+=" -latomic"
	;;
	aarch64*) configure_args+=" -DARCH=aarch64"
	;;
	mips*) configure_args+=" -DARCH=mipsr32 -DNO_AES=ON"
		makedepends+=" libatomic-devel"
		CFLAGS+=" -latomic"
	;;
	ppc64*) configure_args+=" -DARCH=ppc64"
	;;
	ppc*) configure_arch+=" -DARCH=ppc"
		makedepends+=" libatomic-devel"
		CFLAGS+=" -latomic"
	;;
	*) configure_args+=" -DARCH=default"
	;;
esac

pre_configure() {
	case "$XBPS_TARGET_MACHINE" in
	armv[56]*|mips*) sed -i CMakeLists.txt \
		-e '/include(version.cmake)/i list(APPEND EXTRA_LIBRARIES libatomic.a)'
		;;
	esac
}

pre_build() {
	if [ "$CROSS_BUILD" ]; then
		# The generate_translations_header binary is executed during the build
		# but is not included in the binary package. It thus needs to be
		# built for the host
		CC=${CC_host} CFLAGS="${XBPS_CFLAGS}" LDFLAGS="${XBPS_LDFLAGS}" \
			make -C build ${makejobs} generate_translations_header
	fi
}

post_install() {
	vlicense LICENSE
	vbin build/bin/monero-blockchain-import
	vbin build/bin/monero-blockchain-export
	vinstall utils/conf/monerod.conf 644 etc
	vsv monerod
}

monero-devel_package() {
	short_desc+=" - development files"
	pkg_install() {
		vlicense LICENSE
		vmove usr/include
		vmove "usr/lib/*.a"
	}
}

