overlays/cross: remove upstreamed blueprint-compiler fixes
This commit is contained in:
@@ -81,55 +81,9 @@ let
|
|||||||
);
|
);
|
||||||
|
|
||||||
# build a GI_TYPELIB_PATH out of some packages, useful for build-time tools which otherwise
|
# 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);
|
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
|
# `cargo` which adds the correct env vars and `--target` flag when invoked from meson build scripts
|
||||||
crossCargo = let
|
crossCargo = let
|
||||||
inherit (final.pkgsBuildHost) cargo;
|
inherit (final.pkgsBuildHost) cargo;
|
||||||
@@ -170,7 +124,7 @@ let
|
|||||||
};
|
};
|
||||||
in with final; {
|
in with final; {
|
||||||
# bamf: required via pantheon.switchboard -> wingpanel -> gala
|
# bamf: required via pantheon.switchboard -> wingpanel -> gala
|
||||||
# 2025/01/13: upstreaming is unblocked
|
# 2025/05/01: upstreaming is unblocked
|
||||||
# bamf = prev.bamf.overrideAttrs (upstream: {
|
# bamf = prev.bamf.overrideAttrs (upstream: {
|
||||||
# # "You must have gtk-doc >= 1.0 installed to build documentation"
|
# # "You must have gtk-doc >= 1.0 installed to build documentation"
|
||||||
# depsBuildBuild = (upstream.depsBuildBuild or []) ++ [
|
# depsBuildBuild = (upstream.depsBuildBuild or []) ++ [
|
||||||
@@ -226,32 +180,8 @@ in with final; {
|
|||||||
# shell = runtimeShell;
|
# 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
|
# 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: {
|
confy = prev.confy.overrideAttrs (upstream: {
|
||||||
# meson's `python.find_installation` method somehow just doesn't support cross compilation.
|
# meson's `python.find_installation` method somehow just doesn't support cross compilation.
|
||||||
# - <https://mesonbuild.com/Python-module.html#find_installation>
|
# - <https://mesonbuild.com/Python-module.html#find_installation>
|
||||||
@@ -280,18 +210,6 @@ in with final; {
|
|||||||
});
|
});
|
||||||
|
|
||||||
# 2024/11/19: upstreaming is unblocked
|
# 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: {
|
dialect = prev.dialect.overrideAttrs (upstream: {
|
||||||
# error: "<dialect> is not allowed to refer to the following paths: <build python>"
|
# 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
|
# dialect's meson build script sets host binaries to use build PYTHON
|
||||||
@@ -303,7 +221,7 @@ in with final; {
|
|||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
# 2024/05/31: upstreaming is blocked on rpm
|
# 2025/05/01: upstreaming is unblocked
|
||||||
# dtrx = prev.dtrx.override {
|
# dtrx = prev.dtrx.override {
|
||||||
# # `binutils` is the nix wrapper, which reads nix-related env vars
|
# # `binutils` is the nix wrapper, which reads nix-related env vars
|
||||||
# # before passing on to e.g. `ld`.
|
# # before passing on to e.g. `ld`.
|
||||||
@@ -351,19 +269,6 @@ in with final; {
|
|||||||
|
|
||||||
# 2025/01/13: upstreaming is unblocked
|
# 2025/01/13: upstreaming is unblocked
|
||||||
# flare-signal = prev.flare-signal.overrideAttrs (upstream: {
|
# 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
|
# env = let
|
||||||
# inherit buildPackages stdenv rust;
|
# inherit buildPackages stdenv rust;
|
||||||
# ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
|
# 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
|
# 2025/01/13: upstreaming is blocked by glycin-loaders
|
||||||
fractal = prev.fractal.override {
|
fractal = prev.fractal.override {
|
||||||
cargo = crossCargo;
|
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
|
# 2025/01/13: upstreaming is blocked on gnome-shell
|
||||||
# fixes: "gdbus-codegen not found or executable"
|
# fixes: "gdbus-codegen not found or executable"
|
||||||
# gnome-session = mvToNativeInputs [ glib ] super.gnome-session;
|
# 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),
|
# 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).
|
# which it shells out to at runtime (and hence, not ever used by me).
|
||||||
hyprland-qtutils = null;
|
hyprland-qtutils = null;
|
||||||
@@ -496,20 +374,6 @@ in with final; {
|
|||||||
# nativeBuildInputs = lib.remove [ qt6.wrapQtAppsHook ] upstream.nativeBuildInputs;
|
# 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?
|
# 2024/08/12: upstreaming is unblocked -- but is this necessary?
|
||||||
# koreader = prev.koreader.overrideAttrs (upstream: {
|
# koreader = prev.koreader.overrideAttrs (upstream: {
|
||||||
# nativeBuildInputs = upstream.nativeBuildInputs ++ [
|
# nativeBuildInputs = upstream.nativeBuildInputs ++ [
|
||||||
@@ -579,23 +443,7 @@ in with final; {
|
|||||||
# ncftp = addNativeInputs [ bintools ] prev.ncftp;
|
# ncftp = addNativeInputs [ bintools ] prev.ncftp;
|
||||||
|
|
||||||
# 2025/04/04: upstreaming is unblocked
|
# 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 {
|
newsflash = (prev.newsflash.override {
|
||||||
# blueprint-compiler = crossBlueprint;
|
|
||||||
cargo = crossCargo;
|
cargo = crossCargo;
|
||||||
}).overrideAttrs (upstream: {
|
}).overrideAttrs (upstream: {
|
||||||
postPatch = (upstream.postPatch or "") + ''
|
postPatch = (upstream.postPatch or "") + ''
|
||||||
@@ -862,20 +710,7 @@ in with final; {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# 2025/04/04: upstreaming is unblocked
|
# 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 {
|
spot = prev.spot.override {
|
||||||
# blueprint-compiler = crossBlueprint;
|
|
||||||
cargo = crossCargo;
|
cargo = crossCargo;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -924,18 +759,6 @@ in with final; {
|
|||||||
# });
|
# });
|
||||||
|
|
||||||
# 2024/11/19: upstreaming is unblocked
|
# 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: {
|
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
|
# gsjpack has a shebang for the host gjs. patchShebangs --build doesn't fix that: just manually specify the build gjs
|
||||||
postPatch = let
|
postPatch = let
|
||||||
@@ -979,20 +802,7 @@ in with final; {
|
|||||||
# };
|
# };
|
||||||
|
|
||||||
# 2025/01/13: upstreaming is unblocked
|
# 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 {
|
video-trimmer = prev.video-trimmer.override {
|
||||||
# blueprint-compiler = crossBlueprint;
|
|
||||||
cargo = crossCargo;
|
cargo = crossCargo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user