nixos/i18n/input-method: disallow gtk{2,3}.dev in closure

The gtk-query-immodules-{2,3}.0 util writes argv[0] to its stdout
in a comment (i.e., "# Created by ..."). This results in a reference to
pkgs.gtk{2,3}.dev being present in the closure.

This commit avoids this issue by adding the pkgs.gtk{2,3}.dev to path
and calling gtk-query-immodules-{2,3}.0 without its full path.

Furthermore, pkgs.gtk{2,3}.dev is added to disallowedReferences to avoid
future regressions.

(cherry picked from commit 778f1c6575)
This commit is contained in:
Diogo Correia
2026-04-12 19:02:48 +01:00
committed by github-actions[bot]
parent 04c83a648c
commit 9aaa2caa85

View File

@@ -23,11 +23,16 @@ let
allowSubstitutes = false;
buildInputs = [
cfg.package
pkgs.gtk2
];
disallowedReferences = [
(lib.getDev pkgs.gtk2)
];
}
''
mkdir -p $out/etc/gtk-2.0/
GTK_PATH=${cfg.package}/lib/gtk-2.0/ ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} ${lib.getExe' pkgs.gtk2.dev "gtk-query-immodules-2.0"} > $out/etc/gtk-2.0/immodules.cache
GTK_PATH=${cfg.package}/lib/gtk-2.0/ ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache
'';
gtk3_cache =
@@ -37,11 +42,16 @@ let
allowSubstitutes = false;
buildInputs = [
cfg.package
pkgs.gtk3
];
disallowedReferences = [
(lib.getDev pkgs.gtk3)
];
}
''
mkdir -p $out/etc/gtk-3.0/
GTK_PATH=${cfg.package}/lib/gtk-3.0/ ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} ${lib.getExe' pkgs.gtk3.dev "gtk-query-immodules-3.0"} > $out/etc/gtk-3.0/immodules.cache
GTK_PATH=${cfg.package}/lib/gtk-3.0/ ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache
'';
in