summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2017-10-08Get rid of most @rpath nonsense on DarwinDan Peebles1-1/+14
This requires some small changes in the stdenv, then working around the weird choice LLVM made to hardcode @rpath in its install name, and then lets us remove a ton of annoying workaround hacks in many of our Go packages. With any luck this will mean less hackery going forward.
2017-09-28Merge remote-tracking branch 'upstream/staging' into deps-reorgJohn Ericson6-17/+19
2017-09-26cc-wrapper: Use stdenvNoCC to buildJohn Ericson5-14/+12
cc-wrapper may wrap a cc-compiler, but it doesn't need one to build itself. (c.f. expand-response-params is a separate derivation.) This helps avoid cycles on the cross stuff, in addition to removing a useless dependency edge. I could have been super careful with overrides in the stdenv to avoid the mass rebuild, but I don't think it's worth it.
2017-09-26stdenv: Turn on `set -x` if NIX_DEBUG >= 6John Ericson1-0/+4
Why 6? It seems a decently high number, giving us room for more degrees of debugging before the `set -x` sledgehammer without incurring a mass-rebuild.
2017-09-26treewide: Use `(( "${NIX_DEBUG:-0}" >= 1) ))` consistentlyJohn Ericson1-3/+3
2017-09-21cross stdenv: No more native-fishing hack.John Ericson1-11/+0
The comment says it was put there for pkgconfig, but now pkgconfig has been dealt with.
2017-09-21all-packages: Remove gccCrossStageFinal; any gcc will not workJohn Ericson1-1/+1
2017-09-21stdenv cross adapater: Remove old `extraBuildInputs`John Ericson1-0/+1
They, unlike their native counterparts, run on the wrong platform and are therefore invalid.
2017-09-21stdenv cross adaptor: Add optional `overrides` parameterJohn Ericson1-5/+5
By default, all previous overrides are discarded as before, as they would only apply to the old host platform. But sometimes it is useful to add some new ones, and this optional parameter allows that.
2017-09-21stdenv: Update autotools scripts on all Aarch64, not just LinuxJohn Ericson2-5/+5
This is needed when cross-compiling for iOS (Aarch64 + Darwin). I also changed the syntax of the Linux stdenv for visual consistency, though that has no effect on semantics as the os is already guaranteed to be Linux.
2017-09-18stdenv: Add back leading '-' in cross derivation name suffixJohn Ericson1-1/+1
I messed this up when I moved the logic from `makeStdenvCross` in e826a6a24774.
2017-09-18darwin stdenv: cctools override needs to go away when targetPlatform changesJohn Ericson1-1/+3
2017-09-14treewide: Fix some references to binutilsJohn Ericson1-2/+2
- Compiler's shouldn't use `binutils.dev` as that doesn't yet exist with a cross binutils. - Last two `binutils.binutils` which weren't reverted
2017-09-10stdenv bootstrap: fix evaluationVladimír Čunát1-2/+2
This is probably a fallout from #28557 merge and revert. I can't see why exactly this happened, but it seems a safe fix.
2017-09-07genericBuild: Communicate the current build phase to NixEelco Dolstra1-0/+4
This allows the progress bar to show e.g. [1/9/59 built] building bison-3.0.4 (configurePhase): checking for strdup... yes
2017-09-07Remove tracePhasesEelco Dolstra1-10/+0
This has not been used in a long time.
2017-09-07Revert "Merge pull request #28557 from obsidiansystems/binutils-wrapper"Eelco Dolstra2-64/+26
This reverts commit 0a944b345e89ca0096974d168f49e1c6830c3fc2, reversing changes made to 61733ed6ccde3427016720f2e0cd191d3d95152c. I dislike these massive stdenv changes with unclear motivation, especially when they involve gratuitous mass renames like NIX_CC -> NIX_BINUTILS. The previous such rename (NIX_GCC -> NIX_CC) caused months of pain, so let's not do that again.
2017-09-04top-level, linux stdenv make boootstrap tools: Fix evalJohn Ericson2-4/+4
Now the NixOS tarball job succeeds again
2017-09-03Merge pull request #28557 from obsidiansystems/binutils-wrapperJohn Ericson2-26/+64
Binutils-wrapper: Init by refactoring out of cc-wrapper
2017-09-03stdenv-setup: list environment variables with awkOrivej Desh1-11/+2
2017-09-03stdenv-setup: fix substituteAll with set -euOrivej Desh1-12/+17
Environment variable filter in substituteAll was not precise and produced undefined and invalid variable names. Vladimír Čunát tried to fix that in [1], but `env -0` did not work during Darwin bootstrap, so [2] reverted this change and replaced an error due to invalid variables with a warning. Recently in #28057 John Ericson added `set -u` to `setup.sh` and undefined variables made the setup fail during e.g. `nix-build -A gnat` with `setup: line 519: !varName: unbound variable`. [1] https://github.com/NixOS/nixpkgs/commit/62fc8859c10dd18b005b9bcaa0b429103d7661d9 [2] https://github.com/NixOS/nixpkgs/commit/81df0354290389128077e00edfd2368eeeea0c24
2017-09-03mkDerivation: explain "all" in hardeningDisableOrivej Desh1-0/+1
https://github.com/NixOS/nixpkgs/pull/28806#discussion_r136516276
2017-09-01binutils-wrapper: Import separately from cc-wrapperJohn Ericson2-26/+64
2017-09-01mkDerivation: fix hardening flags checkOrivej Desh1-8/+7
- allow "all" in hardeningDisable - fix busybox flags - print detailed error message Discussed at https://github.com/NixOS/nixpkgs/pull/28555#issuecomment-326413032
2017-08-31darwin-stdenv: Hack around impurity with --disable configure flagJohn Ericson1-1/+10
2017-08-31darwin-stdenv: Don't use `nativeTools`John Ericson1-3/+5
Now, we'll actually use the wrapped ld to link
2017-08-30mkDerivation, cc-wrapper: Check hardening flag validity in NixJohn Ericson1-0/+13
This becomes necessary if more wrappers besides cc-wrapper start supporting hardening flags. Also good to make the warning into an error. Also ensure interface is being used right: Not as a string, not just in bash.
2017-08-28darwin-CF: use @rpath for library id and add an rpath entry for CF based on ↵Daiderd Jordan1-0/+1
NIX_COREFOUNDATION_RPATH
2017-08-25expand-response-params: Build more normallyJohn Ericson1-1/+1
2017-08-25Merge pull request #28057 from obsidiansystems/stdenv-set-uJohn Ericson1-104/+178
stdenv-setup: use `set -u`
2017-08-24gawk: refactorVladimír Čunát1-1/+4
- Don't build with libsigsegv by default. The build apparently attempted to link against it, but it never retained the reference anyway... - Side effect: stdenv bootstrapping needs no libsigsegv anymore. - Run checks, but only in the interactive gawk by default on Linux, so that stdenv bootstrap isn't slowed down (by glibc locales, etc.). - xz should be no longer needed in inputs, as we have it in stdenvs now. The whole change was triggered by some used kernel versions still breaking libsigsegv tests #28464.
2017-08-24treewide: Consistently call ARM 'arm'Tuomas Tynkkynen1-3/+1
No need for silly differences.
2017-08-23stdenv-setup: Use `set -u` as much as possibleJohn Ericson1-104/+178
Older bash version, like those in the bootstrap tools and on macOS, currently confuse variables defined as an empty array with undefined variables. `${foo+"${foo[@]}"}` will prevent `set -u` problems with empty arrays and older without making a single '' in the empty case. Care is taken to `set +u` when running hooks so as to not break existing packages.
2017-08-21Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson4-26/+6
That way the tarball job succeeds
2017-08-21cc-wrapper: Remove unused paramsJohn Ericson4-26/+6
Ensured hashes unchanged and eval succeeds in tarball job
2017-08-21Merge commit '3b29468313bc8604fe8f85c8d9316fd276d3985c' into HEADFrederik Rietdijk3-29/+32
2017-08-21Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk1-66/+67
2017-08-18stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`John Ericson6-22/+46
This version continues to use bash + stdenv/setup for the default inputs.
2017-08-18Revert "stdenvs: Distinguish between `extraBuildInputs` and ↵Tuomas Tynkkynen7-47/+28
`extraNativeBuildInputs`" This reverts commit eeabf85780e7fccc0289b4015b695e28ef166ab7. This change suddenly makes tons of stdenv internals visible in nativeBuildInputs of every derivation, which doesn't seem desirable. E.g: ```` nix-repl> hello.nativeBuildInputs [ «derivation /nix/store/bcfkyf6bhssxd2vzwgzmsbn7b5b9rpxc-patchelf-0.9.drv» «derivation /nix/store/4wnshnz9wwanpfzcrdd76rri7pyqn9sk-paxctl-0.9.drv» << snip 10+ lines >> «derivation /nix/store/d35pgh1lcg5nm0x28d899pxj30b8c9b2-gcc-wrapper-6.4.0.drv» ] ````
2017-08-17Merge pull request #28174 from matthewbauer/darwin-in-releaseDaiderd Jordan1-1/+3
enable hydra jobs for packages x86_64-linux does not support
2017-08-17Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk1-2/+2
2017-08-16darwin stdenv: Float `persistentN` bindings into per-stage `let`sJohn Ericson1-66/+67
2017-08-15stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`John Ericson7-28/+47
Additionally, instead of pulling them from `setup.sh`, route them via Nix. This gets us one step closer to making stdenv be a plain attribute set instead of a derivation.
2017-08-15mkDerivation: Simply NixJohn Ericson1-21/+13
No hashes were changed by this
2017-08-15stdenv: fixup allowedRequisites on aarch64-linuxVladimír Čunát1-1/+2
2017-08-14make-bootstrap-tools: Fix config opts for ash builtins after upgradeWill Dietz1-2/+2
2017-08-13stdenv: resurrect the allowedRequisites checkVladimír Čunát1-7/+15
Discovered in #28091. I'm sorry I forgot to re-check my TODOs, long ago.
2017-08-12nixpkgs release: Fix Darwin-only jobsTuomas Tynkkynen1-1/+3
Currently the logic of generating nixpkgs Hydra jobs is to walk through the pkgs evaluated for system = "x86_64-linux", collect any derivations and their meta.platforms values. However, that doesn't work for packages whose meta.platforms doesn't include x86_64-linux, as just evaluating their meta attribute raises an error so they get skipped completely. As a less-intrusive fix (i.e. anything than rewriting the current package enumeration logic), allow passing `config.allowUnsupportedSystem = true` to permit evaluating packages regardless of their platform and use that in the package listing phase. Fixes #25200
2017-08-09stdenv: fix typo in setup.shLinus Heckemann1-1/+1
2017-08-07cc-wrapper: Make hygienicJohn Ericson1-0/+13
See the added comments for what exactly has been done.