-
Notifications
You must be signed in to change notification settings - Fork 206
Conversation
Thanks for the pr, but i m afraid it would break some use cases:
|
As far as I know, hie is not dependent on a build-tool. Installation of
Same as above, I think, that we can use hie without any cabal on the path. Also, inconsistent for cabal users, as they cant do the same for stack.
If users want to use stack scripts but to install hie with cabal, I think they can be bothered to install cabal themselves. Moreover, we are inconsistent, because you can not do the same the other way around. You can not use cabal to install stack, right?
I think that could make sense. |
Well, i think that use both tools is a pretty common scenario although now hie doesnt require to have cabal installed for all projects (you still need it for projects without
He, fair enough. I guess there are more cases of users using stack that wants to use or needs cabal that the other way around. But if we keep one i would accept a pr to add the other 😉 But the above is only about the possibility of install cabal using stack. I would remove the |
I think it is a good idea to decouple cabal and stack builds, e.g. a cabal build should not depend on stack in any way.
I think that makes sense. |
IMO, packages should never install toolchain and build tools unquestioned. I don't want to use stack and it breaks HIE installation as you can see in #1556 People using HIE are developers and they should be bothered to install their toolchain and should expect to have proper control over it without packages arbitrarily invoking stack, downloading GHCs that I have already installed and messing with my global state.
I cannot follow. Is there anything actionable for this PR? Edit: ultimately, when looking at the shakefile, I think it is not useful at all. Almost everything is phony rules, which defeats the entire purpose of shake. It seems this can be easily rewritten with a Makefile or a simple shell script. But this is outside of this PRs scope, which just unbreaks HIE. |
I dont think so, that is something for a follow-up PR.
I agree partially. A Makefile is not platform independent, so no, that would not be a solution. Neither is a shell script. The initial reason was to simplify the installation, which, judging by the amount of issues we receive now and before using this installation script, succeeded. |
Right, I forgot windows users. Shame on me. |
Trying to execute the script with stack throws an build error cause
Not sure if we can get a package set to build this version with stack. Maybe some cpp would be needed (as anticipated in #1380 (comment)) Ideally the script should be buildable with all resolver of hie |
Hm, why did the CIs succeed then? 😕 |
@hasufell Currently enabled CI is actually not even building the shake script... There is some CI for azure, but azure is not yet enabled for this project :( |
I CPPed the relevant bits and also changed the README. I didn't run a full stack build, but at least it starts building. |
@hasufell have you tested it with |
@hasufell thanks for include the remove of obsolete targets, it looks much better now. As for The docs in https://github.com/haskell/haskell-ide-engine/blob/master/docs/Build.md becomes obsolete with this pr too, but the can be fixed in a follw up pr if you want. Let me know if you need any help with the last requested changes, i promise they are the last ones 😄 |
That was already done. |
Seems to work fine |
If you have further remarks, I suggest you push your changes to this PR. |
I am personally in favour of not having the install script install cabal via stack, which seems kind of sneaky. Can we double check that hie still relies on it? |
@bubba Hie does not rely on it and afaik never really has. I think it was needed to install Cabal to speed up cabal-helper, but no one is even sure that this was ever necessary. |
@fendor probably just best then to let cabal-helper install Cabal? Also seeing as with a hie.yaml file it might not be needed |
I am not sure that ever worked, since cabal-helper installs Cabal into |
cabal-helper searches for it installed globally first before installing its own copy, but agreed anyway |
@bubba Ah, did not know that! however, we are not installing Cabal for some time now so, it seems like nobody is complaining right now. |
I'll pushed the required changes upt to +85-202 😁 The help looks now:
I have taken the opportunity to change some target names and make them shorter:
Do you agree with new names @fendor @bubba? |
@jneita LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is great that we are simplifying the installation script!
Fixes #1380 and #1556