Commit Graph

95459 Commits

Author SHA1 Message Date
Franz Pletz
7cfd1c8c1b
glibc: fix i686 build 2017-06-26 02:19:08 +02:00
Franz Pletz
d42f502c84
Revert "cc-wrapper: add stackcheck hardening (stack clash)"
This reverts commit 4150f5e8ba.

The stack protector hardening breaks the llvm_4 build.
2017-06-26 01:12:38 +02:00
Franz Pletz
a4252649bf
Revert "cc-wrapper: fix darwin"
This reverts commit c3a8595276.

The stack protector hardening breaks the llvm_4 build.
2017-06-26 01:12:11 +02:00
John Ericson
87fab3d6a5 Merge some merged cross-compilation PRs into into staging 2017-06-23 20:24:27 -04:00
Tim Steinbach
56761c9b3d
minikube: 0.19.1 -> 0.20.0 2017-06-22 20:27:33 -04:00
Tim Steinbach
0737359dd0
openldap: 2.4.44 -> 2.4.45 2017-06-22 20:20:03 -04:00
John Ericson
f43ae985a6 ios-cross: Just properly use the cc-wrapper
No other downstream derivations are needed anymore.
2017-06-22 17:56:12 -04:00
Ross MacLeod
198dceccbe gcc5: set --build and --host in the case where those differ and make sure to have a build cc-wrapper around as well 2017-06-22 17:53:55 -04:00
John Ericson
7c754b1e3b mpg123: Modernize and fix for cross
Do not even think about configureFlags unless in cross, to avoid hash
breaking when not in cross.
2017-06-22 17:53:55 -04:00
John Ericson
502902f1c6 lynx: Fix for cross
Needed C toolchain targeting build platform
2017-06-22 17:53:55 -04:00
Ross MacLeod
be3f18d79e ddrescue: modernize and fix cross (hopefully)
Carefully do not add attributes for cross unless in cross, to avoid hash breakage
2017-06-22 17:53:54 -04:00
John Ericson
bef622a4e8 unzip: Fix for cross 2017-06-22 17:53:54 -04:00
Ross MacLeod
d710c2d943 findutils: modernize and fix cross 2017-06-22 17:53:54 -04:00
John Ericson
54089620f5 libpmc: Fix for cross by disabling check
Check phase is now only disabled *by default* for cross, but this
package was forcing it unconditionally.
2017-06-22 17:53:54 -04:00
John Ericson
ff6ab1b3c4 pcre: Modernize and fix cross 2017-06-22 17:53:54 -04:00
John Ericson
b93e6034d5 libsigsegv: Fix for cross by disabling check
Check phase is now only disabled *by default* for cross, but this
package was forcing it unconditionally.
2017-06-22 17:53:54 -04:00
John Ericson
af8d1a4ace binutils: Fix build != host == target 2017-06-22 17:53:54 -04:00
John Ericson
2e337fe969 libelf: Modernize and fix for cross 2017-06-22 17:53:53 -04:00
John Ericson
c54c3cb5ce mpfs: Fix for cross by disabling check
check phase is now only disabled by *default* for cross, but mpfr
was forcing it always.
2017-06-22 17:53:53 -04:00
John Ericson
f75ad79375 bash: Modernize derivation, hopefully fixing cross compilation 2017-06-22 17:53:53 -04:00
John Ericson
ef0b07e94a gnu patch: Fix for cross 2017-06-22 17:53:53 -04:00
John Ericson
7bdacad8b3 ed: Modernize and fix for cross 2017-06-22 17:53:53 -04:00
John Ericson
05b3c87d9d busybox: Modernize and fix cross 2017-06-22 17:53:53 -04:00
John Ericson
8b22e497f2 vim: Modernize derivation, hopefully fixing cross 2017-06-22 17:53:53 -04:00
John Ericson
167b80ba76 coreutils: Modernize and fix for cross
"--host=..." needs to be passed but crossAttrs overrides that.
2017-06-22 17:53:52 -04:00
Ross MacLeod
f63f96ae35 zlib: don't really override CC at ay point
but leave the preConfigure script as it was when not cross building in order to avoid hash breakage
2017-06-22 17:53:52 -04:00
John Ericson
38b2bd2f28 dropbear: Remove now-unneeded crossAttrs 2017-06-22 17:53:52 -04:00
John Ericson
12795a7068 misc: Remove almost all uses of stdenv.{ccCross,binutils} 2017-06-22 17:53:52 -04:00
Ross MacLeod
d016637629 podofo: unsimplify derivation a bit to avoid hash breakage 2017-06-22 17:53:52 -04:00
John Ericson
29c4d7f505 podofo: Simplify derivation
Bunch of junk for linux and cross compilation that's no longer needed
2017-06-22 17:53:52 -04:00
John Ericson
f55ccbb60f xbursttools: Fix eval at least so tests pass 2017-06-22 17:53:52 -04:00
John Ericson
fc42ec0a5c mingw-w64: Depend on own headers derivation
Without this, a `#include <float.h>` resolves incorrectly. Either the
headers weren't on the include path at all, or they only were for
local, not system, imports.

What's weird is this used to not be a problem. Not sure what other
change in e.g. cc-wrapper would affect this.
2017-06-22 17:53:51 -04:00
John Ericson
bb7067f882 mingw-w64: Clean up, especially clarifying staging 2017-06-22 17:53:51 -04:00
John Ericson
c2e2152afc cc-wrapper: Port over finding of dynamic linker from gcc-cross-wrapper
At the next break, we can deduplicate and go for the best of both
worlds.
2017-06-22 17:53:36 -04:00
John Ericson
0aee847858 cc-wrapper: Make the cross compiler use a crossEnvHook
This is a hack until stdenv's setup.hs gets overhauled
2017-06-22 17:52:29 -04:00
Ross MacLeod
c1fb71b74a cc-wrapper: when cross building, wedge in setting AR, AS, and LD env vars to their cross building versions
I think it's ok to export things which aren't wrapped. The cc-wrapper
can be thought of as responsible for all of binutils and the c
compiler, only wrapping those binaries which are necessary to
interposition---as opposed to all binaries it thinks are relevaant.

Conversely, adding the setup hook to the unwrapped compilers would be
unforunate as hooks are ugly hacks and the compilers themselves take
a long time to rebuild. Better to wholely separate "pure packages" from
hacks.
2017-06-22 17:52:28 -04:00
John Ericson
e0492d58a6 cross stdenv adaptor: Disable checkPhase by default
Before gcc-cross-wrapper did this unconditionally
2017-06-22 17:52:28 -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
9bfd03eff7 cross stdenv adaptor: Remove ccCross binutils attrs and binutils extra buildDepends
It now has the correct wrapped tools and nothing else is needed.
2017-06-22 17:52:28 -04:00
John Ericson
121e7d9335 gcc-cross-wrapper: Remove in favor of newly-cross-supporting cc-wrapper 2017-06-22 17:52:28 -04:00
John Ericson
8a7433fca4 cc-wrapper: Temporarily got to great lengths to avoid mass-rebuild
Eventually we should avoid this "pre-wrapping" and just update those
files in nixpkgs. This mass-rebuild change is best done along with
those needed to reduce the disparity between native and cross (i.e.
making native the "identity cross").
2017-06-22 17:52:28 -04:00
John Ericson
0f0383394d cc-wrapper: Salt environment variables with LLVM triples
We now (on cross) require per-target flag interposition by putting the
triple in the names of the relevant environment variables, e.g:

export NIX_arm_unknown_linux_gnu_CFLAGS_COMPILE=...

The wrapper also has a `infixSalt` attribute (and "_" prefixed and
suffixed variants) to assist downstream packages.

Note how that the dashes are replaced to keep the identifier valid.
Using names like this allows us to keep the settings for different
compilers seperate.

I think it might be even better to use names like `NIX_{BUILD,HOST}...`
using the platform's role rather than the platform itself, but this
would be more work as the previous stages' tools would have to be re-
wrapped to take on their new role. I therefore didn't do this for now,
but that route should be thoroughly explored in the future.
2017-06-22 17:52:28 -04:00
John Ericson
04a3cad968 cc-wrapper: Add support for no libc whatsoever 2017-06-22 17:52:27 -04:00
John Ericson
d70e7263f4 cc-wrapper: Simplify and correct logic to chose dynamic linker library 2017-06-22 17:52:27 -04:00
John Ericson
459f1c60f5 cc-wrapper: Learn about target prefixes
This is first step towards getting rid of gcc-wrapper-cross
2017-06-22 17:52:27 -04:00
John Ericson
c4ba2e3ef6 cc-wrapper: Remove stdenv.is* for targetPlatform.is*
Modify bootstrapping stdenvs to make sure `targetPlatform` also passed.
2017-06-22 17:52:27 -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
Franz Pletz
c3a8595276
cc-wrapper: fix darwin
Clang doesn't support -fstack-check=specific, only -fstack-check. Still a
noop, though.
2017-06-22 02:44:04 +02:00
Franz Pletz
bf08c50cbc
cli53: fix eval 2017-06-22 02:00:10 +02:00
Franz Pletz
196bf8b0c7 Merge pull request #26750 from mayflower/fix/stack-clash-hardening
Mitigate Stack Clash
2017-06-22 01:53:14 +02:00