For yuks I managed to get tidal-listener running on Windows 10. The only tricky part was tracking down why O.recvFrom in Tempo.serverListen was hanging. Eventually found this gem
-- NOTE: blocking on Windows unless you compile with -threaded (see -- GHC ticket #1129) recvBufFrom :: SocketAddress sa => Socket -> Ptr a -> Int -> IO (Int, sa) recvBufFrom s ptr nbytes
All I ended up having to do was:
- Add -threaded to the compile options for Tidal (library) and tidal-listener (library and executable), not really sure where it's needed but the big hammer approach worked.
- Removed unix from tidal-listener library's buld-depends
- Added a cabal.project for tidal-listener referencing a local tidal. (And a git clone of Tidal as a subdirectory of tidal-listener) Oh, figuring that out was probably harder than finding the blocking read.
packages: ./ Tidal
It all works. The Atom plugin doesn't seem too happy though. I'll comment there with specifics.