Genode Packages collection https://git.sr.ht/~ehmry/genodepkgs/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

default.nix 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. { stdenv, buildPackages, fetchurl, solo5-tools }:
  2. # WARNING: recursive make ahead
  3. let version = "0.6.7";
  4. in stdenv.mkDerivation {
  5. pname = "solo5";
  6. inherit version;
  7. outputs = [ "out" "dev" "tests" ];
  8. nativeBuildInputs = [ solo5-tools ];
  9. src = fetchurl {
  10. url =
  11. "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
  12. sha256 = "05k9adg3440zk5baa6ry8z5dj8d8r8hvzafh2469pdgcnr6h45gr";
  13. };
  14. enableParallelBuilding = true;
  15. patches = [
  16. ./genode.patch
  17. ./elftool.patch
  18. ./test_time.patch
  19. ./misleading-indentation.patch
  20. ];
  21. configurePhase = with stdenv; ''
  22. runHook preConfigure
  23. sh configure.sh
  24. ${lib.optionalString (hostPlatform.isAarch64) "rm -fr tests/test_fpu"}
  25. rm -fr tests/test_tls
  26. runHook postConfigure
  27. '';
  28. installPhase = ''
  29. runHook preInstall
  30. install -Dt $out/lib bindings/genode/solo5.lib.so
  31. mkdir $dev
  32. cp -r include/solo5 $dev/include
  33. for test in tests/*/*.genode; do
  34. install -D $test $tests/bin/solo5-$(basename $test .genode)
  35. done
  36. runHook postInstall
  37. '';
  38. meta = with stdenv.lib; {
  39. description = "Sandboxed execution environment.";
  40. homepage = "https://github.com/solo5/solo5";
  41. license = licenses.isc;
  42. maintainers = [ maintainers.ehmry ];
  43. };
  44. }