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}
+}

Reply via email to