lib/xkeyboard-config/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=xkeyboard-config
VERSION=2.43
RELEASE=1
SOURCE="https://www.x.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.43.tar.xz"

build() {
	dest="$PKG$PREFIX/share/X11/xkb"

	msg "installing xkb data only"
	mkdir -p "$dest" "$dest/rules"

	cp -a compat geometry keycodes symbols types "$dest"/

	install -m 644 rules/README rules/xkb.dtd rules/xfree98 "$dest/rules/"

	build_rules() {
		ruleset="$1"
		out="$dest/rules/$ruleset"
		: > "$out"
		for part in \
			"0000-hdr.part" \
			"0001-lists.part" \
			"0002-${ruleset}.lists.part" \
			"0004-${ruleset}.model_keycodes.part" \
			"0005-layout1_keycodes.part" \
			"0006-layout_keycodes.part" \
			"0007-options_keycodes.part" \
			"0008-modellayout_geometry.part" \
			"0009-model_geometry.part" \
			"0011-modellayoutvariant_symbols.part" \
			"0013-modellayout_symbols.part" \
			"0016-modellayout1_symbols.part" \
			"0018-modellayout2_symbols.part" \
			"0020-modellayout3_symbols.part" \
			"0022-modellayout4_symbols.part" \
			"0026-${ruleset}.model_symbols.part" \
			"0027-${ruleset}.modellayout_symbols1.part" \
			"0033-modellayout_compat.part" \
			"0034-modellayout1_compat.part" \
			"0035-model_types.part" \
			"0036-layoutoption_symbols.part" \
			"0037-layout1option_symbols.part" \
			"0038-layout2option_symbols.part" \
			"0039-layout3option_symbols.part" \
			"0040-layout4option_symbols.part" \
			"0042-option_symbols.part" \
			"0043-option_compat.part" \
			"0044-option_types.part"; do
			if [ -f "rules/$part" ]; then
				cat "rules/$part" >> "$out"
			fi
		done
	}

	build_rules base
	build_rules evdev
}

. ${0%/*}/../../libsh/libdmake.sh