diff options
author | Mario Haustein <mario.haustein@hrz.tu-chemnitz.de> | 2023-11-29 19:14:41 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-12-04 08:33:01 +0000 |
commit | 646a889ecd781bdaf6176d15f7bb56171bb70389 (patch) | |
tree | 1381dc5a8d03269259f98eda42bed412707d8dd8 /dev-util/pwndbg | |
parent | dev-lang/mono: filter LTO unconditionally, force -O2, no strict aliasing (diff) | |
download | gentoo-646a889ecd781bdaf6176d15f7bb56171bb70389.tar.gz gentoo-646a889ecd781bdaf6176d15f7bb56171bb70389.tar.bz2 gentoo-646a889ecd781bdaf6176d15f7bb56171bb70389.zip |
dev-util/pwndbg: prevent pwndbg from setting up its own venv
Bug: https://bugs.gentoo.org/918705
Signed-off-by: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
Thanks-to: Stefan Gloor <code@stefan-gloor.ch>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/pwndbg')
-rw-r--r-- | dev-util/pwndbg/files/pwndbg-20230717-no-venv.patch | 46 | ||||
-rw-r--r-- | dev-util/pwndbg/pwndbg-20230717-r1.ebuild (renamed from dev-util/pwndbg/pwndbg-20230717.ebuild) | 4 |
2 files changed, 50 insertions, 0 deletions
diff --git a/dev-util/pwndbg/files/pwndbg-20230717-no-venv.patch b/dev-util/pwndbg/files/pwndbg-20230717-no-venv.patch new file mode 100644 index 000000000000..4011236240f9 --- /dev/null +++ b/dev-util/pwndbg/files/pwndbg-20230717-no-venv.patch @@ -0,0 +1,46 @@ +From 6a351680675123ccc0d8fb192f28f3c654979c92 Mon Sep 17 00:00:00 2001 +From: Stefan Gloor <code@stefan-gloor.ch> +Date: Tue, 28 Nov 2023 20:24:26 +0100 +Subject: [PATCH] Use global python packages instead of virtualenv +Bug: https://bugs.gentoo.org/918705 + +The upstream install script creates a .venv and installs the +dependencies there. This patch allows the normal python packages to be +used. + +Signed-off-by: Stefan Gloor <code@stefan-gloor.ch> +--- a/gdbinit.py ++++ b/gdbinit.py +@@ -20,29 +20,6 @@ directory, file = path.split(__file__) + directory = path.expanduser(directory) + directory = path.abspath(directory) + +-# Get virtualenv's site-packages path +-venv_path = os.environ.get("PWNDBG_VENV_PATH") +-if not venv_path: +- venv_path = os.path.join(directory, ".venv") +- +-if not os.path.exists(venv_path): +- print(f"Cannot find Pwndbg virtualenv directory: {venv_path}: please re-run setup.sh") +- sys.exit(1) +- +-site_pkgs_path = glob(os.path.join(venv_path, "lib/*/site-packages"))[0] +- +-# add virtualenv's site-packages to sys.path and run .pth files +-site.addsitedir(site_pkgs_path) +- +-# remove existing, system-level site-packages from sys.path +-for site_packages in site.getsitepackages(): +- if site_packages in sys.path: +- sys.path.remove(site_packages) +- +-# Set virtualenv's bin path (needed for utility tools like ropper, pwntools etc) +-bin_path = os.path.join(venv_path, "bin") +-os.environ["PATH"] = bin_path + os.pathsep + os.environ.get("PATH") +- + # Add gdb-pt-dump directory to sys.path so it can be imported + gdbpt = path.join(directory, "gdb-pt-dump") + sys.path.append(directory) +-- +2.41.0 + diff --git a/dev-util/pwndbg/pwndbg-20230717.ebuild b/dev-util/pwndbg/pwndbg-20230717-r1.ebuild index 8de162e49a85..9cd280c6f445 100644 --- a/dev-util/pwndbg/pwndbg-20230717.ebuild +++ b/dev-util/pwndbg/pwndbg-20230717-r1.ebuild @@ -44,6 +44,10 @@ RDEPEND=" >=dev-util/unicorn-2.0.1[python,${PYTHON_USEDEP}] ')" +PATCHES=( + "${FILESDIR}/${P}-no-venv.patch" # Bug 918705 +) + src_prepare() { if [[ ${PV} == *9999 ]]; then rm -r gdb-pt-dump/.git || die |