3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
|
6 |
PYTHON_COMPAT=( python3_{10..12} )
|
|
7 |
DISTUTILS_EXT=1
|
6 |
8 |
DISTUTILS_OPTIONAL=1
|
7 |
|
PYTHON_COMPAT=( python3_{9..11} )
|
|
9 |
DISTUTILS_USE_PEP517=setuptools
|
8 |
10 |
|
9 |
11 |
inherit cmake distutils-r1 toolchain-funcs
|
10 |
12 |
|
11 |
13 |
DESCRIPTION="disassembly/disassembler framework + bindings"
|
12 |
14 |
HOMEPAGE="https://www.capstone-engine.org/"
|
13 |
|
SRC_URI="https://github.com/capstone-engine/capstone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
|
14 |
15 |
|
15 |
|
LICENSE="BSD"
|
16 |
|
SLOT="0/4" # libcapstone.so.4
|
17 |
|
KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
|
|
16 |
if [[ ${PV} == 9999 ]]; then
|
|
17 |
inherit git-r3
|
|
18 |
EGIT_REPO_URI="https://github.com/capstone-engine/capstone.git"
|
|
19 |
EGIT_REPO_BRANCH="next"
|
|
20 |
else
|
|
21 |
MY_PV="${PV/_rc/-rc}"
|
|
22 |
SRC_URI="https://github.com/capstone-engine/capstone/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
|
23 |
S="${WORKDIR}/${PN}-${MY_PV}"
|
|
24 |
KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
|
|
25 |
fi
|
18 |
26 |
|
19 |
|
# A few disassembly outputs need an update
|
20 |
|
RESTRICT="test"
|
|
27 |
LICENSE="BSD"
|
|
28 |
SLOT="0/5" # libcapstone.so.5
|
21 |
29 |
|
22 |
30 |
IUSE="python static-libs test"
|
23 |
31 |
RDEPEND="python? ( ${PYTHON_DEPS} )"
|
24 |
32 |
DEPEND="${RDEPEND}
|
25 |
33 |
python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
|
26 |
34 |
"
|
|
35 |
BDEPEND="${DISTUTILS_DEPS}"
|
27 |
36 |
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
28 |
37 |
|
29 |
|
#TODO: needs upstream fixes
|
30 |
|
#distutils_enable_tests setup.py
|
31 |
|
|
32 |
|
S=${WORKDIR}/${P/_rc/-rc}
|
|
38 |
distutils_enable_tests setup.py
|
33 |
39 |
|
34 |
|
PATCHES=(
|
35 |
|
"${FILESDIR}"/${P}-libsuffix.patch
|
36 |
|
)
|
|
40 |
if [[ ${PV} == *_rc* ]]; then
|
|
41 |
# Upstream doesn't flag release candidates (bug 858350)
|
|
42 |
QA_PKGCONFIG_VERSION=""
|
|
43 |
fi
|
37 |
44 |
|
38 |
45 |
wrap_python() {
|
39 |
46 |
local phase=$1
|
... | ... | |
41 |
48 |
|
42 |
49 |
if use python; then
|
43 |
50 |
pushd bindings/python >/dev/null || die
|
44 |
|
echo distutils-r1_${phase} "$@"
|
45 |
|
pwd
|
46 |
51 |
distutils-r1_${phase} "$@"
|
47 |
|
popd >/dev/null
|
|
52 |
popd >/dev/null || die
|
48 |
53 |
fi
|
49 |
54 |
}
|
50 |
55 |
|
... | ... | |
58 |
63 |
src_configure() {
|
59 |
64 |
local mycmakeargs=(
|
60 |
65 |
-DCAPSTONE_BUILD_TESTS="$(usex test)"
|
61 |
|
-DCAPSTONE_BUILD_STATIC="$(usex static-libs)"
|
62 |
66 |
)
|
63 |
67 |
cmake_src_configure
|
64 |
68 |
|
... | ... | |
81 |
85 |
cmake_src_install
|
82 |
86 |
|
83 |
87 |
wrap_python ${FUNCNAME}
|
|
88 |
|
|
89 |
if ! use static-libs ; then
|
|
90 |
find "${ED}" -name '*.a' -delete || die
|
|
91 |
fi
|
84 |
92 |
}
|