commit: 0d39c4f81f6935808094d2176872a9aa8cd747c4 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> AuthorDate: Fri Jun 19 01:12:28 2020 +0000 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> CommitDate: Fri Jun 19 01:33:06 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d39c4f8
dev-libs/keystone: revbump, fix a lot of bugs Issue: https://github.com/gentoo/gentoo/pull/11828 Bug: https://bugs.gentoo.org/685000 Bug: https://bugs.gentoo.org/712354 Bug: https://bugs.gentoo.org/718276 Bug: https://bugs.gentoo.org/652440 Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> dev-libs/keystone/keystone-0.9.1-r1.ebuild | 92 ++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/dev-libs/keystone/keystone-0.9.1-r1.ebuild b/dev-libs/keystone/keystone-0.9.1-r1.ebuild new file mode 100644 index 00000000000..a4863b0bced --- /dev/null +++ b/dev-libs/keystone/keystone-0.9.1-r1.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit cmake distutils-r1 llvm + +DESCRIPTION="assembly/assembler framework + bindings" +HOMEPAGE="http://www.keystone-engine.org/" + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git" + inherit git-r3 + KEYWORDS="" +else + SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc64 ~x86" +fi + +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[@]/%/?} + +IUSE="python ${ALL_LLVM_TARGETS[*]}" + +LLVM_MAX_SLOT=10 + +RDEPEND=" + <sys-devel/llvm-11:= + || ( + sys-devel/llvm:8[${LLVM_TARGET_USEDEPS// /,}] + sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}] + sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}] + ) + python? ( ${PYTHON_DEPS} ) +" + +DEPEND="${RDEPEND}" + +REQUIRED_USE=" + || ( ${ALL_LLVM_TARGETS[*]} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +S=${WORKDIR}/${P/_rc/-rc} + +wrap_python() { + if use python; then + pushd bindings/python >/dev/null || die + distutils-r1_${1} "$@" + popd >/dev/null || die + fi +} + +src_prepare() { + default + sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \ + llvm/CMakeLists.txt || die + cmake_src_prepare + wrap_python ${FUNCNAME} +} + +src_configure() { + 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_HOST_TRIPLE="${CHOST}" + ) + + cmake_src_configure + wrap_python ${FUNCNAME} +} + +src_compile() { + cmake_src_compile + wrap_python ${FUNCNAME} +} + +src_install() { + cmake_src_install + wrap_python ${FUNCNAME} +}