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>