MarcWeber / hasktags

Produces ctags "tags" and etags "TAGS" files for Haskell programs
Other
131 stars 33 forks source link

Remove unix dependency #42

Closed lierdakil closed 6 years ago

lierdakil commented 6 years ago

This PR first and foremost removes the dependency on unix, instead relying on isSymbolicLink provided by directory since 1.2.6.0. Consequently, lower bound on directory's version is raised, and minimal-sensible version is also added as an extra-dep to stack yamls where it makes sense.

Also stack yamls are cleaned up from useless fluff stack init generates. Resolvers bumped to latest lts where applicable.

Primary motivation: GHCJS can't handle unix, but it can handle directory-1.2.6.2. As a bonus, stack config for building with GHCJS is added.

*Why not `directory-1.3.`**: because GHCJS can't handle that. Basically, 1.2.6.2 or nothing.

Additional considerations: isSymbolicLink is deprecated with directory-1.3.0.0, and pathIsSymbolicLink is preferred instead (which is just a synonym). This can be worked around with some CPP like 7022578. Let me know if you think this is a good idea.

jhenahan commented 6 years ago

Awesome! Thanks for the PR. I'll review and do some testing. Dropping a dependency (especially a heavy one like unix) is great!

lierdakil commented 6 years ago

FWIW, stack test on Linux passes for all tests except one added in https://github.com/MarcWeber/hasktags/commit/d345e5e9795ef969cdc96712a7dffce809a8a34a (which doesn't pass on master either) -- with all provided stack configurations that is.

https://gist.github.com/lierdakil/6c98288f6a81e909fbb275e011714c6d

lierdakil commented 6 years ago

Ping.

jhenahan commented 6 years ago

Sorry for the delay. I’ll get a new release out today.

lierdakil commented 6 years ago

Cool, thanks.