Subject: [core-updates] error building xkeyboard-config

From: Brian Cully <[email-masked]>
Date: Thu, 13 Apr 2023 17:18:09 -0400

Looks like something changed between 2.34 (on master) and 2.36 (on 
core-updates) which caused ‘share/X11/rules/base’ to generate 
improperly.

On core-updates:
--8<---------------cut here---------------start------------->8---
~/src/guix-core-updates $ ./pre-inst-env guix build 
xkeyboard-config
/gnu/store/0yg8hlbvynr5bq8816srgcyjf50sp54h-xkeyboard-config-2.36
--8<---------------cut here---------------end--------------->8---

Which includes the following broken lines in ‘rules/base’:
--8<---------------cut here---------------start------------->8---
! $inetmediakbds = \
		a4_rfkb23 a4techKB21 a4techKBS8 acer_ferrari4k 
		acer_laptop /
		armada asus_laptop benqx btc5090 btc6301urf 
		btc9019u /
		cherrybluea cherryblueb cherrycyboard chicony042 /
		compalfl90 compaqik13 compaqik18 creativedw7000 /
		cymotionlinux dellm65 dellusbmm dexxa diamond 
		dtk2000 /
		emachines ennyah_dkb1008 fscaa1667g genius 
		geniuscomfy /
		geniuscomfy2 geniuskb19e hp5xx hpdv5 hpi6 hpxe3gc 
		hpxe3gf /
		hpxe4xxx hpxt1000 hpzt11xx inspiron latitude /
		logidinovo logidinovoedge logitech_base 
		logitech_g15 /
		microsoft4000 microsoft7000 microsoftmult 
		microsoftpro /
		microsoftprooem mx1998 mx2500 mx2750 pc105 
		precision_m /
		presario propeller samsung4500 samsung4510 
		scorpius /
		silvercrest sk1300 sk2500 sk7100 sp_inet 
		targa_v811 /
		thinkpad thinkpad60 tm2030USB-102 tm2030USB-106 /
		toshiba_s3000 trust trustda trust_slimline 
		unitekkb1925
--8<---------------cut here---------------end--------------->8---

Note the forward slash as a line continuation character, rather 
than a backslash, which is used everywhere. The same file on 
master:
--8<---------------cut here---------------start------------->8---
~/src/guix $ ./pre-inst-env guix build xkeyboard-config
/gnu/store/8mszv7v6kqdyavpvf8zb7kkagaan5vri-xkeyboard-config-2.34
--8<---------------cut here---------------end--------------->8---

This is the equivalent block:
--8<---------------cut here---------------start------------->8---
! $inetmediakbds = acer_ferrari4k acer_laptop btc5090 btc9019u 
  cherryblueb \
		cherrybluea herrycyboard chicony042 compaqik13 
		compaqik18 \
		armada presario dellm65 inspiron dellusbmm diamond 
		\
		ennyah_dkb1008 genius geniuscomfy2 hpi6 hpxe3gc 
		hpxe3gf \
		hpxt1000 hpzt11xx hpdv5 hpxe4xxx hp5xx thinkpad60 
		ogitech_base \
		logidinovo logidinovoedge logitech_g15 mx1998 
		mx2500 mx2750 \
		microsoft4000 microsoft7000 microsoftprooem 
		microsoftmult \
		propeller samsung4500 samsung4510 sk1300 sk2500 
		sk7100 \
		toshiba_s3000 trust trustda cymotionlinux 
		silvercrest \
		emachines benqx unitekkb1925 creativedw7000 
		compalfl90 \
		pc105 a4techKB21 a4techKBS8 a4_rfkb23 asus_laptop 
		btc6301urf \
		dexxa dtk2000 fscaa1667g geniuskb19e geniuscomfy 
		latitude \
		microsoftpro precision_m scorpius sp_inet 
		targa_v811 thinkpad \
		tm2030USB-102 tm2030USB-106 trust_slimline
--8<---------------cut here---------------end--------------->8---

This is causing issues when building my system config, as 
‘(keyboard-layout "us")’ with core-updates returns a syntax error 
due to the above.

I'm not sure what's going on here, as it doesn't appear as though 
the package has any custom rules. It did change from 
‘gnu-build-system’ to ‘meson-build-system’ with the version bump, 
though, so maybe there's something in there?

-bjc