about summary refs log tree commit diff
diff options
context:
space:
mode:
authorZak B. Elep <zakame@zakame.net>2024-01-23 10:06:20 +0800
committerGitHub <noreply@github.com>2024-01-23 10:06:20 +0800
commit08e04cadfc5f96a7f9271d12e65bea72eb7923e6 (patch)
tree1c8e9d5136951a265b74721adfe3238a38318a19
parent52282946b1ee7aaf0e569460901a28c711a788a8 (diff)
parenta563b20aad7f7c41653355ce12a691ad23453550 (diff)
Merge pull request #278373 from D3vil0p3r/patch-7
-rw-r--r--pkgs/by-name/re/regripper/package.nix55
-rw-r--r--pkgs/top-level/perl-packages.nix13
2 files changed, 68 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;
+  };
+}
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index e1e4f350ceb8b..924afc1577c4c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -19983,6 +19983,19 @@ with self; {
     };
   };
 
+  ParseWin32Registry = buildPerlPackage {
+    pname = "ParseWin32Registry";
+    version = "1.1";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JM/JMACFARLA/Parse-Win32Registry-1.1.tar.gz";
+      hash = "sha256-wWOyAr5q17WPSEZJT/crjJqXloPKmU5DgOmsZWTcBbo=";
+    };
+    meta = with lib; {
+      description = "Module for parsing Windows Registry files";
+      license = with licenses; [ artistic1 gpl1Only ];
+    };
+  };
+
   ParseEDID = buildPerlPackage {
     pname = "Parse-Edid";
     version = "1.0.7";