about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2022-03-26make-bootstrap-tools-cross: fix typo which prevents hydra evalAdam Joseph1-2/+2
When implementing this reviewer request: https://github.com/NixOS/nixpkgs/pull/161158#discussion_r822256070 to move mips64el-unknown-linux-* from platforms.nix to examples.nix, I neglected to update the reference in make-bootstrap-tools-cross.nix. As a result, the hydra jobs to generate a bootstrap tarball for mips64el are not running: https://hydra.nixos.org/eval/1750828?filter=mips&compare=1750620&full=#tabs-errors This commit fixes the problem, so the hydra job can run. Once it does, I will submit a PR adding the trusted bootstrap tarball hash to pkgs/stdenv/linux/bootstrap-files/. Co-authored-by: sterni <sternenseemann@systemli.org>
2022-03-24treewide: remove meta.repositoriesArtturin1-1/+0
there's no documentation for meta.repositories and its not widely used
2022-03-10lib/systems: add mips64el definitionsAdam Joseph2-0/+3
MIPS has a large space of {architecture,abi,endianness}; this commit adds all of them to lib/systems/platforms.nix so we can be done with it. Currently lib/systems/inspect.nix has a single "isMips" predicate, which is a bit ambiguous now that we will have both mips32 and mips64 support, with the latter having two ABIs. Let's add four new predicates (isMips32, isMips64, isMips64n32, and isMips64n64) and treat the now-ambiguous isMips as deprecated in favor of the more-specific predicates. These predicates are used mainly for enabling/disabling target-specific workarounds, and it is extremely rare that a platform-specific workaround is needed, and both mips32 and mips64 need exactly the same workaround. The separate predicates (isMips64n32 and isMips64n64) for ABI distinctions are, unfortunately, useful. Boost's user-scheduled threading (used by nix) does does not currently supports mips64n32, which is a very desirable ABI on routers since they rarely have more than 2**32 bytes of DRAM.
2022-02-17stdenv/check-meta: remove onlyLicenses checkNaïm Favier1-8/+1
2022-02-08Merge master into staging-nextgithub-actions[bot]1-1/+2
2022-02-08bootstrap-tools: disable iconv for the `hello` testzowoq1-1/+2
2022-02-01Merge branch 'staging-next' into stagingDmitry Kalinkin1-2/+9
Conflicts: pkgs/top-level/aliases.nix pkgs/top-level/python-aliases.nix
2022-02-01stdenv/check-meta: add note for Flake usagematthewcroughan1-2/+9
Flake users that use a command like `nix build nixpkgs#hello` on a broken/insecure package will not be able to use an environment variable to override that behavior, unless they pass `--impure` to the command. Co-authored-by: pkharvey <kayharvey@protonmail.com>
2022-01-30Merge staging-next into staginggithub-actions[bot]1-0/+21
2022-01-29stdenv: introduce withCFlagsmatthewcroughan1-0/+21
Adds an easy method of appending compiler flags to your stdenv via a list. Co-authored-by: tomberek <tomberek@users.noreply.github.com> Co-authored-by: Gytis Ivaskevicius <gytis02.21@gmail.com> Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2022-01-28Merge branch 'staging-next' into stagingJan Tojnar1-2/+0
; Conflicts: ; pkgs/development/python-modules/fakeredis/default.nix
2022-01-27Merge pull request #151363 from Stunkymonkey/doc-updateWalkerSandro1-2/+0
2022-01-26update-walker: remove because unusedFelix Buehler1-2/+0
2022-01-23stdenv: fix shellcheck complaining about things not being posix compliantSandro Jäckel1-0/+1
2022-01-23stdenv: restore bash options -e/-u to the values they where beforeSandro Jäckel1-2/+5
Source https://github.com/akinomyoga/ble.sh/issues/169#issuecomment-1019049032 Author: akinomyoga
2022-01-13stdenv/darwin: fix for curl with zstd and idn2Dmitry Kalinkin1-0/+5
The `curlMinimal` is to be used throughout the early bootstrap stages. The final stage will allow the new references of the `curl`. Fixes: 29526bc2 ('curl: IDN support requires libidn2 package')
2022-01-08Merge pull request #153790 from sternenseemann/cross-bootstrap-logicJohn Ericson2-2/+8
Cross bootstrapping logic fixes benefitting llvmPackages
2022-01-07llvmPackages_*: respect cc for target when choosing C++ flavoursternenseemann2-2/+8
llvmPackages_*.clang should check the default compiler for the package set it is targeting (targetPackages.stdenv.cc) instead of the compiler that has been used to build it (stdenv.cc) in order to get some sense of whether to use libc++ or libstdc++. Since we are now inspecting targetPackages in the llvmPackages.clang attribute, we need to avoid using it in the cross stdenv — which just forces us to explicitly request libcxxClang for darwin instead of relying on the clang attribute to pick it for us. We also need to do something similar for targetPackages.stdenv.cc: Here the llvmPackages.clang logic would work as we want (inspect targetPackages.stdenv.cc and if it doesn't exist, make the choice based on stdenv.cc), but it gets locked in a cycle with the previous package. We can easily break this, however: We know that the previous set had clang and the next one doesn't exist, so we'd choose libcxxClang any day of the week.
2022-01-04Merge #151399: stdenv: update aarch64 bootstrap-filesVladimír Čunát1-4/+4
...into staging
2021-12-27stdenv/generic: introduce shellDryRunNaïm Favier1-1/+6
Add `shellDryRun` to the generic stdenv and substitute it for uses of `${stdenv.shell} -n`. The point of this layer of abstraction is to add the flag `-O extglob`, which resolves #126344 in a more direct way.
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-20aarch64: update bootstrap-filesDavid Guibert1-4/+4
fixes #112086 Fetch bootstrap files built by Hydra and re-add them as FODs to skip currently dangling URLs. They are already available on https://cache.nixos.org https://hydra.nixos.org/job/nixpkgs/trunk/stdenvBootstrapTools.aarch64-linux.dist -> https://hydra.nixos.org/build/160330465#tabs-buildinputs These commands have been run to get the output hashes as FODs: nix store add-file --name bootstrap-tools.tar.xz $(nix-store -r /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools --option binary-caches https://cache.nixos.org)/on-server/bootstrap-tools.tar.xz nix store add-path --name busybox $(nix-store -r /nix/store/9y4qnwflnxkjrqnfbzhsjv6zq2r0m48z-stdenv-bootstrap-tools --option binary-caches https://cache.nixos.org)/on-server/busybox
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