commit: df05617a11ac841203578c48b6c0b4a24aed35d7 Author: Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de> AuthorDate: Sat Jan 15 13:16:20 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Jan 28 05:16:45 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df05617a
dev-util/gef: new ebuild Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de> Closes: https://github.com/gentoo/gentoo/pull/23806 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-util/gef/Manifest | 1 + dev-util/gef/gef-2021.10.ebuild | 70 +++++++++++++++++++++++++++++++++++++++++ dev-util/gef/gef-9999.ebuild | 70 +++++++++++++++++++++++++++++++++++++++++ dev-util/gef/metadata.xml | 24 ++++++++++++++ 4 files changed, 165 insertions(+) diff --git a/dev-util/gef/Manifest b/dev-util/gef/Manifest new file mode 100644 index 000000000000..c6064ff0d468 --- /dev/null +++ b/dev-util/gef/Manifest @@ -0,0 +1 @@ +DIST gef-2021.10.tar.gz 170829 BLAKE2B 4d21fb68b2d9239dea912bb41790c7ffe83d9a7bb17cc6b3df67078b0147ff06676ff257c46567fb9a4fa76d5e12140f567f153337e83dbdd10cf0576cd08499 SHA512 30ccc728322651c3fc88f629165a96f593f079ddaa21d194e483804cdf4bcb235ed28cfaaa6fdd85c134b2314f32bd87e3dcf5decc45720f8e7b89ca9af2c379 diff --git a/dev-util/gef/gef-2021.10.ebuild b/dev-util/gef/gef-2021.10.ebuild new file mode 100644 index 000000000000..e69d14c8d8a6 --- /dev/null +++ b/dev-util/gef/gef-2021.10.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{9..10} ) + +inherit python-single-r1 wrapper + +DESCRIPTION="A GDB Enhanced Features for exploit devs & reversers" +HOMEPAGE="https://github.com/hugsy/gef" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/hugsy/gef" +else + SRC_URI="https://github.com/hugsy/gef/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="doc" +RESTRICT="test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + dev-util/ropper[${PYTHON_SINGLE_USEDEP}] + sys-devel/gdb[python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-libs/capstone[python,${PYTHON_USEDEP}] + dev-libs/keystone[python,${PYTHON_USEDEP}] + dev-python/pylint[${PYTHON_USEDEP}] + dev-util/unicorn[python,${PYTHON_USEDEP}] + ')" + +BDEPEND="doc? ( dev-python/mkdocs )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_compile() { + : +} + +src_install() { + insinto "/usr/share/${PN}" + doins -r *.py + + python_optimize "${D}/usr/share/${PN}" + + make_wrapper "gdb-gef" \ + "gdb -ex \"source /usr/share/${PN}/gef.py\"" || die + + if use doc; then + mkdocs build -d html || die + rm "${WORKDIR}/${P}/html/sitemap.xml.gz" || die + dodoc -r html/ + fi + + dodoc README.md +} + +pkg_postinst() { + einfo "\nUsage:" + einfo " ~$ gdb-gef <program>\n" +} diff --git a/dev-util/gef/gef-9999.ebuild b/dev-util/gef/gef-9999.ebuild new file mode 100644 index 000000000000..e69d14c8d8a6 --- /dev/null +++ b/dev-util/gef/gef-9999.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{9..10} ) + +inherit python-single-r1 wrapper + +DESCRIPTION="A GDB Enhanced Features for exploit devs & reversers" +HOMEPAGE="https://github.com/hugsy/gef" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/hugsy/gef" +else + SRC_URI="https://github.com/hugsy/gef/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="doc" +RESTRICT="test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + dev-util/ropper[${PYTHON_SINGLE_USEDEP}] + sys-devel/gdb[python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-libs/capstone[python,${PYTHON_USEDEP}] + dev-libs/keystone[python,${PYTHON_USEDEP}] + dev-python/pylint[${PYTHON_USEDEP}] + dev-util/unicorn[python,${PYTHON_USEDEP}] + ')" + +BDEPEND="doc? ( dev-python/mkdocs )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_compile() { + : +} + +src_install() { + insinto "/usr/share/${PN}" + doins -r *.py + + python_optimize "${D}/usr/share/${PN}" + + make_wrapper "gdb-gef" \ + "gdb -ex \"source /usr/share/${PN}/gef.py\"" || die + + if use doc; then + mkdocs build -d html || die + rm "${WORKDIR}/${P}/html/sitemap.xml.gz" || die + dodoc -r html/ + fi + + dodoc README.md +} + +pkg_postinst() { + einfo "\nUsage:" + einfo " ~$ gdb-gef <program>\n" +} diff --git a/dev-util/gef/metadata.xml b/dev-util/gef/metadata.xml new file mode 100644 index 000000000000..5d86fc913db6 --- /dev/null +++ b/dev-util/gef/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Mario Haustein</name> + </maintainer> + <maintainer type="person"> + <email>[email protected]</email> + <name>Sam James</name> + </maintainer> + <longdescription> + GEF is a set of commands for x86/64, ARM, MIPS, PowerPC and SPARC to + assist exploit developers and reverse-engineers when using old school + GDB. It provides additional features to GDB using the Python API to + assist during the process of dynamic analysis and exploit development. + Application developers will also benefit from it, as GEF lifts a great + part of regular GDB obscurity, avoiding repeating traditional commands, + or bringing out the relevant information from the debugging runtime. + </longdescription> + <upstream> + <remote-id type="github">hugsy/gef</remote-id> + </upstream> +</pkgmetadata>
