d7564b07c8
symlinks like `tpm2_createprimary -> tpm2` were wrapped, causing argv0 issues due to double wrapping: $ tpm2_ptool init [..] RuntimeError: Could not execute tpm2_createprimary: b'ERROR: /nix/store/[..]/bin/.tpm2_createprimary-wrapped: unknown tool. This patch only wraps the `tpm2` and `tss2` executables, and not the symlinks to them `tpm2_*` and `tss2_*`
40 lines
1.2 KiB
Nix
40 lines
1.2 KiB
Nix
{ stdenv, fetchurl, lib
|
|
, pandoc, pkg-config, makeWrapper, curl, openssl, tpm2-tss, libuuid
|
|
, abrmdSupport ? true, tpm2-abrmd ? null }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "tpm2-tools";
|
|
version = "5.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
|
|
sha256 = "sha256-4bkH/imHdigFLgithO68bD92RtKVBe1IYulhYqjJG6E=";
|
|
};
|
|
|
|
nativeBuildInputs = [ pandoc pkg-config makeWrapper ];
|
|
buildInputs = [
|
|
curl openssl tpm2-tss libuuid
|
|
];
|
|
|
|
preFixup = let
|
|
ldLibraryPath = lib.makeLibraryPath ([
|
|
tpm2-tss
|
|
] ++ (lib.optional abrmdSupport tpm2-abrmd));
|
|
in ''
|
|
wrapProgram $out/bin/tpm2 --suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
|
|
wrapProgram $out/bin/tss2 --suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
|
|
'';
|
|
|
|
|
|
# Unit tests disabled, as they rely on a dbus session
|
|
#configureFlags = [ "--enable-unit" ];
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "Command line tools that provide access to a TPM 2.0 compatible device";
|
|
homepage = "https://github.com/tpm2-software/tpm2-tools";
|
|
license = licenses.bsd3;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ delroth ];
|
|
};
|
|
}
|