Commit Graph

130 Commits

Author SHA1 Message Date
John Ericson
1978115c3b ghc: Handle flavors better 2018-05-23 10:27:42 -04:00
John Ericson
9ce15ea60c ghc: Normalize derivations 2018-05-23 10:27:42 -04:00
Peter Simons
5db3a9df5e
Revert "ghc, haskell infra: #40642 direct to master" 2018-05-23 09:36:16 +02:00
Moritz Angermann
4b48094285 ghc 8.4.2, head: Drop libiconv on windows.
nixpkgs#37012 and  nixpkgs#37707 introduces the setup-hooks for libiconv, which inject `-liconv` into the `NIX_LDFLAGS`. This breaks horribly on windows where the linker end up having no idea how to linke `-liconv`. The configure.ac file specifically ignores libiconv on windows.
2018-05-21 15:11:12 -04:00
John Ericson
03602f8162 ghc 8.4.2, head: Adjust enableShared enableTerminfo for windows 2018-05-21 15:11:12 -04:00
Moritz Angermann
6af0c192d1 ghc: paxmark all unwraped executables across the board
Shell glob works even as the exact set of executable (filenames) varries
beween configuations.
2018-05-21 15:11:12 -04:00
John Ericson
8d2ce113d5 ghc: Handle flavors better 2018-05-21 15:11:12 -04:00
John Ericson
6f2f081b90 ghc: Normalize derivations 2018-05-21 15:11:12 -04:00
Will Fancher
8012aee0a7 Don't enableShared in GHC when using android prebuilt 2018-05-07 23:57:31 -04:00
Will Fancher
0afb45d574 Set the C standard when building GHC
Should this be in cc-wrapper?
2018-05-07 23:57:31 -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
Will Fancher
a9646b39cf Fix haskellCompilerName version.
This matters for `callCabal2nix`, when the cabal file has something
like `if impl(ghc >= 7.7)`
2018-02-22 03:11:25 -05:00
Ben Gamari
bf687907d7 haskell lib: Make Cabal compiler names explicit
Cabal2nix expects a --compiler flag that contains a Cabal Compiler description.
We used to use the compiler's derivation name for this, but this breaks when
cross-compiling due to the target suffix. Instead we add an explicit
haskellCompilerName attribute to Haskell compiler derivations.
2018-01-21 23:31:05 -05:00
John Ericson
a2516efb26 ghcHEAD: Bump version ghc-8.5.20180118 2018-01-21 23:31:04 -05:00
Ben Gamari
af03b7746a ghc 8.2.2 & head: Work around ARM bugs in BFD ld by using gold 2018-01-21 23:31:03 -05:00
Ryan Trinkle
bd0de2f1cb ghc: Fix env vars and configure flags to be weird
GHC currently handles this stuff in a quite non-standard way, basically
taking prog var `FOO` to mean `FOO_FROM_TARGET`. It's because it
(wrongly) thinks from stage 2's perspective.
2018-01-21 23:31:03 -05:00
John Ericson
e760de8108 ghc: Predicate libiconv on not using glibc instead of Darwin 2018-01-21 23:31:03 -05:00
John Ericson
398ac54593 ghc: Fix cross compilation to work with new system 2018-01-21 23:31:03 -05:00
John Ericson
bc16cfc009 ghc: Remove old cross work
That way the next commit can apply a similar diff to each GHC.
2018-01-21 23:31:02 -05:00
John Ericson
0eb3acaf38 ghc: echo -n mk/build.mk to avoid extra line 2018-01-21 23:27:38 -05:00
John Ericson
5a6b6b4ac5 ghc: Normalize derivations a bit before cross
These changes will affect the final derivation
2018-01-21 23:27:38 -05:00
John Ericson
3fb5fd0060 ghc: Normalize derivations in hash-preserving ways 2018-01-03 17:04:19 -05:00
John Ericson
faa4b45a1e ghc 8.2.2, head: Inline common* bindings
Cross case purposely changed as it will be rewritten anyways. But no
native hashes should be changed.
2018-01-02 21:00:23 -05: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
Matthew Pickering
e7a327da5c ghcHEAD: 8.3.20170808 -> 8.5.20171208 2017-12-09 11:04:31 +00:00
Peter Simons
8d8061ec20
Revert "Revive multiple outputs for Haskell packages." 2017-12-05 09:36:08 +01:00
Nicholas Clarke
d90165c7db Revert "Revert "Merge pull request #27209 from nc6/nc/haskell-multiple-out""
This reverts commit 89f5d52cf4.
2017-11-27 16:05:22 +00:00
John Ericson
4d4f94cde4 treewide: Depend on targetPackages.stdenv.cc.bintools instead of binutils directly
One should do this when needed executables at run time. It is more
honest and cross-friendly than refering to binutils directly, if one
neeeds the default binary tools for the target platform, rather than
binutils in particular.
2017-11-05 17:10:53 -05:00
Peter Simons
89f5d52cf4 Revert "Merge pull request #27209 from nc6/nc/haskell-multiple-out"
This reverts commit dfb0f25484, reversing
changes made to 7f8ff02437. These changes broke
the ghcWithPackages wrapper:

    nix-shell -p "haskellPackages.ghcWithPackages (ps: [ps.mtl])" --run "ghc-pkg list mtl"
    /nix/store/szz84j5k1dy3jdashis6ws28d8l8zxxb-ghc-8.0.2-with-packages/lib/ghc-8.0.2/package.conf.d
        (no packages)
2017-09-06 10:19:18 +02:00
Nicholas Clarke
8c642d5937 Provide hscolour, happy, alex bin to buildInputs.
Use stdenv.lib.getBin instead of `.bin`
2017-09-04 12:35:57 +01:00
Matthew Pickering
770743bd91 Bump ghc HEAD version ghc-8.3.20170808 2017-08-08 17:32:32 +00:00
Matthew Pickering
4021d4d5ee Make version a parameter in GHC HEAD derivation
If you want to override the source but the major version changes (ie 8.1
-> 8.3) then you also have to modify the version. Otherwise the build
will fail with difficult to understand errors, making version a
parameter makes it easy to override.
2017-08-08 17:19:02 +00:00
Silvan Mosberger
f5fa5fa4d6 pkgs: refactor needless quoting of homepage meta attribute (#27809)
* pkgs: refactor needless quoting of homepage meta attribute

A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.

* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit

* Fixed some instances
2017-08-01 22:03:30 +02:00
John Ericson
12795a7068 misc: Remove almost all uses of stdenv.{ccCross,binutils} 2017-06-22 17:53:52 -04:00
John Ericson
594d264205 cross stdenv adaptor: Support --host --build --target across the board
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.

rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building
2017-06-22 17:52:28 -04:00
John Ericson
8f970d09fe ghcHEAD: Actually split docs into their own output
I put `outputs = ...` in the wrong spot in the last PR, oops. Sorry
about that.
2017-06-22 16:56:58 -04:00
John Ericson
dd99d1f8d0 ghcHEAD: Split docs into their own output
This ghc was forgetten from 2089dd4ab6
2017-06-17 15:13:43 -04:00
Peter Simons
a1b6c5f5d6 Revert "Use consistent package naming for HEAD.nix files" for GHC and GHCjs.
This reverts commit 31b0e34d1d. The version
numbers used in that commit were no improvement.
2017-05-09 17:59:28 +02:00
rht
31b0e34d1d
Use consistent package naming for HEAD.nix files 2017-05-09 10:31:15 +07:00
John Ericson
295315cc87 binutilsCross: Remove and use binutils instead always
See previous commit for what was done to `binutils` to make this
possible.

There were some uses of `forcedNativePackages` added. The
combination of overrides with that attribute is highly spooky: it's
often important that if an overridden package comes from it, the
replaced arguments for that package come from it. Long term this
package set and all the spookiness should be gone and irrelevant:

  "Move along, nothing to see here!"

No hashes should be changed with this commit
2017-04-25 21:36:19 -04:00
3noch
4b77d425aa
Fix GHCJS HEAD patch; support GHCJS libdir link; use full ghcEnv for GHCJS
Original:
f3110651c8

(With some tweaks from @cstrahan)

closes #23199
2017-03-02 11:35:11 -05:00
3noch
7d356ff696
Disable large address space in GHC iOS X compiler
Original:
17cea33d1a
2017-03-02 11:34:15 -05:00
Bas van Dijk
dfcc9e2994 ghc: support building with integer-simple and provide package sets for it
If the flag enableIntegerSimple is true GHC will be build with the GPL-free but
slower integer-simple library instead of the faster but GPLed integer-gmp
library.

The attribute `pkgs.haskell.compiler.integer-simple."${ghcVersion}"` provides a
GHC compiler build with `integer-simple`.

Similarly, the attribute `pkgs.haskell.packages.integer-simple."${ghcVersion}"`
provides a package set supporting `integer-simple`.

Closes https://github.com/NixOS/nixpkgs/pull/22121.
Closes https://github.com/NixOS/nixpkgs/issues/5493.
2017-02-02 10:57:00 +01:00
John Ericson
a1a798f017 top-level: crossSystem is no longer exposed to packages. Use *Platform. 2017-01-24 11:37:56 -05:00
Shea Levy
46bec22f66 Revert "Add function to build a ghc standalone archive (OSX/iOS only)"
Partial revert of accidental changes.

This reverts commit 4f9f00fcc9.
2017-01-23 18:37:15 -05:00
Shea Levy
4f9f00fcc9 Add function to build a ghc standalone archive (OSX/iOS only) 2017-01-23 18:35:03 -05:00
Shea Levy
845dd121f8 ghc-head: Put ./boot into commonPreConfigure 2017-01-06 22:10:29 -05:00
Shea Levy
3c2cbd3259 ghc-head: bump 2017-01-06 08:39:12 -05:00
Matthew Pickering
4541b10904 Refactor ghcHEAD postPatch / preConfigure phases
This is for GHC developers using NixOS where patchShebangs is
inconvenient as it dirties the tree but unnecessary for compilation.
2016-12-26 13:27:34 +00:00
Matthew Pickering
d906fb2c9a Bump ghcHEAD to latest commit 2016-12-26 13:27:33 +00:00