{ 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; }; }