about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2021-12-25Merge master into staging-nextgithub-actions[bot]1-1/+1
2021-12-24cmake make-derivation: fix hostPlatform uname release when cross compilingrembo101-1/+1
2021-12-23Merge branch 'master' into staging-nextDmitry Kalinkin3-0/+14
2021-12-23Merge pull request #147942 from oxalica/test/riscv-bootstrap-toolsBernardo Meurer3-0/+14
stdenv: bootstrap riscv64 (Step 2)
2021-12-11Merge master into staging-nextgithub-actions[bot]1-6/+7
2021-12-10Merge pull request #147544 from cab404/fix-stdenv-overrideGuillaume Girol1-6/+7
stdenv: move overriden stdenv in closure
2021-11-30Merge staging-next into staginggithub-actions[bot]2-0/+9
2021-11-30stdenv: add bootstrap files for riscv64oxalica3-0/+14
Bootstrap files are from https://hydra.nixos.org/build/159891432 and https://hydra.nixos.org/build/159891436
2021-11-27stdenv: move overriden stdenv in closureVladimir Serov1-6/+7
Before that, base stdenv passed non-makeOverridable version of itself inside. This cause it to be lost on package-name.stdenv.
2021-11-26stdenv: patch autoconf script for riscv in stage 2oxalica1-0/+4
2021-11-26make-bootstrap-tools: produce libatomic on riscv platformoxalica1-0/+5
2021-11-24stdenv: Pass standalone argument for libcxxabitoonn1-1/+1
2021-11-24stdenv: Darwin no longer needs 10.11 workaroundtoonn1-3/+0
Co-authored-by: happysalada <raphael@megzari.com>
2021-11-24bootstrap-tools: Introduce getLib for lib outputstoonn1-14/+14
Co-authored-by: sternenseemann <sternenseemann@systemli.org> Co-authored-by: Jörg Thalheim <joerg@thalheim.io>
2021-11-24darwin.stdenv: Update to LLVM 11 and clang 11.1.0toonn1-1/+1
2021-11-24darwin.Libsystem: Patch TargetConditionals.htoonn1-44/+3
`TargetConditionals.h` was missing several definitions, like `TARGET_OS_TV` that are part of SDK 10.12 at least. And one that doesn't seem to occur in any SDK afaict, `TARGET_OS_EMBEDDED_OTHER`. I added the definitions from SDK 10.12 verbatim and defined `TARGET_OS_EMBEDDED_OTHER` to be equal to `0`. I think none of this works if `darwin.Libsystem` is used to build for linux or iOS though so maybe this needs a more thorough fix? This reverts 336d82617f1cdd2f5ae77e262afa3f88f5a5e578 because it's no longer necessary.
2021-11-24xnu: Fix python3 patchtoonn1-4/+1
This reverts 7da313e10a2b73b05f27a2f6bfeafa1c1d37ce8b because it's no longer necessary.
2021-11-24stdenv: update darwin bootstrap tools for llvm11Daiderd Jordan1-2/+2
Build from bdffd0b276befa8782ef4936a59b32e7bdcfc2df. https://hydra.nixos.org/build/124753463 (cherry picked from commit f4a08349ed43a36ad5489a4ab548fcf0c129215d)
2021-11-23stdenv/setup: tell libtool about library pathsAlyssa Ross1-1/+12
Packages that use libtool run it as a wrapper around the linker. Before calling the linker, libtool will determine what libraries would be linked, and check if there's a corresponding libtool archive (libfoo.la) file in the same directory . This file contains extra information about the library. This is especially important for static linking, because static archives don't contain dependency information, so we need libtool to use the .la files to figure out which libraries actually need to be linked against. But in Nixpkgs, this has never worked. libtool isn't able to find any libraries, because only the compiler wrapper knows how to find them, and the compiler wrapper is opaque to libtool. This is why pkgsStatic.util-linuxMinimal doesn't build prior to this patch — it depends on libpam, which depends on libaudit, and if libtool can't find the .la file, nothing will tell the linker to also link against libaudit when linking libpam. (It was previously possible to build a static util-linux, because linux-pam only recently had the audit dependency added.) There are a couple of ways we could fix this, so that libtool knows where to look for .la files. * Set LD_LIBRARY_PATH/DYLD_LIBRARY_PATH/whatever, which libtool will examine. This would have major side effects though, because the dynamic linker looks at it too. * Inject libtool scripts with the appropriate information. That's what I've done here. It was the obvious choice because we're already finding and modifying the libtool scripts, to remove paths outside the Nix store that libtool might check in unsandboxed builds. Instead of emptying out the system paths, we can repopulate it with our own library paths. (We can't use a wrapper like we do for other tools in Nixpkgs, because libtool scripts are often distributed in source tarballs, so we can't just add a wrapped version of libtool as a dependency. That's why there's already the fixLibtool function in stdenv.) With this change, libtool is able to discover .la files, and pkgsStatic.util-linuxMinimal can build again, linking correctly against libpam and libaudit.
2021-10-25Merge pull request #137209 from milahu/patch-10Artturi1-2/+2
2021-10-13stdenv: add llvm-config to meson cross fileRick van Schijndel1-0/+3
This is e.g. required to get mesa cross-compiling, but is useful for everyone depending on libllvm
2021-10-07Merge pull request #138289 from sternenseemann/fix-non-gnu-stripsterni1-6/+1
stdenv: move --enable-deterministic-archives flag into GNU wrapper
2021-10-06stdenv: add shopt inherit_errexithappysalada1-0/+1
2021-10-06stdenv: use named ref to clarify intenthappysalada1-11/+10
2021-10-02libxml2: use libiconv on DarwinEmily1-1/+1
This fixes e.g. python3Packages.beautifulsoup4, which has tests relying on the wider encoding support enabled by libiconv. Fixes #137678.
2021-09-23Merge branch 'master' into staging-nextRyan Burns2-1/+7
2021-09-23sigtool: 4a3719b4 -> 2a13539d (#138453)Michael Stone2-1/+7
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-09-18stdenv: move --enable-deterministic-archives flag into GNU wrappersternenseemann1-6/+1
`--enable-deterministic-archives` is a GNU specific strip flag and causes other strip implementations (for example LLVM's, see #138013) to fail. Since strip failures are ignored, this means that stripping doesn't work at all in certain situation (causing unnecessary dependencies etc.). To fix this, no longer pass `--enable-deterministic-archives` unconditionally, but instead add it in a GNU binutils specific strip wrapper only. `commonStripFlags` was only used for this flag, so we can remove it altogether. Future work could be to make a generic strip wrapper, with support for nix-support/strip-flags-{before,after} and NIX_STRIP_FLAGS_{BEFORE,AFTER}. This possibly overkill and unnecessary though -- also with the additional challenge of incorporating the darwin strip wrapper somehow.
2021-09-17stdenv: re-add isMachO helper function (#138334)Winter1-0/+28
2021-09-17Merge #138186: stdenv: remove isMachO helper functionVladimír Čunát1-23/+0
...into staging-next
2021-09-16stdenv: remove isMachO helper functionWinter1-23/+0
This reverts commit 488395c0f80e2863e9cf83ffb029a330c8e19573. Currently, `nix print-dev-env` fails to execute if this function is present, because of its use of hex literals. Until this issue (https://github.com/NixOS/nix/issues/5262) is solved, we should revert this to prevent breakage.
2021-09-12stdenv/setup.sh: fix read -N 0 for bash 5happysalada1-1/+3
somehow `read -N 0` behavior changed in bash 5. `read -d ''` has identical behavior the purpose of the function is to read stdin and exit 1 on a null byte (i.e. if stdin is the content of a binary) (cherry picked from commit 5d0acf20f88b1820cb8b641cfc5a43e973122701)
2021-09-09unpackFile: ignore timestamp warningsmilahu1-2/+2
2021-09-07stdenv: fix nix_build_cores guesshappysalada1-9/+4
- use builtin arithmetic instead of external expr - simplify logic with bash builtins
2021-09-06stdenv: fix showBuildStatshappysalada1-8/+6
- remove going through another file - use builtin instead of external cat - improve echo formatting
2021-09-05Revert "Merge remote-tracking branch 'origin/python-unstable' into staging-next"Martin Weinelt2-65/+57
This reverts commit b041b2e1b25a0ed55d0943030c9da1b5f68ab3c6, reversing changes made to 5b6c2380adb4c4ddb0f87152cef0016333ea5a4d.
2021-08-30stdenv setup.sh: remove combined [ in favor of [[happysalada1-3/+3
[ ... ] && [ ...] -> [[ ... && ... ]]
2021-08-30stdenv: remove bash version compatibility hackhappysalada1-16/+16
2021-08-30stdenv: remove combined command conditionalhappysalada1-9/+11
2021-08-30stdenv: arithmetic fixeshappysalada1-23/+23
2021-08-30stdenv: reduce iohappysalada1-6/+8
2021-08-30stdenv: declare missing variableshappysalada1-0/+4
2021-08-21stdenv: add isMachO helper function (#133808)Sebastián Mancilla1-0/+23
Detect if a binary is a Mach-O file.
2021-08-20pkgsStatic: Finally obviate overlay!John Ericson2-5/+23
2021-08-19pkgsStatic: Inline more of static overlayJohn Ericson1-0/+18
2021-08-18Merge pull request #134463 from Ericson2314/stdenv-adapter-latebindJohn Ericson3-453/+482
stdenv: Fix overriding + `overrideAttrs`
2021-08-18pkgs/stdenv/make-derivation: ReindentJohn Ericson1-395/+396
We previously make it just be the function, not a single-item attrset, without deindenting to make a readable diff. No we deindent.
2021-08-18stdenv: Fix overriding + `overrideAttrs`John Ericson3-59/+87
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.
2021-08-07Merge master into staging-nextgithub-actions[bot]1-0/+1
2021-08-07stdenv/check-meta: add maxSilentArtturin1-0/+1
Hydra supports it https://github.com/NixOS/hydra/blob/master/src/hydra-eval-jobs/hydra-eval-jobs.cc#L172