diff options
author | Mario Haustein <mario.haustein@hrz.tu-chemnitz.de> | 2022-09-08 08:05:15 +0200 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2022-10-10 16:10:42 +0300 |
commit | cf6e9c648407a023b5383021d62310d93d60fb70 (patch) | |
tree | c08cdd995f1ccea0aa36ec3cf411a0918ed70772 /dev-libs/capstone/capstone-5.0_rc2-r2.ebuild | |
parent | dev-util/geany-plugins: add libgit2-1.4 support (diff) | |
download | gentoo-cf6e9c648407a023b5383021d62310d93d60fb70.tar.gz gentoo-cf6e9c648407a023b5383021d62310d93d60fb70.tar.bz2 gentoo-cf6e9c648407a023b5383021d62310d93d60fb70.zip |
dev-libs/capstone: fix out of bound memory access
Closes: https://bugs.gentoo.org/865151
Signed-off-by: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
Closes: https://github.com/gentoo/gentoo/pull/27188
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-libs/capstone/capstone-5.0_rc2-r2.ebuild')
-rw-r--r-- | dev-libs/capstone/capstone-5.0_rc2-r2.ebuild | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild b/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild new file mode 100644 index 000000000000..854077b25d6a --- /dev/null +++ b/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{8..11} ) + +inherit cmake distutils-r1 toolchain-funcs + +DESCRIPTION="disassembly/disassembler framework + bindings" +HOMEPAGE="http://www.capstone-engine.org/" +SRC_URI="https://github.com/capstone-engine/capstone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/5" # libcapstone.so.5 +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +IUSE="python test" +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND} + python? ( dev-python/setuptools[${PYTHON_USEDEP}] ) +" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +distutils_enable_tests setup.py + +S=${WORKDIR}/${P/_rc/-rc} + +PATCHES=( + "${FILESDIR}"/${P}-pkgconfig.patch + "${FILESDIR}"/${P}-oob-mem-access.patch +) + +if [[ ${PV} == *_rc* ]]; then + # Upstream doesn't flag release candidates (bug 858350) + QA_PKGCONFIG_VERSION="" +fi + +wrap_python() { + local phase=$1 + shift + + if use python; then + pushd bindings/python >/dev/null || die + distutils-r1_${phase} "$@" + popd >/dev/null || die + fi +} + +src_prepare() { + tc-export RANLIB + cmake_src_prepare + + wrap_python ${FUNCNAME} +} + +src_configure() { + local mycmakeargs=( + -DCAPSTONE_BUILD_TESTS="$(usex test)" + ) + cmake_src_configure + + wrap_python ${FUNCNAME} +} + +src_compile() { + cmake_src_compile + + wrap_python ${FUNCNAME} +} + +src_test() { + cmake_src_test + + wrap_python ${FUNCNAME} +} + +src_install() { + cmake_src_install + + wrap_python ${FUNCNAME} +} |