about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
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-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 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-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-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
2024-01-28pkgs/stdenv/darwin: move bootstrap files definitions to bootstrap-files/ ↵Sergei Trofimovich3-26/+26
directory The change moves definition of bootstrap files slightly closer to `linux` structure to eventually allow those to update in bulk: https://github.com/NixOS/nixpkgs/issues/253713
2024-01-28pkgs/stdenv/linux: update i686-unknown-linux-gnu bootstrap-filesSergei Trofimovich1-7/+16
sha256sum of files to be uploaded: $ sha256sum /nix/store/5x6dldhza7if5s6wsicaxa8fbndyixps-stdenv-bootstrap-tools/on-server/* 293021dedf7568932230effb3453a3533e9f5c8f48bbe1fb72e383ade5b3f4df /nix/store/5x6dldhza7if5s6wsicaxa8fbndyixps-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz d5bffc3231c9f95699ee34118e26bc788e09c608735e5edb2b433057011fddd1 /nix/store/5x6dldhza7if5s6wsicaxa8fbndyixps-stdenv-bootstrap-tools/on-server/busybox Suggested commands to upload files to 'tarballs.nixos.org': $ nix-store --realize /nix/store/5x6dldhza7if5s6wsicaxa8fbndyixps-stdenv-bootstrap-tools $ aws s3 cp --recursive --acl public-read /nix/store/5x6dldhza7if5s6wsicaxa8fbndyixps-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/i686-unknown-linux-gnu/125cefd4cf8f857e5ff1aceaef9230ba578a033d $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/i686-unknown-linux-gnu/125cefd4cf8f857e5ff1aceaef9230ba578a033d ./ $ sha256sum bootstrap-tools.tar.xz busybox $ sha256sum /nix/store/5x6dldhza7if5s6wsicaxa8fbndyixps-stdenv-bootstrap-tools/on-server/*
2024-01-27Merge branch 'staging-next' into stagingWeijia Wang1-4/+18
2024-01-25stdenvBootstrapTools: update aarch64 muslAlyssa Ross1-4/+18
The aarch64 musl bootstrap tools are woefully outdated. Just getting them to the point of being able to build new versions of themselves required a number of hacks[1] that can be reverted once we have new bootstrap tools, and before that it stdenv didn't even build for the preceding three years. [1]: https://github.com/NixOS/nixpkgs/pull/169764 So, following the script established by previous bootstrap tools updates: Files came from this Hydra build: https://hydra.nixos.org/build/246470544 …which used nixpkgs revision dd5621df6dcb90122b50da5ec31c411a0de3e538 to instantiate: /nix/store/g480ass2vjmakaq03z7k2j95xnxh206a-stdenv-bootstrap-tools.drv …and then built: /nix/store/95lm0y33dayag4542s8bi83s31bw68dr-stdenv-bootstrap-tools I downloaded these files from Hydra and prefetched them into the Nix store with the following commands: STOREPATH=95lm0y33dayag4542s8bi83s31bw68dr-stdenv-bootstrap-tools OPTIONS="--option binary-caches https://cache.nixos.org --option trusted-public-keys cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" nix --extra-experimental-features nix-command store prefetch-file \ file://$(nix --extra-experimental-features nix-command store add-file --name bootstrap-tools.tar.xz $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/bootstrap-tools.tar.xz) nix --extra-experimental-features nix-command store prefetch-file --executable \ file://$(nix --extra-experimental-features nix-command store add-path --name busybox $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/busybox) These commands produced the following output: warning: you did not specify '--add-root'; the result might be removed by the garbage collector Downloaded 'file:///nix/store/fm8ys5bb737j82xgyiciyzpcwmzyi9b2-bootstrap-tools.tar.xz' to '/nix/store/jml0gh0q2rnc9sgr87irz0jfbl0fq545-fm8ys5bb737j82xgyiciyzpcwmzyi9b2-bootstrap-tools.tar.xz' (hash 'sha256-ZY9IMOmx1VOn6uoFDpdJbTnPX59TEkrVCzWNtjQ8/QE='). warning: you did not specify '--add-root'; the result might be removed by the garbage collector Downloaded 'file:///nix/store/rn9fx55mw2s0qg90zdjxa9xn11nlmjpg-busybox' to '/nix/store/9qylz8gqll63pprwkwlyfs9g4zilak2m-rn9fx55mw2s0qg90zdjxa9xn11nlmjpg-busybox' (hash 'sha256-WuOaun7U5enbOy8SuuCo6G1fbGwsO16jhy/oM8K0lAs='). I used the hashes from the output above to create the fetchurl invocation which is part of this commit. I then started the bootstrap with the following command: nix --extra-experimental-features nix-command build -L -f . --arg localSystem '(import ./lib).systems.examples.aarch64-multiplatform-musl' hello As @lovesegfault requested, here are the the sha256sums of all the on-server components for extra verification: sha256sum /nix/store/${STOREPATH}/on-server/* …which produced the following output: 658f4830e9b1d553a7eaea050e97496d39cf5f9f53124ad50b358db6343cfd01 /nix/store/95lm0y33dayag4542s8bi83s31bw68dr-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz 20cdfecb084ddb6b6b958f2b78fd2cc1d9641632f81ec7d5a48fae0a963ad0fa /nix/store/95lm0y33dayag4542s8bi83s31bw68dr-stdenv-bootstrap-tools/on-server/busybox
2024-01-22Merge staging-next into staginggithub-actions[bot]1-4/+18
2024-01-22Merge master into staging-nextgithub-actions[bot]1-4/+18
2024-01-20pkgs/stdenv/linux: update riscv64 bootstrap-filesFrancesco Gazzetta1-4/+18
This PR updates the bootstrap tarballs for riscv64-linux with new Hydra-generated ones. Fixes #275848 (bootstrap assembler too old to build gcc 13). I'll be following the script used in #151399, #168199, #183487, and #188334. Files came from [this](https://hydra.nixos.org/build/246376732#tabs-summary) Hydra build, which used nixpkgs revision 160cedc144aced7a35a91440b46b74ffacd52682 to instantiate: ``` /nix/store/cpiajh4l83b08pynwiwkpxj53d78pcxr-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu.drv ``` and then built: ``` /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu ``` I downloaded these files from Hydra and prefetched them into the nix store with the following commands: ``` STOREPATH=8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu OPTIONS="--option binary-caches https://cache.nixos.org --option trusted-public-keys cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" nix store prefetch-file \ file://$(nix store add-file --name bootstrap-tools.tar.xz $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/bootstrap-tools.tar.xz) nix store prefetch-file --executable \ file://$(nix store add-path --name busybox $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/busybox) ``` These commands produced the following output: ``` Downloaded 'file:///nix/store/xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' to '/nix/store/3fal4gikp92013kac6rdmfbrch2s859b-xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' (hash 'sha256-0LxRd7fdafQezNJ+N2tuOfm0KEwgfRSts5fhP0e0r0s='). Downloaded 'file:///nix/store/9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' to '/nix/store/kb7wyy30y1gxcmdajljr26kxxac606qa-9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' (hash 'sha256-OGO96QUzs2n5pGipn/V87AxzUY9OWKZl417nE8HdZIE='). ``` I used the hashes from the output above to create the `fetchurl` invocation which is part of this commit. I then started the bootstrap with the following command: ``` nix build -L -f . --arg localSystem '(import ./lib).systems.examples.riscv64' hello ``` As @lovesegfault requested, here are the the `sha256sum`s of all the `on-server` components for extra verification: ``` sha256sum /nix/store/${STOREPATH}/on-server/* ``` which produced the following output: ``` d0bc5177b7dd69f41eccd27e376b6e39f9b4284c207d14adb397e13f47b4af4b /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz 65f9433abb598f63c932d33351b14f686551512b1cece1e64c2d0e76aa0ec52e /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/busybox ```
2024-01-20cc-wrapper: add zerocallusedregs hardening flagRobert Scott4-3/+7
this uses the value `used-gpr` which seems to be a commonly chosen value for general use
2024-01-14stdenv: substituteStream: escape echoed pattern in --replace mismatch warningPeder Bergebakken Sundt1-2/+2
2024-01-14stdenv: substituteStream: deprecate --replace in favor of ↵Peder Bergebakken Sundt1-1/+26
--replace-{fail,warn,quiet}
2024-01-13stdenv: fix evaluation if !stdenv.cc.hasCCsternenseemann1-3/+4
stdenv.cc may throw, e.g. in the case of pkgsCross.ghcjs where we must not force it for the purpose of attribute accessing (`or` doesn't implicitly tryEval…). Regression introduced in 1a5bd697adecf27385b69352485baa52a6e02fe9.
2024-01-12stdenvAdapters.useLibsFrom: initSomeone Serge1-0/+24
2024-01-10Merge branch 'master' into staging-nextWeijia Wang1-1/+4
2024-01-10Merge pull request #279463 from trofi/stdenv.adapters-fix-overrideLibcxx-crossWeijia Wang1-1/+4
stdenv.adapters: fix `overrideLibcxx` to refer to existing `compiler…
2024-01-09Merge remote-tracking branch 'origin/master' into staging-nextK9001-1/+1
2024-01-07treewide: simplify exec format conditionalsRyan Burns1-1/+1
2024-01-07stdenv.adapters: fixx `overrideLibcxx` to refer to existing `compiler-rt`Sergei Trofimovich1-1/+4
Before the change `pkgsLLVM` attributes were failing to pull in `compiler-rt` on `x86_64-linux`: $ nix build --no-link -f. pkgsLLVM.asciidoc-full error: error: attribute 'llvmPackages_13' missing at pkgs/stdenv/adapters.nix:86:32: 85| inherit libcxx; 86| extraPackages = [ cxxabi pkgs.pkgsTargetTarget."llvmPackages_${lib.versions.major llvmLibcxxVersion}".compiler-rt ]; | ^ 87| }); It happens because `pkgs.pkgsTargetTarget` are always empty for cross-packages like `pkgsLLVM.`, `pkgsCross.*.` or `--arg crossSystem '...'`.
2024-01-03Merge branch 'master' into staging-nextWeijia Wang2-47/+114
2024-01-02Merge pull request #273935 from adisbladis/lib-meta-typechecks-go-brrrRobert Hensing2-47/+114
stdenv/check-meta: Use bespoke type checking
2023-12-29Merge branch 'master' into staging-nextVladimír Čunát1-2/+2
2023-12-28stdenv: fix eval of pkgsMusl packages with platform constraintsSergei Trofimovich1-2/+2
Before the change `pkgsMusl.adobe-reader` was failing the interpreter: $ nix-instantiate --eval --strict --expr 'with import ./. {}; builtins.tryEval pkgsMusl.adobe-reader' error: error: evaluation aborted with the following error message: 'unsupported platform for the pure Linux stdenv' After the change `pkgsMusl.adobe-reader` returns catchable excation: $ nix-instantiate --eval --strict --expr 'with import ./. {}; builtins.tryEval pkgsMusl.adobe-reader' { success = false; value = false; } Noticed when was exploring `nixpkgs` for uncatchable evaluation errors. Ideally those should only happen when there is a code bug in the use site. In this case it's just a package with incompatible constraints for `musl`. Changed uncatchable `abort` to `throw`.
2023-12-26stdenv/check-meta: Use bespoke type checkingadisbladis2-47/+114
Aka `checkMeta` goes brrr. Using the module system type checking works OK & generates good error messages. The performance of using it however is terrible because of the value merging it does being very allocation heavy. By implementing a very minimal type checker we can drastically improve the performance when nixpkgs is evaluated with `checkMeta = true`.
2023-12-14Merge staging-next into staginggithub-actions[bot]1-1/+6
2023-12-13darwin/make-bootstrap-tools.nix: set -headerpad_max_install_names for coreutilsSergei Trofimovich1-1/+6
Without the change bootstrapTools build fails as: https://cache.nixos.org/log/g5wyq9xqshan6m3kl21bjn1z88hx48rh-stdenv-bootstrap-tools.drv error: install_name_tool: changing install names or rpaths can't be redone for: /nix/store/0hxg356h7lnl2hck23wrdpbib3cckx41-stdenv-bootstrap-tools/bin/tac (for architecture x86_64) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names)
2023-12-12Merge remote-tracking branch 'origin/staging-next' into stagingMartin Weinelt1-15/+33
2023-12-12Merge pull request #269546 from adisbladis/stdenv-meta-no-intermediate-allocadisbladis1-7/+12
stdenv: Avoid allocating intermediate attrset when checking meta validity
2023-12-12Merge pull request #269782 from ↵adisbladis1-8/+21
adisbladis/stdenv-meta-tolist-license-allocations stdenv: Avoid some list allocations in check-meta when checking licenses
2023-12-12stdenv: Avoid allocating intermediate attrset when checking meta validityadisbladis1-7/+12
This is a small performance optimization. It should be impercetible to most. Benchmarks: - Before ``` json { "cpuTime": 0.2777960002422333, "envs": { "bytes": 3832648, "elements": 189513, "number": 144784 }, "gc": { "heapSize": 402915328, "totalBytes": 50229344 }, "list": { "bytes": 655304, "concats": 3249, "elements": 81913 }, "nrAvoided": 218962, "nrFunctionCalls": 127718, "nrLookups": 40946, "nrOpUpdateValuesCopied": 1563978, "nrOpUpdates": 8542, "nrPrimOpCalls": 113032, "nrThunks": 329605, "sets": { "bytes": 29774864, "elements": 1824537, "number": 36392 }, "sizes": { "Attr": 16, "Bindings": 16, "Env": 16, "Value": 24 }, "symbols": { "bytes": 235909, "number": 24432 }, "values": { "bytes": 9691392, "number": 403808 } } ``` - After ``` { "cpuTime": 0.2615779936313629, "envs": { "bytes": 3833832, "elements": 189661, "number": 144784 }, "gc": { "heapSize": 402915328, "totalBytes": 50212960 }, "list": { "bytes": 655304, "concats": 3249, "elements": 81913 }, "nrAvoided": 218814, "nrFunctionCalls": 127718, "nrLookups": 40798, "nrOpUpdateValuesCopied": 1563978, "nrOpUpdates": 8542, "nrPrimOpCalls": 113032, "nrThunks": 329457, "sets": { "bytes": 29765392, "elements": 1824093, "number": 36244 }, "sizes": { "Attr": 16, "Bindings": 16, "Env": 16, "Value": 24 }, "symbols": { "bytes": 235909, "number": 24432 }, "values": { "bytes": 9687840, "number": 403660 } } ```
2023-12-12stdenv: Avoid some list allocations in check-meta when checking licensesadisbladis1-8/+21
2023-12-09stdenvAdapters: add withDefaultHardeningFlagsRobert Scott1-0/+14
2023-12-09mkDerivation, bintools-wrapper: move defaultHardeningFlags determination to ↵Robert Scott1-13/+16
bintools-wrapper this makes it a lot easier to create a modified stdenv with a different set of defaultHardeningFlags and as a bonus allows us to inject the correct defaultHardeningFlags into toolchain wrapper scripts, reducing repetition. while most hardening flags are arguably more of a compiler thing, it works better to put them in bintools-wrapper because cc-wrapper can easily refer to bintools but not vice-versa. mkDerivation can still easily refer to either when it is constructed. this also switches fortran-hook.sh to use the same defaults for NIX_HARDENING_ENABLE as for C. previously NIX_HARDENING_ENABLE defaults were apparently used to avoid passing problematic flags to a fortran compiler, but this falls apart as soon as mkDerivation sets its own NIX_HARDENING_ENABLE - cc.hardeningUnsupportedFlags is a more appropriate mechanism for this as it actively filters out flags from being used by the wrapper, so switch to using that instead. this is still an imperfect mechanism because it doesn't handle a compiler which has both langFortran *and* langC very well - applying the superset of the two's hardeningUnsupportedFlags to either compiler's invocation. however this is nothing new - cc-wrapper already poorly handles a langFortran+langC compiler, applying two setup hooks that have contradictory options.
2023-12-08Merge remote-tracking branch 'origin/master' into stagingDmitry Kalinkin1-41/+0
Conflicts: pkgs/tools/networking/ofono/default.nix