diff options
Diffstat (limited to 'dev-libs/keystone/keystone-9999.ebuild')
-rw-r--r-- | dev-libs/keystone/keystone-9999.ebuild | 47 |
1 files changed, 31 insertions, 16 deletions
diff --git a/dev-libs/keystone/keystone-9999.ebuild b/dev-libs/keystone/keystone-9999.ebuild index 7ef25cfa1b43..c1e7b73fa5d4 100644 --- a/dev-libs/keystone/keystone-9999.ebuild +++ b/dev-libs/keystone/keystone-9999.ebuild @@ -1,13 +1,14 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -LLVM_MAX_SLOT=12 +DISTUTILS_EXT=1 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{8,9,10} ) +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) -inherit cmake distutils-r1 llvm +inherit cmake distutils-r1 flag-o-matic DESCRIPTION="assembly/assembler framework + bindings" HOMEPAGE="https://www.keystone-engine.org/" @@ -17,31 +18,38 @@ if [[ ${PV} == 9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc64 ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" fi +S="${WORKDIR}"/${P/_rc/-rc} LICENSE="GPL-2" SLOT="0" -# Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm -ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} +# Keep in sync with llvm/CMakeLists.txt +KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86" -IUSE="python ${ALL_LLVM_TARGETS[*]}" +IUSE="python" RDEPEND=" - <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[${LLVM_TARGET_USEDEPS// /,}] python? ( ${PYTHON_DEPS} ) " DEPEND="${RDEPEND}" +BDEPEND=" + python? + ( + ${DISTUTILS_DEPS} + ${PYTHON_DEPS} + ) +" + +RESTRICT=test # only regression tests REQUIRED_USE=" - || ( ${ALL_LLVM_TARGETS[*]} ) python? ( ${PYTHON_REQUIRED_USE} ) " -S=${WORKDIR}/${P/_rc/-rc} +# Upstream doesn't flag patch releases (bug 858395) +QA_PKGCONFIG_VERSION="$(ver_cut 1-2)" wrap_python() { if use python; then @@ -51,8 +59,11 @@ wrap_python() { fi } +pkg_setup() { + python_setup +} + src_prepare() { - default sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \ llvm/CMakeLists.txt || die cmake_src_prepare @@ -60,13 +71,17 @@ src_prepare() { } src_configure() { + # ODR violations in bundled LLVM (bug #924866) + filter-lto + local libdir="$(get_libdir)" local mycmakeargs=( -DCMAKE_CONFIGURATION_TYPES="Gentoo" -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DBUILD_SHARED_LIBS=ON - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_TARGETS_TO_BUILD="${KEYSTONE_TARGETS// /;}" -DLLVM_HOST_TRIPLE="${CHOST}" + -DPYTHON_EXECUTABLE="${PYTHON}" ) cmake_src_configure |