SUMMARY="A CPU emulator framework"
DESCRIPTION="Unicorn is a lightweight, thread-safe, multi-platform, multi-architecture \
CPU emulator framework written in pure C, and based on QEMU."
HOMEPAGE="https://www.unicorn-engine.org/"
COPYRIGHT="2015-2018, Nguyen Anh Quynh"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://github.com/unicorn-engine/unicorn/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="3a6a4f2b8c405ab009040ca43af8e4aa10ebe44d9c8b336aa36dc35df955017c"
SOURCE_FILENAME="unicorn-$portVersion.tar.gz"
SOURCE_DIR="unicorn-$portVersion"

# Should be safe to remove after 1.0.1 (upstreamed)
PATCHES="unicorn-$portVersion.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"

PROVIDES="
	unicorn$secondaryArchSuffix = $portVersion
	lib:libunicorn$secondaryArchSuffix = $portVersion compat >= 1.0
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	unicorn${secondaryArchSuffix}_devel
	devel:libunicorn$secondaryArchSuffix = $portVersion compat >= 1.0
	"
REQUIRES_devel="
	unicorn$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	"
BUILD_PREREQUIRES="
	cmd:python
	cmd:gcc$secondaryArchSuffix
	cmd:make
	cmd:find
	cmd:awk
	"

defineDebugInfoPackage unicorn$secondaryArchSuffix \
	"$libDir"/libunicorn.so.1

SUMMARY_python="The python bindings for unicorn"
PROVIDES_python="
	unicorn_python = $portVersion
	"
REQUIRES_python="
	unicorn == $portVersion base
	haiku$secondaryArchSuffix
	lib:libunicorn$secondaryArchSuffix
	cmd:python
	"

BUILD()
{
	# We make clean because unicorn is *really*
	# sensitive to mis-matched headers/libraries
	make clean && make

	cd bindings/python
	make
}

INSTALL()
{
	make PREFIX=$prefix install

	mkdir -p $developDir/headers
	mv $prefix/include/* $developDir/headers
	rm -rf $prefix/include

	prepareInstalledDevelLib libunicorn
	fixPkgconfig

	packageEntries devel \
		"$developDir"

	# Install python module
	cd bindings/python
	pythonVersion=$(python --version 2>&1 | sed 's/Python //' | head -c3)
	installLocation=$libDir/python$pythonVersion/vendor-packages/
	mkdir -p $installLocation
	cp -R unicorn $installLocation/

	packageEntries python \
		$libDir/python*
}

