python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / clevis / default.nix
blob70767373258eab3888cad1ea4bdeb403be492af0
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchurl
5 , meson
6 , ninja
7 , pkg-config
8 , asciidoc
9 , makeWrapper
10 , jansson
11 , jose
12 , cryptsetup
13 , curl
14 , libpwquality
15 , luksmeta
16 , coreutils
17 , tpm2-tools
18 , gnugrep
19 , gnused
22 stdenv.mkDerivation rec {
23   pname = "clevis";
24   version = "18";
26   src = fetchFromGitHub {
27     owner = "latchset";
28     repo = pname;
29     rev = "v${version}";
30     sha256 = "sha256-m1UhyjD5ydSgCTBu6sECLlxFx0rnQxFnBA7frbdUqU8=";
31   };
33   patches = [
34     # sss: use BN_set_word(x, 0) instead of BN_zero(), fixes build issue with different versions of openssl
35     (fetchurl {
36       url = "https://github.com/latchset/clevis/commit/ee1dfedb9baca107e66a0fec76693c9d479dcfd9.patch";
37       sha256 = "sha256-GeklrWWlAMALDLdnn6+0Bi0l+bXrIbYkgIyI94WEybM=";
38     })
39   ];
41   postPatch = ''
42     for f in $(find src/ -type f); do
43       grep -q "/bin/cat" "$f" && substituteInPlace "$f" \
44         --replace '/bin/cat' '${coreutils}/bin/cat' || true
45     done
46   '';
48   postInstall = ''
49     # We wrap the main clevis binary entrypoint but not the sub-binaries.
50     wrapProgram $out/bin/clevis \
51       --prefix PATH ':' "${lib.makeBinPath [tpm2-tools jose cryptsetup libpwquality luksmeta gnugrep gnused coreutils]}:${placeholder "out"}/bin"
52   '';
54   nativeBuildInputs = [ meson ninja pkg-config asciidoc makeWrapper ];
55   buildInputs = [ jansson jose cryptsetup curl libpwquality luksmeta tpm2-tools ];
57   outputs = [ "out" "man" ];
59   meta = {
60     description = "Automated Encryption Framework";
61     homepage = "https://github.com/latchset/clevis";
62     maintainers = with lib.maintainers; [ ];
63     license = lib.licenses.gpl3Plus;
64   };