From 1dfd89456837561b74234e0d0d82289df27a7795 Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 18 Jul 2023 01:32:50 +0000 Subject: [PATCH] cross: gnustep: emulate only `gnustep.base` --- nixpatches/list.nix | 6 ++++++ overlays/cross.nix | 14 ++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/nixpatches/list.nix b/nixpatches/list.nix index 9bcfd7d2..2b3a3572 100644 --- a/nixpatches/list.nix +++ b/nixpatches/list.nix @@ -215,6 +215,12 @@ in [ hash = "sha256-lXuLHdSPhWol9X5QX4cxnZqoVGUWEQTCZLmosvLX+WY="; }) + (fetchpatch' { + title = "gnustep: remove `rec` to support `overrideScope`"; + saneCommit = "69162cbf727264e50fc9d7222a03789d12644705"; + hash = "sha256-rD0es4uUbaLMrI9ZB2HzPmRLyu/ixNBLAFyDJtFHNko="; + }) + # (fetchpatch' { # # N.B.: compiles, but runtime error on launch suggestive of some module not being shipped # title = "matrix-appservice-irc: 0.38.0 -> 1.0.0"; diff --git a/overlays/cross.nix b/overlays/cross.nix index 529d5686..ed916093 100644 --- a/overlays/cross.nix +++ b/overlays/cross.nix @@ -72,10 +72,6 @@ in { # duplicity # python3.10-s3transfer # gdk-pixbuf # cross-compiled version doesn't output bin/gdk-pixbuf-thumbnailer (used by webp-pixbuf-loader # gnome-tour - # XXX: gnustep members aren't individually overridable, because the "scope" uses `rec` such that members don't see overrides - # gnustep is going to need a *lot* of work/domain-specific knowledge to truly cross-compile, - # though if we make the members overridable maybe we can get away with emulating only stdenv. - gnustep # gnustep.base: "configure: error: Your compiler does not appear to implement the -fconstant-string-class option needed for support of strings." # grpc hare harec @@ -352,6 +348,16 @@ in { # fixes -msse2, -mfpmath=sse flags wrapGAppsHook4 = final.wrapGAppsHook; }; + gnustep = prev.gnustep.overrideScope' (self: super: { + # "configure: error: Your compiler does not appear to implement the -fconstant-string-class option needed for support of strings." + # gnustep is going to need a *lot* of work/domain-specific knowledge to truly cross-compile, + base = emulated.gnustep.base; + # base = super.base.override { + # # emulating gsmake amounts to emulating stdenv. + # # still fails, but with "checking FFI library usage... ./configure: line 11028: pkg-config: command not found" + # inherit (emulated.gnustep) gsmakeDerivation; + # }; + }); gthumb = mvInputs { nativeBuildInputs = [ final.glib ]; } prev.gthumb; gnome = prev.gnome.overrideScope' (self: super: {