summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd/default.nix
diff options
context:
space:
mode:
authorYurii Matsiuk <ymatsiuk@users.noreply.github.com>2021-09-29 11:15:35 +0200
committerYurii Matsiuk <ymatsiuk@users.noreply.github.com>2021-10-01 21:16:33 +0200
commit73ac07a127d91a7fedd23cc508fe59c5a935dbe2 (patch)
tree84f5f2e149dd0b38fd74977323ea88011085c1ac /pkgs/os-specific/linux/systemd/default.nix
parent1e653a8378a3d6f5dbbcb8c4ddbd6b35bb71e1b7 (diff)
downloadnixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.tar
nixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.tar.gz
nixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.tar.bz2
nixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.tar.lz
nixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.tar.xz
nixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.tar.zst
nixpkgs-73ac07a127d91a7fedd23cc508fe59c5a935dbe2.zip
systemd: add missing TPM2 build dependencies
Diffstat (limited to 'pkgs/os-specific/linux/systemd/default.nix')
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix12
1 files changed, 9 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index e0a4128b0cd..81e6818b3cc 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -251,6 +251,7 @@ stdenv.mkDerivation {
           { name = "libtss2-esys.so.0"; pkg = opt withTpm2Tss tpm2-tss; }
           { name = "libtss2-rc.so.0"; pkg = opt withTpm2Tss tpm2-tss; }
           { name = "libtss2-mu.so.0"; pkg = opt withTpm2Tss tpm2-tss; }
+          { name = "libtss2-tcti-"; pkg = opt withTpm2Tss tpm2-tss; }
           { name = "libfido2.so.1"; pkg = opt withFido2 libfido2; }
         ];
 
@@ -267,8 +268,12 @@ stdenv.mkDerivation {
         '' else ''
           # ensure that the library we provide actually exists
           if ! [ -e ${library} ]; then
-            echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`'
-            exit 1
+            # exceptional case, details:
+            # https://github.com/systemd/systemd-stable/blob/v249-stable/src/shared/tpm2-util.c#L157
+            if ! [[ "${library}" =~ .*libtss2-tcti-$ ]]; then
+              echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`'
+              exit 1
+            fi
           fi
           # make the path to the dependency explicit
           for file in $(grep -lr '"${dl.name}"' src); do
@@ -353,6 +358,7 @@ stdenv.mkDerivation {
     ++ lib.optionals withHomed [ p11-kit ]
     ++ lib.optionals (withHomed || withCryptsetup) [ libfido2 ]
     ++ lib.optionals withLibBPF [ libbpf ]
+    ++ lib.optional withTpm2Tss tpm2-tss
   ;
 
   #dontAddPrefix = true;
@@ -452,7 +458,7 @@ stdenv.mkDerivation {
     "-Dnss-systemd=false"
   ] ++ lib.optionals withLibBPF [
     "-Dbpf-framework=true"
-  ];
+  ] ++ lib.optional withTpm2Tss "-Dtpm2=true";
 
   preConfigure = ''
     mesonFlagsArray+=(-Dntp-servers="0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")