about summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* Separate androidndkpkgs from androidenvSander van der Burg2018-12-18
|
* 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’
* makeStaticBinaries: add a static glibc when performing a mkDerivationJames Kay2018-12-14
|
* Merge master into staging-nextFrederik Rietdijk2018-12-07
|\
| * stdenv/darwin: fix portable libsystem hookMatthew Bauer2018-12-05
| | | | | | | | | | Some packages don’t have /bin directories. We should only run install_name_tool if that directory exists.
| * top-level/stage.nix: add static overlayMatthew Bauer2018-12-04
| | | | | | | | | | | | | | | | | | 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.
| * stdenv/adapters.nix: fixup makeStaticBinariesMatthew Bauer2018-12-04
| | | | | | | | | | | | - makeStaticBinaries don’t work on Darwin (no stable ABI!) - Need to make sure NIX_CFLAGS_LINK appends - isStatic is not used anymore
| * stdenv: implement crossOverlaysMatthew Bauer2018-12-04
| | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'upstream/master' into stagingJan Tojnar2018-11-30
|\|
| * make-derivation: remove selfConsistent checkMatthew Bauer2018-11-30
| | | | | | | | | | | | version is set in lots of places but might not need to be in a name. Alternative to #50364.
| * Merge master into staging-nextFrederik Rietdijk2018-11-30
| |\
| | * pkgs/stdenv/generic/make-derivation.nix: s/targetPlatform/hostPlatform/Vaibhav Sagar2018-11-29
| | |
* | | Merge pull request #51183 from matthewbauer/make-derivation-no-assertionsMatthew Bauer2018-11-29
|\ \ \ | | | | | | | | Fix breaking changes to make-derivation
| * | | make-derivation: don’t add host suffix if there is no c compilerMatthew Bauer2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | make-derivation: don’t assert on separateDebugInfoMatthew Bauer2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | make-derivation: remove selfConsistent checkMatthew Bauer2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | version is set in lots of places but might not need to be in a name. Alternative to #50364.
* | | | Merge staging-next into stagingFrederik Rietdijk2018-11-29
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Merge branch 'master' into staging-nextVladimír Čunát2018-11-26
| |\|
| | * Revert "make-derivation: add disallowedReferences in strictDeps"Matthew Bauer2018-11-25
| | | | | | | | | | | | | | | | | | | | | This reverts commit 8dbfb61e4617050917ce6bb7c5f4efc902c2a36c. Also reverts commit fc99c337edd29d9596379667063bc3a8f3cea5b3. Fixes #50915
* | | Merge branch 'pr-46056' into stagingLéo Gaspard2018-11-28
|\ \ \ | |/ / |/| | | | | | | | | | | * pr-46056: binutils: use shared libs binutils: fix #44936 the huge size regression
| * | binutils: use shared libsVladimír Čunát2018-09-04
| | |
* | | Merge master into staging-nextFrederik Rietdijk2018-11-22
|\ \ \ | | |/ | |/|
| * | make-derivation: don’t disallow propagated native inputsMatthew Bauer2018-11-21
| | | | | | | | | | | | | | | | | | | | | | | | propagateNativeBuildInputs will end up going in the output derivation. This case is allowed to end up in references because of that. Sorry for the disruption! Fixes #50865
* | | Revert "patch-shebangs: use --build for auto patch shebangs"Daiderd Jordan2018-11-14
| | | | | | | | | | | | | | | | | | | | | Completely breaks darwin. Every package in the stdenv that has shebangs in the output will end up with references to bootstrap-tools. This reverts commit eb7c50a993833ecdb94cc3affb55ac4c560edf50.
* | | Revert "darwin/stdenv: bash is a build input"Daiderd Jordan2018-11-14
| | | | | | | | | | | | | | | | | | | | | Completely breaks darwin. Every package in the stdenv that has shebangs in the output will end up with references to bootstrap-tools. This reverts commit 2f2e635dd5431859a01bbbcae0493be90041d495.
* | | Merge pull request #35304 from volth/patch-97Matthew Bauer2018-11-12
|\ \ \ | | | | | | | | [staging] substitute() print warning if does nothing
| * | | substituteStream(): print warning if nothing donevolth2018-07-10
| | | |
* | | | Merge staging-next into stagingFrederik Rietdijk2018-11-12
|\ \ \ \ | | |/ / | |/| |
| * | | Merge master into staging-nextFrederik Rietdijk2018-11-12
| |\ \ \
| | * | | meta.tests: rename into passthru.testsLéo Gaspard2018-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nix currently rejects derivations in `meta` values. This works around that limitation by using `passthru` instead. Closes https://github.com/NixOS/nixpkgs/issues/50230
| | * | | meta.tests: drop `meta.needsVMSupport`Léo Gaspard2018-11-11
| | | | | | | | | | | | | | | | | | | | Its job is already handled by `requiredSystemFeatures`
| | * | | tests: split into a separate `all-tests.nix` fileLéo Gaspard2018-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make the list much easier to re-use, eg. for `nixosTests` The drawback is that this approaches makes the ``` nix-build release.nix -A tests.opensmtpd.x86_64-linux ``` command about twice as slow (3s to 6s): it now has to evaluate `nixpkgs` once for each architecture, instead of just having the hardcoded list of tests that allowed to say “ok just evaluate for x86_64-linux”. On the other hand, complete evaluation of `release.nix` should be much faster because we no longer import `nixpkgs` for each test: testing with the following command went from 30s to 18s, and that's just for a few tests. ``` time nix-instantiate --eval --strict nixos/release.nix -A tests.nat ``` I initially wanted to test on the whole `release.nix`, but there are too many broken tests and it takes too long to eval them all, especially compared to the fact that the current implementation breaks some setup. Given developers can just `nix-build nixos/tests/my-test.nix`, it sounds like an overall win.
* | | | | Merge staging-next into stagingFrederik Rietdijk2018-11-11
|\| | | |
| * | | | Merge master into staging-nextFrederik Rietdijk2018-11-10
| |\| | |
| | * | | make-derivation: enable pie hardening with muslMatthew Bauer2018-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #49071 On ld.gold, we produce broken executables when linking with the Musl libc. This appears to be a known bug when using ld.gold and Musl. This thread describes the workaround as enabling PIE when using ld.gold and Musl: https://www.openwall.com/lists/musl/2015/05/01/5 By default we don’t enable PIE to avoid breaking things. But in the Musl case we are breaking things by not enabling PIE. So this adds a special case for defaultHardeningFlags which keeps the pie hardening for everything. Any packages that break with PIE can add the pie flag to disableHardeningFlags array (a no-op for now on anything but Musl).
| | * | | Merge pull request #44439 from Ekleog/meta-testsTimo Kaufmann2018-11-07
| | |\ \ \ | | | | | | | | | | | | [RFC] Use `meta.tests` to link from packages to the tests that test them
| | | * | | dovecot, opensmtpd: add link to test in `meta.tests`Léo Gaspard2018-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rationale --------- Currently, tests are hard to discover. For instance, someone updating `dovecot` might not notice that the interaction of `dovecot` with `opensmtpd` is handled in the `opensmtpd.nix` test. And even for someone updating `opensmtpd`, it requires manual work to go check in `nixos/tests` whether there is actually a test, especially given not so many packages in `nixpkgs` have tests and this is thus most of the time useless. Finally, for the reviewer, it is much easier to check that the “Tested via one or more NixOS test(s)” has been checked if the file modified already includes the list of relevant tests. Implementation -------------- Currently, this commit only adds the metadata in the package. Each element of the `meta.tests` attribute is a derivation that, when it builds successfully, means the test has passed (ie. following the same convention as NixOS tests). Future Work ----------- In the future, the tools could be made aware of this `meta.tests` attribute, and for instance a `--with-tests` could be added to `nix-build` so that it also builds all the tests. Or a `--without-tests` to build without all the tests. @Profpatsch described in his NixCon talk such systems. Another thing that would help in the future would be the possibility to reasonably easily have cross-derivation nix tests without the whole NixOS VM stack. @7c6f434c already proposed such a system. This RFC currently handles none of these concerns. Only the addition of `meta.tests` as metadata to be used by maintainers to remember to run relevant tests.
* | | | | | Merge pull request #49608 from matthewbauer/cross-patch-shebangs-2Matthew Bauer2018-11-07
|\ \ \ \ \ \ | | | | | | | | | | | | | | Restore cross-patch-shebangs branch
| * | | | | | darwin/stdenv: bash is a build inputMatthew Bauer2018-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch shebangs needs to be in build inputs for it to get into HOST_PATH.
| * | | | | | patch-shebangs: use --build for auto patch shebangsMatthew Bauer2018-11-02
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In strictDeps=false, autoPatchshebangs should use --build (corresponding to PATH) to lookup commands. This restores the previous behavior of patchshebangs so that we don’t break stuff that isn’t careful in the buildInputs vs. nativeBuildInputs distinction. Unfortunately this won’t work under cross compilation.
* | | | | | make-derivation: use pname-version as default name if both are presentPatrick Hilhorst2018-11-06
| |/ / / / |/| | | |
* | | | | Merge master into staging-nextFrederik Rietdijk2018-11-04
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Revert "Merge pull request #49398 from Synthetica9/implement-rfc0035" to fix ↵Frederik Rietdijk2018-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eval This reverts commit 3fc7d5eb83804e10ae55b1ae9b102f88b1ea2b08, reversing changes made to 1fddf2b68996b56804a24b67191e4d883943057d. The idea is good, however, before enforcing, make sure all occurences are fixed.
* | | | | Merge master into staging-nextFrederik Rietdijk2018-11-04
|\| | | |
| * | | | Merge pull request #49398 from Synthetica9/implement-rfc0035Jörg Thalheim2018-11-03
| |\ \ \ \ | | | | | | | | | | | | Implement rfc0035: default `name` from `pname`
| | * | | | make-derivation: use a more descriptive assert messagePatrick Hilhorst2018-10-30
| | | | | | | | | | | | | | | | | | | | | | | | As suggested by @Profpatsch
| | * | | | make-derivation: use `lib.assertMsg`Patrick Hilhorst2018-10-29
| | | | | | | | | | | | | | | | | | | | | | | | As suggested by @Profpatsch
| | * | | | make-derivation: use `?` instead of `builtins.hasAttr`Patrick Hilhorst2018-10-29
| | | | | | | | | | | | | | | | | | | | | | | | As suggested by @edolstra
| | * | | | make-derivation: add check that the name is consistent with pname and versionPatrick Hilhorst2018-10-29
| | | | | |
| | * | | | make-derivation: get position info from versionPatrick Hilhorst2018-10-29
| | | | | |