commit: 084ecb4a4dd95da8f55cbc0e8bb49a182305896c
Author: Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de>
AuthorDate: Sat Mar 8 12:34:35 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 10 02:06:31 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=084ecb4a
dev-util/unicorn: add 2.1.3
Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de>
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-util/unicorn/Manifest | 1 +
dev-util/unicorn/unicorn-2.1.3.ebuild | 109 ++++++++++++++++++++++++++++++++++
2 files changed, 110 insertions(+)
diff --git a/dev-util/unicorn/Manifest b/dev-util/unicorn/Manifest
index a9ee7657805e..46c79e82c043 100644
--- a/dev-util/unicorn/Manifest
+++ b/dev-util/unicorn/Manifest
@@ -1,3 +1,4 @@
DIST unicorn-2.0.1.gh.tar.gz 4070004 BLAKE2B
4ab8f92367e7df5762d29ed58dfff524f59053e28548b170b982d16988eea16df46851d2ea559d8beabb4f1315e5ee627f9ded755a4f3b1cfd6d863a50c633b6
SHA512
4249d33d38614ea1ca51e38c7838cb276306100aa44c65ad1b3e39304e4b856ac643a9c6f9d13678fc07bea58989a08b64653d17afe9e62bcef2936ba63e1b1f
DIST unicorn-2.1.1.gh.tar.gz 4176172 BLAKE2B
3dd434121418b9a4eb69683cfca6ec0cd019b632492fbfff421eaf26f4907a2f30bf78699b3afe28df624037e3973a5110a6ea21bd233e66a04a689d3e3e5d1c
SHA512
d6184b87a0fb729397ec2ac2cb8bfd9d10c9d4276e49efa681c66c7c54d1a325305a920332a708e68989cc299d0d1a543a1ceeaf552a9b44ec93084f7bf85ef2
DIST unicorn-2.1.2.gh.tar.gz 4196820 BLAKE2B
3e97c0f0b6dccd157222d473ef51f28fbcaf72eda056713fe1463a3f741f1abe6fbf73d770f391c3730c02e94ede2de4f25c0bf460c80dcc560a79258a7338b2
SHA512
f05e16f02fbf527875f7246811307b8b224cecd4d305dd59490a2a51444672c7ec769153545c857b5425111c19b8c0c33abbb51fcc8d49c0777771d31cf32630
+DIST unicorn-2.1.3.gh.tar.gz 4197694 BLAKE2B
97f3954a33e7eed4264c4fdd33f011da39a3f4cca96c5e3bcdc88d10bb3a2392ced00a8c79470100c9f0b3f48c118a4c99e6a632dedccf5a20e3a4f7fd4e0fa7
SHA512
49aa53cd981e88857cf579010e3e86a6808fbfc9723fbf73c3d5bcebf945c5d78ffcdf426a4bbcd06b13337a3a0ce76bce8815497e3521023ae432a053d3e4bb
diff --git a/dev-util/unicorn/unicorn-2.1.3.ebuild
b/dev-util/unicorn/unicorn-2.1.3.ebuild
new file mode 100644
index 000000000000..0aa13795a01e
--- /dev/null
+++ b/dev-util/unicorn/unicorn-2.1.3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 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_{10..13} )
+
+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}.gh.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1"
+SLOT="0/2"
+IUSE="logging python static-libs test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="${PYTHON_DEPS}
+ dev-libs/glib:2"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+BDEPEND="virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+ )"
+
+RESTRICT="!test? ( test )"
+
+UNICORN_TARGETS="x86 arm aarch64 riscv mips sparc m68k ppc s390x tricore"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+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}
+
+ if use elibc_musl ; then
+ QA_CONFIG_IMPL_DECL_SKIP=( malloc_trim )
+ fi
+}
+
+src_configure(){
+ local mycmakeargs=(
+ -DUNICORN_ARCH="${UNICORN_TARGETS// /;}"
+ -DUNICORN_LOGGING=$(usex logging)
+ -DUNICORN_LEGACY_STATIC_ARCHIVE=$(usex static-libs)
+ -DZIG_BUILD=OFF
+ )
+
+ cmake_src_configure
+
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake_src_compile
+
+ wrap_python ${FUNCNAME}
+}
+
+src_test() {
+ cmake_src_install
+
+ wrap_python ${FUNCNAME}
+}
+
+python_test() {
+# export LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for f in tests/test_*.py; do
+ if test -x ${f}; then
+ LD_LIBRARY_PATH="${ED}/usr/$(get_libdir)" ${EPYHTON}
${f} || die
+ fi
+ done
+}
+
+src_install() {
+ cmake_src_install
+
+ wrap_python ${FUNCNAME}
+}