diff --git a/overlay/default.nix b/overlay/default.nix index 980f3a5..71b1f62 100644 --- a/overlay/default.nix +++ b/overlay/default.nix @@ -76,6 +76,19 @@ in { targetLlvmLibraries = targetPackages.llvmPackages_8.libraries; }); + openssl = overrideHostAttrs openssl (attrs: { + outputs = [ "out" ] + ++ builtins.filter (x: x != "bin" && x != "out") attrs.outputs; + patches = attrs.patches or [ ] ++ [ ./openssl/genode.patch ]; + configureScript = { + x86_64-genode = "./Configure Genode-x86_64"; + }.${stdenv.hostPlatform.system} or (throw + "Not sure what configuration to use for ${stdenv.hostPlatform.config}"); + configureFlags = attrs.configureFlags ++ [ "no-devcryptoeng" ]; + postInstall = + "rm $out/bin/c_rehash"; # eliminate the perl runtime dependency + }); + solo5-tools = callPackage ./solo5-tools { }; tup = prev.tup.overrideAttrs (attrs: { setupHook = ./tup/setup-hook.sh; }); diff --git a/overlay/openssl/genode.patch b/overlay/openssl/genode.patch new file mode 100644 index 0000000..a6ba0d7 --- /dev/null +++ b/overlay/openssl/genode.patch @@ -0,0 +1,32 @@ +diff -ur a/Configurations/10-main.conf b/Configurations/10-main.conf +--- a/Configurations/10-main.conf 2019-09-10 18:43:07.000000000 +0530 ++++ b/Configurations/10-main.conf 2020-05-27 16:03:09.416462556 +0530 +@@ -1559,6 +1559,28 @@ + perlasm_scheme => "macosx", + }, + ++##### Genode ++ "Genode-x86_32" => { ++ inherit_from => [ "BASE_unix" ], ++ CC => "cc", ++ CFLAGS => picker(default => "-Wall", ++ debug => "-O0 -g", ++ release => "-O3"), ++ cppflags => threads("-D_THREAD_SAFE -D_REENTRANT"), ++ bn_ops => "BN_LLONG", ++ thread_scheme => "pthreads", ++ dso_scheme => "dlfcn", ++ shared_target => "linux-shared", ++ shared_cflag => "-fPIC", ++ shared_extension => ".so", ++ perlasm_scheme => "elf", ++ }, ++ "Genode-x86_64" => { ++ inherit_from => [ "Genode-x86_32", asm("x86_64_asm") ], ++ lib_cppflags => add("-DL_ENDIAN"), ++ bn_ops => "SIXTY_FOUR_BIT_LONG", ++ }, ++ + ##### GNU Hurd + "hurd-x86" => { + inherit_from => [ "BASE_unix" ],