diff options
Diffstat (limited to 'dev-util/unicorn/unicorn-2.0.0_rc5.ebuild')
-rw-r--r-- | dev-util/unicorn/unicorn-2.0.0_rc5.ebuild | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/dev-util/unicorn/unicorn-2.0.0_rc5.ebuild b/dev-util/unicorn/unicorn-2.0.0_rc5.ebuild new file mode 100644 index 000000000000..8687e522b5a0 --- /dev/null +++ b/dev-util/unicorn/unicorn-2.0.0_rc5.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV=${PV/_/-} + +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{9..10} ) +inherit cmake distutils-r1 + +DESCRIPTION="A lightweight multi-platform, multi-architecture CPU emulator framework" +HOMEPAGE="https://www.unicorn-engine.org" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/unicorn-engine/unicorn" +else + SRC_URI="https://github.com/unicorn-engine/unicorn/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="GPL-2" +SLOT="0/2" +IUSE="python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND="${PYTHON_DEPS} + dev-libs/glib:2" +RDEPEND="python? ( ${PYTHON_DEPS} )" +# See bug #832337 re Python deps +BDEPEND="virtual/pkgconfig + python? ( + >=dev-python/installer-0.4.0_p20220124[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + >=dev-python/setuptools-60.5.0[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + )" + +UNICORN_TARGETS="x86 arm aarch64 riscv mips sparc m68k ppc" + +wrap_python() { + if use python; then + # src_prepare + # do not compile C extensions + export LIBUNICORN_PATH=1 + + pushd bindings/python >/dev/null || die + distutils-r1_${1} "$@" + popd >/dev/null || die + fi +} + +src_prepare() { + # Build from sources + rm -r bindings/python/prebuilt || die "failed to remove prebuilt files" + + cmake_src_prepare + wrap_python ${FUNCNAME} +} + +src_configure(){ + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DUNICORN_BUILD_SHARED=$(usex !static-libs) + -DUNICORN_ARCH="${UNICORN_TARGETS}" + ) + + cmake_src_configure + + wrap_python ${FUNCNAME} +} + +src_compile() { + cmake_src_compile + + wrap_python ${FUNCNAME} +} + +src_install() { + cmake_src_install + + wrap_python ${FUNCNAME} +} |