commit:     321df26934e943cc9a24528de15d90c5b2e76219
Author:     Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de>
AuthorDate: Fri Jan 28 17:44:01 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr  5 03:18:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=321df269

dev-util/pwndbg: new ebuild

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de>
Closes: https://github.com/gentoo/gentoo/pull/24016
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/pwndbg/Manifest               |  1 +
 dev-util/pwndbg/metadata.xml           | 20 +++++++++
 dev-util/pwndbg/pwndbg-20220105.ebuild | 77 ++++++++++++++++++++++++++++++++++
 dev-util/pwndbg/pwndbg-99999999.ebuild | 77 ++++++++++++++++++++++++++++++++++
 4 files changed, 175 insertions(+)

diff --git a/dev-util/pwndbg/Manifest b/dev-util/pwndbg/Manifest
new file mode 100644
index 000000000000..1b009386b9e1
--- /dev/null
+++ b/dev-util/pwndbg/Manifest
@@ -0,0 +1 @@
+DIST pwndbg-20220105.tar.gz 8272634 BLAKE2B 
a221fa3af2145a819bc780f3395a168a91371ce1218dc4acfee2ac3420a78c8550c98921dbb03f4bc928cdac07fdc6bed8be7c642a5be42064492192b3443ea6
 SHA512 
ebb61b402bb6cbaa516c2b1d885f231f6f591c2226d02d69cdd163f674ed41aba5505e3390b47e431f93a6e5de3867feb93c2be6da03a32c5f4c7a0ff074fa08

diff --git a/dev-util/pwndbg/metadata.xml b/dev-util/pwndbg/metadata.xml
new file mode 100644
index 000000000000..707da35acff7
--- /dev/null
+++ b/dev-util/pwndbg/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person" proxied="yes">
+               <email>[email protected]</email>
+               <name>Mario Haustein</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Sam James</name>
+       </maintainer>
+       <longdescription>
+               pwndbg is a GDB plug-in that makes debugging with GDB suck 
less, with a
+               focus on features needed by low-level software developers, 
hardware
+               hackers, reverse-engineers and exploit developers.
+       </longdescription>
+       <upstream>
+               <remote-id type="github">pwndbg/pwndbg</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/dev-util/pwndbg/pwndbg-20220105.ebuild 
b/dev-util/pwndbg/pwndbg-20220105.ebuild
new file mode 100644
index 000000000000..e2218320b275
--- /dev/null
+++ b/dev-util/pwndbg/pwndbg-20220105.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit python-single-r1 wrapper
+
+DESCRIPTION="A GDB plug-in that makes debugging with GDB suck less"
+HOMEPAGE="https://github.com/pwndbg/pwndbg";
+
+if [[ ${PV} == "99999999" ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/pwndbg/pwndbg";
+else
+       MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}"
+       SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> 
${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+       S="${WORKDIR}/${PN}-${MY_PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+       ${PYTHON_DEPS}
+       sys-devel/gdb[python,${PYTHON_SINGLE_USEDEP}]
+       $(python_gen_cond_dep '
+               dev-libs/capstone[python,${PYTHON_USEDEP}]
+               dev-python/future[${PYTHON_USEDEP}]
+               dev-python/isort[${PYTHON_USEDEP}]
+               dev-python/psutil[${PYTHON_USEDEP}]
+               dev-python/pycparser[${PYTHON_USEDEP}]
+               dev-python/pyelftools[${PYTHON_USEDEP}]
+               dev-python/python-ptrace[${PYTHON_USEDEP}]
+               dev-python/six[${PYTHON_USEDEP}]
+               dev-python/pygments[${PYTHON_USEDEP}]
+               dev-util/ROPgadget[${PYTHON_USEDEP}]
+               dev-util/unicorn[python,${PYTHON_USEDEP}]
+       ')"
+
+src_prepare() {
+       if [[ ${PV} != *9999 ]]; then
+               sed -e "s/__version__ = '\(.*\)'/__version__ = '${PV}'/" \
+                       -i pwndbg/version.py || die
+       fi
+
+       python_fix_shebang "${S}"
+       default
+}
+
+src_install() {
+       insinto /usr/share/${PN}
+       doins -r pwndbg/ gdbinit.py # ida_script.py
+
+       python_optimize "${ED}"/usr/share/${PN}
+
+       make_wrapper "pwndbg" \
+               "gdb -x \"${EPREFIX}/usr/share/${PN}/gdbinit.py\"" || die
+
+       dodoc {README,DEVELOPING,FEATURES}.md
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               einfo "\nUsage:"
+               einfo "    ~$ pwndbg <program>"
+               ewarn "\nWARNING!!!"
+               ewarn "Some pwndbg commands only works with libc debug 
symbols.\n"
+               ewarn "See also:"
+               ewarn " * 
https://github.com/pentoo/pentoo-overlay/issues/521#issuecomment-548975884";
+               ewarn " * 
https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html";
+               ewarn " * https://wiki.gentoo.org/wiki/Debugging";
+       fi
+}

diff --git a/dev-util/pwndbg/pwndbg-99999999.ebuild 
b/dev-util/pwndbg/pwndbg-99999999.ebuild
new file mode 100644
index 000000000000..e2218320b275
--- /dev/null
+++ b/dev-util/pwndbg/pwndbg-99999999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit python-single-r1 wrapper
+
+DESCRIPTION="A GDB plug-in that makes debugging with GDB suck less"
+HOMEPAGE="https://github.com/pwndbg/pwndbg";
+
+if [[ ${PV} == "99999999" ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/pwndbg/pwndbg";
+else
+       MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}"
+       SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> 
${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+       S="${WORKDIR}/${PN}-${MY_PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+       ${PYTHON_DEPS}
+       sys-devel/gdb[python,${PYTHON_SINGLE_USEDEP}]
+       $(python_gen_cond_dep '
+               dev-libs/capstone[python,${PYTHON_USEDEP}]
+               dev-python/future[${PYTHON_USEDEP}]
+               dev-python/isort[${PYTHON_USEDEP}]
+               dev-python/psutil[${PYTHON_USEDEP}]
+               dev-python/pycparser[${PYTHON_USEDEP}]
+               dev-python/pyelftools[${PYTHON_USEDEP}]
+               dev-python/python-ptrace[${PYTHON_USEDEP}]
+               dev-python/six[${PYTHON_USEDEP}]
+               dev-python/pygments[${PYTHON_USEDEP}]
+               dev-util/ROPgadget[${PYTHON_USEDEP}]
+               dev-util/unicorn[python,${PYTHON_USEDEP}]
+       ')"
+
+src_prepare() {
+       if [[ ${PV} != *9999 ]]; then
+               sed -e "s/__version__ = '\(.*\)'/__version__ = '${PV}'/" \
+                       -i pwndbg/version.py || die
+       fi
+
+       python_fix_shebang "${S}"
+       default
+}
+
+src_install() {
+       insinto /usr/share/${PN}
+       doins -r pwndbg/ gdbinit.py # ida_script.py
+
+       python_optimize "${ED}"/usr/share/${PN}
+
+       make_wrapper "pwndbg" \
+               "gdb -x \"${EPREFIX}/usr/share/${PN}/gdbinit.py\"" || die
+
+       dodoc {README,DEVELOPING,FEATURES}.md
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               einfo "\nUsage:"
+               einfo "    ~$ pwndbg <program>"
+               ewarn "\nWARNING!!!"
+               ewarn "Some pwndbg commands only works with libc debug 
symbols.\n"
+               ewarn "See also:"
+               ewarn " * 
https://github.com/pentoo/pentoo-overlay/issues/521#issuecomment-548975884";
+               ewarn " * 
https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html";
+               ewarn " * https://wiki.gentoo.org/wiki/Debugging";
+       fi
+}

Reply via email to