Commit Graph

16 Commits

Author SHA1 Message Date
Will Dietz
e065779af1 ghc821-binary: avoid mass-rebuild by using old dynamic linker string 2018-07-11 11:16:13 -05:00
Will Dietz
b4c91a3e1a ghc821-binary: disable ld override w/musl
Fixes conftest failure that I believe ends up
using the wrong dynamic linker.
2018-07-11 11:14:18 -05:00
Will Dietz
4a1d311c49 ghc821-binary: use glibc on musl
These prebuilt binaries need to be used with glibc,
it doesn't matter what we're using otherwise.

This may seem a bit strange but has the huge advantage
of not needing to create/host/download musl-specific variants,
and instead continue to use the official ones from upstream.
2018-07-11 11:06:20 -05:00
Matthew Bauer
fd7a6ea0af haskell: make generic builder follow compiler’s shared config
enableShared in generic-builder.nix should default to what the GHC
compiler was compiled with. Add a passthru to all of the GHC compilers
to hold the value of enableShared. If enableShared is not set in the
GHC we just use false as the default value for enableSharedLibraries.

Note: I may have missed some compilers. Only GHC & GHCJS are covered
by this commit but this shouldn’t break evaluation of anything else.
2018-06-20 18:40:53 -04:00
John Ericson
ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Tuomas Tynkkynen
a6425fc66d ghc: Disable on AArch64
For some reason compiling the proper GHC from the binary one eventually
segfaults at some point.

Since it has never worked, just disable it and investigate later.
2018-03-24 16:11:31 +02:00
Drew Hess
e4f3fe051e ghc, haskell-modules: ARM cross build fixes.
As requested in #33405.
2018-01-11 10:45:44 -05:00
Drew Hess
461139e3fa
ghc: ARM builds have an LLVM runtime dependency. 2018-01-03 15:57:23 -08:00
John Ericson
a5cc983c45 ghc: Clean up, and add passthru.targetPrefix, in preparation for cross
No hashes should be changed.
2018-01-02 19:50:38 -05:00
Drew Hess
1e137832b8
ghc: add ARM variants to meta.platforms for new binary versions. 2018-01-02 03:57:12 -08:00
Drew Hess
9c91d0d63c
ghc: fix armv7l-linux support in new binary versions. 2018-01-02 03:36:42 -08:00
Domen Kožar
695a026f5f
ghc: wire up new binary ghc for bootstrapping
This change brings development feedback loop improvement
from a couple of ghc rebuilds to only one for working on generic
builder.

To completely eliminate the rebuilds, use two nixpkgs clones
and point boot packages to the unmodified one.
2017-12-28 15:11:50 +00:00
Domen Kožar
bd7c8ea255
ghc binaries: compile on darwin 2017-12-25 22:56:32 +00:00
Domen Kožar
e4c05ae25a
ghc binaries: fix eval 2017-12-25 18:16:23 +00:00
Domen Kožar
398061dfc5
prebuilt ghcs: correctly handle rpaths 2017-12-25 17:19:43 +00:00
John Ericson
ed93d2d645
ghc-{7.8.4, 7.10.3, 8.2.1}-binary: Init 2017-12-25 16:36:47 +00:00