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