about summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
...
* | | | cross: use newer gnu-config on iOSMatthew Bauer2019-05-07
|/ / /
* / / stdenv/linux: use isCompatible to find bootstrap toolsMatthew Bauer2019-04-19
|/ / | | | | | | | | | | This avoids part of the issue where things like armv7a don’t work because the system doesn’t realize it can use the armv7l bootstrap tools.
* | Merge pull request #59338 from matthewbauer/llvm-libc++Matthew Bauer2019-04-12
|\ \ | | | | | | llvm8: support c++ in cross case
| * | llvm8: support c++ in cross caseMatthew Bauer2019-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this adds libc++ to the LLVM cross, giving us access to the full Nixpkgs set. This requires 4 stages of wrapped compilers: - Clang with no libraries - Clang with just compiler-rt - Clang with Libc, and compiler-rt - Clang with Libc++, Libc, and compiler-rt
* | | check-env: don't execute check-meta.nix 15,000 timesGraham Christensen2019-04-11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generated from https://github.com/NixOS/nix/pull/2761: ``` ns calls ns/call - /home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:22:5 591200 15026 39.3451 + /home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:22:5 8744 308 28.3896 ``` more, generated by: ``` $ NIX_SHOW_STATS=1 NIX_COUNT_CALLS=1 nix-instantiate ./pkgs/top-level/release.nix -A unstable > before 2>&1 $ jq -r '.functions | map((.name + ":" + .file + ":" + (.line|tostring) + ":" + (.column|tostring) + " " + (.count|tostring))) | .[]' before | sort > before.list ``` applying this patch, then: ``` $ NIX_SHOW_STATS=1 NIX_COUNT_CALLS=1 nix-instantiate ./pkgs/top-level/release.nix -A unstable > after 2>&1 $ jq -r '.functions | map((.name + ":" + .file + ":" + (.line|tostring) + ":" + (.column|tostring) + " " + (.count|tostring))) | .[]' after | sort > after.list ``` and then diffing before.list and after.list to get: ``` calls - :/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:4:1 7513 + :/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:4:1 154 - mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:23 7513 + mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:23 154 - mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:26 7513 + mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:26 154 - onlyLicenses:/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:21:18 15026 + onlyLicenses:/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:21:18 308 ``` The following information is from `NIX_SHOW_STATS=1 GC_INITIAL_HEAP_SIZE=4g nix-env -f ./outpaths.nix -qaP --no-name --out-path --arg checkMeta true`: | stat | before | after | Δ | Δ% | |:---------------------------|---------------:|---------------:|:----------------|--------:| | **cpuTime** | 179.915 | 145.543 | 🡖 34.372 | -19.10% | | **envs-bytes** | 3,900,878,824 | 3,599,483,208 | 🡖 301,395,616 | -7.73% | | **envs-elements** | 214,426,071 | 185,881,709 | 🡖 28,544,362 | -13.31% | | **envs-number** | 136,591,891 | 132,026,846 | 🡖 4,565,045 | -3.34% | | **gc-heapSize** | 11,400,048,640 | 12,314,890,240 | 🡕 914,841,600 | 8.02% | | **gc-totalBytes** | 25,976,902,560 | 24,510,740,176 | 🡖 1,466,162,384 | -5.64% | | **list-bytes** | 1,665,290,080 | 1,665,290,080 | 0 | | | **list-concats** | 7,264,417 | 7,264,417 | 0 | | | **list-elements** | 208,161,260 | 208,161,260 | 0 | | | **nrAvoided** | 191,359,386 | 179,693,661 | 🡖 11,665,725 | -6.10% | | **nrFunctionCalls** | 119,665,062 | 116,348,547 | 🡖 3,316,515 | -2.77% | | **nrLookups** | 80,996,257 | 76,069,825 | 🡖 4,926,432 | -6.08% | | **nrOpUpdateValuesCopied** | 213,930,649 | 213,930,649 | 0 | | | **nrOpUpdates** | 12,025,937 | 12,025,937 | 0 | | | **nrPrimOpCalls** | 88,105,604 | 86,451,598 | 🡖 1,654,006 | -1.88% | | **nrThunks** | 196,842,044 | 175,126,701 | 🡖 21,715,343 | -11.03% | | **sets-bytes** | 7,678,425,776 | 7,285,767,928 | 🡖 392,657,848 | -5.11% | | **sets-elements** | 310,241,340 | 294,373,227 | 🡖 15,868,113 | -5.11% | | **sets-number** | 29,079,202 | 27,601,310 | 🡖 1,477,892 | -5.08% | | **sizes-Attr** | 24 | 24 | 0 | | | **sizes-Bindings** | 8 | 8 | 0 | | | **sizes-Env** | 16 | 16 | 0 | | | **sizes-Value** | 24 | 24 | 0 | | | **symbols-bytes** | 16,474,666 | 16,474,676 | 🡕 10 | 0.00% | | **symbols-number** | 376,426 | 376,427 | 🡕 1 | 0.00% | | **values-bytes** | 6,856,506,288 | 6,316,585,560 | 🡖 539,920,728 | -7.87% | | **values-number** | 285,687,762 | 263,191,065 | 🡖 22,496,697 | -7.87% | The following information is from `NIX_SHOW_STATS=1 GC_INITIAL_HEAP_SIZE=4g nix-instantiate ./nixos/release-combined.nix -A tested`: | stat | before | after | Δ | Δ% | |:---------------------------|---------------:|---------------:|:----------------|-------:| | **cpuTime** | 256.071 | 237.531 | 🡖 18.54 | -7.24% | | **envs-bytes** | 7,111,004,192 | 7,041,478,520 | 🡖 69,525,672 | -0.98% | | **envs-elements** | 346,236,940 | 339,588,487 | 🡖 6,648,453 | -1.92% | | **envs-number** | 271,319,292 | 270,298,164 | 🡖 1,021,128 | -0.38% | | **gc-heapSize** | 8,995,291,136 | 10,110,009,344 | 🡕 1,114,718,208 | 12.39% | | **gc-totalBytes** | 37,172,737,408 | 36,878,391,888 | 🡖 294,345,520 | -0.79% | | **list-bytes** | 1,886,162,656 | 1,886,163,472 | 🡕 816 | 0.00% | | **list-concats** | 6,898,114 | 6,898,114 | 0 | | | **list-elements** | 235,770,332 | 235,770,434 | 🡕 102 | 0.00% | | **nrAvoided** | 328,829,821 | 326,618,157 | 🡖 2,211,664 | -0.67% | | **nrFunctionCalls** | 240,850,845 | 239,998,495 | 🡖 852,350 | -0.35% | | **nrLookups** | 144,849,632 | 142,126,339 | 🡖 2,723,293 | -1.88% | | **nrOpUpdateValuesCopied** | 251,032,504 | 251,032,504 | 0 | | | **nrOpUpdates** | 17,903,110 | 17,903,110 | 0 | | | **nrPrimOpCalls** | 140,674,913 | 139,485,975 | 🡖 1,188,938 | -0.85% | | **nrThunks** | 294,643,131 | 288,678,022 | 🡖 5,965,109 | -2.02% | | **sets-bytes** | 9,464,322,192 | 9,456,172,048 | 🡖 8,150,144 | -0.09% | | **sets-elements** | 377,474,889 | 377,134,877 | 🡖 340,012 | -0.09% | | **sets-number** | 50,615,607 | 50,616,875 | 🡕 1,268 | 0.00% | | **sizes-Attr** | 24 | 24 | 0 | | | **sizes-Bindings** | 8 | 8 | 0 | | | **sizes-Env** | 16 | 16 | 0 | | | **sizes-Value** | 24 | 24 | 0 | | | **symbols-bytes** | 3,147,102 | 3,147,064 | 🡖 38 | -0.00% | | **symbols-number** | 82,819 | 82,819 | 0 | | | **values-bytes** | 11,147,448,768 | 10,996,111,512 | 🡖 151,337,256 | -1.36% | | **values-number** | 464,477,032 | 458,171,313 | 🡖 6,305,719 | -1.36% |
* | androidndk: fixup messMatthew Bauer2019-04-10
| | | | | | | | | | | | | | New android ndk (18) now uses clang. We were going through the wrapper that are provided. This lead to surprising errors when building. Ideally we could use the llvm linker as well, but this leads to errors as many packages don’t support the llvm linker.
* | top-level: Create `pkgs{Build,Host,Target}{Build,Host,Target}`John Ericson2019-03-24
| | | | | | | | | | | | | | This is needed to avoid confusing and repeated boilerplate for `fooForTarget`. The vast majority of use-cases can still use `buildPackages or `targetPackages`, which are now defined in terms of these.
* | pkgs/stdenv/booter.nix: fix a typoJan Malakhovski2019-03-14
| |
* | Merge pull request #51628 from ju1m/armMatthew Bauer2019-03-01
|\ \ | | | | | | stdenv: add armv7a-linux system
| * | stdenv: add armv7a-linux systemJulien Moutinho2018-12-06
| | |
* | | Merge staging-next into masterFrederik Rietdijk2019-03-01
|\ \ \
| * | | stdenv: only set __darwinAllowLocalNetworking on darwinDaiderd Jordan2019-02-14
| | |/ | |/| | | | | | | | | | This is a darwin only nix attribute for sandbox builds, it can be ignored on other platforms to avoid unnecessary rebuilds.
* / | llvm: support cross compilation with useLLVM flagMatthew Bauer2019-02-26
|/ / | | | | | | | | | | | | | | | | | | | | | | You can build (partially) with LLVM toolchain using the useLLVM flag. This works like so: nix-build -A hello --arg crossSystem '{ system = "aarch64-unknown-linux-musl"; useLLVM = true }' also don’t separate debug info in lldClang It doesn’t work currently with that setup hook. Missing build-id?
* | Merge remote-tracking branch 'origin/master' into stagingMatthew Bauer2019-02-09
|\ \
| * | make-derivation: only modify name when name is givenMatthew Bauer2019-02-04
| | | | | | | | | | | | | | | | | | This preserves Nix’s native error handling of missing name: error: derivation name missing
| * | mkDerivation: cleaner handling of the `name` argumentVincent Laporte2019-02-01
| | |
* | | Merge branch 'staging-next' into stagingVladimír Čunát2019-02-01
|\ \ \
| * | | Merge branch 'master' into staging-nextVladimír Čunát2019-02-01
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Comments on conflicts: - llvm: d6f401e1 vs. 469ecc70 - docs for 6 and 7 say the default is to build all targets, so we should be fine - some pypi hashes: they were equivalent, just base16 vs. base32
| | * | Merge pull request #35884 from dtzWill/fix/man-in-outputsToInstallMatthew Bauer2019-01-31
| | |\ \ | | | | | | | | | | default to including "man" in outputsToInstall
| | | * \ Merge branch 'master' into fix/man-in-outputsToInstallMatthew Bauer2019-01-26
| | | |\ \
| | | * | | default to including "man" in outputsToInstallWill Dietz2018-02-27
| | | | | |
| | * | | | make-derivation: fix ordering of conditionalsMatthew Bauer2019-01-28
| | | | | | | | | | | | | | | | | | | | | | | | cross should have higher precedence
| | * | | | make-derivation: try to fix stdenv.cc == null conditionalMatthew Bauer2019-01-28
| | | | | | | | | | | | | | | | | | | | | | | | sometimes this gets an infinite recursion error
| | * | | | make-derivation: fix position in traceMatthew Bauer2019-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a long time now, tracing has been broken in Nixpkgs. So when you have an eval error you would get something like this: error: while evaluating the attribute 'buildInputs' of the derivation 'hello-2.10' at /home/mbauer/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:185:11: while evaluating 'chooseDevOutputs' at /home/mbauer/nixpkgs/lib/attrsets.nix:474:22, called from undefined position: while evaluating 'optionals' at /home/mbauer/nixpkgs/lib/lists.nix:257:5, called from /home/mbauer/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:132:17: This is coming from how Nix handles string context and how make-derivation messes with the "name" attribute. This commit should restore the old behavior so you get a nice line number like: error: while evaluating the attribute 'buildInputs' of the derivation 'hello-2.10' at /home/mbauer/nixpkgs/pkgs/applications/misc/hello/default.nix:4:3: while evaluating 'chooseDevOutputs' at /home/mbauer/nixpkgs/lib/attrsets.nix:474:22, called from undefined position: while evaluating 'optionals' at /home/mbauer/nixpkgs/lib/lists.nix:257:5, called from /home/mbauer/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:132:17: NOTE: This will still be broken for cross compilation due to the prefixes we are adding to name.
| | * | | | stdenv/make-derivation: don't hide broken packagesMatthew Bauer2019-01-27
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This behavior ended up breaking the handleEvalIssue functionality by hiding those packages. So something like this: $ nix-env -iA nixpkgs.zoom-us would silently fail, without telling the user how to fix it! Regardless, this "bug" should be handled in Nix - not Nixpkgs. Fixes #38952.
* | | | | Merge pull request #49552 from matthewbauer/setup-dedupeMatthew Bauer2019-01-27
|\ \ \ \ \ | | | | | | | | | | | | setup.sh: avoid running the same hook twice
| * | | | | setup.sh: avoid running the same hook twiceMatthew Bauer2019-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In strictDeps=false, we don’t want the same package hook to be run twice, otherwise we get duplicates in some flags. Fixes #41340
* | | | | | Merge pull request #54652 from matthewbauer/shell-in-flags-arrayMatthew Bauer2019-01-27
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | setup.sh: put SHELL in flagsArray
| * | | | | setup.sh: put SHELL in flagsArrayMatthew Bauer2019-01-26
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don’t want to modify makeFlags, that is given to us by our environment. Adding to it could lead to duplicates after repeated use. Fixes #27533
* | | | | stdenv: make checkInputs nativeFrederik Rietdijk2019-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't run the checkPhase when build != host, so we may as well make the checkInputs native. This signicantly improves the situation of Python packages when enabling strictDeps.
* | | | | stdenv: prune libtool files by default (#51767)Orivej Desh (NixOS)2019-01-11
|\ \ \ \ \ | | | | | | | | | | | | See the motivation in fd97db43bcb05e37f6bb77f363f1e1e239d9de53 (#41819).
| * | | | | stdenv: prune libtool files by defaultPiotr Bogdan2018-12-09
| | | | | |
* | | | | | Merge remote-tracking branch 'origin/master' into stagingFranz Pletz2019-01-10
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | stdenv: allow custom stdenv to take crossOverlaysDylan Simon2019-01-07
| | | | | |
| * | | | | darwin.make-bootstrap-tools: remove dsymutilMatthew Bauer2019-01-06
| | | | | | | | | | | | | | | | | | | | | | | | This hopefully is not needed for the bootstrap tools. Needs more testing.
* | | | | | add generic x86_32 support (#52634)Daniel Goertzen2019-01-06
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add generic x86_32 support - Add support for i386-i586. - Add `isx86_32` predicate that can replace most uses of `isi686`. - `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386". - This branch was used to build working i586 kernel running on i586 hardware. * revert `isi[345]86`, remove dead code - Remove changes to dead code in `doubles.nix` and `for-meta.nix`. - Remove `isi[345]86` predicates since other cpu families don't have specific model predicates. * remove i386-linux since linux not supported on that cpu
* | | | | Merge master into staging-nextFrederik Rietdijk2019-01-02
|\ \ \ \ \
| * | | | | stdenv/native: add missing argumentAndrew Dunham2019-01-02
| | | | | |
| * | | | | Merge pull request #36384 from dtzWill/musl-native-bootstrapWill Dietz2018-12-31
| |\ \ \ \ \ | | | | | | | | | | | | | | x86_64-musl bootstrap: refresh bootstrap tools package
| | * | | | | x86_64-musl bootstrap regen, much smallerWill Dietz2018-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compressed: 28M -> 20M uncompressed: 201M -> 119M Built using: https://github.com/NixOS/nixpkgs/commit/94f3dc4fdf0c6b32816d67f422d8220e9954c76e cc https://github.com/NixOS/nixpkgs/pull/36383
| | * | | | | x86_64-musl: regen again w/symlinks preservedWill Dietz2018-03-06
| | | | | | |
| | * | | | | x86_64-musl: use native-built bootstrap package on x86_64Will Dietz2018-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Built using: https://github.com/NixOS/nixpkgs/commits/46f83fa9d1bf00b09b1e9a9aa83f577c246ac674
* | | | | | | Merge branch 'master' into stagingJan Tojnar2018-12-25
|\| | | | | |
| * | | | | | Separate androidndkpkgs from androidenvSander van der Burg2018-12-18
| | | | | | |
* | | | | | | treewide: remove paxutils from stdenvJörg Thalheim2018-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More then one year ago we removed grsecurity kernels from nixpkgs: https://github.com/NixOS/nixpkgs/pull/25277 This removes now also paxutils from stdenv.
* | | | | | | Merge staging-next into stagingFrederik Rietdijk2018-12-19
|\| | | | | |
| * | | | | | stdenv: shorten evaluation errors when in HydraGraham Christensen2018-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hydra's page showing evaluation errors is about a mile long, showing buckets of user-friendly errors, like this: in job ‘seyren.aarch64-linux’: Package ‘oraclejre-8u191’ in /nix/store/fa9zzkbljkvdavwzirkrr5irg25ymbjl-source/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix:71 has an unfree license (‘unfree’), refusing to evaluate. a) For `nixos-rebuild` you can set { nixpkgs.config.allowUnfree = true; } in configuration.nix to override this. b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add { allowUnfree = true; } to ~/.config/nixpkgs/config.nix. in job ‘jetbrains.webstorm.x86_64-linux’: Package ‘webstorm-2018.3.1’ in /nix/store/fa9zzkbljkvdavwzirkrr5irg25ymbjl-source/pkgs/applications/editors/jetbrains/default.nix:230 has an unfree license (‘unfree’), refusing to evaluate. a) For `nixos-rebuild` you can set { nixpkgs.config.allowUnfree = true; } in configuration.nix to override this. b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add { allowUnfree = true; } to ~/.config/nixpkgs/config.nix. This makes it extremely hard to find actual issues in the output. This patch set makes the output much more condensed in Hydra: Failed to evaluate nifticlib-2.0.0: «unsupported»: is not supported on ‘x86_64-apple-darwin’ Failed to evaluate dmd-2.081.2: «unsupported»: is not supported on ‘aarch64-unknown-linux-gnu’ Failed to evaluate dmdBuild-2.081.2: «unsupported»: is not supported on ‘aarch64-unknown-linux-gnu’ Failed to evaluate ldc-1.11.0: «unsupported»: is not supported on ‘aarch64-unknown-linux-gnu’ Failed to evaluate ldcBuild-1.11.0: «unsupported»: is not supported on ‘aarch64-unknown-linux-gnu’ Failed to evaluate ldc-0.17.5: «unsupported»: is not supported on ‘aarch64-unknown-linux-gnu’ Failed to evaluate ldcBuild-0.17.5: «unsupported»: is not supported on ‘aarch64-unknown-linux-gnu’
* | | | | | | Merge remote-tracking branch 'upstream/master' into stagingJan Tojnar2018-12-16
|\| | | | | |
| * | | | | | makeStaticBinaries: add a static glibc when performing a mkDerivationJames Kay2018-12-14
| | |/ / / / | |/| | | |
* / | | | | cctools: don’t depend on clang at runtimeMatthew Bauer2018-12-10
|/ / / / / | | | | | | | | | | | | | | | --disable-clang-as flag disables the use of clang by cctools-port