From 7505d91783e4544551f84ac12ffe61032750eb4e Mon Sep 17 00:00:00 2001 From: Tom Dohrmann Date: Sun, 20 Mar 2022 16:22:54 +0100 Subject: [PATCH 1/2] maintainers: add freax13 --- maintainers/maintainer-list.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fea30c74954..c10cb88845b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4235,7 +4235,12 @@ githubId = 119691; name = "Michael Gough"; }; - + freax13 = { + email = "erbse.13@gmx.de"; + github = "freax13"; + githubId = 14952658; + name = "Tom Dohrmann"; + }; fredeb = { email = "im@fredeb.dev"; github = "fredeeb"; From 2cd15bbbedba8fb1ae2b008331aefe6804d4075c Mon Sep 17 00:00:00 2001 From: Tom Dohrmann Date: Sun, 20 Mar 2022 16:24:09 +0100 Subject: [PATCH 2/2] gef: init at 2022.01 --- pkgs/development/tools/misc/gef/default.nix | 77 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 79 insertions(+) create mode 100644 pkgs/development/tools/misc/gef/default.nix diff --git a/pkgs/development/tools/misc/gef/default.nix b/pkgs/development/tools/misc/gef/default.nix new file mode 100644 index 00000000000..0352ebc7cf3 --- /dev/null +++ b/pkgs/development/tools/misc/gef/default.nix @@ -0,0 +1,77 @@ +{ lib +, stdenv +, fetchFromGitHub +, makeWrapper +, gdb +, python3 +, file +, ps +, git +, coreutils +}: + +let + pythonPath = with python3.pkgs; makePythonPath [ + keystone-engine + unicorn + capstone + ropper + ]; + +in stdenv.mkDerivation rec { + pname = "gef"; + version = "2022.01"; + + src = fetchFromGitHub { + owner = "hugsy"; + repo = "gef"; + rev = version; + sha256 = "sha256-Ot0OYMbXFGCzJdmDHD+LoZRDShCbYJ+IGzLTcU2Rfd4="; + }; + + dontBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/share/gef + cp gef.py $out/share/gef + makeWrapper ${gdb}/bin/gdb $out/bin/gef \ + --add-flags "-q -x $out/share/gef/gef.py" \ + --set NIX_PYTHONPATH ${pythonPath} \ + --prefix PATH : ${lib.makeBinPath [ python3 file ps ]} + ''; + + checkInputs = [ + gdb + file + ps + git + python3 + python3.pkgs.pytest + python3.pkgs.pytest-xdist + python3.pkgs.keystone-engine + python3.pkgs.unicorn + python3.pkgs.capstone + python3.pkgs.ropper + ]; + checkPhase = '' + # Skip some tests that require network access. + sed -i '/def test_cmd_shellcode_get(self):/i \ \ \ \ @unittest.skip(reason="not available in sandbox")' tests/runtests.py + sed -i '/def test_cmd_shellcode_search(self):/i \ \ \ \ @unittest.skip(reason="not available in sandbox")' tests/runtests.py + + # Patch the path to /bin/ls. + sed -i 's+/bin/ls+${coreutils}/bin/ls+g' tests/runtests.py + + # Run the tests. + make test + ''; + + meta = with lib; { + description = "A modern experience for GDB with advanced debugging features for exploit developers & reverse engineers"; + homepage = "https://github.com/hugsy/gef"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ freax13 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc128b10112..eff1b058104 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5765,6 +5765,8 @@ with pkgs; gdmap = callPackage ../tools/system/gdmap { }; + gef = callPackage ../development/tools/misc/gef { }; + gelasio = callPackage ../data/fonts/gelasio { }; gemget = callPackage ../tools/networking/gemget {};