diff --git a/dev-libs/unicorn-bindings/Manifest b/dev-libs/unicorn-bindings/Manifest index e9a5ef0b4..621678068 100644 --- a/dev-libs/unicorn-bindings/Manifest +++ b/dev-libs/unicorn-bindings/Manifest @@ -1,3 +1,2 @@ DIST unicorn-1.0.1.tar.gz 3241225 BLAKE2B 977349ee9f98d63a93d67ed9f1e8c4fd7fc6a5bf43285baf011624ddb4b801bdaf61879ddaec1310d84a23151e16af95af0eb3396e22895d4067396f1426ea1e SHA512 edfe1f7bfbc1d20f5b62232057e194a937bc09db686ef2efadb33a54605029a53426432cdb2a29511385aacdb9343b3b3091af50a1909098d7cf6db3429eb966 -DIST unicorn-1.0.2_rc1.tar.gz 3340182 BLAKE2B b5845b7111b7d3657a6c0f509f63067cd6ead20a2792dd3695484e90e48453e78af17faaddb84951a8c3d69b536444f5f506766af01dfb4946fdd860cd246d0e SHA512 c710b4a6c24a2b51def4a732a2186dd774e111287950f80fccb01cd0a9dc9788302e15bc55146df298412a824123b862ddde3a9de3627d7912dea9bc29ee27d3 DIST unicorn-1.0.2_rc2.tar.gz 3746757 BLAKE2B fa5e4f998de7836c4ed2bb704f9c9a898b0baaa4e55f2734bed7797667b75050e3267bc2f85f5899265e5beecf0d400c9b5432fe973c68fe2a6974dd61db06ba SHA512 170021813c665f6489a8f158148dcc1f08bb1dbe51640b1f53c1530d44921b9761f177cd30e6fc6dac0102f60c8787cb37fb13cc0afc1085fc2d5599d1cf13c3 diff --git a/dev-libs/unicorn-bindings/unicorn-bindings-1.0.2_rc1.ebuild b/dev-libs/unicorn-bindings/unicorn-bindings-1.0.2_rc1.ebuild deleted file mode 100644 index 7dc0735ae..000000000 --- a/dev-libs/unicorn-bindings/unicorn-bindings-1.0.2_rc1.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PV=${PV/_/-} - -PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} ) -inherit multilib distutils-r1 - -DESCRIPTION="Unicorn bindings" -HOMEPAGE="http://www.unicorn-engine.org" -SRC_URI="https://github.com/unicorn-engine/unicorn/archive/${MY_PV}.tar.gz -> unicorn-${PV}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="python" - -RDEPEND="~dev-util/unicorn-${PV}" - -DEPEND="${RDEPEND} - virtual/pkgconfig - python? ( dev-python/setuptools[${PYTHON_USEDEP}] ) - " -# go? ( dev-lang/go ) -# ruby? ( dev-lang/ruby:* ) - -S="${WORKDIR}/unicorn-${MY_PV}"/bindings - -pkg_setup() { - python_setup -} - -src_prepare(){ - #do not compile C extensions - export LIBUNICORN_PATH=1 - -# use go || sed -i -e '/go gen_const/d' Makefile -# use java || sed -i -e '/java gen_const/d' Makefile -# use python || sed -i -e '/python gen_const/d' Makefile -# use ruby || sed -i -e '/ruby gen_const/d' Makefile - - sed -i -e '/const_generator.py dotnet/d' Makefile - #fix python2 install - sed -i "s|python setup.py install|python2 setup.py install|" python/Makefile || die - eapply_user -} - -src_compile(){ - einfo "Nothing to compile" -} - -src_install(){ - if use python; then - myinstall_python() { - if python_is_python3; then - emake -C python DESTDIR="${D}" install3 - else - emake -C python DESTDIR="${D}" install - fi - python_optimize - } - python_foreach_impl myinstall_python - fi -} diff --git a/dev-util/unicorn/Manifest b/dev-util/unicorn/Manifest index e9a5ef0b4..8ca787095 100644 --- a/dev-util/unicorn/Manifest +++ b/dev-util/unicorn/Manifest @@ -1,3 +1,3 @@ DIST unicorn-1.0.1.tar.gz 3241225 BLAKE2B 977349ee9f98d63a93d67ed9f1e8c4fd7fc6a5bf43285baf011624ddb4b801bdaf61879ddaec1310d84a23151e16af95af0eb3396e22895d4067396f1426ea1e SHA512 edfe1f7bfbc1d20f5b62232057e194a937bc09db686ef2efadb33a54605029a53426432cdb2a29511385aacdb9343b3b3091af50a1909098d7cf6db3429eb966 -DIST unicorn-1.0.2_rc1.tar.gz 3340182 BLAKE2B b5845b7111b7d3657a6c0f509f63067cd6ead20a2792dd3695484e90e48453e78af17faaddb84951a8c3d69b536444f5f506766af01dfb4946fdd860cd246d0e SHA512 c710b4a6c24a2b51def4a732a2186dd774e111287950f80fccb01cd0a9dc9788302e15bc55146df298412a824123b862ddde3a9de3627d7912dea9bc29ee27d3 DIST unicorn-1.0.2_rc2.tar.gz 3746757 BLAKE2B fa5e4f998de7836c4ed2bb704f9c9a898b0baaa4e55f2734bed7797667b75050e3267bc2f85f5899265e5beecf0d400c9b5432fe973c68fe2a6974dd61db06ba SHA512 170021813c665f6489a8f158148dcc1f08bb1dbe51640b1f53c1530d44921b9761f177cd30e6fc6dac0102f60c8787cb37fb13cc0afc1085fc2d5599d1cf13c3 +DIST unicorn-1.0.2_rc3.tar.gz 3747400 BLAKE2B 863dbead1cb08467298082fe8845741485ed6c1549ef846d30cde6b225fcd1cd955c5b2773ff78df8271304595f9559118ce41b3f993bd9cd1e5e47abaeb8a51 SHA512 6d27fa74504fe2c3d9292b4f67634042ac87015c203dfa0085d17d0efb82c12d0084bb5bd3f96200fb0c861820d499f09fa2e9e2a27addb68e1ba3bf2c7fea37 diff --git a/dev-util/unicorn/unicorn-1.0.2_rc1.ebuild b/dev-util/unicorn/unicorn-1.0.2_rc3.ebuild similarity index 58% rename from dev-util/unicorn/unicorn-1.0.2_rc1.ebuild rename to dev-util/unicorn/unicorn-1.0.2_rc3.ebuild index 4b802906f..3b521f480 100644 --- a/dev-util/unicorn/unicorn-1.0.2_rc1.ebuild +++ b/dev-util/unicorn/unicorn-1.0.2_rc3.ebuild @@ -1,11 +1,12 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 MY_PV=${PV/_/-} -PYTHON_COMPAT=( python2_7 python3_{6,7} ) +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{6,7,8} ) inherit multilib distutils-r1 DESCRIPTION="A lightweight multi-platform, multi-architecture CPU emulator framework" @@ -14,23 +15,43 @@ SRC_URI="https://github.com/unicorn-engine/unicorn/archive/${MY_PV}.tar.gz -> ${ LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86 ~m68k ~arm ~arm64 ~mips ~sparc" -IUSE="python static-libs" +KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~mips ~sparc ~x86" IUSE_UNICORN_TARGETS="x86 m68k arm aarch64 mips sparc" use_unicorn_targets=$(printf ' unicorn_targets_%s' ${IUSE_UNICORN_TARGETS}) -IUSE+=" ${use_unicorn_targets}" +IUSE="python ${use_unicorn_targets} static-libs" + +REQUIRED_USE="|| ( ${use_unicorn_targets} ) + python? ( ${PYTHON_REQUIRED_USE} )" DEPEND="dev-libs/glib:2 ${PYTHON_DEPS}" RDEPEND="${DEPEND} - virtual/pkgconfig" -PDEPEND="dev-libs/unicorn-bindings[python?]" - -REQUIRED_USE="|| ( ${use_unicorn_targets} )" + virtual/pkgconfig + python? ( ${PYTHON_DEPS} )" S="${WORKDIR}/${PN}-${MY_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 + fi +} + +src_prepare() { + #build from sources + rm -r bindings/python/prebuilt || die "failed to remove prebuild" + + default + wrap_python ${FUNCNAME} +} + src_configure(){ local target unicorn_softmmu_targets="" @@ -44,18 +65,25 @@ src_configure(){ #the following variable is getting recreated using UNICORN_ARCHS below UNICORN_TARGETS="" default + wrap_python ${FUNCNAME} } src_compile() { export CC INSTALL_BIN PREFIX PKGCFGDIR LIBDIRARCH LIBARCHS CFLAGS LDFLAGS - UNICORN_QEMU_FLAGS="--python=/usr/bin/python2" \ + UNICORN_QEMU_FLAGS="--python=/usr/bin/python3" \ UNICORN_ARCHS="${unicorn_targets}" \ UNICORN_STATIC="$(use static-libs && echo yes || echo no)" \ emake - # echo $PWD - # UNICORN_QEMU_FLAGS="--python=/usr/bin/python2" UNICORN_ARCHS="${unicorn_targets}" UNICORN_STATIC="$(use static-libs && echo yes || echo no)" ./make.sh --python=/usr/bin/python2 + wrap_python ${FUNCNAME} +} + +src_test() { + default + + wrap_python ${FUNCNAME} } src_install() { emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" UNICORN_STATIC="$(use static-libs && echo yes || echo no)" install + wrap_python ${FUNCNAME} }