Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

Create brew formula #529

Open
ismailmustafa opened this issue Apr 18, 2018 · 18 comments
Open

Create brew formula #529

ismailmustafa opened this issue Apr 18, 2018 · 18 comments
Assignees
Milestone

Comments

@ismailmustafa
Copy link
Contributor

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.

@alanz
Copy link
Collaborator

alanz commented May 1, 2018

PR's welcome, I am not a MAC user.

@lukel97
Copy link
Collaborator

lukel97 commented Jul 7, 2018

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

@ismailmustafa
Copy link
Contributor Author

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.

@ghost
Copy link

ghost commented Aug 26, 2018

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.

@lukel97
Copy link
Collaborator

lukel97 commented Aug 26, 2018

@chris-kahn I reopened the PR for the brew formula a while back but it hasn't gone anywhere so far: Homebrew/homebrew-core#29800

@lukel97
Copy link
Collaborator

lukel97 commented Aug 26, 2018

@ismailmustafa I think with homebrew it would provide bottled binaries for us, although I agree we should probably release our own binaries

@alanz
Copy link
Collaborator

alanz commented Dec 24, 2018

@bubba Is this still relevant?

@alanz alanz added this to the Some time milestone Dec 24, 2018
@lukel97
Copy link
Collaborator

lukel97 commented Dec 27, 2018

The homebrew-core repository isn’t 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’s possible to install formulae by just passing the URL to it.

@gregnwosu
Copy link

The homebrew-core repository isn’t 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’s 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?

@Cj-bc
Copy link

Cj-bc commented Mar 11, 2019

@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

@lukel97
Copy link
Collaborator

lukel97 commented Mar 12, 2019

This is probably relevant for homebrew, since it's affected by the same data-files issue here: #992 (comment)

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.

@lukel97 lukel97 mentioned this issue Apr 3, 2019
4 tasks
@orwell1984
Copy link

orwell1984 commented Nov 12, 2019

Is there a way to install HIE on MacOS from binaries as of today?

@fendor
Copy link
Collaborator

fendor commented Nov 12, 2019

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.

@orwell1984
Copy link

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 !

@ghost
Copy link

ghost commented Nov 12, 2019

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.

@mpickering
Copy link
Collaborator

@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.

@lukel97
Copy link
Collaborator

lukel97 commented Nov 12, 2019

@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

@fendor
Copy link
Collaborator

fendor commented Nov 12, 2019

@bubba data-files of hlint still exist and need to be handled

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

9 participants