meson: try to workaround 'tic' writing multiple files into a subdirectory

tic writes all our terminfo files into a subdirectory. This is
difficult for meson to groc; you can for example not say

  output: ['f/foot', 'f/foot-direct']

This tries to workaround it by setting 'install: false' in the 'tic'
custom target, and instead add two separate targets for each terminfo
file.

Since the compiled terminfo file 'foot' would collide with the
executable 'foot', all terminfo stuff has been moved into a
subdirectory.
This commit is contained in:
Daniel Eklöf 2020-05-03 17:00:22 +02:00 committed by Alexander Sieg
parent b8e9e1ca06
commit 770bd79a9c
3 changed files with 21 additions and 9 deletions

262
terminfo/foot.info Normal file
View file

@ -0,0 +1,262 @@
foot|foot terminal emulator,
use=foot+base,
colors#256,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48\:2\:5\:%p1%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38\:2\:5\:%p1%d%;m,
foot-direct|foot with direct color indexing,
use=foot+base,
colors#16777216,
RGB,
setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:2\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:2\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
foot+base|foot base fragment,
am,
bce,
ccc,
km,
mir,
msgr,
npc,
xenl,
AX,
XT,
cols#80,
it#8,
lines#24,
pairs#0x10000,
Cr=\E]112\E\\,
Cs=\E]12;%p1%s\E\\,
E3=\E[3J,
Ms=\E]52;%p1%s;%p2%s\E\\,
Se=\E[2 q,
Ss=\E[%p1%d q,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G,
blink=\E[5m,
bold=\E[1m,
cbt=\E[Z,
civis=\E[?25l,
clear=\E[H\E[2J,
cnorm=\E[?12l\E[?25h,
cr=\r,
csr=\E[%i%p1%d;%p2%dr,
cub1=^H,
cub=\E[%p1%dD,
cud1=\n,
cud=\E[%p1%dB,
cuf1=\E[C,
cuf=\E[%p1%dC,
cup=\E[%i%p1%d;%p2%dH,
cuu1=\E[A,cvvis=\E[?12;25h,
cuu=\E[%p1%dA,
dch1=\E[P,
dch=\E[%p1%dP,
dim=\E[2m,
dl1=\E[M,
dl=\E[%p1%dM,
ech=\E[%p1%dX,
ed=\E[J,
el1=\E[1K,
el=\E[K,
flash=\E]555\E\\,
home=\E[H,
hpa=\E[%i%p1%dG,
ht=^I,
hts=\EH,
ich=\E[%p1%d@,
il1=\E[L,
il=\E[%p1%dL,
ind=\n,
indn=\E[%p1%dS,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
invis=\E[8m,
is2=\E[!p\E[?3;4l\E[4l\E>,
kDC3=\E[3;3~,
kDC4=\E[3;4~,
kDC5=\E[3;5~,
kDC6=\E[3;6~,
kDC7=\E[3;7~,
kDC=\E[3;2~,
kDN3=\E[1;3B,
kDN4=\E[1;4B,
kDN5=\E[1;5B,
kDN6=\E[1;6B,
kDN7=\E[1;7B,
kDN=\E[1;2B,
kEND3=\E[1;3F,
kEND4=\E[1;4F,
kEND5=\E[1;5F,
kEND6=\E[1;6F,
kEND7=\E[1;7F,
kEND=\E[1;2F,
kHOM3=\E[1;3H,
kHOM4=\E[1;4H,
kHOM5=\E[1;5H,
kHOM6=\E[1;6H,
kHOM7=\E[1;7H,
kHOM=\E[1;2H,
kIC3=\E[2;3~,
kIC4=\E[2;4~,
kIC5=\E[2;5~,
kIC6=\E[2;6~,
kIC7=\E[2;7~,
kIC=\E[2;2~,
kLFT3=\E[1;3D,
kLFT4=\E[1;4D,
kLFT5=\E[1;5D,
kLFT6=\E[1;6D,
kLFT7=\E[1;7D,
kLFT=\E[1;2D,
kNXT3=\E[6;3~,
kNXT4=\E[6;4~,
kNXT5=\E[6;5~,
kNXT6=\E[6;6~,
kNXT7=\E[6;7~,
kNXT=\E[6;2~,
kPRV3=\E[5;3~,
kPRV4=\E[5;4~,
kPRV5=\E[5;5~,
kPRV6=\E[5;6~,
kPRV7=\E[5;7~,
kPRV=\E[5;2~,
kRIT3=\E[1;3C,
kRIT4=\E[1;4C,
kRIT5=\E[1;5C,
kRIT6=\E[1;6C,
kRIT7=\E[1;7C,
kRIT=\E[1;2C,
kUP3=\E[1;3A,
kUP4=\E[1;4A,
kUP5=\E[1;5A,
kUP6=\E[1;6A,
kUP7=\E[1;7A,
kUP=\E[1;2A,
kb2=\EOE,
kbs=^?,
kcbt=\E[Z,
kcub1=\EOD,
kcud1=\EOB,
kcuf1=\EOC,
kcuu1=\EOA,
kdch1=\E[3~,
kend=\EOF,
kent=\EOM,
kf10=\E[21~,
kf11=\E[23~,
kf12=\E[24~,
kf13=\E[1;2P,
kf14=\E[1;2Q,
kf15=\E[1;2R,
kf16=\E[1;2S,
kf17=\E[15;2~,
kf18=\E[17;2~,
kf19=\E[18;2~,
kf1=\EOP,
kf20=\E[19;2~,
kf21=\E[20;2~,
kf22=\E[21;2~,
kf23=\E[23;2~,
kf24=\E[24;2~,
kf25=\E[1;5P,
kf26=\E[1;5Q,
kf27=\E[1;5R,
kf28=\E[1;5S,
kf29=\E[15;5~,
kf2=\EOQ,
kf30=\E[17;5~,
kf31=\E[18;5~,
kf32=\E[19;5~,
kf33=\E[20;5~,
kf34=\E[21;5~,
kf35=\E[23;5~,
kf36=\E[24;5~,
kf37=\E[1;6P,
kf38=\E[1;6Q,
kf39=\E[1;6R,
kf3=\EOR,
kf40=\E[1;6S,
kf41=\E[15;6~,
kf42=\E[17;6~,
kf43=\E[18;6~,
kf44=\E[19;6~,
kf45=\E[20;6~,
kf46=\E[21;6~,
kf47=\E[23;6~,
kf48=\E[24;6~,
kf49=\E[1;3P,
kf4=\EOS,
kf50=\E[1;3Q,
kf51=\E[1;3R,
kf52=\E[1;3S,
kf53=\E[15;3~,
kf54=\E[17;3~,
kf55=\E[18;3~,
kf56=\E[19;3~,
kf57=\E[20;3~,
kf58=\E[21;3~,
kf59=\E[23;3~,
kf5=\E[15~,
kf60=\E[24;3~,
kf61=\E[1;4P,
kf62=\E[1;4Q,
kf63=\E[1;4R,
kf6=\E[17~,
kf7=\E[18~,
kf8=\E[19~,
kf9=\E[20~,
khome=\EOH,
kich1=\E[2~,
kind=\E[1;2B,
kmous=\E[M,
knp=\E[6~,
kpp=\E[5~,
kri=\E[1;2A,
oc=\E]104\E\\,
op=\E[39;49m,
rc=\E8,
rep=%p1%c\E[%p2%{1}%-%db,
rev=\E[7m,
ri=\EM,
rin=\E[%p1%dT,
ritm=\E[23m,
rmacs=\E(B,
rmam=\E[?7l,
rmcup=\E[?1049l\E[23;0;0t,
rmir=\E[4l,
rmkx=\E[?1l\E>,
rmm=\E[?1034l,
rmso=\E[27m,
rmul=\E[24m,
rmxx=\E[29m,
rs1=\Ec,
rs2=\E[!p\E[?3;4l\E[4l\E>,
sc=\E7,
sgr0=\E(B\E[m,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
sitm=\E[3m,
smacs=\E(0,
smam=\E[?7h,
smcup=\E[?1049h\E[22;0;0t,
smir=\E[4h,
smkx=\E[?1h\E=,
smm=\E[?1034h,
smso=\E[7m,
smul=\E[4m,
smxx=\E[9m,
tbc=\E[3g,
u6=\E[%i%d;%dR,
u7=\E[6n,
u8=\E[?%[;0123456789]c,
u9=\E[c,
vpa=\E[%i%p1%dd,
# XM tells ncurses how to initialize the mouse. The xterm terminfo
# uses this to enable SGR (1006h). However, doing this also requirese
# kmous=\E[<. But, ncurses *also* disables the mouse _completely_ if
# kmous != \E[M (unless the TERM name contains "xterm"...)
# XT,
# AX,
# XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
# xm=\E[<%p1%d;%p2%d;%p3%d;%?%p4%tM%em%;,

19
terminfo/meson.build Normal file
View file

@ -0,0 +1,19 @@
tic = find_program('tic', native: true)
tic_generated = custom_target(
'terminfo',
output: 'f',
input: 'foot.info',
command: [tic, '-x', '-o', '@OUTDIR@', '-e', 'foot,foot-direct', '@INPUT@'],
install: false,
install_dir: join_paths(get_option('datadir'), 'terminfo'))
foreach terminfo : ['foot', 'foot-direct']
custom_target(
'terminfo-@0@'.format(terminfo),
output: terminfo,
input: tic_generated,
command: ['cp', join_paths('@INPUT@', terminfo), '@OUTPUT@'],
install: true,
install_dir: join_paths(get_option('datadir'), 'terminfo', 'f'))
endforeach