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>

Reply via email to