about summary refs log tree commit diff
path: root/pkgs/by-name/re/regripper/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/re/regripper/package.nix')
-rw-r--r--pkgs/by-name/re/regripper/package.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/by-name/re/regripper/package.nix b/pkgs/by-name/re/regripper/package.nix
new file mode 100644
index 0000000000000..a8dc3d9828f7c
--- /dev/null
+++ b/pkgs/by-name/re/regripper/package.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, perl
+, perlPackages
+, runtimeShell
+}:
+
+stdenv.mkDerivation rec {
+  pname = "regripper";
+  version = "unstable-2023-07-23";
+
+  src = fetchFromGitHub {
+    owner = "keydet89";
+    repo = "RegRipper3.0";
+    rev = "cee174fb6f137b14c426e97d17945ddee0d31051";
+    hash = "sha256-vejIRlcVjxQJpxJabJJcljODYr+lLJjYINVtAPObvkQ=";
+  };
+
+  propagatedBuildInputs = [ perl perlPackages.ParseWin32Registry ];
+
+  postPatch = ''
+    substituteInPlace rip.pl rr.pl \
+      --replace \"plugins/\" \"$out/share/regripper/plugins/\" \
+      --replace \"plugins\" \"$out/share/regripper/plugins\"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,share}
+
+    rm -r *.md *.exe *.bat *.dll
+
+    cp -aR . "$out/share/regripper/"
+
+    cat > "$out/bin/${pname}" << EOF
+    #!${runtimeShell}
+    exec ${perl}/bin/perl $out/share/regripper/rip.pl "\$@"
+    EOF
+
+    chmod u+x  "$out/bin/${pname}"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Open source forensic software used as a Windows Registry data extraction command line";
+    mainProgram = "regripper";
+    homepage = "https://github.com/keydet89/RegRipper3.0";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+  };
+}