Running make takes about 20 minutes to complete on my computer. Pre-compiling this and serving it as a brew formula would make installing hie significantly faster.
PR's welcome, I am not a MAC user.
Looks like they don't allow the use of stack in Homebrew formulae. We could possibly provide a ghc/cabal single-version install of hie without hie-wrapper, but would need to leave a caveat that it only supports one version of ghc.
Another alternative might be providing our own binaries via Github releases. We would probably have to include an install script to move all the different binaries into the right location though
Another alternative might be providing our own binaries via Github releases.
@Bubba That's what I meant with my initial suggestion. Apologies for not being clearer. I don't think it's particularly useful building from source using homebrew as it will still take just as long. I can look into this as well when I get a bit of free time.
I would strongly recommend doing something about this, because right now cloning from source I can't successfully build (#784) and this is _incredibly_ frustrating as a new user.
@chris-kahn I reopened the PR for the brew formula a while back but it hasn't gone anywhere so far: https://github.com/Homebrew/homebrew-core/pull/29800
@ismailmustafa I think with homebrew it would provide bottled binaries for us, although I agree we should probably release our own binaries
@bubba Is this still relevant?
The homebrew-core repository isn鈥檛 accepting any formulae with cabal new-build nor stack, and the GHC version is still 8.4.4 it looks like. I think the best solution for now is just to host the HIE formula in this repository, since I recently discovered it鈥檚 possible to install formulae by just passing the URL to it.
The homebrew-core repository isn鈥檛 accepting any formulae with cabal new-build nor stack, and the GHC version is still 8.4.4 it looks like. I think the best solution for now is just to host the HIE formula in this repository, since I recently discovered it鈥檚 possible to install formulae by just passing the URL to it.
can you give some detail on how to create the formula and a suggestion of where to keep it?
@gregnwosu hello, you can read official document at here
The way to specify formula is, as far as I know, one of official-tap/third-party-tap/URL.
So if you use URL to specify formula, it isn't a problem where to keep formula (unless it can't be accessed.)
Most common way to keep it is making own Tap repository on Github. Just name repo with prefix 'homebrew-' and commit formula to the repository, push to Github.
All infomation about those topics should be in https://docs.brew.sh
This is probably relevant for homebrew, since it's affected by the same data-files issue here: https://github.com/haskell/haskell-ide-engine/issues/992#issuecomment-452162746
Basically some of our dependencies rely on data-files which need to be copied over, but more importantly need to be properly prefixed when building with cabal to /usr/local/Cellar/hie or whatever, since cabal new-build builds into a temporary store with homebrew. The paths are hard coded into the binary depending on the --prefix flag used when configuring. Unfortunately cabal new-build doesn't support this flag.
I have an extremely na茂ve branch of Cabal that fixes the paths whenever --prefix is passed, but doesn't install the binaries nor data-files into the prefixed paths, and so that will probably have to be copied manually.
Is there a way to install HIE on MacOS from binaries as of today?
If you are willing to use nix, there is https://github.com/Infinisil/all-hies but otherwise, no.
Note, that this might change in the next months.
Nix sounds interesting but that readme pulls no punches. I have no idea what option to choose and what would it mean in practice. Spending 5 hours reading on each of those tools is not what I'm after atm - I'll wait for binary/brew formula. Thanks for the reply @fendor !
Same here... especially if you're trying to convince anyone else to give Haskell a try. Who wants to waste a day building and trying to get Haskell support in VS Code to work when with most other languages you can just get setup and productive almost right away? (TypeScript, Rust, C#, etc...).
And apparently Nix isn't even supported on Catalina yet and I'd prefer not to install an additional package manager (when I already use homebrew) just to get a language server.
@chris-kahn You make it sound as if we are trying to make it as difficult as possible to install. The reality is that there are just a few contributors and there are far more pressing things to implement which make the project work at all..
I suggest you either attempt to help out or readjust your expectations about what an entirely volunteer led project is expected to achieve.
@orwell1984 once hie-bios is merged, it should be possible as it removes the data-files dependency on cabal-helper. I will give this another try later on with the current state of the branch
@bubba data-files of hlint still exist and need to be handled
Most helpful comment
Nix sounds interesting but that readme pulls no punches. I have no idea what option to choose and what would it mean in practice. Spending 5 hours reading on each of those tools is not what I'm after atm - I'll wait for binary/brew formula. Thanks for the reply @fendor !