summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* expand-response-params: Build more normallyJohn Ericson2017-08-25
|
* Merge pull request #28057 from obsidiansystems/stdenv-set-uJohn Ericson2017-08-25
|\ | | | | stdenv-setup: use `set -u`
| * stdenv-setup: Use `set -u` as much as possibleJohn Ericson2017-08-23
| | | | | | | | | | | | | | | | | | | | Older bash version, like those in the bootstrap tools and on macOS, currently confuse variables defined as an empty array with undefined variables. `${foo+"${foo[@]}"}` will prevent `set -u` problems with empty arrays and older without making a single '' in the empty case. Care is taken to `set +u` when running hooks so as to not break existing packages.
* | gawk: refactorVladimír Čunát2017-08-24
| | | | | | | | | | | | | | | | | | | | | | | | - Don't build with libsigsegv by default. The build apparently attempted to link against it, but it never retained the reference anyway... - Side effect: stdenv bootstrapping needs no libsigsegv anymore. - Run checks, but only in the interactive gawk by default on Linux, so that stdenv bootstrap isn't slowed down (by glibc locales, etc.). - xz should be no longer needed in inputs, as we have it in stdenvs now. The whole change was triggered by some used kernel versions still breaking libsigsegv tests #28464.
* | treewide: Consistently call ARM 'arm'Tuomas Tynkkynen2017-08-24
|/ | | | No need for silly differences.
* Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2017-08-21
|\ | | | | | | That way the tarball job succeeds
| * cc-wrapper: Remove unused paramsJohn Ericson2017-08-21
| | | | | | | | Ensured hashes unchanged and eval succeeds in tarball job
| * Merge commit '3b29468313bc8604fe8f85c8d9316fd276d3985c' into HEADFrederik Rietdijk2017-08-21
| |\
* | | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-08-21
|\| |
| * | darwin stdenv: Float `persistentN` bindings into per-stage `let`sJohn Ericson2017-08-16
| | |
* | | stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`John Ericson2017-08-18
| |/ |/| | | | | | | This version continues to use bash + stdenv/setup for the default inputs.
* | Revert "stdenvs: Distinguish between `extraBuildInputs` and ↵Tuomas Tynkkynen2017-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `extraNativeBuildInputs`" This reverts commit eeabf85780e7fccc0289b4015b695e28ef166ab7. This change suddenly makes tons of stdenv internals visible in nativeBuildInputs of every derivation, which doesn't seem desirable. E.g: ```` nix-repl> hello.nativeBuildInputs [ «derivation /nix/store/bcfkyf6bhssxd2vzwgzmsbn7b5b9rpxc-patchelf-0.9.drv» «derivation /nix/store/4wnshnz9wwanpfzcrdd76rri7pyqn9sk-paxctl-0.9.drv» << snip 10+ lines >> «derivation /nix/store/d35pgh1lcg5nm0x28d899pxj30b8c9b2-gcc-wrapper-6.4.0.drv» ] ````
* | Merge pull request #28174 from matthewbauer/darwin-in-releaseDaiderd Jordan2017-08-17
|\ \ | | | | | | enable hydra jobs for packages x86_64-linux does not support
| * | nixpkgs release: Fix Darwin-only jobsTuomas Tynkkynen2017-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the logic of generating nixpkgs Hydra jobs is to walk through the pkgs evaluated for system = "x86_64-linux", collect any derivations and their meta.platforms values. However, that doesn't work for packages whose meta.platforms doesn't include x86_64-linux, as just evaluating their meta attribute raises an error so they get skipped completely. As a less-intrusive fix (i.e. anything than rewriting the current package enumeration logic), allow passing `config.allowUnsupportedSystem = true` to permit evaluating packages regardless of their platform and use that in the package listing phase. Fixes #25200
* | | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-08-17
|\ \ \ | | |/ | |/|
| * | make-bootstrap-tools: Fix config opts for ash builtins after upgradeWill Dietz2017-08-14
| |/
* | stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`John Ericson2017-08-15
| | | | | | | | | | | | Additionally, instead of pulling them from `setup.sh`, route them via Nix. This gets us one step closer to making stdenv be a plain attribute set instead of a derivation.
* | mkDerivation: Simply NixJohn Ericson2017-08-15
| | | | | | | | No hashes were changed by this
* | stdenv: fixup allowedRequisites on aarch64-linuxVladimír Čunát2017-08-15
| |
* | stdenv: resurrect the allowedRequisites checkVladimír Čunát2017-08-13
|/ | | | Discovered in #28091. I'm sorry I forgot to re-check my TODOs, long ago.
* stdenv: fix typo in setup.shLinus Heckemann2017-08-09
|
* cc-wrapper: Make hygienicJohn Ericson2017-08-07
| | | | See the added comments for what exactly has been done.
* Merge PR #27536John Ericson2017-08-03
|\
| * cc-wrapper: WIP linking hack for mac OSJohn Ericson2017-07-31
| | | | | | | | | | Probably best to override Haskell packages set, or anything else linking a lot of libraries, with this.
* | 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.