about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2019-06-05Merge branch 'master' into staging-nextVladimír Čunát1-8/+5
Hydra nixpkgs: ?compare=1523575
2019-06-04Merge pull request #60349 from matthewbauer/fix-60345Matthew Bauer1-8/+5
check-meta: use system tuple in platforms
2019-05-26Merge branch 'staging-next' into stagingVladimír Čunát3-3/+3
2019-05-19Merge #61179: stdenv, cacert: $NIX_SSL_CERT_FILE changesVladimír Čunát1-4/+7
... into staging
2019-05-18Merge pull request #61169 from matthewbauer/meson-staticMatthew Bauer1-0/+1
static: set default_library flag for meson in makeStaticLibrary
2019-05-18Merge pull request #60406 from JohnAZoidberg/remove-isnullRobin Gloster3-3/+3
treewide: Remove usage of isNull
2019-05-10Changelog meta entry (#60371)Michael Raskin1-0/+1
meta.changelog: enable, document, add for GNU Hello
2019-05-09stdenv: also override cert files in pure nix-shellVladimír Čunát1-3/+3
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-09stdenv, cacert: consider $NIX_SSL_CERT_FILE in hooksVladimír Čunát1-2/+5
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-05-08static: set default_library flag for meson in makeStaticLibraryMatthew Bauer1-0/+1
Adds support for building static libraries with meson.
2019-05-07Merge branch 'master' into update-ios-gnu-configMatthew Bauer7-51/+47
2019-05-07cross: use newer gnu-config on iOSMatthew Bauer1-1/+1
2019-04-30check-meta: use system tuple in platformsMatthew Bauer1-8/+5
Fixes #60345
2019-04-29treewide: Remove usage of isNullDaniel Schaefer3-3/+3
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-04-26Merge pull request #56744 from matthewbauer/macos-10-12Matthew Bauer4-48/+37
Update macOS to 10.12
2019-04-26darwin-bootstrap: copy libLLVM dylibMatthew Bauer1-0/+2
This is needed for the bootstrap tools to work: https://hydra.nixos.org/build/92534667
2019-04-26darwin/make-bootstrap-tools: fix buildMatthew Bauer1-3/+1
2019-04-26stdenv/darwin: use libxml2-nopython for building llvmMatthew Bauer1-1/+2
2019-04-26stdenv/darwin: put bash in extraBuildInputsMatthew Bauer1-4/+4
patch-shebangs should pick these up as they are runtime dependencies. This avoids bootstrap-tools leaking into the outputs.
2019-04-26setup.sh: make sure initialPath goes at end of HOST_PATHMatthew Bauer1-4/+7
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-26stdenv/darwin: move secure-format patch to gnum4Matthew Bauer2-21/+0
This is the only derivation that needs it anymore.
2019-04-26cctools: enable tapi everywhereMatthew Bauer1-1/+7
Gets us closer to #19906.
2019-04-23Merge pull request #56555 from matthewbauer/wasmMatthew Bauer2-3/+4
Initial WebAssembly/WASI cross-compilation support
2019-04-23stdenv, compiler-rt: Compress WASI conditionalsJohn Ericson1-4/+1
2019-04-23gnu-config: bump to latest version for wasiMatthew Bauer1-1/+1
2019-04-23wasm: init cross targetMatthew Bauer2-1/+5
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-23Merge pull request #59755 from matthewbauer/patches-in-make-derivationMatthew Bauer1-0/+4
make-derivation: put patches in all derivations
2019-04-21make-derivation.nix: minorvolth1-1/+1
it seems to change nothing (.platform is always there), just to be consisted with the style of other checks
2019-04-21make-derivation.nix: @matthewbauer's reviewvolth1-3/+2
2019-04-21fix bootstrap when platform.gcc.arch=="skylake"volth1-0/+3
2019-04-20darwin: move to llvm7Matthew Bauer2-15/+15
2019-04-19stdenv/linux: use isCompatible to find bootstrap toolsMatthew Bauer2-3/+17
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.
2019-04-16make-derivation: put patches in all derivationsMatthew Bauer1-0/+4
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-12Merge pull request #59338 from matthewbauer/llvm-libc++Matthew Bauer1-1/+1
llvm8: support c++ in cross case
2019-04-11llvm8: support c++ in cross caseMatthew Bauer1-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-11check-env: don't execute check-meta.nix 15,000 timesGraham Christensen2-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-10androidndk: fixup messMatthew Bauer1-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-24top-level: Create `pkgs{Build,Host,Target}{Build,Host,Target}`John Ericson1-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-14pkgs/stdenv/booter.nix: fix a typoJan Malakhovski1-1/+1
2019-03-01Merge pull request #51628 from ju1m/armMatthew Bauer2-0/+2
stdenv: add armv7a-linux system
2019-03-01Merge staging-next into masterFrederik Rietdijk1-0/+3
2019-02-26llvm: support cross compilation with useLLVM flagMatthew Bauer2-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-14stdenv: only set __darwinAllowLocalNetworking on darwinDaiderd Jordan1-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-09Merge remote-tracking branch 'origin/master' into stagingMatthew Bauer1-6/+6
2019-02-04make-derivation: only modify name when name is givenMatthew Bauer1-2/+2
This preserves Nix’s native error handling of missing name: error: derivation name missing
2019-02-01mkDerivation: cleaner handling of the `name` argumentVincent Laporte1-5/+5
2019-02-01Merge branch 'staging-next' into stagingVladimír Čunát1-16/+13
2019-02-01Merge branch 'master' into staging-nextVladimír Čunát1-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-31Merge pull request #35884 from dtzWill/fix/man-in-outputsToInstallMatthew Bauer1-1/+2
default to including "man" in outputsToInstall
2019-01-28make-derivation: fix ordering of conditionalsMatthew Bauer1-3/+3
cross should have higher precedence