swtpm: fix build on darwin
This commit is contained in:
parent
acd095ab64
commit
3689136441
@ -28,23 +28,28 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config unixtools.netstat expect socat
|
pkg-config unixtools.netstat expect socat
|
||||||
perl # for pod2man
|
perl # for pod2man
|
||||||
|
python3
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
];
|
];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
python3 which
|
which
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libtpms
|
libtpms
|
||||||
openssl libtasn1 libseccomp
|
openssl libtasn1
|
||||||
fuse glib json-glib
|
glib json-glib
|
||||||
gnutls
|
gnutls
|
||||||
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
|
fuse
|
||||||
|
libseccomp
|
||||||
];
|
];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-cuse"
|
|
||||||
"--localstatedir=/var"
|
"--localstatedir=/var"
|
||||||
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
|
"--with-cuse"
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -56,9 +61,31 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# Use the correct path to the certtool binary
|
# Use the correct path to the certtool binary
|
||||||
# instead of relying on it being in the environment
|
# 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 "certtool"' \
|
||||||
'# define CERTTOOL_NAME "${gnutls}/bin/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;
|
doCheck = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user