master hovercats/oakiss / pkg / xkeyboard-config / gen.lua
  1local data = [[
  2	compat/(
  3		accessx basic caps complete
  4		iso9995
  5		japan ledcaps ledcompose
  6		lednum ledscroll level5
  7		misc mousekeys
  8		olpc pc pc98 xfree86
  9		xtest README
 10	)
 11	geometry/(
 12		digital_vndr/(lk pc unix)
 13		sgi_vndr/(indigo indy O2)
 14		amiga ataritt chicony
 15		dell everex fujitsu
 16		hhk hp keytronic kinesis
 17		macintosh microsoft nec nokia
 18		northgate pc sanwa sony thinkpad
 19		sun teck steelseries typematrix winbook README
 20	)
 21	keycodes/(
 22		digital_vndr/(lk pc)
 23		sgi_vndr/(indigo indy iris)
 24		aliases
 25		amiga
 26		ataritt
 27		empty
 28		evdev
 29		fujitsu
 30		hp
 31		ibm
 32		jolla
 33		macintosh
 34		olpc
 35		sony
 36		sun
 37		xfree86
 38		xfree98
 39		README
 40	)
 41	rules/(
 42		xfree98
 43		xkb.dtd
 44		README
 45	)
 46	symbols/(
 47		digital_vndr/(lk pc us vt)
 48		fujitsu_vndr/(jp us)
 49		hp_vndr/(us)
 50		jolla_vndr/(sbj)
 51		macintosh_vndr/(
 52			apple ch de dk
 53			fi fr
 54			gb is it jp
 55			latam nl no pt
 56			se us
 57		)
 58		nec_vndr/(jp)
 59		nokia_vndr/(rx-44 rx-51 su-8w)
 60		sgi_vndr/(jp)
 61		sharp_vndr/(sl-c3x00 ws003sh ws007sh ws011sh ws020sh)
 62		sony_vndr/(us)
 63		sun_vndr/(
 64			ara be br ca ch
 65			cz de dk ee es
 66			fi fr gb gr it
 67			jp kr lt lv nl
 68			no pl pt ro ru
 69			se sk solaris tr
 70			tw ua us
 71		)
 72		xfree68_vndr/(amiga ataritt)
 73		af al am apl
 74		ara at au az
 75		ba bd be
 76		bg bqn br brai
 77		bt bw by
 78		ca cd ch
 79		cm cn cz
 80		de dk dz
 81		ee eg es et epo eu
 82		fi fo fr
 83		gb ge gh gn
 84		gr hr hu
 85		id ie il
 86		in iq
 87		ir is it
 88		jp
 89		ke kg kh
 90		kr kz
 91		la latam latin
 92		lk lt lv
 93		ma mao md me
 94		mk ml mm
 95		mn mt mv my
 96		ng nl no np
 97		parens pc ph pk pl pt
 98		ro rs ru
 99		se si sk sn
100		sy th
101		terminate tg
102		tj tm tr trans tw tz
103		ua us uz vn
104		za
105		altwin capslock compose ctrl empty eurosign rupeesign group inet
106		keypad kpdl level2 level3 level5 nbsp olpc shift srvr_ctrl typo
107	)
108	types/(
109		basic cancel caps
110		complete default extra
111		iso9995 level5 mousekeys nokia numpad
112		pc README
113	)
114]]
115for f in iterpaths(data) do
116	file('share/xkb/'..f, '644', '$srcdir/'..f)
117end
118
119local function parts(ruleset)
120	return expand{'$srcdir/rules/', {
121		'0000-hdr.part',
122		'0001-lists.part',
123		'0002-'..ruleset..'.lists.part',
124		'0004-'..ruleset..'.m_k.part',
125		'0005-l1_k.part',
126		'0006-l_k.part',
127		'0007-o_k.part',
128		'0008-ml_g.part',
129		'0009-m_g.part',
130		'0011-mlv_s.part',
131		'0013-ml_s.part',
132		'0015-ml1_s.part',
133		'0018-ml2_s.part ',
134		'0020-ml3_s.part ',
135		'0022-ml4_s.part ',
136		'0026-'..ruleset..'.m_s.part',
137		'0027-'..ruleset..'.ml_s1.part',
138		'0033-ml_c.part',
139		'0034-ml1_c.part',
140		'0035-m_t.part',
141		'0036-lo_s.part',
142		'0037-l1o_s.part',
143		'0038-l2o_s.part',
144		'0039-l3o_s.part',
145		'0040-l4o_s.part',
146		'0042-o_s.part',
147		'0043-o_c.part',
148		'0044-o_t.part',
149	}}
150end
151
152build('cat', '$outdir/base', parts('base'))
153file('share/xkb/rules/base', '644', '$outdir/base')
154
155build('cat', '$outdir/evdev', parts('evdev'))
156file('share/xkb/rules/evdev', '644', '$outdir/evdev')
157
158fetch 'git'