about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2023-02-20express #208478 as assertionsAdam Joseph1-48/+76
PR #208478 added a lot of documentation about which packages were rebuilt in each stage of the stdenv bootstrap. However nothing checks that these comments agree with reality; they can bitrot over time. This PR rewrites those comments as assertions, so they cannot bitrot. This conversion did expose some ambiguity in our scheme for naming the stages. Suppose that `pkgs.stdenv.name=="stdenv-stage4", then which of these is "the stage4 coreutils"? ``` pkgs.coreutils pkgs.stdenv.__bootPackages.coreutils ``` The choice is arbitrary, and both choices have confusing corner cases. We should revisit this at some point.
2023-02-17Merge pull request #216383 from Artturin/bintoolswrappermoldArtturi1-0/+22
2023-02-17stdenvAdapters: add useMoldLinkerArtturin1-0/+22
2023-02-16Merge pull request #212498 from risicle/ris-fortify3Robert Scott3-10/+20
hardening flags: add `FORTIFY_SOURCE=3` support
2023-02-15Merge staging-next into staginggithub-actions[bot]2-4/+4
2023-02-15Merge staging-next into staginggithub-actions[bot]2-3/+3
2023-02-14treewide: use lib.optionalsFelix Buehler2-4/+4
2023-02-13treewide: use optionalStringFelix Buehler2-3/+3
2023-02-13Merge staging-next into staginggithub-actions[bot]1-0/+6
2023-02-13Merge master into staging-nextgithub-actions[bot]1-0/+6
2023-02-12stdenv: aarch64-linux: update the bootstrap tools (incl. busybox)Weijia Wang1-4/+4
Hydra job building them: https://hydra.nixos.org/build/208909151 The bootstrap files can be reproduced on the parent commit, e.g. by: cat $(nix-build pkgs/top-level/release.nix -QA stdenvBootstrapTools.aarch64-linux.dist)/nix-support/hydra-build-products file tarball /nix/store/kdpbw0plmjqlafjnpbz31ja51m4bd2dk-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz file busybox /nix/store/kdpbw0plmjqlafjnpbz31ja51m4bd2dk-stdenv-bootstrap-tools/on-server/busybox and the hashes as well: nix hash file /nix/store/kdpbw0plmjqlafjnpbz31ja51m4bd2dk-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz sha256-aJvtsWeuQHbb14BGZ2EiOKzjQn46h3x3duuPEawG0eE= nix hash path /nix/store/kdpbw0plmjqlafjnpbz31ja51m4bd2dk-stdenv-bootstrap-tools/on-server/busybox sha256-0MuIeQlBUaeisqoFSu8y+8oB6K4ZG5Lhq8RcS9JqkFQ= You can check this on any machine, as the builds are on cache.nixos.org but also you can reproduce the hashes when rebuilt on aarch64-linux HW.
2023-02-11stdenvBootstrapTools: native aarch64-darwin buildStéphan Kochen2-131/+119
2023-02-07stdenv: allow propagating propagated dependencies separately from theArtturin1-30/+35
fixup phase for makeSetupHook
2023-02-07make-derivation.nix: Support inputDerivation on disallowedReferencesRobert Hensing1-0/+6
2023-02-07Merge staging-next into staginggithub-actions[bot]1-1/+0
2023-02-07Merge master into staging-nextgithub-actions[bot]1-1/+0
2023-02-06Merge pull request #206773 from SuperSandro2000/cleanup-unused-bindingsfigsoda1-1/+0
treewide: cleanup some unused bindings
2023-02-07treewide: cleanup some unused bindingsSandro Jäckel1-1/+0
2023-02-06Merge pull request #214937 from hercules-ci/support-NIX_ATTRS-envsArtturi1-4/+10
2023-02-06Merge staging-next into staginggithub-actions[bot]1-0/+1
2023-02-06Merge master into staging-nextgithub-actions[bot]1-0/+1
2023-02-06Merge pull request #214304 from obsidiansystems/pkg-config-metaJohn Ericson1-0/+1
meta.pkgConfigModules: Init convention
2023-02-06stdenv/setup.sh: Allow NIX_ATTRS_{JSON,SH}_FILE to be set correctly by NixRobert Hensing1-4/+10
2023-02-05Merge staging-next into staginggithub-actions[bot]1-3/+1
2023-02-05Merge master into staging-nextgithub-actions[bot]1-3/+1
2023-02-04Merge pull request #213633 from alyssais/mkDerivation-meson-exoticsuperherointj1-3/+1
stdenv.mkDerivation: fix meson for some archs
2023-02-03meta.pkgConfigModules: Init conventionJohn Ericson1-0/+1
See docs. Follow-up work: - Existing packages should be converted - `defaultPkgConfigPackages` should assert on `meta.pkgConfigModules` and let `tests.pkg-config` alone test the build results. CC @sternenseemann Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-02-03Merge pull request #211685 from Artturin/splicingstuff1-splitArtturi1-24/+25
2023-01-31Merge pull request #211783 from R-VdP/fix_disallowed_referencesArtturi1-0/+41
stdenv: don't include drvs in disallowedRefs as build-time deps.
2023-01-31stdenv: show supported and requested platforms when check meta failsSandro Jäckel1-1/+1
2023-01-31Merge staging-next into staginggithub-actions[bot]1-1/+1
2023-01-31Merge master into staging-nextgithub-actions[bot]1-1/+1
2023-01-30stdenv.mkDerivation: fix meson for some archsAlyssa Ross1-3/+1
platform.uname.processor seems to be what we want in many more cases than what we were using before — it does the right thing for aarch64, x86_64, riscv32, riscv64, mips, mips64, powerpc, and powerpc64 (the latter three of which were broken before). This fixes cross-compilation of systemd for PowerPC/POWER platforms.
2023-01-30stdenv: don't include drvs in disallowedRefs as build-time deps.R-VdP1-0/+41
Derivations listed as disallowedReferences or disallowedRequisites, currently end up as build-time dependencies. This is problematic since the disallowed derivations will be built by nix as build-time dependencies, while those derivations might take a very long time to build, or might not even build successfully on the platform used. However, in order to scan for disallowed references in the final output, knowing the out path is sufficient, and the out path can be calculated from the derivation without needing to build it, saving time and resources. While the problem is less severe for allowedReferences and allowedRequisites, since we want the derivation to be built eventually, we would still like to get the error early and without having to wait while nix builds a derivation that might not be used (e.g. if we listed the wrong one).
2023-01-29Merge pull request #211910 from tejing1/srcs-name-collisionSergei Trofimovich1-1/+10
stdenv: Improve error from `stdenv` when `srcs` is used with colliding directories
2023-01-29Merge pull request #211126 from trofi/binutils-updateSergei Trofimovich1-0/+1
binutils: 2.39 -> 2.40
2023-01-29improve error when srcs is used with directories with the same post-hash nameJeff Huffman1-1/+10
2023-01-27binutils: 2.39 -> 2.40Sergei Trofimovich1-0/+1
A few potentially disruptive changes: - binutils does not embed ${binutils-unwrapped}/lib as a default library search path anymore. This will cause link failures for -lbfd -lopcodes users that did not declare their dependency on those libraries. They will need to add `libbfd` and `libopcodes` attributes to build inputs. - `libbfd` and `libopcodes` attributes now just reference `binutils-unwrapped.{dev,lib}` pair of attributes without patching `binutils` build system. We don't patch build system anymore and use multiple outputs out of existing `binutils` build. That makes the result more maintainable: no need to handle ever growing list of dependencied of `libbfd`. This time new addition was `libsframe`. To accomodate `out` / `lib` output split I had to remove `lib` -> `bin` backreference by removing legacy lookup path for plugins. I also did not enable `zstd` just yet as `nixpkgs` version of `zstd` package pulls in `cmake` into bootstrap sequence. Changes: https://lists.gnu.org/archive/html/info-gnu/2023-01/msg00003.html
2023-01-27Revert "lib/meta.nix: platformMatch: allow predicate functions"Adam Joseph1-1/+1
This reverts commit b7d097438b9b0f782a707f3295d320d824810864.
2023-01-25Merge master into staging-nextgithub-actions[bot]1-0/+4
2023-01-24gcc: mark hardeningUnsupportedFlags fortify3 for all but gcc 12Robert Scott2-0/+2
2023-01-24mkDerivation: add support for fortify3 hardening flagRobert Scott1-10/+18
2023-01-24llvmPackages: use libcxxrt on FreeBSDAlyssa Ross1-0/+4
FreeBSD doesn't use LLVM's cxxabi implementation, for backwards compatibility reasons. Software expects the libcxxrt API when building on FreeBSD. This fixes the build of pkgsCross.x86_64-freebsd.boost.
2023-01-22Merge master into staging-nextgithub-actions[bot]1-1/+1
2023-01-22lib/meta.nix: platformMatch: allow predicate functionsAdam Joseph1-1/+1
2023-01-21Merge remote-tracking branch 'origin/staging' into staging-nativeCheckInputsGuillaume Girol2-2/+2
2023-01-21make-bootstrap-tools.nix: fix for wrapped gzipArtturin2-2/+2
2023-01-21mkDerivation: introduce native checkInputs and nativeCheckInputsGuillaume Girol1-24/+31
When strictDeps is set, only nativeCheckInputs are added to PATH and only checkInputs can be linked against. See https://github.com/NixOS/nixpkgs/issues/161570
2023-01-21Merge branch 'nativeCheckInputs' into staging-nativeCheckInputsGuillaume Girol2-25/+32
2023-01-20Merge remote-tracking branch 'origin/staging-next' into stagingSergei Trofimovich1-1/+1
Conflicts: pkgs/development/libraries/qt-6/modules/qtbase.nix pkgs/stdenv/linux/make-bootstrap-tools.nix