ieda: init at 0-unstable-2024-10-11 (#338769)
[NixPkgs.git] / pkgs / by-name / la / lanzaboote-tool / package.nix
blobc13a0b8974df2ae2169a2ebeffbf3a802411cb08
2   systemd,
3   stdenv,
4   makeWrapper,
5   binutils-unwrapped,
6   sbsigntool,
7   rustPlatform,
8   fetchFromGitHub,
9   lib,
11 rustPlatform.buildRustPackage rec {
12   pname = "lanzaboote-tool";
13   version = "0.3.0";
15   src = fetchFromGitHub {
16     owner = "nix-community";
17     repo = "lanzaboote";
18     rev = "v${version}";
19     hash = "sha256-Fb5TeRTdvUlo/5Yi2d+FC8a6KoRLk2h1VE0/peMhWPs=";
20   };
22   sourceRoot = "${src.name}/rust/tool";
23   cargoHash = "sha256-g4WzqfH6DZVUuNb0jV3MFdm3h7zy2bQ6d3agrXesWgc=";
25   env.TEST_SYSTEMD = systemd;
26   doCheck = lib.meta.availableOn stdenv.hostPlatform systemd;
28   nativeBuildInputs = [
29     makeWrapper
30   ];
32   postInstall = ''
33     # Clean PATH to only contain what we need to do objcopy.
34     # This is still an unwrapped lanzaboote tool lacking of the
35     # UEFI stub location.
36     mv $out/bin/lzbt $out/bin/lzbt-unwrapped
37     wrapProgram $out/bin/lzbt-unwrapped \
38       --set PATH ${
39         lib.makeBinPath [
40           binutils-unwrapped
41           sbsigntool
42         ]
43       }
44   '';
46   nativeCheckInputs = [
47     binutils-unwrapped
48     sbsigntool
49   ];
51   meta = with lib; {
52     description = "Lanzaboote UEFI tooling for SecureBoot enablement on NixOS systems";
53     homepage = "https://github.com/nix-community/lanzaboote";
54     license = licenses.gpl3Only;
55     mainProgram = "lzbt";
56     maintainers = with maintainers; [
57       raitobezarius
58       nikstur
59     ];
60     # Broken on aarch64-linux and any other architecture for now.
61     # Wait for 0.4.0.
62     platforms = [
63       "x86_64-linux"
64       "i686-linux"
65     ];
66   };