summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'upstream/master' into staging-baseJohn Ericson2017-07-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: pkgs/build-support/cc-wrapper/default.nix pkgs/build-support/gcc-wrapper-old/builder.sh pkgs/build-support/trivial-builders.nix pkgs/desktops/kde-4.14/kde-package/default.nix pkgs/development/compilers/openjdk-darwin/8.nix pkgs/development/compilers/openjdk-darwin/default.nix pkgs/development/compilers/openjdk/7.nix pkgs/development/compilers/openjdk/8.nix pkgs/development/compilers/oraclejdk/jdk-linux-base.nix pkgs/development/compilers/zulu/default.nix pkgs/development/haskell-modules/generic-builder.nix pkgs/misc/misc.nix pkgs/stdenv/generic/builder.sh pkgs/stdenv/generic/setup.sh
| * stdenv/setup.sh: undo `local -n` changeDan Peebles2017-07-24
| | | | | | | | | | | | | | | | | | It's better than the eval solution this is adding back, but until we can rely on a particular version of bash in nix-shell, this just breaks too much stuff. See https://github.com/NixOS/nix/commit/c94f3d5575d7af5403274d1e9e2f3c9d72989751 and https://github.com/NixOS/nix/pull/1483 for the better long-term solution.
| * Revert "stdenv: Store one package per line in nix-support/propagated-*"John Ericson2017-07-24
| | | | | | | | | | | | | | | | | | | | As @oxij points out in [1], this breakage is especially serious because it changes the contents of built environments without a corresonding change in their hashes. Also, the revert is easier than I thought. This reverts commit 3cb745d5a69018829ac15f7d5a508135f6bda123. [1]: https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
* | stdenv-setup: Remove any `declare -g`John Ericson2017-07-26
| | | | | | | | | | This is invalid before bash-4.2, affecting bash used impurely in nix-shell on MacOS.
* | stdenv-setup and misc hooks: Work with bash-3.4 for MacOS nix-shellJohn Ericson2017-07-26
| | | | | | | | This is a temporary measure until this impurity is removed from Nix.
* | stdenv-setup and misc pkgs: Revert to space-deliminated propagated-* filesJohn Ericson2017-07-26
| | | | | | | | | | We cannot switch to line-delimited yet, because certain Nix commands do not read in the entire file, but just the first line.
* | stdenv-setup: Add quotes that don't do anything for consistency.John Ericson2017-07-25
| | | | | | | | | | | | | | | | | | | | @vcunat and others rightly point out that it's easier to quote always, than learn Bash's idiosyncrasies enough to know when it doesn't make a difference. This reverts commit 2743078f664ae07c4bed06a96182c6a86bd7fa32, which removes quotes that don't do anything, and then goes further adding even more quotes.
* | darwin stdenv: Ensure libSystem reexports the right librariesJohn Ericson2017-07-25
| | | | | | | | | | | | | | The logic was made pure for the normal libSystem, but this change never made it to the bootstrap tools. Deduplication the logic as the comment suggests would have prevented this, but here's a stop-gap until we do so.
* | stdenv: Remove log nestingEelco Dolstra2017-07-24
| | | | | | | | | | Nix/Hydra no longer support pretty printing of logs, so this is no longer useful.
* | Merge pull request #27318 from copumpkin/darwin-high-sierraDaniel Peebles2017-07-18
|\ \ | | | | | | Support High Sierra on Darwin
| * | Fix Darwin stdenv to work on 10.13Dan Peebles2017-07-11
| |/ | | | | | | | | | | | | The main changes are in libSystem, which lost the coretls component in 10.13 and some hardening changes that quietly crash any program that uses %n in a non-constant format string, so we've needed to patch a lot of programs that use gnulib.
* | mkDerivation: Fix errors from #27365John Ericson2017-07-15
| | | | | | | | | | | | | | | | | | | | | | `nix-build pkgs/top-level/release.nix -A tarball` now succeeds. `configureFlags = null` lead to a type error, and one overrideDrv needed to be converted to to append a configureFlags list instead of string due to the normalization. Thanks @vcunat for alerting me to the issues---sorry I did not catch them before merging my own PR.
* | stdenv: Move some logic from cross adapter to stdenv properJohn Ericson2017-07-13
| | | | | | | | | | | | | | | | | | | | | | | | Eventually the adapter will be removed. Moved is - Name suffix from hostPlatform - configurePlatforms To not cause more breakage, the default is currently [], but eventually it will be [ "build" "host" ], as the cross adapter makes it today.
* | stdenv-setup: Pull out and explain 3-part printing of commandsJohn Ericson2017-07-13
| | | | | | | | | | @Dezgeg made the good point that the reasons for doing this were not at all intuitive.
* | stdenv-setup: Remove useless quotesJohn Ericson2017-07-13
| | | | | | | | | | foo=$1 surprisingly doesn't need quotes in Bash. Word splits are only syntactic in string variable (not array var!) assignments.
* | stdenv-setup: Combine [[ .. ]] && [[ .. ]] into one [[ .. && .. ]]John Ericson2017-07-13
| | | | | | | | Also remove useless quotes on same line
* | stdenv-setup: Clean up 'substitute()' for style and error handlingJohn Ericson2017-07-12
| | | | | | | | | | It now blows up on null byte in file (rather than silently truncating), and invalid arguments (rather than silently skipping).
* | stdenv-setup: Misc improvements as directed by ShellCheckJohn Ericson2017-07-12
| | | | | | | | | | | | | | | | I took some liberties with the flags-echoing code to make it more concise and correct. Also, a few warnings in findInputs and friends I skipped because I am going to rewrite those anyways. Thanks @grahamc for telling me about this great linter!
* | stdenv-setup: Make the package accumulators associative arrays instead of ↵John Ericson2017-07-12
|/ | | | | | | | strings This is generally cleaner: less eval, less worrying about separators, and probably also faster. I got the idea from that python wrapper script.
* stdenv: Store one package per line in nix-support/propagated-*John Ericson2017-07-10
| | | | | | | | | | | | | | | | | This makes those files a bit easier to read. Also, for what it's worth, it brings us one baby step closer to handling spaces in store paths. Also, I optimized handling of many transitive deps with read. Probably, not very beneficial, but nice to enforce the pkg-per-line structure. Doing so let me find much dubious code and fix it. Two misc notes: - `propagated-user-env-packages` also needed to be adjusted as sometimes it is copied to/from the propagated input files. - `local fd` should ensure that file descriptors aren't clobbered during recursion.
* stdenv: Stop reversing the list of sandbox stuffJohn Ericson2017-07-10
| | | | We're breaking hashes anyways
* stdenv: Make separate-debug-info.sh a `nativeBuildInput`John Ericson2017-07-10
|
* Merge branch 'master' into stagingVladimír Čunát2017-07-09
|\ | | | | | | | | Mass rebuilds incoming. The mass-rebuild situation got really messy this weekend.
| * Merge branch 'staging' into masterDaiderd Jordan2017-07-08
| |\
| * | top-level: {build,host,target}Platform are defined in the stdenv insteadJohn Ericson2017-07-07
| | | | | | | | | | | | See #27069 for a discussion of this
| * | stdenv: Have mkDerivation pull the "extra" arguments from stdenv insteadJohn Ericson2017-07-07
| | | | | | | | | | | | Something more elaborate is needed for the "*Platform" arguments.
| * | stdenv: Conservatively move `mkDerivation` into it's own fileJohn Ericson2017-07-07
| | |
| * | stdenv: separate all meta-checking code (~200 lines)Vladimír Čunát2017-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only cosmetic changes are done otherwise. Real refactoring is left for later. There's a small slow-down on my machine: $ time nix-env -qa -P >/dev/null gets from ~2.8 to ~3.5 seconds (negligible change in RAM). That's most likely caused by sharing less computation between different mkDerivation calls, and I plan to improve that soon.
| * | lib.lists.mutuallyExclusive: add functionVladimír Čunát2017-07-07
| | |
| * | stdenv: simple refactor to get rid of pos'Vladimír Čunát2017-07-07
| | | | | | | | | | | | Suggested by Ericson2314.
| * | stdenv: refactor (no change in semantics)Vladimír Čunát2017-07-07
| | | | | | | | | | | | This just moves some expressions around in preparation to further changes.
* | | Merge pull request #27215 from obsidiansystems/stdenv-hardenJohn Ericson2017-07-07
|\ \ \ | |_|/ |/| | Harden stdenv in two misc ways
| * | stdenv, swift: Use `local fd` in is* bash functions for hygieneJohn Ericson2017-07-07
| | |
| * | stdenv: Harden hook runnersJohn Ericson2017-07-07
| |/ | | | | | | | | | | Instead of eval, use a "nameref" to get the name of the array and iterate with that. Also, make the for-loop parameter a local variable, too.
* | Merge pull request #26974 from obsidiansystems/response-file-parsing-speedRyan Trinkle2017-07-05
|\ \ | |/ |/| cc-wrapper: improve response file parsing speed
| * cc-wrapper: simplify expandResponseParams parserOrivej Desh2017-07-03
| | | | | | | | Import from https://github.com/orivej/expand-compiler-args/tree/b2446902fe7816f34c3f21d29a66da3ee2b1601e
| * cc-wrapper: improve response file parsing speedRyan Trinkle2017-06-30
| |
* | Merge branch 'staging'Vladimír Čunát2017-07-05
|\| | | | | | | | | Comparison looks OK; I'll try some fixes on master directly. http://hydra.nixos.org/eval/1372577?compare=1372497
| * Merge accepted cross compilation PRs into stagingJohn Ericson2017-06-29
| |\
| * \ Merge pull request #26818 from LnL7/llvm-manpagesDaiderd Jordan2017-06-26
| |\ \ | | | | | | | | llvm-packages: get rid of extra build depedencies for manpages
| | * | darwin-stdenv: remove llvm/clang manpage overrides fromDaiderd Jordan2017-06-26
| | | |
| * | | stdenv: remove leftover 'system' referenceDavid McFarland2017-06-26
| | | | | | | | | | | | | | | | the rest were removed in 1dc6f15de995da2d0351b34c40215336e219cf82
| * | | cygwin: rebase fixesDavid McFarland2017-06-26
| |/ / | | | | | | | | | | | | - use fixupOutputsHook to find libs in all outputs - don't rebase symlinks
* | / stdenv / booter: imap -> imap1Tim Steinbach2017-07-04
| |/ |/| | | | | Fix the usage of imap as a follow-up to #25543
* | stdenv: Simplify dependency codeJohn Ericson2017-06-29
|/ | | | | | 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.
* cross stdenv adaptor: Disable checkPhase by defaultJohn Ericson2017-06-22
| | | | Before gcc-cross-wrapper did this unconditionally
* cross stdenv adaptor: Support --host --build --target across the boardJohn Ericson2017-06-22
| | | | | | | | 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
* cross stdenv adaptor: Remove `ccCross` `binutils` attrs and binutils extra ↵John Ericson2017-06-22
| | | | | | buildDepends It now has the correct wrapped tools and nothing else is needed.
* cc-wrapper: Learn about target prefixesJohn Ericson2017-06-22
| | | | This is first step towards getting rid of gcc-wrapper-cross
* cc-wrapper: Remove `stdenv.is*` for `targetPlatform.is*`John Ericson2017-06-22
| | | | Modify bootstrapping stdenvs to make sure `targetPlatform` also passed.