swtpm: fix build on darwin
This commit is contained in:
parent
acd095ab64
commit
3689136441
|
@ -28,23 +28,28 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [
|
||||
pkg-config unixtools.netstat expect socat
|
||||
perl # for pod2man
|
||||
python3
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
python3 which
|
||||
which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libtpms
|
||||
openssl libtasn1 libseccomp
|
||||
fuse glib json-glib
|
||||
openssl libtasn1
|
||||
glib json-glib
|
||||
gnutls
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
fuse
|
||||
libseccomp
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-cuse"
|
||||
"--localstatedir=/var"
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
"--with-cuse"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -56,9 +61,31 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# Use the correct path to the certtool binary
|
||||
# instead of relying on it being in the environment
|
||||
substituteInPlace src/swtpm_localca/swtpm_localca.c --replace \
|
||||
substituteInPlace src/swtpm_localca/swtpm_localca.c \
|
||||
--replace \
|
||||
'# define CERTTOOL_NAME "gnutls-certtool"' \
|
||||
'# define CERTTOOL_NAME "${gnutls}/bin/certtool"' \
|
||||
--replace \
|
||||
'# define CERTTOOL_NAME "certtool"' \
|
||||
'# define CERTTOOL_NAME "${gnutls}/bin/certtool"'
|
||||
|
||||
substituteInPlace tests/common --replace \
|
||||
'CERTTOOL=gnutls-certtool;;' \
|
||||
'CERTTOOL=certtool;;'
|
||||
|
||||
# Fix error on macOS:
|
||||
# stat: invalid option -- '%'
|
||||
# This is caused by the stat program not being the BSD version,
|
||||
# as is expected by the test
|
||||
substituteInPlace tests/common --replace \
|
||||
'if [[ "$(uname -s)" =~ (Linux|CYGWIN_NT-) ]]; then' \
|
||||
'if [[ "$(uname -s)" =~ (Linux|Darwin|CYGWIN_NT-) ]]; then'
|
||||
|
||||
# Otherwise certtool seems to pick up the system language on macOS,
|
||||
# which might cause a test to fail
|
||||
substituteInPlace tests/test_swtpm_setup_create_cert --replace \
|
||||
'$CERTTOOL' \
|
||||
'LC_ALL=C.UTF-8 $CERTTOOL'
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
|
Loading…
Reference in New Issue
Block a user