I ran stack ./install.hs hls-8.10.1 and saw this bit of output:
Copied executables to /Users/luke/.local/bin:
- ghcide
- ghcide-bench
- ghcide-test-preprocessor
- haskell-language-server
- haskell-language-server-wrapper
haskell-language-server got symlinked correctly inside ~/local/.bin to haskell-language-server-8.10[.1], but I definitely didn't expect any of the ghcide executables to get installed. Perhaps we should explicitly pass stack install haskell-language-server haskell-language-server-wrapper as args to make sure we only install the specified executables
Doesn't haskell-language-server actually use ghcide executable? Or is it just linked to ghcide "library"?
@mouse07410 it just uses the latter library, and the ghcide-bench/ghcide-test-preprocessor are helper executables that definitely shouldn't be installed. I've had this issue in the past where helper executables get installed with cabal install/stack install, makes me wish there was a cabal stanza field like buildable, except installable. The closest approximation I could get to that was setting buildable: False, but with a cabal flag that's turned on in a cabal.project file that sets buildable: True
stack install function has two branches and only one has the correct targets, fixing!
Most helpful comment
stack install function has two branches and only one has the correct targets, fixing!
https://github.com/haskell/haskell-language-server/blob/35205ee3f95a8fbb4ef9a4ae4d9d82ac3d36d3f0/install/src/Stack.hs#L22-L30