I'm trying out the fish shell in my cygwin environment. As far as I can tell this is not available as a package so I had to build it myself. Here are the steps required as best as I can recall.
1. iconv: download, configure, make, make install
2. download & unpack fish
3. remove iconv_open check from configure.ac
4. export LDFLAGS=-liconv
5. replace ARG_MAX in exec.c with _POSIX_ARG_MAX (this is optional in limits.h so I think this is a fish source code problem.)
6. configure, make, make install