biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / perl-modules / strip-nondeterminism / default.nix
blob31b3fad47b4562929c9ab5f2e04ea0fb688b9aa5
1 { lib
2 , stdenv
3 , file
4 , fetchFromGitLab
5 , buildPerlPackage
6 , ArchiveZip
7 , ArchiveCpio
8 , SubOverride
9 , shortenPerlShebang
12 buildPerlPackage rec {
13   pname = "strip-nondeterminism";
14   version = "1.13.1";
16   outputs = [ "out" "dev" ]; # no "devdoc"
18   src = fetchFromGitLab {
19     owner = "reproducible-builds";
20     repo = "strip-nondeterminism";
21     domain = "salsa.debian.org";
22     rev = version;
23     sha256 = "czx9UhdgTsQSfDNo1mMOXCM/3/nuNe+cPZeyy2xdnKs=";
24   };
26   strictDeps = true;
27   nativeBuildInputs = lib.optionals stdenv.isDarwin [ shortenPerlShebang ];
28   buildInputs = [
29     ArchiveZip
30     ArchiveCpio
31     SubOverride
32   ];
34   postPatch = ''
35     substituteInPlace lib/File/StripNondeterminism.pm \
36       --replace "exec('file'" "exec('${lib.getExe file}'"
37   '';
40   postBuild = ''
41     patchShebangs ./bin
42   '';
44   postInstall = ''
45     # we don’t need the debhelper script
46     rm $out/bin/dh_strip_nondeterminism
47     rm $out/share/man/man1/dh_strip_nondeterminism.1
48   '' + lib.optionalString stdenv.isDarwin ''
49     shortenPerlShebang $out/bin/strip-nondeterminism
50   '';
52   installCheckPhase = ''
53     runHook preInstallCheck
54     ($out/bin/strip-nondeterminism --help 2>&1 | grep -q "verbose") || (echo "'$out/bin/strip-nondeterminism --help' failed" && exit 1)
55     runHook postInstallCheck
56   '';
58   # running shortenPerlShebang in postBuild results in non-functioning binary 'exec format error'
59   doCheck = !stdenv.isDarwin;
60   doInstallCheck = true;
62   meta = with lib; {
63     description = "A Perl module for stripping bits of non-deterministic information";
64     mainProgram = "strip-nondeterminism";
65     homepage = "https://reproducible-builds.org/";
66     license = licenses.gpl3Only;
67     maintainers = with maintainers; [ pSub artturin ];
68   };