Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-06-05 | Merge branch 'master' into staging-next | Vladimír Čunát | |
Hydra nixpkgs: ?compare=1523575 | |||
2019-06-04 | Merge pull request #60349 from matthewbauer/fix-60345 | Matthew Bauer | |
check-meta: use system tuple in platforms | |||
2019-05-19 | Merge #61179: stdenv, cacert: $NIX_SSL_CERT_FILE changes | Vladimír Čunát | |
... into staging | |||
2019-05-10 | Changelog meta entry (#60371) | Michael Raskin | |
meta.changelog: enable, document, add for GNU Hello | |||
2019-05-09 | stdenv: also override cert files in pure nix-shell | Vladimír Čunát | |
That's very much consistent with the spirit of nix-shell --pure BTW, nix 1.x shells will be always treated as pure; in that version detection isn't possible. https://github.com/NixOS/nix/commit/1bffd83e1a9c | |||
2019-05-09 | stdenv, cacert: consider $NIX_SSL_CERT_FILE in hooks | Vladimír Čunát | |
Some SSL libs don't react to $SSL_CERT_FILE. That actually makes sense to me, as we add this behavior as nixpkgs-specific, so it seems "safer" to use $NIX_*. | |||
2019-04-30 | check-meta: use system tuple in platforms | Matthew Bauer | |
Fixes #60345 | |||
2019-04-26 | Merge pull request #56744 from matthewbauer/macos-10-12 | Matthew Bauer | |
Update macOS to 10.12 | |||
2019-04-26 | setup.sh: make sure initialPath goes at end of HOST_PATH | Matthew Bauer | |
We want initialPath to have lowest precedence. In addition, unset _PATH and _HOST_PATH as they shouldn’t be needed after final PATH and HOST_PATH are set. | |||
2019-04-23 | Merge pull request #56555 from matthewbauer/wasm | Matthew Bauer | |
Initial WebAssembly/WASI cross-compilation support | |||
2019-04-23 | stdenv, compiler-rt: Compress WASI conditionals | John Ericson | |
2019-04-23 | wasm: init cross target | Matthew Bauer | |
Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs with a WebAssembly toolchain. stdenv/cross: use static overlay on isWasm isWasm doesn’t make sense dynamically linked. | |||
2019-04-23 | Merge pull request #59755 from matthewbauer/patches-in-make-derivation | Matthew Bauer | |
make-derivation: put patches in all derivations | |||
2019-04-21 | make-derivation.nix: minor | volth | |
it seems to change nothing (.platform is always there), just to be consisted with the style of other checks | |||
2019-04-21 | make-derivation.nix: @matthewbauer's review | volth | |
2019-04-21 | fix bootstrap when platform.gcc.arch=="skylake" | volth | |
2019-04-16 | make-derivation: put patches in all derivations | Matthew Bauer | |
This puts patches in all derivations even if it unspecified by the derivation. By default it will be an empty list. This simplifies overrides, as we can now assume that patches is a valid name so that this works: self: super: { mypkg = super.pkg.overrideAttrs (o: { patches = o.patches ++ [ ./my-very-own.patch ]; }); } That is, you don’t need to provide a default "or []", make-derivation provides one for you. Unfortunately, this is a mass rebuild. | |||
2019-04-11 | check-env: don't execute check-meta.nix 15,000 times | Graham Christensen | |
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% | | |||
2019-03-01 | Merge staging-next into master | Frederik Rietdijk | |
2019-02-26 | llvm: support cross compilation with useLLVM flag | Matthew Bauer | |
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? | |||
2019-02-14 | stdenv: only set __darwinAllowLocalNetworking on darwin | Daiderd Jordan | |
This is a darwin only nix attribute for sandbox builds, it can be ignored on other platforms to avoid unnecessary rebuilds. | |||
2019-02-09 | Merge remote-tracking branch 'origin/master' into staging | Matthew Bauer | |
2019-02-04 | make-derivation: only modify name when name is given | Matthew Bauer | |
This preserves Nix’s native error handling of missing name: error: derivation name missing | |||
2019-02-01 | mkDerivation: cleaner handling of the `name` argument | Vincent Laporte | |
2019-02-01 | Merge branch 'staging-next' into staging | Vladimír Čunát | |
2019-02-01 | Merge branch 'master' into staging-next | Vladimír Čunát | |
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 | |||
2019-01-31 | Merge pull request #35884 from dtzWill/fix/man-in-outputsToInstall | Matthew Bauer | |
default to including "man" in outputsToInstall | |||
2019-01-28 | make-derivation: fix ordering of conditionals | Matthew Bauer | |
cross should have higher precedence | |||
2019-01-28 | make-derivation: try to fix stdenv.cc == null conditional | Matthew Bauer | |
sometimes this gets an infinite recursion error | |||
2019-01-28 | make-derivation: fix position in trace | Matthew Bauer | |
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. | |||
2019-01-27 | Merge pull request #49552 from matthewbauer/setup-dedupe | Matthew Bauer | |
setup.sh: avoid running the same hook twice | |||
2019-01-27 | setup.sh: avoid running the same hook twice | Matthew Bauer | |
In strictDeps=false, we don’t want the same package hook to be run twice, otherwise we get duplicates in some flags. Fixes #41340 | |||
2019-01-27 | stdenv/make-derivation: don't hide broken packages | Matthew Bauer | |
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. | |||
2019-01-27 | Merge pull request #54652 from matthewbauer/shell-in-flags-array | Matthew Bauer | |
setup.sh: put SHELL in flagsArray | |||
2019-01-26 | setup.sh: put SHELL in flagsArray | Matthew Bauer | |
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 | |||
2019-01-26 | Merge branch 'master' into fix/man-in-outputsToInstall | Matthew Bauer | |
2019-01-13 | stdenv: make checkInputs native | Frederik Rietdijk | |
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. | |||
2019-01-11 | stdenv: prune libtool files by default (#51767) | Orivej Desh (NixOS) | |
See the motivation in fd97db43bcb05e37f6bb77f363f1e1e239d9de53 (#41819). | |||
2019-01-06 | add generic x86_32 support (#52634) | Daniel Goertzen | |
* 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 | |||
2018-12-22 | treewide: remove paxutils from stdenv | Jörg Thalheim | |
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. | |||
2018-12-18 | stdenv: shorten evaluation errors when in Hydra | Graham Christensen | |
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’ | |||
2018-12-09 | stdenv: prune libtool files by default | Piotr Bogdan | |
2018-11-30 | Merge remote-tracking branch 'upstream/master' into staging | Jan Tojnar | |
2018-11-30 | make-derivation: remove selfConsistent check | Matthew Bauer | |
version is set in lots of places but might not need to be in a name. Alternative to #50364. | |||
2018-11-30 | Merge master into staging-next | Frederik Rietdijk | |
2018-11-29 | Merge pull request #51183 from matthewbauer/make-derivation-no-assertions | Matthew Bauer | |
Fix breaking changes to make-derivation | |||
2018-11-29 | pkgs/stdenv/generic/make-derivation.nix: s/targetPlatform/hostPlatform/ | Vaibhav Sagar | |
2018-11-28 | make-derivation: don’t add host suffix if there is no c compiler | Matthew Bauer | |
Some trivial builders use the name attr to choose the exec name produced. For example nixos-install, nixos-install = makeProg { name = "nixos-install"; src = ./nixos-install.sh; nix = config.nix.package.out; path = makeBinPath [ nixos-enter ]; }; When cross compiling, this puts the prog in, /bin/nixos-install-powerpc64le-unknown-linux-gnu | |||
2018-11-28 | make-derivation: don’t assert on separateDebugInfo | Matthew Bauer | |
When separateDebugInfo = true & !stdenv.hostPlatform.isLinux, we always gave an error. There is no reason to do this. Instead, just don’t add separate debug info when we aren’t on Linux. | |||
2018-11-28 | make-derivation: remove selfConsistent check | Matthew Bauer | |
version is set in lots of places but might not need to be in a name. Alternative to #50364. |