{ stdenv, lib, fetchFromGitHub , autoreconfHook, pkg-config, autoconf-archive, makeWrapper, which , tpm2-tss, glib, dbus , cmocka }: stdenv.mkDerivation rec { pname = "tpm2-abrmd"; version = "2.3.2"; src = fetchFromGitHub { owner = "tpm2-software"; repo = pname; rev = version; sha256 = "0jzglnlb700clcq6mjhhgvcq29a6893h888wsn9fbrh4f255sw8q"; }; nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook autoconf-archive which ]; buildInputs = [ tpm2-tss glib dbus ]; checkInputs = [ cmocka ]; enableParallelBuilding = true; # Emulate the required behavior of ./bootstrap in the original # package preAutoreconf = '' echo "${version}" > VERSION ''; # Unit tests are currently broken as the check phase attempts to start a dbus daemon etc. #configureFlags = [ "--enable-unit" ]; doCheck = false; # Even though tpm2-tss is in the RUNPATH, starting from 2.3.0 abrmd # seems to require the path to the device TCTI (used for accessing # /dev/tpm0) in it's LD_LIBRARY_PATH postFixup = '' wrapProgram $out/bin/tpm2-abrmd \ --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ tpm2-tss ]}" ''; meta = with lib; { description = "TPM2 resource manager, accessible via D-Bus"; homepage = "https://github.com/tpm2-software/tpm2-tools"; license = licenses.bsd3; platforms = platforms.linux; maintainers = with maintainers; [ lschuermann ]; }; }