This reworks some of xcbuild logic to make it more compatible with
Apple’s SDK.
- Add a fake version of xcrun & xcode-select
- Cleanup platform generation. Clang does not like having 20 char
hashes in sysroot so it is much easier to just build the parent
directory for each runCommand. This is a little awkward but I have
renamed everything with an added ‘s’ to make the distinction more clear.
- Cleaned up wrapper.nix in some different ways
- Reuse some versioning logic so that we don’t end up with two
different versions of Xcode or SDK reported.
Need to use fetchFromGitHub because examples/ is missing from PyPI tarball.
Also clean up the expression and specify appropriate checkInputs.
Fixes #42867.
Fixes #43015 for me and hopefully also similar issues.
== Resource consumption ==
TL;DR: no change for small-memory cases, less CPU for large-memory cases.
I assume almost all of the large memory usage is just the expression
evaluation and managed by the GC, so I used just `nix-env -q...` to test.
Old and new lines for each command follow. I tried to run each several
times, but the values were very stable (<1% difference on re-runs),
so only one line for each command-version pair is provided.
$ time nix-env -f . -qaP --description -A nix >/dev/null
- 0.06user 0.01system 0:00.07elapsed 101%CPU (0avgtext+0avgdata 29036maxresident)k
+ 0.06user 0.01system 0:00.07elapsed 102%CPU (0avgtext+0avgdata 29864maxresident)k
$ time nix-env -f . -qaP --description >/dev/null
- 6.45user 0.36system 0:06.82elapsed 99%CPU (0avgtext+0avgdata 1021024maxresident)k
+ 6.23user 0.33system 0:06.57elapsed 100%CPU (0avgtext+0avgdata 938408maxresident)k
$ time nix-env -f . --show-trace -qa --drv-path --system --meta --xml 2>&1 >/dev/null
- 56.35user 0.96system 0:31.03elapsed 184%CPU (0avgtext+0avgdata 3207708maxresident)k
+ 44.80user 0.91system 0:26.12elapsed 175%CPU (0avgtext+0avgdata 3192696maxresident)k
$ time ./result-nix-large/bin/nix-instantiate --dry-run --eval --strict \
--show-trace ./maintainers/scripts/eval-release.nix > /dev/null
- Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
- Command terminated by signal 6
- 175.18user 2.68system 1:17.42elapsed 229%CPU (0avgtext+0avgdata 8468440maxresident)k
+ 178.48user 2.78system 1:15.11elapsed 241%CPU (0avgtext+0avgdata 8460572maxresident)k
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/conan/versions.
These checks were done:
- built on NixOS
- Warning: no invocation of /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1/bin/.conan_server-wrapped had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1/bin/conan_server had a zero exit code or showed the expected version
- /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1/bin/.conan_build_info-wrapped passed the binary check.
- /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1/bin/conan_build_info passed the binary check.
- Warning: no invocation of /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1/bin/.conan-wrapped had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1/bin/conan had a zero exit code or showed the expected version
- 2 of 6 passed binary check by having a zero exit code.
- 0 of 6 passed binary check by having the new version present in output.
- found 1.5.1 with grep in /nix/store/c92p18la19jbr7ya0ml77gn6z9c9zagn-conan-1.5.1
- directory tree listing: https://gist.github.com/097b90f575be6117eceec5c70235c405
- du listing: https://gist.github.com/54f8f4a3882e828289ab5b96dd0fa338
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/eccodes/versions.
These checks were done:
- built on NixOS
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_compare_dir had a zero exit code or showed the expected version
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/codes_info passed the binary check.
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/codes_count had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/codes_split_file had a zero exit code or showed the expected version
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_histogram passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_filter passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_ls passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_dump passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_merge passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib2ppm passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_set passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_get passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_get_data passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_copy passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_compare passed the binary check.
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/codes_parser had a zero exit code or showed the expected version
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_index_build passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_ls passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_dump passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_set passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_get passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_copy passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_compare passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_index_build passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/gts_get passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/gts_compare passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/gts_copy passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/gts_dump passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/gts_filter passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/gts_ls passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/metar_dump passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/metar_ls passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/metar_compare passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/metar_get passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/metar_filter passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/metar_copy passed the binary check.
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_count had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_count had a zero exit code or showed the expected version
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/grib_to_netcdf passed the binary check.
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/codes_bufr_filter passed the binary check.
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/tigge_check had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/tigge_name had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/tigge_accumulations had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/tigge_split had a zero exit code or showed the expected version
- /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0/bin/bufr_filter passed the binary check.
- 35 of 45 passed binary check by having a zero exit code.
- 33 of 45 passed binary check by having the new version present in output.
- found 2.8.0 with grep in /nix/store/jbapwbwcmj3j9z60f1gmi5nig6m7h54r-eccodes-2.8.0
- directory tree listing: https://gist.github.com/7edf806095f4a820d000f95893532dca
- du listing: https://gist.github.com/5742e612398104ad9b43d5604dd3c280