Commit Graph
100 Commits
Author SHA1 Message Date
John Ericson 37eca93aab haskell generic-builder: Only pass --extra-* for host deps 2018-06-19 10:57:48 -04:00
John Ericson b3d957649f Merge remote-tracking branch 'upstream/master' into staging 2018-06-18 15:30:39 -04:00
John Ericson e3b1937baf tests.cc-wrapper: Fix sanitizer condition
fc9644d4c9 accidentally enabled the
sanitizer tests for GCC on Darwin, when fixing that case was never
attempted. Also inverted the condition from broken to working for
clarity.
2018-06-18 15:05:57 -04:00
John Ericson 627aae5884 darwin stdenv: Put back "man" attribute on clang and llvm
We take care to make it use the final stdenv to avoid mass rebuilds and
bootstrap python.
2018-06-18 14:47:29 -04:00
John Ericson f8ec07e836 haskell generic-builder: Always use separate pkg db for custom setup
This decreases complexity and ensures setup dependencies are properly
specified with `setup-depends` as they should be. Testing will say if
this is a reasonable change.
2018-06-18 14:07:37 -04:00
John Ericson 92cef7ad42 compiler-rt 5: Fix double space 2018-06-14 20:25:38 -04:00
John Ericson 0e1ae4b355 Merge remote-tracking branch 'upstream/master' into staging 2018-06-14 19:42:13 -04:00
John Ericson 6e7e22da70 llvm 5: split out compiler-rt and remove libcxxabi dep
We already did them on non-mass-rebuild llvm 6. Also, this allows
simplifying the stdenv booting.

We were missing the libcxxabi dep in compile-rt in llvm 6, so fixed that
too.
2018-06-14 19:22:15 -04:00
John Ericson fc9644d4c9 llvm 6: Fix libcxxabi impurity and darwin sanitizers 2018-06-14 19:19:54 -04:00
John Ericson bdf750499e Merge remote-tracking branch 'upstream/master' into staging 2018-06-14 15:56:00 -04:00
John Ericson 1eacf21bd4 darwin bootstrapping: Avoid overriding aliases for LLVM
Respect the fix points and aliases by overriding originals.
2018-06-14 15:05:18 -04:00
John Ericson cebda2ffd0 Merge remote-tracking branch 'upstream/master' into staging 2018-06-13 21:18:24 -04:00
John Ericson 7156f46949 llvm 3.8+: Remove unneeded libcxxabi dependency
Evidentally this hasn't been needed for a while
2018-06-13 21:06:00 -04:00
John Ericson e358fff0d6 llvm: use native cmake for libc++abi
Finish what 1cb1b9193b started.
2018-06-13 21:02:04 -04:00
John Ericson d7895c2810 darwin stdenv: fix llvmPackage overrides
It may seem nice and abstract to just override the default version, but
that breaks the alias relationship where the original llvmPackages_* is
no longer in sync. Put another away, modifying the referee rather
instead of breaking the reference "copy-on-write" is impossible.
2018-06-13 16:25:12 -04:00
John Ericson 529a0f74ed haskell generic-builder: Use separate setup db in more cases
Use for cross and GHCJS whether or not there are setup depends.
2018-06-13 11:34:25 -04:00
John Ericson eeeaab8d5e haskell generic-builder: Fix setup depends
I was referring to the wrong package db in a few places. Thanks
@ElvishJerricco for catching.
2018-06-12 14:07:33 -04:00
John Ericson 812decd5c1 ghc: Default integer-simple usage based one whether GNU MP is available
The user's choice is still always respected
2018-06-11 15:51:57 -04:00
John Ericson f379be939c haskell infra: Use self.ghc rather than closing over initial value 2018-06-07 14:27:44 -04:00
John Ericson 58ce59dd96 haskell infra: Allow overriding haskellSrc2nix 2018-05-31 16:29:02 -04:00
John Ericson 72fa40f72d lib: Fix nix-env -qaP -f . --xml --meta
A merge undid my fix in d437f2c365.
2018-05-29 13:06:17 -04:00
John Ericson 2e70a75b12 haskell generic-builder: Limit usage of --extra-framework-dirs for compat 2018-05-25 14:52:58 -04:00
John Ericson d437f2c365 lib: Fix nix-env -qaP -f . --xml --meta
The function value cannot be serialized so nix-env was mad. Turns out we can
just remove it like we do in `lib/systems/inspect.nix`.
2018-05-24 10:43:14 -04:00
John Ericson 205fc55ea2 Merge remote-tracking branch 'upstream/staging' into compiler-rt 2018-05-24 02:58:00 -04:00
John Ericson e5175fbf20 Merge remote-tracking branch 'upstream/master' into ios-mini-staging 2018-05-23 16:01:05 -04:00
John Ericson d7144e708b Merge remote-tracking branch 'upstream/master' into staging 2018-05-23 16:00:04 -04:00
John Ericson 58fd684c76 llvm: Separate tools and libraries for clarity
Especially provides clarity with respect to cross.
2018-05-23 14:42:06 -04:00
John Ericson 11fe14b2aa Merge branch 'ios-mini-staging' into staging 2018-05-23 11:46:49 -04:00
John Ericson 63df0613d6 Merge branch 'ios-mini-staging' into staging 2018-05-23 10:58:54 -04:00
John Ericson c7458ded5c ghc 8.4.2, head: Adjust enableShared enableTerminfo for windows 2018-05-23 10:41:17 -04:00
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
John Ericson e1b9419dec haskell generic builder: setupHaskellDepends should be `nativeBuildInputs
This is because they are just for Setup.hs, so they are just used at build time
and completely isolated from the normal components' dependencies.

This was previous implemented in 8a8f0408cd, but
reverted in e69c7f5641 because it broken
setup-depends non-cross in haskell shell environments (custom Setup.hs in cross
shell environments has never worked). This version adds a special native
exception to avoid that breakage.
2018-05-23 10:27:39 -04:00
John Ericson 513cd3de0e haskell-generic-builder: Add extra framework dirs
Just like with the other `--extra-*` flags, cc/ld-wrapper already handles
this, but we need to make Cabal aware so that the haskell builds have
the correct metadata.
2018-05-23 10:26:57 -04:00
John Ericson 3394c96655 haskell generic-builder: Tiny changes that preserve hases
These bring us closer to staging at no cost
2018-05-23 10:23:06 -04:00
John Ericson 446cb32ea1 haskell generic-builder: Remove merge conflict
I forgot this in 17316643fd
2018-05-23 10:11:03 -04:00
John Ericson 983e74ae4e stdenv: Avoid targetPlatform.isDarwin causing a mass rebuild
We want `buildPackages` to be almost the same as
`buildPackages.buildPackges`, but that is only true if most packages
don't care about the target platform. The commented code however made
them all care about whether the target platform was Darwin.
2018-05-23 10:06:08 -04:00
John Ericson 25f4f06c2e Merge branch 'stdenv-darwin-persist' into ios-mini-staging 2018-05-23 10:04:55 -04:00
John Ericson 17316643fd Merge remote-tracking branch 'upstream/master' into staging 2018-05-23 09:59:57 -04:00
John Ericson f567a851a1 darwin stdenv: Properly compose overrides
`super` usage was very suspect.
2018-05-23 09:59:29 -04:00
John Ericson 64c90e53e7 darwin stdenv: Persist darwin.binutils-unwrapped
binutils-unwrapped was added in ef3db7d14c
and needs a corresponding `persisted` attr in the Darwin stdenv.
2018-05-23 09:51:16 -04:00
John Ericson c641a74bd6 Merge remote-tracking branch 'upstream/master' into ios-mini-staging 2018-05-23 09:45:25 -04:00
John Ericson 18742471af Merge remote-tracking branch 'upstream/master' into staging
Use newer vagrant from master
2018-05-23 09:40:37 -04:00
John Ericson 266adab32d cctools: Remove a bunch of stuff no longer needed for Linux 2018-05-23 09:22:19 -04:00
John Ericson 4a906efce5 Merge branch 'ios-mini-staging' into staging 2018-05-22 14:08:59 -04:00
John Ericson 7ee4dc3b13 Merge remote-tracking branch 'obsidian/cross-ghc-for-master' into ios-mini-staging 2018-05-22 14:08:42 -04:00
John Ericson 7a6756aac9 Merge branch 'ios-mini-staging' into staging 2018-05-22 13:38:02 -04:00
John Ericson 2e903444d0 Merge branch 'binutils-always-patch' into ios-mini-staging 2018-05-22 13:37:32 -04:00
John Ericson afc439d57b binutils: Always apply Aarch64 patch
Otherwise various things which depend on `--enable-targets=all`
lib{bfd,opcodes}...like LLVM.
2018-05-21 20:30:25 -04:00
John Ericson db4d77779c Merge remote-tracking branch 'upstream/master' into staging 2018-05-21 20:21:48 -04:00
John Ericson 9ec53a397f requireFile: Use stdenvNoCC
There's no need for a C compiler
2018-05-21 19:26:36 -04:00
John Ericson 03602f8162 ghc 8.4.2, head: Adjust enableShared enableTerminfo for windows 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
John Ericson 900862ea3b haskell generic builder: setupHaskellDepends should be `nativeBuildInputs
This is because they are just for Setup.hs, so they are just used at build time
and completely isolated from the normal components' dependencies.

This was previous implemented in 8a8f0408cd, but
reverted in e69c7f5641 because it broken
setup-depends non-cross in haskell shell environments (custom Setup.hs in cross
shell environments has never worked). This version adds a special native
exception to avoid that breakage.
2018-05-21 15:09:51 -04:00
John Ericson c6f742b770 haskell-generic-builder: Add extra framework dirs
Just like with the other `--extra-*` flags, cc/ld-wrapper already handles
this, but we need to make Cabal aware so that the haskell builds have
the correct metadata.
2018-05-18 17:49:41 -04:00
John Ericson 5ccb99e372 Merge remote-tracking branch 'upstream/master' into staging 2018-05-18 17:48:37 -04:00
John Ericson 4fe2898608 nixpkgs module: Fix defaulting of localSystem and system
My c6f7d43678 made the mistake of not
having enough defaults. Now both variables are default as the *explicit*
value of the other, or a fallback. The fallback of `system` is the
default of `localSystem.system`. The fallback of `localSystem` is not
the other default (projected), as that would cause a cycle, but `{
system = builtins.currentTime; }` just as nixpkgs itself does it.
2018-05-17 18:53:13 -04:00
John Ericson ddbe9191ef Merge remote-tracking branch 'upstream/master' into staging
Keep the dontCheck because the test suite fails, get rid of the LDFLAGS
hack because we don't need it!
2018-05-16 15:16:08 -04:00
John Ericson ceb8f6e38f ios-rebuild: Unbreak build
Needs to link with a C compiler, not linker directly
2018-05-16 14:28:23 -04:00
John Ericson 4956767f53 Make libiconv build for iOS with prefixed tools 2018-05-16 14:25:54 -04:00
John Ericson 0ff650a392 cmake: Fix build and setup hook
I screwed this up in 330ca731e8. I'm
sorry.
2018-05-15 15:24:22 -04:00
John Ericson 5a860c20f3 stdenv cross adapter: Don't define crossConfig
All its uses have been removed.
2018-05-14 23:33:12 -04:00
John Ericson 5e17335bd7 Merge remote-tracking branch 'upstream/staging' into strictDeps 2018-05-14 23:33:03 -04:00
John Ericson 330ca731e8 treewide: Get rid of all uses of crossConfig
The hack of using `crossConfig` to enforce stricter handling of
dependencies is replaced with a dedicated `strictDeps` for that purpose.
(Experience has shown that my punning was a terrible idea that made more
difficult and embarrising to teach teach.)

Now that is is clear, a few packages now use `strictDeps`, to fix
various bugs:

 - bintools-wrapper and cc-wrapper
2018-05-14 23:30:37 -04:00
John Ericson 0fc21a364b Merge commit 'd7160f39bd46e8ee86e95cbaf7a8f3d5685ab30c' into staging 2018-05-14 22:59:07 -04:00
John Ericson d7160f39bd Merge branch 'linux-pam-cross' into HEAD 2018-05-14 22:56:48 -04:00
John Ericson f2017c40ae Merge remote-tracking branch 'upstream/master' into staging 2018-05-14 22:53:10 -04:00
John Ericson 29b62e07d6 pam: Remove crossAttrs
It turns out none of this stuff is needed. The docs aren't evenly built
properly anyways so the build trivially succeeds either way, due to what
looks like upstream misunderstanding automake. If I try to build the
docs manually in a cross shell (before and after this change), there's a
make rule error such that some HTML files aren't even attempted to be
built and then a copy fails.

Even if this was all fixed, these been a good number of cross fixes
upstream getting them to use CC_FOR_BUILD and other good stuff, so I
doubt such hacks would be needed.

Progress towards #40531 and #33302.
2018-05-14 22:28:37 -04:00
John Ericson 84868b8b06 misc hurd stuff: Get rid of crossConfig
This stuff is horribly bit-rotted anyways, but I'm getting rid of
crossConfig so it must be changed.
2018-05-14 20:47:08 -04:00
John Ericson 9be118223b misc mingw: Get rid of crossConfig and clean up
Style of dual implementation and headers derivations is take from
bb7067f882.
2018-05-14 20:32:42 -04:00
John Ericson 8a70c71c97 Merge commit 'de169a59500bd77d947c27b3c32aec37c81e87fe' into staging 2018-05-14 14:21:33 -04:00
John Ericson de169a5950 Merge commit '3a9654bfe29ebd987b7426faa25f00af1fab02c5' into HEAD 2018-05-14 14:20:40 -04:00
John Ericson 01a525b84e Merge remote-tracking branch 'upstream/master' into staging 2018-05-14 13:31:20 -04:00
John Ericson bf7d1bae20 Merge remote-tracking branch 'upstream/master' into gcc-hurd-condition 2018-05-14 13:15:06 -04:00
John Ericson 3a9654bfe2 gcc: Simplify this old Hurd condition
Steps towards getting rid of crossConfig.
2018-05-14 13:13:11 -04:00
John Ericson f2b575bd7b Merge remote-tracking branch 'upstream/master' into gnu-config-arm 2018-05-14 10:58:15 -04:00
John Ericson 8e891e6ed4 Merge remote-tracking branch 'upstream/master' into staging 2018-05-14 10:57:33 -04:00
John Ericson f472dd7652 Revert "Revert "gcc, binutils: Get rid of 32-bit ARM configure flag exception""
And there's more reverts too. The previous commmit
d838afbc9376bdadb8c690eb00b425f3eeccdf2d to gnu-config finally solves
it!

This reverts commit 3ed545ab31.
2018-05-14 10:55:32 -04:00
John Ericson 29db817003 gnu-config: Update to support ARM and 4 quardruples
I recently upstreamed

 - https://git.savannah.gnu.org/cgit/config.git/commit/?id=50a0413a5ba9684aa9247444c60a5cea47c4435d
 - https://git.savannah.gnu.org/cgit/config.git/commit/?id=09df750b994963a47f7c450f74b7e3f8567a6355
2018-05-14 10:55:32 -04:00
John Ericson eebd455dc0 linux stdenv: Update gnu-config on all non-x86
Not just Aarch64. Other non-x86 platforms might be old enough, but I am
about to update gnu-config to handle things better across the board.
2018-05-14 10:55:32 -04:00
John Ericson 3401db629f Merge branch 'strict-deps-base' 2018-05-13 16:17:39 -04:00
John Ericson 29ef982af4 Merge commit '130a0cbde6feae6b51f35a007c78cc8a25a6c3c9' into strict-deps-base 2018-05-13 16:17:26 -04:00
John Ericson 88588bc5e5 Merge branch 'uboot-merge-base' 2018-05-13 16:13:25 -04:00
John Ericson 130a0cbde6 guile: Remove old crossAttrs
We fixed the linker issue with propagated dependencies.

(cherry picked from commit 515ca1a7c8)
2018-05-13 11:36:30 -04:00
John Ericson 8415682658 guile: Fix cross more, including 1.8
(cherry picked from commit 76bc1d3fae)
2018-05-13 11:36:29 -04:00
John Ericson 2c5d915200 Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into staging 2018-05-13 01:02:09 -04:00
John Ericson 92b7a814f2 Merge branch 'fix-gcc-with-float' 2018-05-12 15:21:30 -04:00
John Ericson f2004e6287 lib: Fix float handling for Aarch32
Forgot to adjust default so abi with explicit float attr would be used.
2018-05-12 15:18:31 -04:00
John Ericson 6f40d18d44 prebuilt android cc: Edit wrapper to pass the right -m flags for armv7a
(cherry picked from commit 827ef09140)
2018-05-12 15:16:16 -04:00
John Ericson 6a96dc0417 lib/system: Remove float from androideabi
There are two different official variations which differ in their float
support, so such a blanket statement is invalid.
`lib.systems.platforms.*android` already handles each case correctly.

Correcting an error in 827ef09140.
2018-05-11 20:16:28 -04:00
John Ericson 827ef09140 prebuilt android cc: Edit wrapper to pass the right -m flags for armv7a 2018-05-11 19:17:35 -04:00
John Ericson 28bacc2093 lib/systems: Add assertion to "android" ABI
This is analogous to the GNU assertion.
2018-05-11 19:03:07 -04:00
John Ericson f4de669777 lib/systems/inspect: Fix after assertions
Function are never equal in Nix, so we need to filter out this attribute
in ABIs.
2018-05-11 19:02:50 -04:00
John Ericson e3f6c6d18d lib: Add 32-bit Android platforms 2018-05-11 18:41:55 -04:00
John Ericson 81387c2e78 Merge remote-tracking branch 'upstream/master' into staging 2018-05-11 17:12:04 -04:00
John Ericson 341794a4b9 lib/systems: Sort platforms, and space CPUs 2018-05-11 15:02:18 -04:00
John Ericson ee4b56edd3 Merge remote-tracking branch 'upstream/master' into staging 2018-05-11 14:36:08 -04:00
John Ericson 9e9cdd7027 lib: Add more configure flag helpers
Add with/without to match enable/disable, and add
`--{enable,with}-key=value` versions of both.
2018-05-11 17:43:35 +02:00
John Ericson f18ddabee7 Merge remote-tracking branch 'upstream/master' into lib-float 2018-05-10 18:13:00 -04:00