diff --git a/pkgs/by-name/sc/scalpel/package.nix b/pkgs/by-name/sc/scalpel/package.nix new file mode 100644 index 000000000000..94246fff8682 --- /dev/null +++ b/pkgs/by-name/sc/scalpel/package.nix @@ -0,0 +1,56 @@ +{ lib +, fetchFromGitHub +, stdenv +, autoconf +, automake +, libtool +, tre +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "scalpel"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "sleuthkit"; + repo = "scalpel"; + rev = "35e1367ef2232c0f4883c92ec2839273c821dd39"; + hash = "sha256-0lqU1CAcWXNw9WFa29BXla1mvABlzWV+hcozZyfR0oE="; + }; + + nativeBuildInputs = [ + autoconf + automake + libtool + tre + ]; + + postPatch = '' + sed -i \ + -e 's|#define\s*SCALPEL_DEFAULT_CONFIG_FILE\s.*"scalpel.conf"|#define SCALPEL_DEFAULT_CONFIG_FILE "${placeholder "out"}/share/scalpel/scalpel.conf"|' \ + src/scalpel.h + ''; + + env.CXXFLAGS = "-std=c++14" + lib.optionalString stdenv.cc.isClang " -Wno-error=reserved-user-defined-literal"; + + preConfigure = '' + ./bootstrap + ''; + + configureFlags = [ + "--with-pic" + ]; + + postInstall = '' + install -Dm644 scalpel.conf -t $out/share/scalpel/ + ''; + + meta = with lib; { + homepage = "https://github.com/sleuthkit/scalpel"; + description = "Recover files based on their headers, footers and internal data structures, based on Foremost"; + mainProgram = "scalpel"; + maintainers = with maintainers; [ shard7 ]; + platforms = platforms.unix; + license = with licenses; [ asl20 ]; + }; +})