John Ericson
2295533f43
Merge pull request #29424 from obsidiansystems/slight-haskell-cleanup
...
haskell infra, ghc: Slight cleanup
2017-09-15 12:12:47 -04:00
John Ericson
0d12d040e7
Merge pull request #29402 from obsidiansystems/binutils-output-ref
...
treewide: Fix some references to binutils
2017-09-14 18:51:12 -04:00
John Ericson
12452178e8
Merge pull request #29381 from obsidiansystems/autoreconf-hook
...
autoreconfHook: Simplify by avoiding `findInputs`
2017-09-14 13:16:53 -04:00
John Ericson
d2f4084eb9
Merge pull request #29380 from obsidiansystems/eval-fix
...
bcachefs-tools: Make eval more robust
2017-09-14 12:54:18 -04:00
John Ericson
d94c7f5d3b
Merge pull request #29349 from Ericson2314/harden-bootstrap
...
treewide: Do not limit hardenging because gcc 4.9 in bootstrap
2017-09-14 10:31:08 -04:00
John Ericson
349a09228e
Merge pull request #29246 from LnL7/clang-stdenv
...
clang-stdenv: move libstdcxxHook to cc-wrapper
2017-09-13 16:21:41 -04:00
John Ericson
8fccaa284d
Merge pull request #29282 from obsidiansystems/soext
...
lib, treewide: Add `*Platform.extensions` and use it where possible
2017-09-13 11:20:06 -04:00
John Ericson
40e917d35d
Merge pull request #29023 from obsidiansystems/deps-reorg
...
misc pkgs: Reorganize dependencies ahead of #26805
2017-09-05 18:10:32 -04:00
John Ericson
5b6d78194c
Merge pull request #29028 from obsidiansystems/cross-cleanup
...
misc pkgs: Clean up cross
2017-09-05 13:59:50 -04:00
John Ericson
252b36a28d
misc pkgs: Recategorize some dependencies
2017-09-05 11:37:10 -04:00
John Ericson
7483832263
Merge pull request #28978 from obsidiansystems/fix-eval
...
Fix eval
2017-09-04 11:38:28 -04:00
John Ericson
0a944b345e
Merge pull request #28557 from obsidiansystems/binutils-wrapper
...
Binutils-wrapper: Init by refactoring out of cc-wrapper
2017-09-03 10:37:27 -04:00
John Ericson
b891d75e69
Merge pull request #28799 from orivej/stdenv-setup
...
stdenv-setup: fix substituteAll with set -eu
2017-09-03 10:26:39 -04:00
John Ericson
0cdbd2d662
Merge pull request #28806 from orivej/mkDerivation
...
mkDerivation: fix hardening flags check
2017-08-31 21:35:38 -04:00
John Ericson
46d6fecf78
Merge pull request #28770 from obsidiansystems/remove-wrapper-hooks
...
cc-wrapper: Remove deprecated parameters
2017-08-31 20:03:57 -04:00
John Ericson
29c4294f85
Merge pull request #28798 from obsidiansystems/darwin-no-nativeTools
...
darwin-stdenv: Don't use `nativeTools`
2017-08-31 19:33:27 -04:00
John Ericson
22cd889a28
Merge pull request #28766 from obsidiansystems/gettext
...
gettext: libiconv should be a buildInput
2017-08-30 17:11:35 -04:00
John Ericson
5790ae3ce0
Merge pull request #28646 from obsidiansystems/apple-native-build-inputs
...
apple misc pkgs: `buildInputs` -> `nativeBuildInputs`
2017-08-28 20:06:31 -04:00
John Ericson
42e639066b
Merge pull request #28556 from obsidiansystems/cc-wrapper-nix-cleanup
...
cc-wrapper: Cleanup of Nix
2017-08-26 17:48:34 -04:00
John Ericson
2e7a390212
Merge pull request #28057 from obsidiansystems/stdenv-set-u
...
stdenv-setup: use `set -u`
2017-08-25 11:19:58 -04:00
John Ericson
3964990a3f
Merge pull request #28519 from obsidiansystems/linux-headers-improve
...
linux-headers: Improve derivation, removing cross arg
2017-08-24 11:35:04 -04:00
John Ericson
46930ef3e6
Merge pull request #28391 from obsidiansystems/gcc-configure-platforms
...
gcc: Use `configurePlatforms` to control --build, --host, and --target
2017-08-23 15:47:24 -04:00
John Ericson
9884a3b17a
Merge pull request #28374 from obsidiansystems/binutils-arm
...
binutils: Pass --build --host on non-arm
2017-08-23 14:24:04 -04:00
John Ericson
19de1f537e
haskell infra: Make sure packages get custom stdenv
...
One of the goals of 74f5fe5 was to allow passing in a custom stdenv,
which would be used for genericBuilder's `mkDerivation` call. That does
work, but if packages takes `stdenv` as an parameter for any reason,
they'll get the default one instead. This change remedies it.
2017-08-22 16:00:21 -04:00
John Ericson
b6014cc463
Merge pull request #28415 from bnikolic/fix/ld-wrapper-set-u
...
cc-wrapper: Empy array workaround for native stdenv
2017-08-21 11:58:24 -04:00
John Ericson
1bd2b32ff8
Merge pull request #28381 from obsidiansystems/cc-wrapper-docs
...
doc: Describe CC Wrapper in more detail
2017-08-20 15:50:59 -04:00
John Ericson
5baea8f0eb
Merge pull request #28373 from obsidiansystems/stdenv-extra-inputs
...
stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`
2017-08-20 12:06:38 -04:00
John Ericson
2bbd1d877b
perl-ExtUtils-LibBuilder: Use the C compiler to link
2017-08-18 15:08:26 -04:00
John Ericson
b190c06e32
Merge pull request #28322 from Ericson2314/darwin-boot
...
darwin stdenv: Float `persistentN` bindings into per-stage `let`s
2017-08-18 09:04:41 -04:00
John Ericson
9289365627
Merge pull request #28304 from obsidiansystems/stdenv-extra-inputs
...
stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`
2017-08-16 16:52:40 -04:00
John Ericson
63439f8a11
Merge pull request #28269 from obsidiansystems/cc-wrapper-set-u
...
cc-wrapper: Improve `set -u` compliance
2017-08-15 15:14:56 -04:00
John Ericson
d119385b2e
Merge pull request #28079 from lheckemann/setup-typo-fix
...
stdenv: fix typo in setup.sh
2017-08-09 18:21:31 -04:00
John Ericson
b949f30858
Merge pull request #27672 from obsidiansystems/cc-wrapper-elegant
...
cc-wrapper: Hygiene and `set -u`
2017-08-07 03:09:10 -04:00
John Ericson
609ed492e2
Merge pull request #27942 from obsidiansystems/breaking-changelog
...
17.09 release-notes: New breaking change: cc-wrapper exports more env vars
2017-08-04 15:01:52 -04:00
John Ericson
fdd07f62e8
Merge pull request #27879 from obsidiansystems/cc-wrapper-shellcheck
...
cc-wrapper: Pass shellcheck and other cleanups
2017-08-04 14:19:56 -04:00
John Ericson
e84c717df6
Merge pull request #27921 from mdorman/emacs-wrapper-fix
...
Fix emacs wrapper expression to honor bash array use
2017-08-04 10:07:06 -04:00
John Ericson
f1d48ca6ba
Merge pull request #27859 from adisbladis/revert_27427
...
Revert "buildenv: read propagated-user-env-packages line-by-line"
2017-08-03 11:17:34 -04:00
John Ericson
9b10fcce2f
Add myself to CODEOWNERS, and use tab consistently
2017-07-31 19:38:16 -04:00
John Ericson
eeed1814dc
cc-wrapper-test: Use $CXX else the C++ std lib won't be on the include path
2017-07-31 17:02:56 -04:00
John Ericson
a9dd855894
cc-wrapper-test: Don't use assert
2017-07-31 17:02:56 -04:00
John Ericson
539dcb8e27
cc-wrapper-test: Forgot to extern "C" now that main is C++
2017-07-31 17:02:56 -04:00
John Ericson
f671b85fb2
cc-wrapper: Beef up sierra tests to actually use functions
2017-07-31 17:02:56 -04:00
John Ericson
1cd74ac70a
cc-wrapper: Make sure symbol tables of child delegators is not empty
...
As described in https://github.com/NixOS/nixpkgs/issues/18461 , MacOS no
longer accepts dylibs which only reexport other dylibs, because their
symbol tables are empty. To get around this, we define an object file
with a single "private extern" symbol, which hopefully won't clobber
anything.
2017-07-31 17:02:56 -04:00
John Ericson
8ce4780eff
Merge pull request #27650 from obsidiansystems/unbreak-stdenv
...
Unbreak stdenv
2017-07-26 13:23:12 -04:00
John Ericson
21136311c4
Merge pull request #27415 from obsidiansystems/cc-wrapper-prefix-binutils
...
cc-wrapper: Always export environment variables for binutils
2017-07-16 11:21:39 -04:00
John Ericson
3739858571
cc-wrapper: Use new bash uppercase subsitution syntax in setup hook
...
While this requires newer bash, stdenv's setup.sh now does across the
board anyways. This way is more concise.
2017-07-15 20:33:10 -04:00
John Ericson
7d95391f6a
Merge pull request #27407 from obsidiansystems/null-configure-flags
...
mkDerivation: Fix errors from #27365
2017-07-15 15:56:29 -04:00
John Ericson
9e28e56f20
Merge pull request #27368 from obsidiansystems/cc-wrapper-interpreter
...
cc-wrapper: Unify and improve dynamic linker flag logic
2017-07-14 17:26:35 -04:00
John Ericson
1ebb059932
Merge pull request #27365 from obsidiansystems/smaller-stdenv-cross-adaptor
...
stdenv: Move some logic from cross adapter to stdenv proper
2017-07-13 19:29:38 -04:00
John Ericson
ea9af6e3bd
Merge pull request #27336 from obsidiansystems/stdenv-setup-cleanup
...
Stdenv setup misc cleanups
2017-07-13 18:41:33 -04:00
John Ericson
a889454869
Merge pull request #27284 from obsidiansystems/prop-lines
...
stdenv: Store one package per line in nix-support/propagated-*
2017-07-11 14:33:23 -04:00
John Ericson
5059b6307a
Merge pull request #27281 from obsidiansystems/lib-powerpc
...
lib: Add isPowerPC predicate, and fix family name
2017-07-10 11:16:41 -04:00
John Ericson
89fcb63326
Merge pull request #27179 from obsidiansystems/platforms-from-stdenv
...
Define {build,host,target}Platform in stdenv
2017-07-07 14:49:55 -04:00
John Ericson
f5364122b5
Merge pull request #27215 from obsidiansystems/stdenv-harden
...
Harden stdenv in two misc ways
2017-07-07 12:48:51 -04:00
John Ericson
f2f50aa985
Merge pull request #27045 from vcunat/meta-refactor-2-rebased
...
stdenv: Refactor meta checks
2017-07-07 12:35:50 -04:00
John Ericson
e57a220f81
stdenv, swift: Use local fd in is* bash functions for hygiene
2017-07-07 11:40:07 -04:00
John Ericson
c53449ce57
Merge pull request #26881 from obsidiansystems/cross-hashbreak
...
Make hash-breaking cleanups avoided in #26007
2017-06-30 10:12:05 -04:00
John Ericson
dc9f69c260
Merge pull request #26948 from obsidiansystems/stdenv-map
...
stdenv: Simplify dependency code
2017-06-29 18:02:21 -04:00
John Ericson
ad8d8fb2f5
stdenv: Simplify dependency code
...
This is a bit simpler now, but more importantly it scales better when I
double the number of sorts of dependencies as part of my cross
compilation work.
2017-06-29 17:45:08 -04:00
John Ericson
eb052edd6f
Merge pull request #26946 from obsidiansystems/wxmsw-fix
...
wxMSW: Fix syntax --- travis eval did not catch
2017-06-28 22:39:36 -04:00
John Ericson
e1faeb574a
Merge pull request #26884 from obsidiansystems/purge-stdenv-cross
...
Purge stdenv cross
2017-06-28 21:39:16 -04:00
John Ericson
099b83f90d
libxslt: Don't use stdenv.cross
2017-06-28 00:55:21 -04:00
John Ericson
8ca8293dbc
libxml2: Don't use stdenv.cross
2017-06-28 00:51:59 -04:00
John Ericson
b686fd1570
Merge pull request #26021 from corngood/cygwin-wip
...
Cygwin fixes
2017-06-26 15:04:40 -04:00
John Ericson
a24031317a
Merge pull request #26798 from obsidiansystems/ios-cross-stdenv
...
ios-cross: Just properly use the cc-wrapper
2017-06-23 15:00:19 -04:00
John Ericson
afd2bdbad2
Merge pull request #26007 from obsidiansystems/cc-wrapper-prefix
...
Get rid of gcc-cross-wrapper
2017-06-23 11:22:34 -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
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
John Ericson
bef622a4e8
unzip: Fix for 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
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
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
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
f571ad4595
Merge pull request #26775 from obsidiansystems/ghc-head-docs
...
ghcHEAD: Actually split docs into their own output
2017-06-22 17:11:46 -04:00