summary refs log tree commit diff
path: root/pkgs/stdenv/generic
Commit message (Collapse)AuthorAge
* pkgs.runCommand: passAsFile (buildCommand can be very long)Domen Kožar2016-06-10
| | | | | | | | | | | | | | Close #15803. This avoids the error: while setting up the build environment: executing ‘/nix/store/7sb42axk5lrxqz45nldrb2pchlys14s1-bash-4.3-p42/bin/bash’: Argument list too long Note: I wanted to make it optional based on buildCommand length, but that seems pointless as I'm sure it's less performant. Amended by vcunat: https://github.com/NixOS/nixpkgs/pull/15803#issuecomment-224841225
* stdenv: fix paxmarkJoachim Fasting2016-05-27
| | | | | | | | | | On Linux, paxctl's setup hook should overwrite the paxmark stub, but the stub is defined after the setup hooks are sourced, so the stub ends up overwriting the real function. The result is that paxmark fails to do anything. The fix is to define the stub before any setup hooks are sourced. Thanks to @vcunat for figuring this out. Closes #15492
* stdenv setup.sh: revert most of changes around #14907Vladimír Čunát2016-05-12
| | | | | | | | | | | I'm giving this up. Feel free to find some reasonable variant that works at least on Linux and Darwin. Problems encountered: - During bootstrap of Darwin stdenv `env -0` and some bash features don't work. - Without `env -0` the contents of some multi-line phases is taken as variable declarations, which wouldn't typically matter, but the PR wanted to refuse bash-invalid names which would be occasionally triggered. This commit dowgrades that to a warning with explanation.
* stdenv substituteAll: use yet another implementationVladimír Čunát2016-05-08
| | | | | | | | It turned out that process substitution fed into a while-cycle isn't recognized during darwin bootstrap: http://hydra.nixos.org/build/35382446/nixlog/1/raw Also fix broken NIX_DEBUG output, noticed by abbradar.
* stdenv substituteAll: use more robust codeVladimír Čunát2016-05-07
| | | | | | | The set/env fix in #14907 wasn't very good, so let's use a null-delimited approach. Suggested by Aszlig. In particular, this should fix a mass-breakage on Darwin, though I was unable to test that.
* Merge #14920: windows improvements, mainly mingwVladimír Čunát2016-05-05
|\
| * stdenv for windows: auto-link dependency DLLsVladimír Čunát2016-04-23
| | | | | | | | | | | | | | | | | | | | For every *.{exe,dll} in $output/bin/ we try to find all (potential) transitive dependencies and symlink those DLLs into $output/bin so they are found on invocation. (DLLs are first searched in the directory of the running exe file.) The links are relative, so relocating whole /nix/store won't break them. The hook is activated on cygwin and when cross-compiling to mingw.
* | Merge commit 'refs/pull/14907/head' of git://github.com/NixOS/nixpkgs into ↵Nikolay Amiantov2016-04-25
|\ \ | | | | | | | | | staging
| * | doc/stdenv.xml document substitution env variablesProfpatsch2016-04-23
| | | | | | | | | | | | | | | The filtering of environment variables that start with an uppercase letter is documented in the manual.
| * | setup.hs: substitute uses only valid bash namesProfpatsch2016-04-23
| |/ | | | | | | | | | | | | | | | | | | bash variable names may only contain alphanumeric ASCII-symbols and _, and must not start with a number. Nix expression attribute names however might contain nearly every character (in particular spaces and dashes). Previously, a substitution that was not a valid bash name would be expanded to an empty string. This commit introduce a check that throws a (hopefully) helpful error when a wrong name is used in a substitution.
* | stdenv: clarify how `outputsToInstall` is chosenNikolay Amiantov2016-04-25
| | | | | | | | See https://github.com/NixOS/nixpkgs/pull/14694/files#r60013871
* | add get* helper functions and mass-replace manual outputs search with themNikolay Amiantov2016-04-25
|/
* Merge #12653: rework default outputsVladimír Čunát2016-04-07
|\
| * buildEnv: respect meta.outputsToInstallVladimír Čunát2016-04-07
| | | | | | | | | | | | As a result `systemPackages` now also respect it. Only nix-env remains and that has a PR filed: https://github.com/NixOS/nix/pull/815
| * stdenv: set meta.outputsToInstall unless overriddenVladimír Čunát2016-04-07
| |
* | Merge 'staging' into closure-sizeVladimír Čunát2016-04-07
|\ \ | | | | | | | | | | | | | | | This is mainly to get the update of bootstrap tools. Otherwise there were mysterious segfaults: https://github.com/NixOS/nixpkgs/pull/7701#issuecomment-203389817
| * | stdenv: don't complain about configure script not existingCharles Strahan2016-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Close #14335. Since 89036ef76ab09a, when a package doesn't include a configure script, the build complains with: grep: : No such file or directory grep: : No such file or directory This prevents that.
* | | Merge branch 'master' into closure-sizeVladimír Čunát2016-04-01
|\| | | |/ |/| | | | | Beware that stdenv doesn't build. It seems something more will be needed than just resolution of merge conflicts.
| * stdenv-linux: Ensure binutils comes before bootstrapTools in $PATHEelco Dolstra2016-02-28
| | | | | | | | | | | | Otherwise, when building glibc and other packages, the "strip" from bootstrapTools is used, which doesn't recognise some tags produced by the newer "ld" from binutils.
* | Merge master into closure-sizeVladimír Čunát2016-03-08
|\| | | | | | | | | The kde-5 stuff still didn't merge well. I hand-fixed what I saw, but there may be more problems.
| * stdenv: set SSL_CERT_FILE only if it isn't alreadyNikolay Amiantov2016-02-25
| |
| * Don't try to apply patchelf to non-ELF binariesEelco Dolstra2016-02-18
| |
| * stdenv: accept wider range of $configureScript optionsVladimír Čunát2016-02-03
| | | | | | | | | | | | | | | | | | | | | | Fixes #12632. I think it's better to quote this variable in general, because it is common and even documented to pass space-separated commands in there. The greps should just fail in that case and `if` won't proceed which seems fine for such cases, and it's certainly better than passing additional unintended parameters to grep (which was happening all the time before).
| * Move setting $SSL_CERT_FILE to stdenvEelco Dolstra2016-02-03
| | | | | | | | | | | | Doing it in an openssl setup hook only works if packages have openssl as a build input - it doesn't work if they're using a program linked against openssl.
* | Merge recent 'staging' into closure-sizeVladimír Čunát2016-02-03
|\| | | | | | | Let's get rid of those merge conflicts.
| * defaultUnpack: Preserve timestamps when copying filesEelco Dolstra2016-01-26
| | | | | | | | | | | | | | | | | | Commit 6d928ab684327e0eeb1bf6cd889d57ca7127e8a7 changed this to not preserve timestamps. However, that results in non-determinism; in particular, it gives us a broken $SOURCE_DATE_EPOCH (especially for everything using fetchFromGitHub). Builds affected by timestamps < 1980 should be fixed in some other way (e.g. changing the timestamp to some fixed date > 1980).
* | Merge branch 'staging' into closure-sizeVladimír Čunát2016-01-19
|\|
| * Set SOURCE_DATE_EPOCH to latest source fileEelco Dolstra2016-01-05
| | | | | | | | | | This provides a timestamp that's more useful than 1970-01-01 yet still deterministic.
| * Set a fallback default value for SOURCE_DATE_EPOCHEelco Dolstra2016-01-05
| | | | | | | | | | | | | | | | | | | | | | This is used by some build tools to provide reproducible builds. See https://reproducible-builds.org/specs/source-date-epoch/ for more info. Later, we'll want to set this to a more intelligent value (such as the most recent mtime of any source file).
| * stdenv/setup.sh: don't skip post-hooks (close #12032)Vladimír Čunát2016-01-05
| | | | | | | | | | | | | | | | | | | | So far if no configure script is found or no makefile, the rest of the phase is skipped, *including* post-hooks. I find that behavior unexpected/unintuitive. Earlier version of this patch had problems due to me assuming that $configureScript is always a simple path, but that turned out to be false in many cases, e.g. perl.
* | Merge branch 'master' into closure-sizeLuca Bruno2015-12-11
|\|
| * allow{reason}: a bit more explicit error messageDomen Kožar2015-12-09
| |
| * Merge recent staging built on HydraVladimír Čunát2015-12-05
| |\ | | | | | | | | | | | | | | | http://hydra.nixos.org/eval/1231884 Only Darwin jobs seem to be queued now, but we can't afford to wait for that single build slave.
| | * reintroduce impure host deps to all derivationsJude Taylor2015-11-21
| | |
| | * switch to zero underscores for sandbox profiles; remove generateFrameworkProfileJude Taylor2015-11-21
| | |
| | * use single underscore for sandboxProfileJude Taylor2015-11-21
| | |
| | * use per-derivation sandbox profilesJude Taylor2015-11-19
| | |
| | * start on sandbox stuffJude Taylor2015-11-19
| | |
* | | Merge branch 'master' into closure-sizeLuca Bruno2015-11-29
|\| |
| * | stdenv: `licenseAllowed` -> `checkValidity`Profpatsch2015-11-27
| |/ | | | | | | | | Rename and make it a true function (that can be re-used and could be moved to the library).
* | Merge staging into closure-sizeVladimír Čunát2015-11-20
|\| | | | | | | | | | | The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
| * Don't fail if env-vars cannot be written toWout Mertens2015-11-04
| | | | | | | | | | | | env-vars is a debugging aid, see https://github.com/NixOS/nix/commit/3e5dbb24337d8416cfe46484eb2692811546a9c1 for a rationale for this change.
* | Merge commit staging+systemd into closure-sizeVladimír Čunát2015-10-03
|\| | | | | | | Many non-conflict problems weren't (fully) resolved in this commit yet.
| * separateDebugInfo: Assert LinuxEelco Dolstra2015-09-22
| | | | | | | | Also remove some unintended setting of separateDebugInfo.
| * Enable separate debug infoEelco Dolstra2015-09-17
| | | | | | | | | | | | | | | | | | | | | | You can now pass separateDebugInfo = true; to mkDerivation. This causes debug info to be separated from ELF binaries and stored in the "debug" output. The advantage is that it enables installing lean binaries, while still having the ability to make sense of core dumps, etc.
| * Don't barf JSON at users in error messagesEelco Dolstra2015-08-27
| |
| * Merge branch 'master.upstream' into staging.upstreamWilliam A. Kennington III2015-08-19
| |\
| | * Revert "Move licenseAllowed check into the builder attribute (fixes #7541)"Peter Simons2015-08-19
| | | | | | | | | | | | | | | This reverts commit 4d6452ba. The change affects Hydra in a way we didn't expect: https://github.com/NixOS/nixpkgs/pull/9305#issuecomment-132791730.
| * | Merge branch 'master.upstream' into staging.upstreamWilliam A. Kennington III2015-08-19
| |\|
| | * Move licenseAllowed check into the builder attribute (fixes #7541)Mathnerd3142015-08-17
| | |