summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* stdenv: Validate meta.outputsToInstallGraham Christensen2018-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If meta.outputsToInstall is set to include absent outputs, various tools break including channel updates and nix-env. grahamc@Morbo> nix-env -i -f . -A elf-header-real installing 'elf-header' error: this derivation has bad 'meta.outputsToInstall' This patch verifies each value in meta.outputsToInstall is a valid output. It validates this condition only if checkMeta is true. grahamc@Morbo> nix-build . -A elf-header-real error: Package ‘elf-header’ in /home/grahamc/projects/nixpkgs/pkgs/development/libraries/elf-header/default.nix:36 has invalid meta.outputsToInstall, refusing to evaluate. The package elf-header has set meta.outputsToInstall to: bin however elf-header only has the outputs: out and is missing the following ouputs: - bin (use '--show-trace' to show detailed location information) Note, now the nix-env experience is decidedly worse for users who have checkMeta set to true: grahamc@Morbo> nix-env -i -f . -A elf-header-real; echo $? 0 though since this is already an issue for unfree, broken, unsupported, and insecure validity problems I'm not sure we should do something different here.
* Merge pull request #46148 from obsidiansystems/plain-system-hostJohn Ericson2018-09-06
|\ | | | | top-level, stdenv: Make `system` and `stdenv.system` describe the hostPlatform
| * top-level, stdenv: Make `system` and `stdenv.system` describe the hostPlatform.John Ericson2018-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intuitively, one cares mainly about the host platform: Platforms differ in meaningful ways but compilation is morally a pure process and probably doesn't care, or those difference are already abstracted away. @Dezgeg also empirically confirmed that > 95% of checks are indeed of the host platform. Yet these attributes in the old cross infrastructure were defined to be the build platform, for expediency. And this was never before changed. (For native builds build and host coincide, so it isn't clear what the intention was.) Fixing this doesn't affect native builds, since again they coincide. It also doesn't affect cross builds of anything in Nixpkgs, as these are no longer used. It could affect external cross builds, but I deem that unlikely as anyone thinking about cross would use more explicit attributes for clarity, all the more so because the rarity of inspecting the build platform.
* | Merge pull request #46076 from oxij/tree/cleanupsJohn Ericson2018-09-05
|\ \ | |/ |/| trivial: treewide: random noop cleanups
| * stdenv: linux: cleanup a bitJan Malakhovski2018-09-04
| |
* | stdenv, neovim: Use `lib.warn` for deprecation warningsJohn Ericson2018-09-05
|/
* mkDerivation: Fix cross compilationJohn Ericson2018-09-03
| | | | | | | Derivations where drawing their `system` attribute from `hostPlatform` instead of `buildPlatform`. Fix that, and add an explanatory commment. Fixes #45993
* stdenv: Better message for deprecated `isArm`John Ericson2018-08-31
| | | | The message should say what to do instead.
* treewide: Remove usage of remaining redundant platform compatability stuffJohn Ericson2018-08-30
| | | | | Want to get this out of here for 18.09, so it can be deprecated thereafter.
* reewide: Purge all uses `stdenv.system` and top-level `system`John Ericson2018-08-30
| | | | It is deprecated and will be removed after 18.09.
* hurd: cleanup unmaintained targetJörg Thalheim2018-08-28
| | | | | | This has been not touched in 6 years. Let's remove it to cause less problems when adding new cross-compiling infrastructure. This also simplify gcc significantly.
* [RFC] ppc64le enablement (#45340)CrystalGamma2018-08-21
| | | | | | | | | | | | | | | | * ppc64le enablement * gcc, glibc: properly handle __float128 * lib/systems, stdenv: syntax cleanup * gcc7: remove ugly hack * gcc: add/update __float128 flags * stdenv: add another pair of quotes for consistency * gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
* Merge pull request #44932 from oxij/stdenv/no-texinfo-rebuild-try-2xeji2018-08-19
|\ | | | | stdenv: linux: inherit texinfo in stage4 instead of the final stdenv
| * stdenv: linux: inherit texinfo in stage4 instead of the final stdenvJan Malakhovski2018-08-12
| | | | | | | | | | | | This reverts commit a809fdc8e1b0c1d49d40815d9bac0de27ddab5f1 and then achieves the same result (not rebuilding texinfo three times) but without dragging bootstrap tools into the closure.
* | Merge pull request #43140 from LnL7/macos-10.14Daiderd Jordan2018-08-14
|\ \ | |/ |/| darwin: fix Libsystem compatibility for macOS 10.14
| * stdenv-bootstrap-tools: update unpack to use $reexportedLibrariesFileDaiderd Jordan2018-07-07
| |
* | Revert "cc-wrapper, bintools-wrapper: simply symlink man and info outputs"Eelco Dolstra2018-08-09
| | | | | | | | This reverts commit 02c09e01712ce0b61e5c8f7159047699a434f7fc.
* | Merge pull request #44517 from oxij/stdenv/shadowsJohn Ericson2018-08-08
|\ \ | | | | | | stdenv: simplify a bit using shadowing
| * | stdenv: shadow outputsJan Malakhovski2018-08-05
| | |
| * | stdenv: shadow doCheck and doInstallCheckJan Malakhovski2018-08-05
| | |
* | | cc-wrapper, bintools-wrapper: simply symlink man and info outputsJan Malakhovski2018-08-06
|/ / | | | | | | See discussion in #44516.
* | Merge pull request #44423 from obsidiansystems/configureFlags-cleanupJohn Ericson2018-08-03
|\ \ | | | | | | treewide: All configureFlags are lists
| * | stdenv adapter: Keep configureFlags a listJohn Ericson2018-08-03
| | |
* | | Merge pull request #44367 from obsidiansystems/no-stdenv-is-crossJohn Ericson2018-08-02
|\| | | | | | | | treewide: Remove stdenv.isCross
| * | treewide: Remove stdenv.isCrossJohn Ericson2018-08-02
| | | | | | | | | | | | | | | | | | | | | I *want* cross-specific overrides to be verbose, so I rather not have this shorthand. This makes the syntactic overhead more proportional to the maintainence cost. Hopefully this pushes people towards fewer conditionals and more abstractions.
* | | stdenv/build-support: support .tbz and .txz tarballsJames Deikun2018-07-30
|/ /
* | Merge master into staging-nextFrederik Rietdijk2018-07-28
|\ \
| * | llvm-packages: fix manpages with python-boot and cleanupDaiderd Jordan2018-07-28
| | | | | | | | | | | | | | | | | | On darwin llvmPackages is built using python-boot to avoid dependencies in the stdenv, but we can't and shouldn't use that when building the manpages since it depends on python packages.
* | | Merge master into stagingFrederik Rietdijk2018-07-26
|\| |
| * | cross stdenv: Forget `allowedRequisites = nulll;` on inlineJohn Ericson2018-07-25
| | |
| * | makeStdenvCross: RemoveJohn Ericson2018-07-24
| | | | | | | | | | | | | | | It is inlined into the cross stdenv, which is its last use-case after the previous commit.
| * | stdenv cross adapter: Use `extraNativeBuildInputs`John Ericson2018-07-24
| | | | | | | | | | | | This means we don't need to hackily avoid overwriting `mkDerivation`.
| * | stdenv: Remove crossAttrs, now that it is no longer usedJohn Ericson2018-07-24
| | | | | | | | | | | | Fix #33302
| * | Merge staging-next into master (#44009)Frederik Rietdijk2018-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * substitute(): --subst-var was silently coercing to "" if the variable does not exist. * libffi: simplify using `checkInputs` * pythonPackges.hypothesis, pythonPackages.pytest: simpify dependency cycle fix * utillinux: 2.32 -> 2.32.1 https://lkml.org/lkml/2018/7/16/532 * busybox: 1.29.0 -> 1.29.1 * bind: 9.12.1-P2 -> 9.12.2 https://ftp.isc.org/isc/bind9/9.12.2/RELEASE-NOTES-bind-9.12.2.html * curl: 7.60.0 -> 7.61.0 * gvfs: make tests run, but disable * ilmbase: disable tests on i686. Spooky! * mdds: fix tests * git: disable checks as tests are run in installcheck * ruby: disable tests * libcommuni: disable checks as tests are run in installcheck * librdf: make tests run, but disable * neon, neon_0_29: make tests run, but disable * pciutils: 3.6.0 -> 3.6.1 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pciutils/versions. * mesa: more include fixes mostly from void-linux (thanks!) * npth: 1.5 -> 1.6 minor bump * boost167: Add lockfree next_prior patch * stdenv: cleanup darwin bootstrapping Also gets rid of the full python and some of it's dependencies in the stdenv build closure. * Revert "pciutils: use standardized equivalent for canonicalize_file_name" This reverts commit f8db20fb3ae382eba1ba2b160fe24739f43c0bd7. Patching should no longer be needed with 3.6.1. * binutils-wrapper: Try to avoid adding unnecessary -L flags (cherry picked from commit f3758258b8895508475caf83e92bfb236a27ceb9) Signed-off-by: Domen Kožar <domen@dev.si> * libffi: don't check on darwin libffi usages in stdenv broken darwin. We need to disable doCheck for that case. * "rm $out/share/icons/hicolor/icon-theme.cache" -> hicolor-icon-theme setup-hook * python.pkgs.pytest: setupHook to prevent creation of .pytest-cache folder, fixes #40273 When `py.test` was run with a folder as argument, it would not only search for tests in that folder, but also create a .pytest-cache folder. Not only is this state we don't want, but it was also causing collisions. * parity-ui: fix after merge * python.pkgs.pytest-flake8: disable test, fix build * Revert "meson: 0.46.1 -> 0.47.0" With meson 0.47.0 (or 0.47.1, or git) things are very wrong re:rpath handling resulting in at best missing libs but even corrupt binaries :(. When we run patchelf it masks the problem by removing obviously busted paths. Which is probably why this wasn't noticed immediately. Unfortunately the binary already has a long series of paths scribbled in a space intended for a much smaller string; in my testing it was something like lengths were 67 with 300+ written to it. I think we've reported the relevant issues upstream, but unfortunately it appears our patches are what introduces the overwrite/corruption (by no longer being correct in what they assume) This doesn't look so bad to fix but it's not something I can spend more time on at the moment. -- Interestingly the overwritten string data (because it is scribbled past the bounds) remains in the binary and is why we're suddenly seeing unexpected references in various builds -- notably this is is the reason we're seeing the "extra-utils" breakage that entirely crippled NixOS on master (and probably on staging before?). Fixes #43650. This reverts commit 305ac4dade5758c58e8ab1666ad0197fd305828d. (cherry picked from commit 273d68eff8f7b6cd4ebed3718e5078a0f43cb55d) Signed-off-by: Domen Kožar <domen@dev.si>
* | | Merge pull request #44025 from obsidiansystems/stdenv-deps-typoJohn Ericson2018-07-23
|\ \ \ | | | | | | | | mkDerivation: depsHostBuild -> depsHostHost
| * | | mkDerivation: depsHostBuild -> depsHostHostJohn Ericson2018-07-23
| |/ / | | | | | | | | | | | | | | | `depsHostBuild` is not a thing, would never be a thing per the rules, and isn't used anywhere. This is just my typo, hitherto unnoticed because "host -> host" dependencies are by far the most obscure form.
* | | setup.sh: add HOST_PATHMatthew Bauer2018-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HOST_PATH contains the path of the host package. This will include the packages listed in buildInputs & depsHostHost. Use this to find runtime commands that the host needs. For instance to find the runtime version of perl, $ PATH="$HOST_PATH" command -v perl /nix/store/...-perl-5.28.0-aarch64-unknown-linux-android/bin/perl This path should not be executed directly (it will break for cross compilation). Only use it to find the location of executables that will be run by your host system. Your build tools will, as always, be available on the default PATH.
* | | Merge master into stagingFrederik Rietdijk2018-07-22
|\| |
| * | Merge master into staging-nextFrederik Rietdijk2018-07-21
| |\ \
| | * | [bot] treewide: remove unused 'inherit' in let blocksvolth2018-07-20
| | | |
* | | | Merge pull request #43561 from LnL7/darwin-llvm-bootDaiderd Jordan2018-07-21
|\ \ \ \ | | | | | | | | | | stdenv: cleanup darwin bootstrapping
| * | | | stdenv: cleanup darwin bootstrappingDaiderd Jordan2018-07-21
| | |/ / | |/| | | | | | | | | | | | | | Also gets rid of the full python and some of it's dependencies in the stdenv build closure.
* | | | Merge pull request #43224 from volth/patch-179Matthew Bauer2018-07-21
|\ \ \ \ | |_|/ / |/| | | [staging] substitute(): --subst-var was silently coercing to "" if the variable does not exist.
| * | | substitute(): --subst-var was silently coercing to "" if the variable does ↵volth2018-07-08
| | |/ | |/| | | | | | | not exist.
* | | Merge master into stagingFrederik Rietdijk2018-07-10
|\ \ \ | | |/ | |/|
| * | make-derivation: Don't add host-suffix to fixed-output derivations namesWill Dietz2018-07-09
| |/ | | | | | | | | | | | | | | Not only does the suffix unnecessarily reduce sharing, but it also breaks unpacker setup hooks (e.g. that of `unzip`) which identify interesting tarballs using the file extension. This also means we can get rid of the splicing hacks for fetchers.
* / stdenv-setup: Remove superfluous check for /bin/shaszlig2018-07-09
|/ | | | | | | | | | | | | | | | | | The line was essentially checking whether /bin/sh exists and is executable and if that's the case, the isScript function returns successfully. When asking the author of this line on IRC it seems that even they can't remember or imagine what this was supposed to be. In summary: Whenever /bin/sh doesn't exist during a build, *any* file given to isScript is reported as being a script even if it isn't. This is kinda counter-intuitive and not something what somebody would expect from a function called "isScript". Signed-off-by: aszlig <aszlig@nix.build> Cc: @edolstra
* make-bootstrap-tools-cross: remove broken i686-musl variantWill Dietz2018-06-25
| | | | | Not terribly difficult to get this working, but until it does remove it so the cross jobset doesn't have the failures this introduces.
* Merge staging into masterFrederik Rietdijk2018-06-23
|\
| * Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-06-18
| |\