diff --git a/overlay/default.nix b/overlay/default.nix index 61a0494..c8e4768 100644 --- a/overlay/default.nix +++ b/overlay/default.nix @@ -19,6 +19,13 @@ let overrideTargetAttrs drv (attrs: { patches = attrs.patches or [ ] ++ [ patch ]; }); + addHostPatches = if hostPlatform.isGenode then + drv: patches: + overrideTargetAttrs drv + (attrs: { patches = attrs.patches or [ ] ++ patches; }) + else + drv: _: drv; + in { bash = overrideTargetAttrs bash (attrs: { @@ -101,9 +108,12 @@ in { buildLlvmTools = buildPackages.llvmPackages_11.tools; targetLlvmLibraries = targetPackages.llvmPackages_11.libraries; inherit (final.genodePackages.genodeSources) genodeBase; - } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { - stdenv = gcc7Stdenv; - }); + } // stdenv.lib.optionalAttrs + (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { + stdenv = gcc7Stdenv; + }); + + ncurses = addHostPatches ncurses [ ./ncurses/genode.patch ]; openssl = overrideHostAttrs openssl (attrs: { outputs = [ "out" ] diff --git a/overlay/ncurses/genode.patch b/overlay/ncurses/genode.patch new file mode 100644 index 0000000..8ba3906 --- /dev/null +++ b/overlay/ncurses/genode.patch @@ -0,0 +1,12 @@ +diff -ur a/configure b/configure +--- a/configure 2020-02-12 15:20:22.000000000 +0530 ++++ b/configure 2020-05-28 23:24:05.461176897 +0530 +@@ -6012,7 +6012,7 @@ + MK_SHARED_LIB='${LD} ${LDFLAGS} -Bshareable -o $@' + test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel + ;; +- (dragonfly*|freebsd*) ++ (dragonfly*|freebsd*|genode*) + CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" + if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then + LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"