Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / bu / bulk_extractor / package.nix
blob58bbb1edd6d17c29f1a8d3de454b4615d3e7cdb2
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , autoreconfHook
5 , exiv2
6 , flex
7 , libewf
8 , libxml2
9 , openssl
10 , zlib
11 , pkg-config
12 , python310
13 , re2
16 stdenv.mkDerivation (finalAttrs: {
17   pname = "bulk_extractor";
18   version = "2.1.1";
20   src = fetchFromGitHub {
21     owner = "simsong";
22     repo = "bulk_extractor";
23     rev = "v${finalAttrs.version}";
24     hash = "sha256-Jj/amXESFBu/ZaiIRlDKmtWTBVQ2TEvOM2jBYP3y1L8=";
25     fetchSubmodules = true;
26   };
28   enableParallelBuilding = true;
29   nativeBuildInputs = [
30     pkg-config
31     python310
32     autoreconfHook
33   ];
34   buildInputs = [
35     exiv2
36     flex
37     libewf
38     libxml2
39     openssl
40     zlib
41     re2
42   ];
44   preAutoreconf = ''
45     python3 etc/makefile_builder.py
46     autoheader -f
47     aclocal -I m4
48   '';
50   postPatch = lib.optionalString stdenv.isDarwin ''
51     substituteInPlace src/be20_api/feature_recorder_set.cpp --replace-fail '#warn ' '#warning '
52   '';
54   meta = with lib; {
55     description = "Digital forensics tool for extracting information from file systems";
56     longDescription = ''
57       bulk_extractor is a C++ program that scans a disk image, a file, or a
58       directory of files and extracts useful information without parsing
59       the file system or file system structures. The results are stored in
60       feature files that can be easily inspected, parsed, or processed with
61       automated tools.
62     '';
63     mainProgram = "bulk_extractor";
64     homepage = "https://github.com/simsong/bulk_extractor";
65     downloadPage = "http://downloads.digitalcorpora.org/downloads/bulk_extractor/";
66     changelog = "https://github.com/simsong/bulk_extractor/blob/${finalAttrs.src.rev}/ChangeLog";
67     maintainers = with maintainers; [ d3vil0p3r ];
68     platforms = with platforms; unix ++ windows;
69     license = with licenses; [
70       mit
71       cpl10
72       gpl3Only
73       lgpl21Only
74       lgpl3Only
75       licenses.openssl
76     ];
77   };