about summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* Merge pull request #134463 from Ericson2314/stdenv-adapter-latebindJohn Ericson2021-08-18
|\ | | | | stdenv: Fix overriding + `overrideAttrs`
| * pkgs/stdenv/make-derivation: ReindentJohn Ericson2021-08-18
| | | | | | | | | | We previously make it just be the function, not a single-item attrset, without deindenting to make a readable diff. No we deindent.
| * stdenv: Fix overriding + `overrideAttrs`John Ericson2021-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old stdenv adapters were subtly wrong in two ways: - `overrideAttrs` leaked the original, unoverridden `mkDerivation`. - `stdenv.override` would throw away any manually-set `mkDerivation` from a stdenv reverting to the original. Now, `mkDerivation` is controlled (nearly directly) via an argument, and always correctly closes over the final ("self") stdenv. This means the adapters can work entirely via `.override` without any manual `stdenv // ...`, and both those issues are fixed. Note hashes are changed, because stdenvs no previously overridden like `stdenvNoCC` and `crossLibcStdenv` now are. I had to add some `dontDisableStatic = true` accordingly. The flip side however is that since the overrides compose, we no longer need to override anything but the default `stdenv` from which all the others are created.
* | Merge master into staging-nextgithub-actions[bot]2021-08-07
|\|
| * stdenv/check-meta: add maxSilentArtturin2021-08-07
| | | | | | | | | | Hydra supports it https://github.com/NixOS/hydra/blob/master/src/hydra-eval-jobs/hydra-eval-jobs.cc#L172
* | stdenv/setup: force libtool to skip dep checksAlyssa Ross2021-07-27
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we "fix" libtool, we empty out its system library path to avoid it discovering libraries in e.g. /usr when the sandbox is disabled. But this also means that the checks libtool does to make sure it can find the libraries its supposed to be linking to won't work. On Linux and Darwin, this isn't a problem, because libtool doesn't actually perform any checks, but it is on at least NetBSD and Cygwin[1]. So, we force libtool not to do these checks on any platform, bringing the more exotic platforms into line with the existing behaviour on Linux and Darwin. Without this change, lots of library packages produce warnings like this in their build output on the platforms with checks by default: *** Warning: linker path does not have real file for library -lz. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libz but no candidates were found. (...for regex pattern test) *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. And dependent packages break because libtool doesn't link their transitive dependencies. So making this change fixes _lots_ of packages on those platforms. [1]: https://git.savannah.gnu.org/cgit/libtool.git/tree/m4/libtool.m4?id=544fc0e2c2a03129a540aebef41ad32bfb5c06b8#n3445
* Merge pull request #130601 from happysalada/stdenv_cosmeticJörg Thalheim2021-07-23
|\ | | | | Stdenv cosmetic
| * stdenv: typohappysalada2021-07-19
| |
* | Revert #127736: stdenv changes towards an alternative shellVladimír Čunát2021-07-17
| | | | | | | | | | | | | | | | | | | | At least for now. Such changes are risky (we have very many packages), and apparently it needs more testing/review without blocking other changes. This reverts the whole range 4d0e3984918^..8752c327377, except for one commit that got reverted in 6f239d73096 already. (that MR didn't even get its merge commit)
* | Merge #129854: stdenv/darwin: finalize URLs (into staging-next)Vladimír Čunát2021-07-16
|\ \
| * | stdenv/darwin: switch to the official bootstrap URLsVladimír Čunát2021-07-16
| | |
* | | stdenv/make-bootstrap-tools: nuke yet another headerVladimír Čunát2021-07-16
|/ / | | | | | | This is needed after glibc bump from PR #111616.
* | Merge #129854: stdenv/darwin: update bootstrap toolsVladimír Čunát2021-07-16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | ... for x86_64-darwin (into staging-next) It wouldn't bootstrap otherwise. Unfortunately we still haven't managed to get the tarballs on the proper URLs, but GitHub should be reliable enough and surely almost noone will bootstrap themselves anyway.
| * | stdenv/darwin: update bootstrap tools for x86_64-darwinVladimír Čunát2021-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated python3 will block bootstrapping otherwise. Verification instructions: $ xdg-open https://hydra.nixos.org/build/144118577#tabs-details $ nix build /nix/store/sh9cd0rarr8a2db1zdr4fzl4qsmvz5jp-stdenv-bootstrap-tools $ cat /nix/store/sh9cd0rarr8a2db1zdr4fzl4qsmvz5jp-stdenv-bootstrap-tools/nix-support/hydra-build-products $ nix hash-path /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/{sh,bzip2,mkdir,cpio} sha256-igMAVEfumFv/LUNTGfNi2nSehgTNIP4Sg+f3L7u6SMA= sha256-K3rhkJZipudT1Jgh+l41Y/fNsMkrPtiAsNRDha/lpZI= sha256-VddFELwLDJGNADKB1fWwWPBtIAlEUgJv2hXRmC4NEeM= sha256-SWkwvLaFyV44kLKL2nx720SvcL4ej/p2V/bX3uqAGO0= $ nix hash-file /nix/store/9h4d7s313wv3gkfwi493yr1wvdsz9lf2-stdenv-bootstrap-tools/on-server/bootstrap-tools.cpio.bz2 sha256-b65dXbIm6o6s6U8tAiGpR6SMfvfn/VFcZgTHBetJZis=
* | | Revert "setup.sh: fatal: This word should yield a string, but it contains an ↵Vladimír Čunát2021-07-16
|/ / | | | | | | | | | | | | | | array" This reverts commit bf99a819a16089a8df03cc06262f06b31dfb683c. It caused regressions in some packages; see: https://github.com/NixOS/nixpkgs/commit/bf99a819a160
* | Merge branch 'glibc-2.33' into stagingVladimír Čunát2021-07-06
|\ \
| * | stdenv bootstrap: hack around glibc version mismatchVladimír Čunát2021-07-06
| | | | | | | | | | | | With this we shouldn't need other workarounds for the LTO problems.
* | | Update pkgs/stdenv/generic/setup.sh:use [[ instead of [Raphael Megzari2021-07-06
| | | | | | | | | Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* | | Update pkgs/stdenv/generic/setup.sh: use [[ instead of [Raphael Megzari2021-07-06
| | | | | | | | | Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* | | Update pkgs/stdenv/generic/setup.sh: group var declarationRaphael Megzari2021-07-06
| | | | | | | | | Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* | | Update pkgs/stdenv/generic/setup.sh: group var declarationRaphael Megzari2021-07-06
| | | | | | | | | Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* | | setup.sh: separate command from combined conditionalhappysalada2021-07-06
| | |
* | | Update pkgs/stdenv/generic/setup.shRaphael Megzari2021-07-06
| | | | | | | | | Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* | | setup.sh: remove bash empty array old hackhappysalada2021-07-06
| | |
* | | setup.sh: use [[ for combined conditionalshappysalada2021-07-06
| | |
* | | setup.sh: remove extraneous cat cmdhappysalada2021-07-06
| | |
* | | setup.sh: arithmetic conditional stylehappysalada2021-07-06
| | | | | | | | | | | | used "recommended" arithmetic conditional style
* | | setup.sh: fatal: Undefined variablehappysalada2021-07-06
| | | | | | | | | | | | define hook arrays before assigning to them
* | | setup.sh: fatal: This word should yield a string, but it contains an arrayhappysalada2021-07-06
| | | | | | | | | | | | remove implicit array comparison in case
* | | setup.sh: shellcheck disable=SC1091happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC1091
* | | setup.sh: shellcheck disable=SC2034happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2034
* | | setup.sh: missing white spacehappysalada2021-07-06
| | |
* | | setup.sh: add quotes where semantically validhappysalada2021-07-06
| | |
* | | setup.sh: fatal: Invalid integer constant 'relHostOffset'happysalada2021-07-06
| | | | | | | | | | | | dereference variables passed to mapOffset
* | | setup.sh: shellcheck disable=SC2123happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2123
* | | setup.sh: shellcheck disable=SC1090happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC1090
* | | shellcheck disable=SC2148happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2148
* | | shellcheck disable=SC2154happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2154
* | | setup.sh: replace type -p with test -ehappysalada2021-07-06
| | | | | | | | | | | | | | | type -p will exit 1 on failure. Test makes the intent clearer here.
* | | setup.sh: arithmetic fixeshappysalada2021-07-06
| | | | | | | | | | | | | | | | | | this one is a little more controversial see https://github.com/oilshell/oil/issues/864 for more information
* | | setup.sh: shellcheck 2206 + 2207happysalada2021-07-06
| | | | | | | | | | | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2206 https://github.com/koalaman/shellcheck/wiki/SC2207 admittedly this one is a lot less pretty
* | | setup.sh: shellcheck 2086happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2086
* | | builder.sh: check if variable is non nullhappysalada2021-07-06
| | | | | | | | | | | | | | | | | | | | | This is not the "correct" way to check if a variable is non null in bash. There is already an instance of the "right" way to do it in setup.sh. Bash is "generous" enough to accept the original input though. I couldn't find the relevant shellcheck.
* | | builder.sh: shellcheck 2129happysalada2021-07-06
| | | | | | | | | | | | https://github.com/koalaman/shellcheck/wiki/SC2129
* | | builder.sh: shellcheck 2086happysalada2021-07-06
| |/ |/| | | | | https://github.com/koalaman/shellcheck/wiki/SC2086
* | Merge pull request #129328 from nh2/manual-fix-hardening-flags-sectionsNiklas Hambüchen2021-07-05
|\ \ | |/ |/| manual: hardening: Fix disabled flags prose being in previous section
| * manual: hardening: Fix disabled flags prose being in previous sectionNiklas Hambüchen2021-07-05
| | | | | | | | | | | | | | | | | | | | | | This confused the hell out of me, as I didn't spot the > The following flags are disabled by default ... when reading about `pie`, because that sentence was hidden in the previous hardening flag's section. Also explain that `pie` hardening is on by default on musl.
* | Merge pull request #108102 from matthewbauer/bash-version-checkSandro2021-06-24
|\ \ | |/ |/| stdenv/setup.sh: Add version check to setup script
| * stdenv/setup.sh: Add version check to setup scriptMatthew Bauer2021-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Only bash 4+ works in setup.sh. To make sure this is obvious, we can check BASH_VERSINFO to get the major version number of Bash. While Bash 3 is pretty rare, it still comes stock in macOS. We *could* provide a warning here for non-Bash shells, but it’s not always clear whether they will work or not. Zsh should have no trouble while busybox sh, fish, or any others. There’s no great way to detect what feature set the shell supports. Fixes #71625
* | Merge branch 'staging-next' into stagingJan Tojnar2021-06-16
|\ \ | | | | | | | | | Regenerated pkgs/servers/x11/xorg/default.nix to resolve the conflict.