Commit Graph
100 Commits
Author SHA1 Message Date
John Ericson af36123747 .github/CODEOWNERS: Add myself as for some stdenv stuff 2018-08-11 13:57:53 -04:00
John Ericson f539c30095 postgresql: Fix nits after cross fixes 2018-08-02 18:48:06 -04:00
John Ericson 9fb6462817 Merge commit master into staging 2018-07-30 15:33:01 -04:00
John Ericson 87357fc39c cross stdenv: Forget allowedRequisites = nulll; on inline 2018-07-25 03:58:49 -04:00
John Ericson 310cb76135 libgcc: Init at 7.3.0
This will be very useful for bootstrapping, eventually.
2018-07-25 01:24:38 -04:00
John Ericson 0f3a7982e7 libstdcxx5: Move around ahead of other GCC libs being added 2018-07-24 20:22:51 -04:00
John Ericson b81ee9df9f makeStdenvCross: Remove
It is inlined into the cross stdenv, which is its last use-case after
the previous commit.
2018-07-24 20:01:43 -04:00
John Ericson 839f96a4c5 crossLibcStdenv: Just use overrideCC
Now that we don't hackily override `mkDerivation`, the TODO is solved
and we just can!
2018-07-24 20:01:43 -04:00
John Ericson c12b50b267 stdenv cross adapter: Use extraNativeBuildInputs
This means we don't need to hackily avoid overwriting `mkDerivation`.
2018-07-24 20:01:43 -04:00
John Ericson 87b4a5d6a7 stdenv: Remove crossAttrs, now that it is no longer used
Fix #33302
2018-07-24 20:01:43 -04:00
John Ericson 6bee6b8f4b qt-4.8: Don't use crossAttrs 2018-07-24 20:01:43 -04:00
John Ericson 519e87a449 util-linux: No more crossAttrs
More cleanup will come later
2018-07-24 19:40:46 -04:00
John Ericson 1833a04aed flex: Don't use crossAttrs 2018-07-24 19:40:46 -04:00
John Ericson 4116754f45 elfutils: Don't use crossAttrs 2018-07-24 19:40:46 -04:00
John Ericson e5d630e99e kmod: Remove crossAttrs
Issue #21191 is indeed fixed now.
2018-07-24 18:39:41 -04:00
John Ericson 0859696d06 sharutils: Remove crossAttrs
The patch is no longer needed, at least on aarch64-linux
2018-07-24 18:36:59 -04:00
John Ericson c99de14e60 curl: Get rid of crossAttrs 2018-07-24 18:36:59 -04:00
John Ericson aa9dba9c39 newt: Remove crossAttrs 2018-07-24 18:36:59 -04:00
John Ericson 5be14c5c74 libxml2: Remove crossAttrs 2018-07-24 18:36:59 -04:00
John Ericson 1f9838ea34 jom: Remove crossAttrs
Untested, but I don't think this has ever built.
2018-07-24 17:54:31 -04:00
John Ericson ef93b82d43 prboom: Don't use crossAttrs 2018-07-24 17:53:56 -04:00
John Ericson 3470fa196d scumvm: Don't use crossAttrs 2018-07-24 17:51:20 -04:00
John Ericson aa8944f403 hurd: Remove cross attrs 2018-07-24 17:25:40 -04:00
John Ericson 66c41943b3 gnu mig: Remove crossAttrs 2018-07-24 17:25:40 -04:00
John Ericson 40c33cbd4e nlohmann_json: No more crossAttrs 2018-07-24 17:25:40 -04:00
John Ericson ce2637c97a mkDerivation: depsHostBuild -> depsHostHost
`depsHostBuild` is not a thing, would never be a thing per the rules,
and isn't used anywhere. This is just my typo, hitherto unnoticed
because "host -> host" dependencies are by far the most obscure form.
2018-07-23 15:22:48 -04:00
John Ericson aa6adfc324 fetchpatch: Add includes to compliment excludes, and require that both not be non-empty.
This commit was originally introduced as part of #41420 and then
reverted with the rest of that PR. However there was no reason to revert
his particular commit.
2018-07-15 09:56:41 +02:00
John Ericson 740cfffcb2 haskell infra: Fix built-time overrides
These should all come from `buildHaskellPackages`
2018-07-09 18:09:17 -04:00
John Ericson f27f491784 Haskell infra: Do callPackage splicing 2018-07-09 16:39:37 -04:00
John Ericson 0eb142cd46 top-level: Expose splicePackages for newScope users
Otherwise extra packages in scope can't be made to work for cross. As
much as I think splicing is an evil trick, I think it's best to do this
and at least have it work consistently for now.

It would seems simpler to expose a `newScopeWithSplicing`, but there's a
few attrs (like `buildPackages` or `buildHaskellPackages`) that
shouldn't be spliced. Users should instead splice, override the splicing
on those packages, and apply `newScope` to that.
2018-07-09 12:33:43 -04:00
John Ericson 48ccdf322d lib: Use lib.fixed-points.extends to avoid repetition 2018-07-09 12:33:43 -04:00
John Ericson 0299641c91 haskell generic-builder: Make test and benchmark tool depends nativeBuildInputs
This was reverted in 6e07a3a19a with the
other commits in the PR, as the number of overrides added in that PR was deemed
excessive. But this commit adds no overrides, and is valuable on its
own, so I am adding it back.

(cherry picked from commit 359e0ce4bb)
2018-07-09 12:30:18 -04:00
John Ericson f795ed79d0 stage: Make pkgsMusl and pkgsi686linux respect the original localSystem more
For example:

nix-repl> pkgsi686Linux.pkgsMusl.hostPlatform.config
"i686-unknown-linux-musl"

nix-repl> pkgsMusl.pkgsi686Linux.hostPlatform.config
"i686-unknown-linux-musl"
2018-07-05 16:17:54 -04:00
John Ericson 3457ce0142 with-location: Link upstreamming attempt 2018-07-02 15:52:47 -04:00
John Ericson c4d43761c1 haskell with-location: Link upstreaming attempt 2018-07-02 15:52:47 -04:00
John Ericson d2f6f527f4 alex: which needs to be a tool dep so it's a nativeBuildInput
Also pull it from `buildPackages`, as that is where nativeBuildInputs
come from.
2018-07-02 15:52:22 -04:00
John Ericson 242ca11b03 base-compat: Add missing build tool dependency 2018-07-02 15:52:22 -04:00
John Ericson 43e3ea0322 hspec{,-core,-discovery}: Add build-tool-depends to testsuite
`fetchpatch`ing a PR I just opened. This ought to get Cabal to make the
`PATH` include the newly-built exe, but unfortunately it doesn't.
2018-07-02 15:52:21 -04:00
John Ericson ceaf285c0c haskell generic-builder: Use strictDeps always
This helps avoid the `ARG_MAX` issues we've been having, and is
generally a good idea to ensure cross comparability anyways.
2018-07-02 15:51:14 -04:00
John Ericson 359e0ce4bb haskell generic-builder: Make test and benchmark tool depends nativeBuildInputs
I suppose I forgot these when I did this before.
2018-07-02 15:51:14 -04:00
John Ericson 1e6aeeddce haskell lib: Make helpers to add benchmark and test tool depends
These seems to be common omissions due to a) non-new-build being overly
flexible, and b) code gen most often used for test boilerplate.
2018-07-02 15:51:14 -04:00
John Ericson 57bb96d659 fetchpatch: Add includes to compliment excludes, and require that both not be non-empty. 2018-07-02 15:51:13 -04:00
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