mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-13 21:32:23 +03:00
nixos/xserver: Don't use exec in xkb-layouts-exist
First of all, thanks to @pbogdan for getting this problem reproduced: https://github.com/NixOS/nixpkgs/commit/2014db3efcd2a#commitcomment-22815396 Also thanks to @vcunat for bringing this to my attention: https://github.com/NixOS/nixpkgs/commit/44c64fef16ed5#commitcomment-22813503 Although it is not entirely clear why Nix has killed the build prior to finishing, it seems to be related to the process substition I was using. So instead of using "exec touch", let's wrap this inside an if so we don't exit too early. Tested this against all sub-tests in nixos/tests/keymap.nix and also a few configurations with wrong keyboard layout definitions. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
parent
35b974a8e9
commit
e82d126212
@ -651,10 +651,13 @@ in
|
||||
system.extraDependencies = singleton (pkgs.runCommand "xkb-layouts-exist" {
|
||||
inherit (cfg) layout xkbDir;
|
||||
} ''
|
||||
set -x
|
||||
sed -n -e ':i /^! \(layout\|variant\) *$/ {
|
||||
:l; n; /^!/bi; s/^ *\([^ ]\+\).*/\1/p; tl
|
||||
}' "$xkbDir/rules/base.lst" | grep -qxF "$layout" && exec touch "$out"
|
||||
if sed -n -e ':i /^! \(layout\|variant\) *$/ {
|
||||
:l; n; /^!/bi; s/^ *\([^ ]\+\).*/\1/p; tl
|
||||
}' "$xkbDir/rules/base.lst" | grep -qxF "$layout"
|
||||
then
|
||||
touch "$out"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >&2 <<-EOF
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user