-
Notifications
You must be signed in to change notification settings - Fork 846
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support specialized GHC bindists #530
Comments
When it comes to |
That said, checking for presence is not very high on the priority list IMHO. If |
is "debugging build" another factor here? I noticed that the blog post at https://www.fpcomplete.com/user/bitonic/perf-for-low-level-profiling mentions that you need the RTS to be built with debug symbols for useful haskell-program debugging. (I kinda think this should be the default... maybe it already is?) |
Specifying a GHC variant on stack.yaml could be tricky, because you may want different variants on different platforms. For example, integer-simple more likely to be wanted on Windows. On Linux, you might want the gmp4 (centos65) variant on some distributions but not on others, and it would be rare to actually specify that rather than autodetect it. |
@radix I'm not sure, but I do imagine that there are numerous variants we might want to support. |
@manny-fp Bear in mind we already have the |
it seems like this begs for conditionals in the yaml. scary! :) |
Hmm...perhaps something like |
@3nock Agreed, definitely moving in the right direction. So I'd propose something along these lines to start with:
|
And let's leave conditionals in stack.yaml as a separate issue :) |
As far as I can tell (which is not very far!) that plan looks good. I'm not crazy about the name Are you thinking of making the programmatic detection be a subset of data CompilerVariant = AvoidLPGL | IntegerSimpleCompiler | IntegerGmpCompiler
| OtherCompilerVariant String (Of course, you could squash some of these into If using
|
This actually gave me another idea: stack could check for licensing problems in your dependency tree. Perhaps it's a non issue since virtually all cabal packages are BSD3, but it could be quite useful to know if one of them wasn't. |
That is a good idea (it's something we've done at FP Complete in other projects), and definitely deserves an issue of its own so that it doesn't get lost. |
Yeah, I agree it's not a great name, and your suggestion is am improvement.
I like the sum type, and perhaps adding a I do think the CompilerVariant should identify a particular variant (e.g. |
Also, is this something you're interested/willing to work on? |
I'm on board with all of that. I have limited resources to devote to this, but I am willing to work on it. I would likely need some direction. Also I can only really provide testing for Windows and perhaps a tiny bit of Linux. I can't test Mac at all. |
I'm not sure how much guidance I can give without taking a stab at it first myself, so I think I'll get started on it and see where things go. |
Great, tell me if/how I can help. |
I added an issue for detecting licensing problems: #577 |
@manny-fp Have you been able to make any progress on this? |
@3noch: Not yet, planning to work on it this week. |
@borsboom Since you were asking for integer-simple builds I am curious if this got somewhere. |
just a quick note: between ghc-musl and integer simple, I don't know what would be the best to push forward |
Work in progress PR: #816 |
…c-bindists Support specialized GHC bindists (#530)
Merged the PR and closing this issue, but please re-open if you run into any trouble. |
For the context to this pull request, see see [Hpack issue #530](sol/hpack#530), the [Hpack PR #531](sol/hpack#531) and the alternative [Hpack PR #535](sol/hpack#535) (on which this PR builds). See also [Pantry PR #74](commercialhaskell/pantry#74) (on which this PR builds).
For the context to this pull request, see see [Hpack issue #530](sol/hpack#530), the [Hpack PR #531](sol/hpack#531) and the alternative [Hpack PR #535](sol/hpack#535) (on which this PR builds). See also [Pantry PR #74](commercialhaskell/pantry#74) (on which this PR builds).
For the context to this pull request, see see [Hpack issue #530](sol/hpack#530), the [Hpack PR #531](sol/hpack#531) and the alternative [Hpack PR #535](sol/hpack#535) (on which this PR builds). See also [Pantry PR #74](commercialhaskell/pantry#74) (on which this PR builds).
For the context to this pull request, see see [Hpack issue #530](sol/hpack#530), the [Hpack PR #531](sol/hpack#531) and the alternative [Hpack PR #535](sol/hpack#535) (on which this PR builds). See also [Pantry PR #74](commercialhaskell/pantry#74) (on which this PR builds).
For the context to this pull request, see see [Hpack issue #530](sol/hpack#530), the [Hpack PR #531](sol/hpack#531) and the alternative [Hpack PR #535](sol/hpack#535) (on which this PR builds). See also [Pantry PR #74](commercialhaskell/pantry#74) (on which this PR builds).
Continuing discussion in #495 and related to #399.
stack
's understanding of GHC is a bit primitive as it only knows about version, OS, and architecture. It would help to augment this understanding to other [potentially arbitrary] factors. The current use-case is GHC bindists built withinteger-simple
instead ofinteger-gmp
. Since this concept is orthogonal to version, OS, and architecture,stack
has no good way to represent it. Thus,stack
cannot currentlyyaml
file or command-line argumentsCurrently the
resolver
is responsible for determining which version of GHC to use, and something else determines which OS/architecture distribution to use.The text was updated successfully, but these errors were encountered: