From 467a509f6e8d75dec3ce191d6dc944e87aac1c71 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 25 Nov 2020 21:06:52 +0100 Subject: [PATCH] ncurses: add configure patch --- overlay/default.nix | 16 +++++++++++++--- overlay/ncurses/genode.patch | 12 ++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 overlay/ncurses/genode.patch 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)"