overlays/cross: remove upstreamed blueprint-compiler fixes

This commit is contained in:
2025-05-02 03:20:41 +00:00
parent c1e53b32ad
commit 2c6bf71111

View File

@@ -81,55 +81,9 @@ let
);
# build a GI_TYPELIB_PATH out of some packages, useful for build-time tools which otherwise
# try to load gobject-introspection files for the wrong platform (e.g. `blueprint` compiler).
# try to load gobject-introspection files for the wrong platform (e.g. `gjspack`).
typelibPath = pkgs: lib.concatStringsSep ":" (builtins.map (p: "${lib.getLib p}/lib/girepository-1.0") pkgs);
# blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host.
# wrap it so that it accesses the build-time GIR, whatever those are for some derivation
# wrapBlueprint = typelibs: final.buildPackages.blueprint-compiler.overrideAttrs (upstream: {
# nativeBuildInputs = (upstream.nativeBuildInputs or []) ++ [
# final.buildPackages.makeShellWrapper
# ];
# postInstall = (upstream.postInstall or "") + ''
# wrapProgram $out/bin/blueprint-compiler --set GI_TYPELIB_PATH ${typelibPath typelibs}
# '';
# });
# wrapBlueprint = typelibs: final.buildPackages.writeShellScriptBin "blueprint-compiler" ''
# export GI_TYPELIB_PATH=${typelibPath typelibs}
# exec ${lib.getExe final.buildPackages.blueprint-compiler} "$@"
# '';
# use like: `p.override { blueprint-compiler = crossBlueprint; }`
crossBlueprint = final.buildPackages.blueprint-compiler.overrideAttrs (upstream: {
nativeBuildInputs = (upstream.nativeBuildInputs or []) ++ [
final.buildPackages.buildPackages.wrapGAppsNoGuiHook
];
});
# crossBlueprint = final.pkgsBuildBuild.blueprint-compiler.overrideAttrs (upstream: {
# # blueprint-compiler isn't invokable in a standalone environment.
# # i.e. `blueprint-compiler --help` fails.
# # fix by adding glib typelib.
# # TODO: upstream! (see `wip-blueprint-compiler` nixpkgs branch)
# nativeBuildInputs = (upstream.nativeBuildInputs or []) ++ [
# final.pkgsBuildBuild.makeWrapper
# ];
# postFixup = (upstream.postFixup or "") + ''
# wrapProgram $out/bin/blueprint-compiler \
# --prefix GI_TYPELIB_PATH : "${lib.getLib final.pkgsBuildBuild.glib}/lib/girepository-1.0:${lib.getLib final.pkgsBuildBuild.gobject-introspection}/lib/girepository-1.0"
# '';
# # propagate gobject-introspection such that it appears in the same host offset as us,
# # and populates GI_TYPELIB_PATH with the correct offset.
# propagatedBuildInputs = [];
# depsTargetTargetPropagated = [ final.gobject-introspection ];
# });
# build a blueprint-based package in a way that is cross-compatible
# fixBlueprint = p: mvToDepsBuildBuild [ crossBlueprint ] p;
fixBlueprint = p: p.override {
blueprint-compiler = crossBlueprint;
};
# `cargo` which adds the correct env vars and `--target` flag when invoked from meson build scripts
crossCargo = let
inherit (final.pkgsBuildHost) cargo;
@@ -170,7 +124,7 @@ let
};
in with final; {
# bamf: required via pantheon.switchboard -> wingpanel -> gala
# 2025/01/13: upstreaming is unblocked
# 2025/05/01: upstreaming is unblocked
# bamf = prev.bamf.overrideAttrs (upstream: {
# # "You must have gtk-doc >= 1.0 installed to build documentation"
# depsBuildBuild = (upstream.depsBuildBuild or []) ++ [
@@ -226,32 +180,8 @@ in with final; {
# shell = runtimeShell;
# };
# blanket = fixBlueprint prev.blanket;
# blanket = prev.blanket.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# };
# 2025/02/04: upstreaming is unblocked, but a cleaner solution than this doesn't seem to exist yet
# confy = (prev.confy.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# }).overrideAttrs (upstream: {
# confy = (fixBlueprint prev.confy).overrideAttrs (upstream: {
confy = prev.confy.overrideAttrs (upstream: {
# meson's `python.find_installation` method somehow just doesn't support cross compilation.
# - <https://mesonbuild.com/Python-module.html#find_installation>
@@ -280,18 +210,6 @@ in with final; {
});
# 2024/11/19: upstreaming is unblocked
# dialect = (prev.dialect.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# }).overrideAttrs (upstream: {
# dialect = (fixBlueprint prev.dialect).overrideAttrs (upstream: {
dialect = prev.dialect.overrideAttrs (upstream: {
# error: "<dialect> is not allowed to refer to the following paths: <build python>"
# dialect's meson build script sets host binaries to use build PYTHON
@@ -303,7 +221,7 @@ in with final; {
strictDeps = true;
});
# 2024/05/31: upstreaming is blocked on rpm
# 2025/05/01: upstreaming is unblocked
# dtrx = prev.dtrx.override {
# # `binutils` is the nix wrapper, which reads nix-related env vars
# # before passing on to e.g. `ld`.
@@ -351,19 +269,6 @@ in with final; {
# 2025/01/13: upstreaming is unblocked
# flare-signal = prev.flare-signal.overrideAttrs (upstream: {
# # blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host.
# postPatch = (upstream.postPatch or "") + ''
# substituteInPlace data/resources/meson.build --replace-fail \
# "find_program('blueprint-compiler')" \
# "'env', 'GI_TYPELIB_PATH=${typelibPath [
# buildPackages.gdk-pixbuf
# buildPackages.harfbuzz
# buildPackages.gtk4
# buildPackages.libadwaita
# buildPackages.pango
# buildPackages.graphene
# ]}', find_program('blueprint-compiler')"
# '';
# env = let
# inherit buildPackages stdenv rust;
# ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
@@ -384,19 +289,6 @@ in with final; {
# };
# });
# flare-signal-nixified = fixBlueprint prev.flare-signal-nixified;
# flare-signal-nixified = prev.flare-signal-nixified.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# };
# 2025/01/13: upstreaming is blocked by glycin-loaders
fractal = prev.fractal.override {
cargo = crossCargo;
@@ -416,20 +308,6 @@ in with final; {
# });
# });
# 2024/11/19: upstreaming is blocked on qtx11extras (via zbar)
# gnome-frog = prev.gnome-frog.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# };
# gnome-frog = fixBlueprint prev.gnome-frog;
# 2025/01/13: upstreaming is blocked on gnome-shell
# fixes: "gdbus-codegen not found or executable"
# gnome-session = mvToNativeInputs [ glib ] super.gnome-session;
@@ -459,7 +337,7 @@ in with final; {
# ];
# });
# 2025/04/19: blocked on psqlodbc
# 2025/05/01: blocked on psqlodbc
# used by hyprland (which is an indirect dep of waybar, nwg-panel, etc),
# which it shells out to at runtime (and hence, not ever used by me).
hyprland-qtutils = null;
@@ -496,20 +374,6 @@ in with final; {
# nativeBuildInputs = lib.remove [ qt6.wrapQtAppsHook ] upstream.nativeBuildInputs;
# });
# 2024/11/19: upstreaming is unblocked
# komikku = fixBlueprint prev.komikku;
# komikku = prev.komikku.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# };
# 2024/08/12: upstreaming is unblocked -- but is this necessary?
# koreader = prev.koreader.overrideAttrs (upstream: {
# nativeBuildInputs = upstream.nativeBuildInputs ++ [
@@ -579,23 +443,7 @@ in with final; {
# ncftp = addNativeInputs [ bintools ] prev.ncftp;
# 2025/04/04: upstreaming is unblocked
# newsflash = (prev.newsflash.override {
# blueprint-compiler = wrapBlueprint [
# 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
# ];
# cargo = crossCargo; #< fixes openssl not being able to find its library
# }).overrideAttrs (upstream: {
newsflash = (prev.newsflash.override {
# blueprint-compiler = crossBlueprint;
cargo = crossCargo;
}).overrideAttrs (upstream: {
postPatch = (upstream.postPatch or "") + ''
@@ -862,20 +710,7 @@ in with final; {
};
# 2025/04/04: upstreaming is unblocked
# spot = prev.spot.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# cargo = crossCargo;
# };
spot = prev.spot.override {
# blueprint-compiler = crossBlueprint;
cargo = crossCargo;
};
@@ -924,18 +759,6 @@ in with final; {
# });
# 2024/11/19: upstreaming is unblocked
# tangram = (prev.tangram.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# }).overrideAttrs (upstream: {
# tangram = (fixBlueprint prev.tangram).overrideAttrs (upstream: {
tangram = prev.tangram.overrideAttrs (upstream: {
# gsjpack has a shebang for the host gjs. patchShebangs --build doesn't fix that: just manually specify the build gjs
postPatch = let
@@ -979,20 +802,7 @@ in with final; {
# };
# 2025/01/13: upstreaming is unblocked
# video-trimmer = prev.video-trimmer.override {
# blueprint-compiler = wrapBlueprint [
# buildPackages.gdk-pixbuf
# buildPackages.glib
# buildPackages.graphene
# buildPackages.gtk4
# buildPackages.harfbuzz
# buildPackages.libadwaita
# buildPackages.pango
# ];
# cargo = crossCargo;
# };
video-trimmer = prev.video-trimmer.override {
# blueprint-compiler = crossBlueprint;
cargo = crossCargo;
};