dev-python/csv23: arm64 keyworded (bug #719700)
[gentoo.git] / dev-libs / keystone / keystone-0.9.1.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 DISTUTILS_OPTIONAL=1
7 CMAKE_MIN_VERSION=3.8.7
8 PYTHON_COMPAT=( python3_6 )
9
10 inherit cmake-utils distutils-r1 llvm
11
12 DESCRIPTION="assembly/assembler framework + bindings"
13 HOMEPAGE="http://www.keystone-engine.org/"
14
15 if [[ ${PV} == 9999* ]]; then
16         EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
17         inherit git-r3
18         KEYWORDS=""
19 else
20         SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P/-rc/_rc}.tar.gz"
21         KEYWORDS="~amd64 ~arm ~x86"
22 fi
23
24 LICENSE="GPL-2"
25 SLOT="0"
26
27 # Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm
28 ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 )
29 ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
30 LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
31
32 IUSE="python ${ALL_LLVM_TARGETS[*]}"
33 RDEPEND="${PYTHON_DEPS}
34 "
35 DEPEND="${RDEPEND}"
36 REQUIRED_USE="
37         ${PYTHON_REQUIRED_USE}
38         || ( ${ALL_LLVM_TARGETS[*]} )
39 "
40
41 S=${WORKDIR}/${P/_rc/-rc}
42
43 CMAKE_BUILD_TYPE=RelWithDebInfo
44
45 llvm_check_deps() {
46         has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
47 }
48
49 wrap_python() {
50         if use python; then
51                 pushd bindings/python >/dev/null || die
52                 distutils-r1_${EBUILD_PHASE_FUNC} "$@"
53                 popd >/dev/null || die
54         fi
55 }
56
57 src_prepare() {
58         default
59         cmake-utils_src_prepare
60         wrap_python
61 }
62
63 src_configure() {
64         local mycmakeargs=(
65                 -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
66
67                 -DBUILD_SHARED_LIBS=ON
68                 -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
69                 -DLLVM_HOST_TRIPLE="${CHOST}"
70         )
71
72         cmake-utils_src_configure
73         wrap_python
74 }
75
76 src_compile() {
77         cmake-utils_src_compile
78         wrap_python
79 }
80
81 src_install() {
82         cmake-utils_src_install
83         wrap_python
84 }