fish shell 2.1.0 agora é oficialmente suportado no Cygwin, é possível instalá-lo usando o instalador padrão.
É possível usar a casca do peixe com o cygwin? Não consegui compilar o código-fonte no cygwin e não encontrei nenhum pacote pré-compilado. Existe uma boa razão para não ter peixe no cygwin?
Veja como consegui compilar o peixe no Cygwin.
Primeiro, verifique se temos os seguintes pacotes do cygwin:
libncurses-devel
libiconv
autoconf
(não é realmente uma dependência de peixe, mas precisamos disso para uma etapa posterior) Em seguida, faça o download da fonte mais recente do link (usei fish-1.23.1.tar.gz ). Extraia a fonte para o seu diretório de escolha e cd para ele:
$ tar zxvf fish-1.23.1.tar.gz -C /usr/local/src/
$ cd /usr/local/src/fish-1.23.1/
configure.ac
para remover verificações de iconv
Agora, por algum motivo, ./configure
não pode detectar libiconv
corretamente. Para contornar o problema, removemos a verificação (especificaremos a lib manualmente mais tarde). Para isso, editamos configure.ac
e removemos as verificações de iconv_open
. Procurando por iconv_open
revela 3 ocorrências; nós comentamos todos eles. Então, de:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
Nós mudamos para:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
./configure
Em seguida, reconstruímos o script ./configure
executando autoconf
e, em seguida, executamos o script de configuração:
$ autoconf && ./configure
Makefile
para incluir o caminho correto para curses.h
Outro problema que enfrentei foi o curses.h
- o gcc não conseguiu encontrá-lo. Uma pesquisa rápida revelou que está em /usr/include/ncurses
.
O Makefile
tem um caminho de inclusão codificado para ele em CFLAGS
, mas aponta para /usr/local/include/ncurses
.
Então, editamos Makefile
e alteramos:
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
para
CFLAGS = -I/usr/include/ncurses -std=c99 ...
LDFLAGS
para vincular em libiconv
e estamos prontos para compilar / instalar. Por fim, exportamos o LDFLAGS
necessário para vincular em iconv
, depois compile e instale!
$ export LDFLAGS="-liconv"
$ make && make install
fish
$ fish
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
me@home /u/l/s/fish-1.23.1>