master hovercats/oakiss / pkg / tz / gen.lua
 1cflags{
 2	'-std=c99', '-Wall', '-Wpedantic', '-Wno-maybe-uninitialized',
 3	'-I $dir',
 4	[[-D 'ZIC_BLOAT_DEFAULT="slim"']],
 5}
 6
 7exe('zic', {'zic.c'})
 8file('bin/zic', '755', '$outdir/zic')
 9man{'zic.8'}
10
11local srcs = {
12	'africa',
13	'antarctica',
14	'asia',
15	'australasia',
16	'europe',
17	'northamerica',
18	'southamerica',
19	'etcetera',
20	'factory',
21}
22
23local zones = {}
24local data = load 'data.lua'
25for _, src in ipairs(srcs) do
26	for _, name, target in sortedpairs(data[src]) do
27		if target then
28			target = name:gsub('[^/]+', '..'):sub(1, -3)..target
29			sym('share/zoneinfo/'..name, target)
30		else
31			file('share/zoneinfo/'..name, '644', '$outdir/zoneinfo/'..name)
32			table.insert(zones, name)
33		end
34	end
35end
36
37rule('zic', 'zic -d $outdir/zoneinfo $in')
38build('zic', expand{'$outdir/zoneinfo/', zones}, expand{'$srcdir/', srcs})
39
40fetch 'git'