summaryrefslogtreecommitdiff
path: root/pkg/tz/gen.lua
blob: 4d13520bae9336b821c1a633620fba3bf5395743 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
cflags{
	'-I $dir',
	[[-D 'ZIC_BLOAT_DEFAULT="slim"']],
}

exe('zic', {'zic.c'})
file('bin/zic', '755', '$outdir/zic')
man{'zic.8'}

local srcs = {
	'africa',
	'antarctica',
	'asia',
	'australasia',
	'europe',
	'northamerica',
	'southamerica',
	'etcetera',
	'factory',
}

local zones = {}
local data = load 'data.lua'
for _, src in ipairs(srcs) do
	for _, name, target in sortedpairs(data[src]) do
		if target then
			target = name:gsub('[^/]+', '..'):sub(1, -3)..target
			sym('share/zoneinfo/'..name, target)
		else
			file('share/zoneinfo/'..name, '644', '$outdir/zoneinfo/'..name)
			table.insert(zones, name)
		end
	end
end

rule('zic', 'zic -d $outdir/zoneinfo $in')
build('zic', expand{'$outdir/zoneinfo/', zones}, expand{'$srcdir/', srcs})

fetch 'git'