logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

gen.lua (2232B)


  1. cflags{
  2. '-Wall', '-Wno-stringop-truncation',
  3. string.format([[-D 'DATADIR="%s/share/kbd"']], config.prefix),
  4. '-I $dir',
  5. '-I $srcdir',
  6. '-I $srcdir/src',
  7. '-I $srcdir/src/libcommon',
  8. '-I $srcdir/src/libkbdfile',
  9. '-I $srcdir/src/libkeymap',
  10. '-I $srcdir/src/libkeymap/keymap',
  11. '-I $srcdir/src/libkfont',
  12. '-isystem $builddir/pkg/linux-headers/include',
  13. }
  14. pkg.deps = {
  15. 'pkg/linux-headers/headers',
  16. }
  17. lib('libcommon.a', 'src/libcommon/(getfd.c error.c version.c)')
  18. lib('libkbdfile.a', 'src/libkbdfile/(init.c kbdfile.c)')
  19. lib('libkeymap.a', [[
  20. src/libkeymap/(
  21. analyze.c
  22. array.c
  23. common.c
  24. diacr.c
  25. dump.c
  26. func.c
  27. kernel.c
  28. kmap.c
  29. ksyms.c
  30. loadkeys.c
  31. modifiers.c
  32. parser.c
  33. summary.c
  34. )
  35. ]])
  36. lib('libkfont.a', [[
  37. src/libkfont/(
  38. psffontop.c
  39. psfxtable.c
  40. context.c
  41. unicode.c
  42. utf8.c
  43. kdmapop.c
  44. loadunimap.c
  45. mapscrn.c
  46. setfont.c
  47. kdfontop.c
  48. )
  49. ]])
  50. -- old: loadunimap mapscrn
  51. -- optional: clrunmap getunimap setlogcons setvesablank setpalette screendump
  52. -- i386/x86_64 only: resizecons
  53. -- ubase: chvt
  54. local tools = {
  55. {'deallocvt', '1'},
  56. {'dumpkeys', '1', true},
  57. {'fgconsole', '1'},
  58. {'getkeycodes', '8'},
  59. {'kbd_mode', '1'},
  60. {'kbdinfo'},
  61. {'loadkeys', '1', true},
  62. {'openvt', '1'},
  63. {'psfxtable', '1'},
  64. {'setfont', '8', true},
  65. {'setkeycodes', '8'},
  66. {'setvtrgb', '8'},
  67. {'showconsolefont', '8'},
  68. {'showkey', '1'},
  69. }
  70. for _, tool in ipairs(tools) do
  71. local name, sect, subst = tool[1], tool[2], tool[3]
  72. exe(name, {'src/'..name..'.c', 'libcommon.a', 'libkfont.a', 'libkeymap.a', 'libkbdfile.a'})
  73. file('bin/'..name, '755', '$outdir/'..name)
  74. if sect then
  75. local manpage = string.format('docs/man/man%s/%s.%s', sect, name, sect)
  76. if subst then
  77. local out = string.format('$outdir/%s.%s', name, sect)
  78. build('sed', out, '$srcdir/'..manpage..'.in', {
  79. expr='s,@DATADIR@,/share/kbd,g',
  80. })
  81. manpage = out
  82. end
  83. man{manpage}
  84. end
  85. end
  86. -- keymap data
  87. for keymap in iterlines('keymaps.txt') do
  88. local out = '$outdir/keymaps/'..keymap..'.gz'
  89. build('gzip', out, '$srcdir/data/keymaps/'..keymap)
  90. file('share/kbd/keymaps/'..keymap..'.gz', '644', out)
  91. end
  92. sym('share/kbd/keymaps/ppc', 'mac')
  93. fetch 'curl'