Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-04-12 | Merge pull request #59338 from matthewbauer/llvm-libc++ | Matthew Bauer | 1 | -1/+1 | |
llvm8: support c++ in cross case | |||||
2019-04-11 | llvm8: support c++ in cross case | Matthew Bauer | 1 | -1/+1 | |
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 | |||||
2019-04-11 | check-env: don't execute check-meta.nix 15,000 times | Graham Christensen | 2 | -13/+15 | |
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-04-10 | androidndk: fixup mess | Matthew Bauer | 1 | -1/+1 | |
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. | |||||
2019-03-24 | top-level: Create `pkgs{Build,Host,Target}{Build,Host,Target}` | John Ericson | 1 | -7/+19 | |
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. | |||||
2019-03-14 | pkgs/stdenv/booter.nix: fix a typo | Jan Malakhovski | 1 | -1/+1 | |
2019-03-01 | Merge pull request #51628 from ju1m/arm | Matthew Bauer | 2 | -0/+2 | |
stdenv: add armv7a-linux system | |||||
2019-03-01 | Merge staging-next into master | Frederik Rietdijk | 1 | -0/+3 | |
2019-02-26 | llvm: support cross compilation with useLLVM flag | Matthew Bauer | 2 | -1/+3 | |
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 | 1 | -0/+3 | |
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 | 1 | -6/+6 | |
2019-02-04 | make-derivation: only modify name when name is given | Matthew Bauer | 1 | -2/+2 | |
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 | 1 | -5/+5 | |
2019-02-01 | Merge branch 'staging-next' into staging | Vladimír Čunát | 1 | -16/+13 | |
2019-02-01 | Merge branch 'master' into staging-next | Vladimír Čunát | 1 | -16/+13 | |
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 | 1 | -1/+2 | |
default to including "man" in outputsToInstall | |||||
2019-01-28 | make-derivation: fix ordering of conditionals | Matthew Bauer | 1 | -3/+3 | |
cross should have higher precedence | |||||
2019-01-28 | make-derivation: try to fix stdenv.cc == null conditional | Matthew Bauer | 1 | -1/+1 | |
sometimes this gets an infinite recursion error | |||||
2019-01-28 | make-derivation: fix position in trace | Matthew Bauer | 1 | -12/+10 | |
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 | 1 | -0/+8 | |
setup.sh: avoid running the same hook twice | |||||
2019-01-27 | setup.sh: avoid running the same hook twice | Matthew Bauer | 1 | -0/+8 | |
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 | 1 | -3/+1 | |
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 | 1 | -3/+4 | |
setup.sh: put SHELL in flagsArray | |||||
2019-01-26 | setup.sh: put SHELL in flagsArray | Matthew Bauer | 1 | -3/+4 | |
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 | 21 | -399/+683 | |
2019-01-13 | stdenv: make checkInputs native | Frederik Rietdijk | 1 | -4/+4 | |
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) | 1 | -0/+1 | |
See the motivation in fd97db43bcb05e37f6bb77f363f1e1e239d9de53 (#41819). | |||||
2019-01-10 | Merge remote-tracking branch 'origin/master' into staging | Franz Pletz | 2 | -2/+2 | |
2019-01-07 | stdenv: allow custom stdenv to take crossOverlays | Dylan Simon | 1 | -1/+1 | |
2019-01-06 | darwin.make-bootstrap-tools: remove dsymutil | Matthew Bauer | 1 | -1/+1 | |
This hopefully is not needed for the bootstrap tools. Needs more testing. | |||||
2019-01-06 | add generic x86_32 support (#52634) | Daniel Goertzen | 1 | -1/+3 | |
* 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 | |||||
2019-01-02 | Merge master into staging-next | Frederik Rietdijk | 2 | -5/+5 | |
2019-01-02 | stdenv/native: add missing argument | Andrew Dunham | 1 | -1/+1 | |
2018-12-31 | Merge pull request #36384 from dtzWill/musl-native-bootstrap | Will Dietz | 1 | -4/+4 | |
x86_64-musl bootstrap: refresh bootstrap tools package | |||||
2018-12-25 | Merge branch 'master' into staging | Jan Tojnar | 1 | -1/+1 | |
2018-12-22 | treewide: remove paxutils from stdenv | Jörg Thalheim | 4 | -13/+6 | |
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-19 | Merge staging-next into staging | Frederik Rietdijk | 1 | -3/+9 | |
2018-12-18 | Separate androidndkpkgs from androidenv | Sander van der Burg | 1 | -1/+1 | |
2018-12-18 | stdenv: shorten evaluation errors when in Hydra | Graham Christensen | 1 | -3/+9 | |
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-16 | Merge remote-tracking branch 'upstream/master' into staging | Jan Tojnar | 1 | -4/+11 | |
2018-12-14 | makeStaticBinaries: add a static glibc when performing a mkDerivation | James Kay | 1 | -4/+11 | |
2018-12-10 | cctools: don’t depend on clang at runtime | Matthew Bauer | 1 | -1/+0 | |
--disable-clang-as flag disables the use of clang by cctools-port | |||||
2018-12-09 | stdenv: prune libtool files by default | Piotr Bogdan | 1 | -0/+1 | |
2018-12-07 | Merge master into staging-next | Frederik Rietdijk | 10 | -18/+37 | |
2018-12-06 | stdenv: add armv7a-linux system | Julien Moutinho | 2 | -0/+2 | |
2018-12-05 | stdenv/darwin: fix portable libsystem hook | Matthew Bauer | 1 | -2/+4 | |
Some packages don’t have /bin directories. We should only run install_name_tool if that directory exists. | |||||
2018-12-04 | top-level/stage.nix: add static overlay | Matthew Bauer | 1 | -0/+10 | |
Adds the static overlay that can be used to build Nixpkgs statically. Can be used like: nix build pkgsStatic.hello Not all packages build, as some rely on dynamic linking. | |||||
2018-12-04 | stdenv/adapters.nix: fixup makeStaticBinaries | Matthew Bauer | 1 | -3/+5 | |
- makeStaticBinaries don’t work on Darwin (no stable ABI!) - Need to make sure NIX_CFLAGS_LINK appends - isStatic is not used anymore | |||||
2018-12-04 | stdenv: implement crossOverlays | Matthew Bauer | 8 | -15/+20 | |
crossOverlays only apply to the packages being built, not the build packages. It is useful when you don’t care what is used to build your packages, just what is being built. The idea relies heavily on the cross compiling infrastructure. Using this implies that we need to create a cross stdenv. | |||||
2018-11-30 | Merge remote-tracking branch 'upstream/master' into staging | Jan Tojnar | 1 | -1/+1 | |