diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-05-03 15:14:25 +0200 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-05-07 11:19:19 +0200 |
commit | d92b2b6a1bbd322dd65a8b6f51019610d350046e (patch) | |
tree | 7f7c21927b9cc05676501f297c51eb76b49e326c /nixpkgs/pkgs/by-name/pw | |
parent | 93c9e56b40530cc627d921cfc255c05b495d4017 (diff) | |
parent | 49050352f602fe87d16ff7b2b6a05b79eb20dc6f (diff) | |
download | nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.tar nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.tar.gz nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.tar.bz2 nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.tar.lz nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.tar.xz nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.tar.zst nixlib-d92b2b6a1bbd322dd65a8b6f51019610d350046e.zip |
Merge remote-tracking branch 'nixpkgs/nixos-unstable-small'
Conflicts: nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/pkgs/build-support/go/module.nix
Diffstat (limited to 'nixpkgs/pkgs/by-name/pw')
-rw-r--r-- | nixpkgs/pkgs/by-name/pw/pwndbg/package.nix | 70 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/pw/pwru/package.nix | 4 |
2 files changed, 72 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/by-name/pw/pwndbg/package.nix b/nixpkgs/pkgs/by-name/pw/pwndbg/package.nix new file mode 100644 index 000000000000..473a401ce1c5 --- /dev/null +++ b/nixpkgs/pkgs/by-name/pw/pwndbg/package.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, python3 +, fetchFromGitHub +, makeWrapper +, gdb +}: + +let + pwndbg-py = python3.pkgs.pwndbg; + + pythonPath = python3.pkgs.makePythonPath [ pwndbg-py ]; + + binPath = lib.makeBinPath ([ + python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8 + ] ++ lib.optionals stdenv.isLinux [ + python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30 + python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32 + ]); +in +stdenv.mkDerivation { + pname = "pwndbg"; + version = lib.getVersion pwndbg-py; + format = "other"; + + inherit (pwndbg-py) src; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/pwndbg + cp gdbinit.py $out/share/pwndbg/gdbinit.py + chmod +x $out/share/pwndbg/gdbinit.py + # First line is a import from future, so we need to append our imports after that + sed '2 i import sys, os + 3 i [sys.path.append(p) for p in "${pythonPath}".split(":")] + 4 i os.environ["PATH"] += ":${binPath}"' -i $out/share/pwndbg/gdbinit.py + + # Don't require an in-package venv + touch $out/share/pwndbg/.skip-venv + + makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \ + --add-flags "-q -x $out/share/pwndbg/gdbinit.py" + + runHook postInstall + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + # Check if pwndbg is installed correctly + HOME=$TMPDIR LC_CTYPE=C.UTF-8 $out/bin/pwndbg -ex exit + + runHook postInstallCheck + ''; + + meta = with lib; { + description = "Exploit Development and Reverse Engineering with GDB Made Easy"; + mainProgram = "pwndbg"; + homepage = "https://github.com/pwndbg/pwndbg"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ mic92 patryk4815 msanft ]; + # not supported on aarch64-darwin see: https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/ + broken = stdenv.isDarwin && stdenv.isAarch64; + }; +} diff --git a/nixpkgs/pkgs/by-name/pw/pwru/package.nix b/nixpkgs/pkgs/by-name/pw/pwru/package.nix index d8dca376fc3b..5f393ff9cee7 100644 --- a/nixpkgs/pkgs/by-name/pw/pwru/package.nix +++ b/nixpkgs/pkgs/by-name/pw/pwru/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "pwru"; - version = "1.0.5"; + version = "1.0.6"; src = fetchFromGitHub { owner = "cilium"; repo = "pwru"; rev = "v${version}"; - hash = "sha256-2CpjTVBuiGU5cYkdSIxIpk1EoZAUhlXxVU+KJXHosiA="; + hash = "sha256-8pXyzmzMCxOzwstzvzeZB2HBMeMzGMLZesTURZD3Rt8="; }; vendorHash = null; |