diff --git a/overlays/cross.nix b/overlays/cross.nix index c6233aa56..e4ea729b5 100644 --- a/overlays/cross.nix +++ b/overlays/cross.nix @@ -864,31 +864,23 @@ in with final; { # 2023/07/31: upstreaming is blocked on vpnc cross compilation # networkmanager-vpnc = mvToNativeInputs [ glib ] prev.networkmanager-vpnc; - newsflash = prev.newsflash.overrideAttrs (upstream: { - nativeBuildInputs = (lib.filter (p: !lib.elem (p.pname or p.name) [ "gdk-pixbuf" "blueprint-compiler" ]) upstream.nativeBuildInputs) ++ [ - buildPackages.git - (buildPackages.writeShellScriptBin "blueprint-compiler" '' - export GI_TYPELIB_PATH=${typelibPath [ - buildPackages.clapper - buildPackages.glib - buildPackages.gtk4 - buildPackages.gst_all_1.gstreamer - # some of these below are probably *not* needed - buildPackages.gst_all_1.gst-plugins-base - buildPackages.gst_all_1.gst-plugins-good - buildPackages.gst_all_1.gst-plugins-bad - buildPackages.gdk-pixbuf - buildPackages.graphene - buildPackages.harfbuzz - buildPackages.libadwaita - buildPackages.pango - ]} - exec ${lib.getExe buildPackages.blueprint-compiler} "$@" - '') - ]; - - # strictDeps = false; - + newsflash = (prev.newsflash.override { + blueprint-compiler = buildPackages.writeShellScriptBin "blueprint-compiler" '' + export GI_TYPELIB_PATH=${typelibPath [ + buildPackages.clapper + buildPackages.glib + buildPackages.gtk4 + buildPackages.gst_all_1.gstreamer + buildPackages.gst_all_1.gst-plugins-base + buildPackages.gdk-pixbuf + buildPackages.pango + buildPackages.graphene + buildPackages.harfbuzz + buildPackages.libadwaita + ]} + exec ${lib.getExe buildPackages.blueprint-compiler} "$@" + ''; + }).overrideAttrs (upstream: { postPatch = (upstream.postPatch or "") + '' substituteInPlace src/meson.build --replace-fail \ "'src' / rust_target" \ @@ -917,40 +909,28 @@ in with final; { runHook postBuild ''; - env = let - inherit buildPackages stdenv rust; - ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; - cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; - ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; - cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; - rustBuildPlatform = rust.toRustTarget stdenv.buildPlatform; - rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform; - rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform; - in (upstream.env or {}) // { - # taken from - # fixes "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option ‘-m64’" - # XXX: these aren't necessarily valid environment variables: the referenced nix file is more clever to get them to work. - "CC_${rustBuildPlatform}" = "${ccForBuild}"; - "CXX_${rustBuildPlatform}" = "${cxxForBuild}"; - "CC_${rustTargetPlatform}" = "${ccForHost}"; - "CXX_${rustTargetPlatform}" = "${cxxForHost}"; - # fails to fix "Failed to find OpenSSL development headers." - # OPENSSL_NO_VENDOR = 1; - # OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib"; - # OPENSSL_DIR = "${lib.getDev openssl}"; - }; - - # mesonFlags = let - # crossFile = writeText "cross-file.conf" '' - # [binaries] - # rust = [ 'rustc', '--target', '${rust.toRustTargetSpec stdenv.hostPlatform}' ] - # ''; - # in - # (upstream.mesonFlags or []) ++ [ - # "-Dprofile=development" - # ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # "--cross-file=${crossFile}" - # ]; + env = let + inherit buildPackages stdenv rust; + ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; + cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; + ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; + cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; + rustBuildPlatform = rust.toRustTarget stdenv.buildPlatform; + rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform; + rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform; + in (upstream.env or {}) // { + # taken from + # fixes "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option ‘-m64’" + # XXX: these aren't necessarily valid environment variables: the referenced nix file is more clever to get them to work. + "CC_${rustBuildPlatform}" = "${ccForBuild}"; + "CXX_${rustBuildPlatform}" = "${cxxForBuild}"; + "CC_${rustTargetPlatform}" = "${ccForHost}"; + "CXX_${rustTargetPlatform}" = "${cxxForHost}"; + # fails to fix "Failed to find OpenSSL development headers." + # OPENSSL_NO_VENDOR = 1; + # OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib"; + # OPENSSL_DIR = "${lib.getDev openssl}"; + }; }); # fixes "properties/gresource.xml: Permission denied"