You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
Nix
55 lines
1.3 KiB
Nix
{ stdenv, buildPackages, fetchurl, solo5-tools }:
|
|
|
|
# WARNING: recursive make ahead
|
|
|
|
let version = "0.6.7";
|
|
in stdenv.mkDerivation {
|
|
pname = "solo5";
|
|
inherit version;
|
|
outputs = [ "out" "dev" "tests" ];
|
|
|
|
nativeBuildInputs = [ solo5-tools ];
|
|
|
|
src = fetchurl {
|
|
url =
|
|
"https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
|
|
sha256 = "05k9adg3440zk5baa6ry8z5dj8d8r8hvzafh2469pdgcnr6h45gr";
|
|
};
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
patches = [
|
|
./genode.patch
|
|
./elftool.patch
|
|
./test_time.patch
|
|
./misleading-indentation.patch
|
|
];
|
|
|
|
configurePhase = with stdenv; ''
|
|
runHook preConfigure
|
|
sh configure.sh
|
|
${lib.optionalString (hostPlatform.isAarch64) "rm -fr tests/test_fpu"}
|
|
rm -fr tests/test_tls
|
|
runHook postConfigure
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -Dt $out/lib bindings/genode/solo5.lib.so
|
|
mkdir $dev
|
|
cp -r include/solo5 $dev/include
|
|
for test in tests/*/*.genode; do
|
|
install -D $test $tests/bin/solo5-$(basename $test .genode)
|
|
done
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Sandboxed execution environment.";
|
|
homepage = "https://github.com/solo5/solo5";
|
|
license = licenses.isc;
|
|
maintainers = [ maintainers.ehmry ];
|
|
};
|
|
|
|
}
|