Aqui está a solução para qualquer pessoa que queira tentar isso. Tcl estava reclamando sobre não encontrar init.tcl
e não queria nem mesmo começar. Eu tentei de todas as formas para exportar o caminho em que o arquivo estava sem sorte. Notei que ao gerar um pacote de snap, um wrapper é gerado para cada binário exposto. neste pacote eu criei 2 binários - tclsh
e wish
. Sem sorte exportando copiei os arquivos wrapper para onde o arquivo snapcraft.yaml
é porque a limpeza do sistema mataria todos os arquivos anteriores gerados. Eu adicionei o seguinte a cada wrapper
export TCL_LIBRARY=$SNAP/usr/share/tcltk/tcl8.6:$TCL_LIBRARY:$TK_LIBRARY
export TK_LIBRARY=$SNAP/usr/share/tcltk/tk8.6:$TK_LIBRARY:$TCL_LIBRARY
Em seguida, editei a seção apps:
para refletir o uso de wrappers, não de chamadas binárias diretas.
apps:
tclsh:
command: tclsh.wrapper #used to be just tclsh without the benefit of a wrapper with exports in it
plugs: [home, unity7, network, x11]
wish:
command: wish.wrapper # same as above
plugs: [home, unity7, network, x11]
Finalmente, na minha seção glue
, incluí esses wrappers
glue:
plugin: copy
files:
tclsh.wrapper: usr/bin/tclsh.wrapper
wish.wrapper: usr/bin/wish.wrapper
fez o pacote instantâneo e o instalou. Tanto tclsh
como wish
funcionam como esperado sem queixas.
O comando de execução para tclsh
é tcl.tclsh
e para wish
é tcl.wish
.