1set('version', 'v0.9')
2cflags{
3 '-std=c99',
4 '-D CONFIG_HELP=1',
5 '-D CONFIG_CURSES=1',
6 '-D CONFIG_LUA=1',
7 '-D CONFIG_LPEG=1',
8 '-D CONFIG_TRE=0',
9 '-D CONFIG_SELINUX=0',
10 '-D CONFIG_ACL=0',
11 '-D HAVE_MEMRCHR=1',
12 '-D LUA_COMPAT_APIINTCASTS',
13 '-D _XOPEN_SOURCE=700',
14 [[-D 'VERSION="$version"']],
15 string.format([[-D 'VIS_PATH="%s/share/vis"']], config.prefix),
16 '-D NDEBUG',
17 '-I $outdir',
18 '-isystem $builddir/pkg/libtermkey/include',
19 '-isystem $builddir/pkg/lua/include',
20 '-isystem $builddir/pkg/netbsd-curses/include',
21}
22
23build('copy', '$outdir/config.h', '$srcdir/config.def.h')
24
25pkg.deps = {
26 '$outdir/config.h',
27 'pkg/libtermkey/headers',
28 'pkg/lua/headers',
29 'pkg/netbsd-curses/headers',
30}
31
32exe('vis', [[
33 array.c
34 buffer.c
35 libutf.c
36 main.c
37 map.c
38 sam.c
39 text.c
40 text-common.c
41 text-io.c
42 text-iterator.c
43 text-motions.c
44 text-objects.c
45 text-util.c
46 ui-terminal.c
47 view.c
48 vis.c
49 vis-lua.c
50 vis-marks.c
51 vis-modes.c
52 vis-motions.c
53 vis-operators.c
54 vis-prompt.c
55 vis-registers.c
56 vis-text-objects.c
57 vis-subprocess.c
58 text-regex.c
59 $builddir/pkg/libtermkey/libtermkey.a.d
60 $builddir/pkg/lpeg/liblpeg.a
61 $builddir/pkg/lua/liblua.a
62 $builddir/pkg/netbsd-curses/libcurses.a.d
63]])
64file('bin/vis', '755', '$outdir/vis')
65
66exe('vis-digraph', {'vis-digraph.c'})
67file('bin/vis-digraph', '755', '$outdir/vis-digraph')
68
69exe('vis-menu', {'vis-menu.c'})
70file('bin/vis-menu', '755', '$outdir/vis-menu')
71
72file('bin/vis-open', '755', '$srcdir/vis-open')
73
74for _, f in ipairs{'vis.1', 'vis-digraph.1', 'vis-menu.1', 'vis-open.1'} do
75 build('sed', '$outdir/'..f, '$srcdir/man/'..f, {expr='s,VERSION,$version,'})
76 man{'$outdir/'..f}
77end
78
79for f in iterlines('lua.txt') do
80 file('share/vis/'..f, '644', '$srcdir/lua/'..f)
81end
82sym('share/vis/lexer.lua', 'lexers/lexer.lua')
83sym('share/vis/themes/default.lua', 'base-16.lua')
84
85fetch 'git'