summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* mkDerivation mesonFlags: Fix arm cpu familiesJohn Ericson2020-04-28
| | | | | In my haste to unbreak eval, I screwed up and got the bit-widths, backwards.
* mkDerivation mesonFlags: Fix cross file logic to handle more casesJohn Ericson2020-04-28
| | | | Otherwise eval breaks
* meson: Make target-agnosticJohn Ericson2020-04-28
| | | | | | The cross file is added in the `mkDerivation`. It isn't nice putting build tool-specific stuff here, but our current architecture gives us little alternative.
* Merge branch 'staging-next' into stagingJan Tojnar2020-04-13
|\
| * treewide: Per RFC45, remove all unquoted URLsMichael Reilly2020-04-10
| |
* | setup.sh: add dontPatchworldofpeace2020-04-12
| | | | | | | | Fixes #85038
* | generic/setup.sh: allow clobbering env-vars fileMatthew Bauer2020-04-09
|/ | | | | | | | | | If the option ‘noclobber’ is set in Bash, we get an error when we clobber an already existing env-vars. This is an okay error to ignore, so just >| instead. Note that >| is NOT a Bashism[[1]]. Fixes #79651 [1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_02
* stdenv/linux: remove powerpc64le bootstrap toolsMatthew Bauer2020-03-31
| | | | | | | | These files never existed, so best to not leave the reference. If someone want to step up to maintain this, that would be fine. I don’t have the hardware to test these out. In addition, someone tried to use the bootstrap-tools currently built by Hydra and found that they were broken in some unclear way.
* armv{5tel,6l,7l}: bootstrap-files: quote URLs for rfc-45Graham Christensen2020-03-16
| | | | Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
* armv{5tel,6l,7l}: update bootstrap tools after #80497Graham Christensen2020-03-16
|
* Merge staging-next into masterFrederik Rietdijk2020-03-08
|\
| * unpack-bootstrap-tools: remove obsolete linker script patchingBen Wolsieffer2020-03-06
| | | | | | | | | | | | The linker scripts no longer contain store paths, so this does nothing. More importantly, libpthread.so is not longer a linker script on ARM, so the patching would corrupt it.
| * stdenv: update ARM bootstrap tarballsBen Wolsieffer2020-03-06
| | | | | | | | | | | | | | | | | | | | | | | | Fixes building glibc 2.30, which requires at least GCC 6. Picked from the following cross-trunk evaluation: https://hydra.nixos.org/eval/1568864 based on nixpkgs commit ac241fb7a57. armv5tel job: https://hydra.nixos.org/build/111556418 armv6l job: https://hydra.nixos.org/build/111556521 armv7l job: https://hydra.nixos.org/build/111556551
* | make-bootstrap-tools: add libssp to allow stack protector to workBen Wolsieffer2020-02-18
|/
* make-bootstrap-tools: fixup after glibc updateVladimír Čunát2020-02-10
| | | | | | There's a generated header that got comment about the source header from glibc.dev, which added unwanted runtime dependency. Tested: nix build -f pkgs/top-level/release.nix stdenvBootstrapTools.{aarch64,i686,x86_64}-linux.test
* Merge master into staging-nextFrederik Rietdijk2020-02-09
|\
| * stdenv: Remove isArm (use isAarch32 instead)Chuck2020-02-05
| | | | | | | | | | isArm has been deprecated for three releases. All references have been removed. Tree-wide substitution was performed in #37401 21 months ago.
* | stdenv bootstrap tools: switch one file to official URLVladimír Čunát2020-02-05
| |
* | Merge #66528: glibc: 2.27 -> 2.30 (into staging)Vladimír Čunát2020-02-05
|\ \ | |/ |/| | | | | Includes update of stdenv bootstap tools (for three main platforms) and many package fixes with new glibc.
| * stdenv bootstrap tools: regenerate "officialy"Vladimír Čunát2020-02-05
| | | | | | | | | | | | From Hydra's binaries for c5aabb0 (19.09). This time I re-tested full stdenv bootstrap on these three platforms. https://github.com/NixOS/nixpkgs/pull/66528#issuecomment-582351637
| * Merge branch 'staging' into glibc230Maximilian Bosch2020-02-01
| |\
| * \ Merge branch 'staging' into glibc230Maximilian Bosch2020-01-23
| |\ \
| * | | stdenv: rebuild aarch64 bootstrap files with gcc8Maximilian Bosch2020-01-14
| | | | | | | | | | | | | | | | | | | | The old bootstrapping files would break with glibc 2.30 as at least gcc6 is needed.
| * | | glibc: depend on libidn2 (and libunistring, transitively)Vladimír Čunát2020-01-14
| | | | | | | | | | | | | | | | | | | | | | | | It's a bit hacky, but ATM I can't see any better way for glibc >= 2.28. Signed-off-by: Luka Blaskovic <lblasc@tvbeat.com>
| * | | stdenv bootstrap: disable dejagnu testsVladimír Čunát2020-01-14
| | | | | | | | | | | | | | | | | | | | There's a failure - I don't know why. The checks from "normal" dejagnu still succeed, so I assume this commit is quite a safe work-around.
| * | | bootstrap-files: bump WIPLuka Blaskovic2020-01-14
| | | |
* | | | Merge staging-next into stagingFrederik Rietdijk2020-02-02
|\ \ \ \ | |_|_|/ |/| | |
| * | | stdenv, darwin: fix setupHook locationLuka Blaskovic2020-01-30
| | |/ | |/|
* | | cmake: move CMAKE_OSX_ARCHITECTURES out of the stdenvDaiderd Jordan2020-01-31
| | | | | | | | | | | | | | | | | | This was initially introduced in 92188d9d1751892ddbf8913da73dfc150d18fadb, not clear how relevant this still is but i686 isn't supported anymore so disable it explicitly.
* | | stdenv: introduce appleSdkVersion and macosVersionMinDaiderd Jordan2020-01-31
| | |
* | | stdenv: make darwin builds reproducableDaiderd Jordan2020-01-31
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #21629 Passing these extra linker flags removes both the semi-random uuid included in most binaries as well as making the sdk version consistent instead of based on the current os version. Load command 8 cmd LC_UUID cmdsize 24 uuid 70FAF921-5DC8-371C-B814-4F121FADFDF4 Load command 9 cmd LC_VERSION_MIN_MACOSX cmdsize 16 version 10.12 sdk 10.13 The -macosx_version_min flag isn't strictly necessary since that's already handled by MACOSX_DEPLOYMENT_TARGET.
* | stdenv: make symlinks that refer to the same output relativeAndreas Rammhold2020-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While looking at the graph of all the outputs in my personal binary cache it became obvious that we have a lot of self references within the package set. That isn't an isuse by itself. However it increases the size of the binary cache for every (reproducible) build of a package that carries references to itself. You can no longer deduplicate the outputs since they are all unique. One of the ways to get rid of (a few) references is to rewrite all the symlinks that are currently used to be relative symlinks. Two build of something that didn't really change but carries a self-reference can the be store as the same NAR file again. I quickly hacked together this change to see if that would yield and success. My bash scripting skills are probably not great but so far it seem to somewhat work.
* | Merge pull request #77610 from LnL7/darwin-stdenv-python3Frederik Rietdijk2020-01-15
|\ \ | |/ |/| darwin-stdenv: bootstrap with python3
| * stdenv: bootstrap darwin with python3Daiderd Jordan2020-01-13
| | | | | | | | | | | | | | | | | | | | | | - Replaced python override from the final stdenv, instead we propagate our bootstrap python to stage4 and override both CF and xnu to use it. - Removed CF argument from python interpreters, this is redundant since it's not overidden anymore. - Inherit CF from stage4, making it the same as the stdenv.
* | pkgsStatic: set BUILD_SHARED_LIBS=OFF for cmakeDmitry Kalinkin2020-01-03
|/
* Merge pull request #74090 from obsidiansystems/ghcjs-cross-without-ccJohn Ericson2019-12-30
|\ | | | | stdenv, haskell: bonafied GHCJS cross compilation without stdenv.cc
| * Merge remote-tracking branch 'obsidian/ghcjs-cross-without-cc-common' into ↵John Ericson2019-12-30
| |\ | | | | | | | | | ghcjs-cross-without-cc
| | * pkgs/stdenv/booter.nix: Add comment explaining hasCC trickeryJohn Ericson2019-12-30
| | |
| * | Merge remote-tracking branch 'obsidian/ghcjs-cross-without-cc-19.09' into ↵John Ericson2019-11-26
| |\| | | | | | | | | | ghcjs-cross-without-cc
| | * Fix lib testsJohn Ericson2019-11-26
| | | | | | | | | | | | js-ghcjs didn't fit in an existing categor.
| * | Merge remote-tracking branch 'upstream/master' into ghcjs-cross-without-ccJohn Ericson2019-11-25
| |\ \ | | |/ | |/|
| * | Add support for cross compiling to `js-ghcjs`John Ericson2019-11-25
| | | | | | | | | | | | | | | This platform doesn't have a C compiler, and so relies and the changes in the previous commit to work.
| * | stdenv: Introduce hasCC attributeJohn Ericson2019-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, we'd always use `cc = null`, and check for that. The problem is this breaks for cross compilation to platforms that don't support a C compiler. It's a very subtle issue. One might think there is no problem because we have `stdenvNoCC`, and presumably one would only build derivations that use that. The problem is that one still wants to use tools at build-time that are themselves built with a C compiler, and those are gotten via "splicing". The runtime version of those deps will explode, but the build time / `buildPackages` versions of those deps will be fine, and splicing attempts to work this by using `builtins.tryEval` to filter out any broken "higher priority" packages (runtime is the default and highest priority) so that both `foo` and `foo.nativeDrv` works. However, `tryEval` only catches certain evaluation failures (e.g. exceptions), and not arbitrary failures (such as `cc.attr` when `cc` is null). This means `tryEval` fails to let us use our build time deps, and everything comes apart. The right solution is, as usually, to get rid of splicing. Or, baring that, to make it so `foo` never works and one has to explicitly do `foo.*`. But that is a much larger change, and certaily one unsuitable to be backported to stable. Given that, we instead make an exception-throwing `cc` attribute, and create a `hasCC` attribute for those derivations which wish to condtionally use a C compiler: instead of doing `stdenv.cc or null == null` or something similar, one does `stdenv.hasCC`. This allows quering without "tripping" the exception, while also allowing `tryEval` to work. No platform without a C compiler is yet wired up by default. That will be done in a following commit.
* | | allowInsecureDefaultPredicate: fix to use getNameRobert Scott2019-12-15
| |/ |/| | | | | | | this allows correct operation with packages only having pname and version specified, resolving issue #73737
* | setup.sh: rewrite stripHashLily Ballard2019-11-12
| | | | | | | | | | | | | | | | Rewrite the `stripHash` helper function with 2 differences: * Paths starting with `--` will no longer produce an error. * Use Bash string manipulation instead of shelling out to `grep` and `cut`. This should be faster.
* | stdenv: Don't unset propagated*DepFiles before main phasesJohn Ericson2019-11-05
| | | | | | | | | | | | | | | | | | A bunch of stdenv-internal variables were deleted in 1601a7fcce389ae3f1b1b36676fd5545035566af, but these are needed in the fixup phase, whereas the rest are just needed for the initial work (findInputs, etc) before the user phases. CC @matthewbauer
* | Merge pull request #69603 from matthewbauer/unset-unused-setup-varMatthew Bauer2019-11-05
|\ \ | | | | | | Unset unused variables in setup.sh
| * | generic/setup.sh: Unset locally defined variablesMatthew Bauer2019-09-26
| | | | | | | | | | | | | | | | | | setup.sh adds a bunch of variables that only it needs. To avoid polluting environments, we should unset these as soon as we are done with them.
* | | Merge staging-next into stagingFrederik Rietdijk2019-11-05
|\ \ \
| * | | Revert "stdenv/check-meta: getEnv if the attribute is unset (#72376)" (#72752)Dmitry Kalinkin2019-11-03
| | | | | | | | | | | | This reverts commit 71184f8e157672789602d3f28bdd3c8079800687.