diff --git a/dev-debug/pwndbg/Manifest b/dev-debug/pwndbg/Manifest index 3a8f4a7693d59..13d948db72434 100644 --- a/dev-debug/pwndbg/Manifest +++ b/dev-debug/pwndbg/Manifest @@ -1,2 +1,3 @@ DIST pwndbg-20240829.tar.gz 8649207 BLAKE2B 5333c318ba3ccbaaac459f9c7b917d3defa1ad712f45555b31eb76774089e55e80720744dc92813ad8234302445e3bed3237c2275c795a49856028dec416dcc2 SHA512 503924742d4a6d767ec369bb1e37c931afb5ab09f2b4cfa048765ce7a61fb6adcda2576cdda64dd4cf74de27d83b13b4dc09d6e7480e01ae8f646c5394992d43 DIST pwndbg-20250120.tar.gz 8959258 BLAKE2B 58c2c6139d8d96c939c602f694519167d4722f7ed05a92a5c38e55e0a894ffd930813d583e07bc70d0114abdcf8e34e7e859ceeb1113fc0cd00dd4af513f213b SHA512 b619b8b3727a4a23a3146f2bb0f3475ad788e82712cb669d233d88ce546546f114882162df6e5d0b357e9fa143a6829f7387132ee2a7f922dc4e669a215d8d51 +DIST pwndbg-20250219.tar.gz 8996907 BLAKE2B 7774c86b9e00186c39db29090c39bbbfa6ce1b0ab565de8a524687afccfdb1ceab829503ac6340f0f32d74ed95020bcd136b1e0e2d3f256a15e5e3ffe17a963b SHA512 18ec21a1b978ef9edefb6f979d1330a6e2f48d6a005b391ebac5aaf7b9e866de7bd497b983bb9eef52e50b4fe82ea901036ca86c308e8962413a17d5733e7efe diff --git a/dev-debug/pwndbg/pwndbg-20250219.ebuild b/dev-debug/pwndbg/pwndbg-20250219.ebuild new file mode 100644 index 0000000000000..3ed0ae501d5e1 --- /dev/null +++ b/dev-debug/pwndbg/pwndbg-20250219.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +DISTUTILS_SINGLE_IMPL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-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 ~arm64 ~x86" + S="${WORKDIR}/${PN}-${MY_PV}" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + dev-debug/gdb[python,${PYTHON_SINGLE_USEDEP}] + ~dev-python/gdb-pt-dump-0.0.0_p20240401[${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + >=dev-libs/capstone-5.0.3[python,${PYTHON_USEDEP}] + >=dev-python/psutil-5.9.8[${PYTHON_USEDEP}] + >=dev-python/pycparser-2.22[${PYTHON_USEDEP}] + >=dev-python/pyelftools-0.29[${PYTHON_USEDEP}] + >=dev-python/pygments-2.18.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.3[${PYTHON_USEDEP}] + >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}] + >=dev-python/tabulate-0.9.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}] + >=dev-util/pwntools-4.14.0[${PYTHON_USEDEP}] + >=dev-util/ROPgadget-7.3[${PYTHON_USEDEP}] + >=dev-util/unicorn-2.1.2[python,${PYTHON_USEDEP}] + ') +" + +# Tests are architectur-specific (precompiled binaries) +RESTRICT="test" + +src_install() { + distutils-r1_src_install + + insinto /usr/share/${PN} + doins gdbinit.py + + # Signal pwndbg not to create it's own python venv (Bug #918705). + # See: https://github.com/pwndbg/pwndbg/commit/139b7542cd9567eaff32bd713df971b6ac5b81de + touch "${ED}/usr/share/${PN}/.skip-venv" || die + + 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 " + 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 +}