mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-08 05:54:24 +00:00
4f7f8d0b2d
Also add some of the new samples as tests. Disable parallel builds for the samples as they don't seem to support it (fail randomly).
64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
{ stdenv
|
|
, sgx-sdk
|
|
, which
|
|
}:
|
|
let
|
|
buildSample = name: stdenv.mkDerivation rec {
|
|
inherit name;
|
|
|
|
src = sgx-sdk.out;
|
|
sourceRoot = "${sgx-sdk.name}/share/SampleCode/${name}";
|
|
|
|
buildInputs = [
|
|
sgx-sdk
|
|
];
|
|
|
|
# The samples don't have proper support for parallel building
|
|
# causing them to fail randomly.
|
|
enableParallelBuilding = false;
|
|
|
|
buildFlags = [
|
|
"SGX_MODE=SIM"
|
|
];
|
|
|
|
installPhase = ''
|
|
mkdir $out
|
|
install -m 755 app $out/app
|
|
install *.so $out/
|
|
'';
|
|
|
|
doInstallCheck = true;
|
|
installCheckInputs = [ which ];
|
|
installCheckPhase = ''
|
|
pushd $out
|
|
./app
|
|
popd
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
cxx11SGXDemo = buildSample "Cxx11SGXDemo";
|
|
localAttestation = (buildSample "LocalAttestation").overrideAttrs (oldAttrs: {
|
|
installPhase = ''
|
|
mkdir $out
|
|
cp -r bin/. $out/
|
|
'';
|
|
});
|
|
powerTransition = (buildSample "PowerTransition").overrideAttrs (oldAttrs: {
|
|
# Requires interaction
|
|
doInstallCheck = false;
|
|
});
|
|
protobufSGXDemo = buildSample "ProtobufSGXDemo";
|
|
remoteAttestation = (buildSample "RemoteAttestation").overrideAttrs (oldAttrs: {
|
|
dontFixup = true;
|
|
installCheckPhase = ''
|
|
echo "a" | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/sample_libcrypto ./app
|
|
'';
|
|
});
|
|
sampleEnclave = buildSample "SampleEnclave";
|
|
sampleEnclavePCL = buildSample "SampleEnclavePCL";
|
|
sampleEnclaveGMIPP = buildSample "SampleEnclaveGMIPP";
|
|
sealUnseal = buildSample "SealUnseal";
|
|
switchless = buildSample "Switchless";
|
|
}
|