about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2024-03-20Merge master into staging-nextgithub-actions[bot]1-5/+9
2024-03-20stdenvAdapters.useLibsFrom: use targetStdenv.cc.overrideConnor Baker1-5/+9
As @SomeoneSerge pointed out in https://github.com/NixOS/nixpkgs/pull/281371#discussion_r1531174155, by avoiding `wrapCCWith` and using `targetStdenv.cc.override`, we avoid roundtrip wrapping and are able to use `coreutils` from `targetStdenv`.
2024-03-20stdenv/check-meta: Remove outputsToInstall list concat from common metaadisbladis1-4/+8
Normally either of "bin" or "out" will hit first so we can avoid dynamic looping altogether.
2024-03-19stdenv.darwin.make-boostrap-tools: include unpack script in the archiveannalee2-39/+51
2024-03-19stdenv.darwin.make-boostrap-tools: update tools and unpin LLVM11annalee2-108/+148
- unpin LLVM11. fix discrepancy with freshBootstrapTools and the tools built on hydra. pinning the stdenv for the hydra build doesn't pin the tools as the included packages are able to change. - remove unused LLVM tools & libs which reduces the uncompressed and compressed file sizes by more than 1/2. compressed tarball is now 40M and uncompressed is around 200M - add @loader_path/. to dylibs that reference other libs in the archive. this is needed for libraries with re-exports. - validate shared objects with @rpath references contain the reference in lib - add a test to verify that the @loader_path/ works for libc++ as it re-exports libc++abi
2024-03-19stdenv.darwin.make-boostrap-tools: refactor to use getBin, getDev and getLibannalee1-58/+65
2024-03-19freshBootstrapTools: LLVM11 unpinannalee1-17/+1
2024-03-18stdenv: pass --mode=+w to tar, ensuring extraction is possiblebinarycat1-2/+2
fixes #191137
2024-03-18Merge master into staging-nextgithub-actions[bot]1-2/+2
2024-03-17darwin.stdenv: drop curl from the bootstrapRandy Eckenrode1-33/+33
The Darwin bootstrap currently requires curl, but it is not strictly required. The bootstrap requires it for two things: * Fetchers; and * As a transitive dependency of llvm-manpages (via Sphinx). For the fetchers, the bootstrap curl can be used. For hatch-vcs, the dependency, its tests can be disabled. Doing this allows curl to be dropped from the Darwin stdenv bootstrap.
2024-03-17make-derivation.nix: Fix checkMetaRecursivelyRobert Hensing1-2/+2
Oddly, I can't reproduce the error, but this change will make it more robust. See https://github.com/NixOS/nixpkgs/pull/295378#issuecomment-2002094487
2024-03-14Merge master into staging-nextgithub-actions[bot]3-147/+171
2024-03-12make-derivation.nix: Float out unsafeDerivationToUntrackedOutpathRobert Hensing1-7/+7
2024-03-12make-derivation.nix: Update inline docsRobert Hensing1-2/+10
2024-03-12make-derivation.nix: Float out new constant removedOrReplacedAttrNamesRobert Hensing1-7/+10
2024-03-12make-derivation.nix: Float out knownHardeningFlagsRobert Hensing1-13/+14
2024-03-12make-derivation.nix: Float inward darwin-specific derivation attributesRobert Hensing1-22/+23
2024-03-12make-derivation.nix: Evaluate flipRobert Hensing1-5/+7
2024-03-12make-derivation.nix: Apply map composition lawRobert Hensing1-15/+15
... after inlining chooseDevOutputs.
2024-03-12make-derivation.nix: Drop duplicate functionality from previous commitRobert Hensing1-85/+2
These two commits make for a cleaner commit history and git blame than https://github.com/NixOS/nixpkgs/pull/295105, where this refactor was developed. See its commit messages for details and design choices, esp. up to and including 37f76fd4c3b23b324ab7ea06ef3b747338d2080f.
2024-03-12make-derivation.nix: Split makeDerivationArgument, mkDerivation with ↵Robert Hensing1-1/+88
duplicate functionality
2024-03-11Merge staging-next into staginggithub-actions[bot]2-0/+22
2024-03-11make-derivation.nix: Return mkDerivation as an attributeRobert Hensing3-3/+5
2024-03-11make-derivation.nix: Move into let bindingRobert Hensing1-4/+7
2024-03-11llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: merge libcxxabi ↵a-n-n-a-l-e-e4-63/+29
into libcxx (#292043) - merge libcxxabi into libcxx for LLVM 12, 13, 14, 15, 16, 17, and git. - remove the link time workaround `-lc++ -lc++abi` from 58 packages as it is no longer required. - fixes https://github.com/NixOS/nixpkgs/issues/166205 - provides alternative fixes for. https://github.com/NixOS/nixpkgs/issues/269548 https://github.com/NixOS/nix/issues/9640 - pkgsCross.x86_64-freebsd builds work again This change can be represented in 3 stages 1. merge libcxxabi into libcxx -- files: pkgs/development/compilers/llvm/[12, git]/{libcxx, libcxxabi} 2. update stdenv to account for merge -- files: stdenv.{adapters, cc.wrapper, darwin} 3. remove all references to libcxxabi outside of llvm (about 58 packages modified) ### merging libcxxabi into libcxx - take the union of the libcxxabi and libcxx cmake flags - eliminate the libcxx-headers-only package - it was only needed to break libcxx <-> libcxxabi circular dependency - libcxx.cxxabi is removed. external cxxabi (freebsd) will symlink headers / libs into libcxx. - darwin will re-export the libcxxabi symbols into libcxx so linking `-lc++` is sufficient. - linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient. - libcxx/default.nix [12, 17] are identical except for patches and `LIBCXX_ADDITIONAL_LIBRARIES` (only used in 16+) - git/libcxx/defaul.nix does not link with -nostdlib when useLLVM is true so flag is removed. this is not much different than before as libcxxabi used -nostdlib where libcxx did not, so libc was linked in anyway. ### stdenv changes - darwin bootstrap, remove references to libcxxabi and cxxabi - cc-wrapper: remove c++ link workaround when libcxx.cxxabi doesn't exist (still exists for LLVM pre 12) - adapter: update overrideLibcxx to account for a pkgs.stdenv that only has libcxx ### 58 package updates - remove `NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}` as no longer needed - swift, nodejs_v8 remove libcxxabi references in the clang override https://github.com/NixOS/nixpkgs/pull/292043
2024-03-10pkgs/stdenv/linux: init powerpc64-unknown-linux-gnuabielfv2 bootstrap-filesOPNA26082-0/+22
sha256sum of files to be uploaded: $ sha256sum /nix/store/8frm8kk8gzpv31r289ai5jgkwfikmpm4-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv2/on-server/* 0af311476b54b399f3024b92e9c518363acd2b15f713e83d0bb4fb3f8f26d98b /nix/store/8frm8kk8gzpv31r289ai5jgkwfikmpm4-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv2/on-server/bootstrap-tools.tar.xz 529a053a8022e89357aaa608e57aaddaa7c3ded93d633916ddca92bb81e22125 /nix/store/8frm8kk8gzpv31r289ai5jgkwfikmpm4-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv2/on-server/busybox Suggested commands to upload files to 'tarballs.nixos.org': $ nix-store --realize /nix/store/8frm8kk8gzpv31r289ai5jgkwfikmpm4-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv2 $ aws s3 cp --recursive --acl public-read /nix/store/8frm8kk8gzpv31r289ai5jgkwfikmpm4-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv2/on-server/ s3://nixpkgs-tarballs/stdenv/powerpc64-unknown-linux-gnuabielfv2/57cf2e0b24fb52344cc718913eaed78f389b1319 $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/powerpc64-unknown-linux-gnuabielfv2/57cf2e0b24fb52344cc718913eaed78f389b1319 ./ $ sha256sum bootstrap-tools.tar.xz busybox $ sha256sum /nix/store/8frm8kk8gzpv31r289ai5jgkwfikmpm4-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv2/on-server/*
2024-03-09Revert "stdenv: log build hooks as they run"a-n-n-a-l-e-e1-43/+0
2024-03-09Merge staging-next into staginggithub-actions[bot]1-0/+1
2024-03-08Merge pull request #293257 from ↵Weijia Wang1-0/+1
OPNA2608/add/make-bootstrap-tools-cross-powerpc64 pkgs/stdenv/linux/make-bootstrap-tools-cross: Add powerpc64 entry
2024-03-04Merge staging-next into staginggithub-actions[bot]1-1/+4
2024-03-04Merge master into staging-nextgithub-actions[bot]1-1/+4
2024-03-04pkgs/stdenv/linux/make-bootstrap-tools-cross: Add powerpc64 entryOPNA26081-0/+1
So Hydra can cross-compile bootstrapFiles for the platform.
2024-03-04Merge pull request #288250 from trofi/make-bootstrap-tools-cross-new-targeta-n-n-a-l-e-e1-1/+4
pkgs/stdenv/linux/make-bootstrap-tools-cross.nix: allow entries for t…
2024-03-04Merge pull request #290081 from Qyriad/diag/log-hooksRyan Lahfa1-0/+43
stdenv: log build hooks as they run
2024-02-26prev: per-review: reword comment regarding logging of implicit hooks Qyriad1-2/+2
Addresses the following review comment: https://github.com/NixOS/nixpkgs/pull/290081#discussion_r1503503065 This will be squashed into the previous commit pending review. Co-authored-by: Philip Taron <philip.taron@gmail.com>
2024-02-25prev: apply fixes from code reviewQyriad1-4/+4
Addresses the following review comments: - https://github.com/NixOS/nixpkgs/pull/290081/files/eb28e5e72ef912629ded3e265f7344ca21d115b9#r1501466125 - https://github.com/NixOS/nixpkgs/pull/290081/files/eb28e5e72ef912629ded3e265f7344ca21d115b9#r1501466232 This will be squashed into the previous commit pending review.
2024-02-24cc-wrapper: add trivialautovarinit hardening flag supportRobert Scott3-2/+3
this equates to -ftrivial-auto-var-init=pattern clang has removed support for -ftrivial-auto-var-init=zero and are unlikely to re-add it, so use -ftrivial-auto-var-init=pattern on both compilers if only to make behaviour more consistent between the two. add to pkgsExtraHardening's defaultHardeningFlags.
2024-02-17stdenv: log build hooks as they runQyriad1-0/+43
2024-02-17Merge #288866: pkgs/stdenv/linux: update x86_64-unknown-linux-gnu ↵Vladimír Čunát1-5/+17
bootstrap-files ...into staging
2024-02-17Merge #286721: stdenv: fix rare tar.xz decompression issuesVladimír Čunát1-1/+5
...into staging
2024-02-15pkgs/stdenv/linux/make-bootstrap-tools-cross.nix: allow entries for to-be ↵Sergei Trofimovich1-1/+4
uplaoded targets Newly added targets should be fine to be added as hudra jobs before the first uplaod happens. Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
2024-02-13stdenv: disregard xz exit status in order to fix subtle decompression issuesIsidor Zeuner1-1/+5
There is a subtle bug with unpacking `tar.xz` archives which seems to happen only on some setups, and sometimes not in a reproducible manner (https://github.com/NixOS/nixpkgs/issues/278130, https://github.com/NixOS/nixpkgs/issues/20950). On the last occurrence, it could be tracked down to `xz` failing from a `SIGPIPE`, which can happen when it's connected to `tar` through a pipe and `tar` exits earlier (see e.g. https://www.linuxquestions.org/questions/slackware-14/%5Bpatch%5D-tar-issuing-a-sigpipe-in-installpkg-4175637923/ or https://bugs.gentoo.org/573642#c5). Since `tar` should be able by itself to detect whether the archive is complete, I suggest to disregard the exit code from the `xz` invocation, done in this PR. Fixes https://github.com/NixOS/nixpkgs/issues/278130 (script tested here: https://github.com/NixOS/nixpkgs/pull/286579) Probably also fixes https://github.com/NixOS/nixpkgs/issues/20950 (issue not reproduced here, feedback therefore welcome)
2024-02-13pkgs/stdenv/linux: update x86_64-unknown-linux-gnu bootstrap-filesSergei Trofimovich1-5/+17
sha256sum of files to be uploaded: $ sha256sum /nix/store/dw6vr6m5w7ysrdrbs0s5wdgbjmbnr7gx-stdenv-bootstrap-tools/on-server/* 61096bd3cf073e8556054da3a4f86920cc8eca81036580f0d72eb448619b50cd /nix/store/dw6vr6m5w7ysrdrbs0s5wdgbjmbnr7gx-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz 87627883b1517087d1c34fadc340bc8deafb3782eb0c60035271822c64dd3401 /nix/store/dw6vr6m5w7ysrdrbs0s5wdgbjmbnr7gx-stdenv-bootstrap-tools/on-server/busybox Suggested commands to upload files to 'tarballs.nixos.org': $ nix-store --realize /nix/store/dw6vr6m5w7ysrdrbs0s5wdgbjmbnr7gx-stdenv-bootstrap-tools $ aws s3 cp --recursive --acl public-read /nix/store/dw6vr6m5w7ysrdrbs0s5wdgbjmbnr7gx-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/x86_64-unknown-linux-gnu/82b583ba2ba2e5706b35dbe23f31362e62be2a9d $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/x86_64-unknown-linux-gnu/82b583ba2ba2e5706b35dbe23f31362e62be2a9d ./ $ sha256sum bootstrap-tools.tar.xz busybox $ sha256sum /nix/store/dw6vr6m5w7ysrdrbs0s5wdgbjmbnr7gx-stdenv-bootstrap-tools/on-server/*
2024-02-11stdenv: refactor of --replace-{quiet,warn,fail} logicKait Lam1-17/+9
This is a small simplification of the control flow surrounding these cases. It should make it more obvious when each case happens, and also explicitly defines the current behaviour of --replace.
2024-02-07Merge pull request #286526 from pbsds/fix-replace-quiet-1707148527Rick van Schijndel1-1/+1
stdenv: fix `substituteStream --replace-quiet` deprecation warning
2024-02-05Merge pull request #285906 from ↵Bernardo Meurer1-6/+16
trofi/update-x86_64-unknown-linux-musl-bootstrap-files pkgs/stdenv/linux: update x86_64-unknown-linux-musl bootstrap-files
2024-02-05stdenv: fix `substituteStream --replace-quiet` deprecation warningPeder Bergebakken Sundt1-1/+1
2024-02-02pkgs/stdenv/linux: update x86_64-unknown-linux-musl bootstrap-filesSergei Trofimovich1-6/+16
sha256sum of files to be uploaded: $ sha256sum /nix/store/b0x0qcbf1gsp50jzw52sbbgdp3jlwcjf-stdenv-bootstrap-tools/on-server/* b745b6311ed4c2d3f260419c468f543ae5df68fe2e5192995c499819c04eb8e0 /nix/store/b0x0qcbf1gsp50jzw52sbbgdp3jlwcjf-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz f4ae6a814d5053b396af788cd47629385cbfa17df5197ff3c33de62dc1dd9116 /nix/store/b0x0qcbf1gsp50jzw52sbbgdp3jlwcjf-stdenv-bootstrap-tools/on-server/busybox Suggested commands to upload files to 'tarballs.nixos.org': $ nix-store --realize /nix/store/b0x0qcbf1gsp50jzw52sbbgdp3jlwcjf-stdenv-bootstrap-tools $ aws s3 cp --recursive --acl public-read /nix/store/b0x0qcbf1gsp50jzw52sbbgdp3jlwcjf-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/x86_64-unknown-linux-musl/125cefd4cf8f857e5ff1aceaef9230ba578a033d $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/x86_64-unknown-linux-musl/125cefd4cf8f857e5ff1aceaef9230ba578a033d ./ $ sha256sum bootstrap-tools.tar.xz busybox $ sha256sum /nix/store/b0x0qcbf1gsp50jzw52sbbgdp3jlwcjf-stdenv-bootstrap-tools/on-server/*
2024-01-30Merge staging-next into staginggithub-actions[bot]3-26/+26
2024-01-29Merge pull request #284542 from trofi/i686-linux-bootstrap-updateBernardo Meurer1-7/+16