summary refs log tree commit diff
path: root/pkgs/stdenv/darwin
Commit message (Collapse)AuthorAge
* darwin stdenv: cctools override needs to go away when targetPlatform changesJohn Ericson2017-09-18
|
* Revert "Merge pull request #28557 from obsidiansystems/binutils-wrapper"Eelco Dolstra2017-09-07
| | | | | | | | | | 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.
* binutils-wrapper: Import separately from cc-wrapperJohn Ericson2017-09-01
|
* darwin-stdenv: Hack around impurity with --disable configure flagJohn Ericson2017-08-31
|
* darwin-stdenv: Don't use `nativeTools`John Ericson2017-08-31
| | | | Now, we'll actually use the wrapped ld to link
* darwin-CF: use @rpath for library id and add an rpath entry for CF based on ↵Daiderd Jordan2017-08-28
| | | | NIX_COREFOUNDATION_RPATH
* Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2017-08-21
|\ | | | | | | That way the tarball job succeeds
| * cc-wrapper: Remove unused paramsJohn Ericson2017-08-21
| | | | | | | | Ensured hashes unchanged and eval succeeds in tarball job
* | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-08-21
|\|
| * darwin stdenv: Float `persistentN` bindings into per-stage `let`sJohn Ericson2017-08-16
| |
* | stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`John Ericson2017-08-18
| | | | | | | | | | This version continues to use bash + stdenv/setup for the default inputs.
* | Revert "stdenvs: Distinguish between `extraBuildInputs` and ↵Tuomas Tynkkynen2017-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `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» ] ````
* | stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`John Ericson2017-08-15
|/ | | | | | 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.
* Merge PR #27536John Ericson2017-08-03
|\
| * cc-wrapper: WIP linking hack for mac OSJohn Ericson2017-07-31
| | | | | | | | | | Probably best to override Haskell packages set, or anything else linking a lot of libraries, with this.
* | darwin stdenv: Ensure libSystem reexports the right librariesJohn Ericson2017-07-25
| | | | | | | | | | | | | | The logic was made pure for the normal libSystem, but this change never made it to the bootstrap tools. Deduplication the logic as the comment suggests would have prevented this, but here's a stop-gap until we do so.
* | Fix Darwin stdenv to work on 10.13Dan Peebles2017-07-11
|/ | | | | | | The main changes are in libSystem, which lost the coretls component in 10.13 and some hardening changes that quietly crash any program that uses %n in a non-constant format string, so we've needed to patch a lot of programs that use gnulib.
* Merge branch 'staging' into masterDaiderd Jordan2017-07-08
|\
| * cc-wrapper: simplify expandResponseParams parserOrivej Desh2017-07-03
| | | | | | | | Import from https://github.com/orivej/expand-compiler-args/tree/b2446902fe7816f34c3f21d29a66da3ee2b1601e
| * cc-wrapper: improve response file parsing speedRyan Trinkle2017-06-30
| |
* | top-level: {build,host,target}Platform are defined in the stdenv insteadJohn Ericson2017-07-07
|/ | | | See #27069 for a discussion of this
* darwin-stdenv: remove llvm/clang manpage overrides fromDaiderd Jordan2017-06-26
|
* cc-wrapper: Learn about target prefixesJohn Ericson2017-06-22
| | | | This is first step towards getting rid of gcc-wrapper-cross
* cc-wrapper: Remove `stdenv.is*` for `targetPlatform.is*`John Ericson2017-06-22
| | | | Modify bootstrapping stdenvs to make sure `targetPlatform` also passed.
* darwin-stdenv: remove python-sphinx and a bunch of other dependencies from ↵Daiderd Jordan2017-06-01
| | | | the stdenv
* Merge pull request #26091 from LnL7/darwin-cf-10.10Daiderd Jordan2017-05-28
|\ | | | | CoreFounation: 10.9 -> 10.10
| * darwin-stdenv: use darwin.ICU instread of icuDaiderd Jordan2017-05-27
| |
* | Merge pull request #25921 from dtzWill/feature/llvm-manpagesDaiderd Jordan2017-05-28
|\ \ | |/ |/| llvm-4/clang-4: Build and install man pages
| * darwin-stdenv: allow clang-unwrapped.manDaiderd Jordan2017-05-21
| |
* | stdenv: define is* predicates with hostPlatform.is*John Ericson2017-05-22
|/ | | | This is a saner default until stdenv's are removed altogether
* darwin.make-bootstrap-tools.test: fix build breakageDan Peebles2017-05-05
| | | | | | | In the extremely unlikely case that our store hash path ends in several digits (as is the case right now), the Darwin ld will try to interpret those digits as a version number and barf. To avoid that, we pass in the SDK version explicitly to stop it from trying to figure it out from iffy context.
* cross-stdenv: Only prune most overrides in the final stageJohn Ericson2017-04-24
| | | | | | | Before all overrides were also pruned in the previous stage, now only gcc and binutils are, because they alone care about about the target platform. The rest of the overrides don't, so it's better to preserve them in order to avoid spurious rebuilds.
* darwin.make-bootstrap-tools: fix to use LLVM 4Dan Peebles2017-04-08
| | | This should now roughly match the bootstrap tools we're using on Darwin
* stdenv-darwin: bump to use LLVM 4.0 & new bootstrap toolsDan Peebles2017-04-07
|
* top-level: Lay the groundwork for `{build,host,target}Platform`John Ericson2017-01-24
| | | | | | | | | | | | The long term goal is a big replace: { inherit system platform; } => buildPlatform crossSystem => hostPlatform stdenv.cross => targetPlatform And additionally making sure each is defined even when not cross compiling. This commit refactors the bootstrapping code along that vision, but leaves the old identifiers with their null semantics in place so packages can be modernized incrementally.
* Add overlays mechanism to Nixpkgs.Nicolas B. Pierron2017-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add a new argument to Nixpkgs default expression named "overlays". By default, the value of the argument is either taken from the environment variable `NIXPKGS_OVERLAYS`, or from the directory `~/.nixpkgs/overlays/`. If the environment variable does not name a valid directory then this mechanism would fallback on the home directory. If the home directory does not exists it will fallback on an empty list of overlays. The overlays directory should contain the list of extra Nixpkgs stages which would be used to extend the content of Nixpkgs, with additional set of packages. The overlays, i-e directory, files, symbolic links are used in alphabetical order. The simplest overlay which extends Nixpkgs with nothing looks like: ```nix self: super: { } ``` More refined overlays can use `super` as the basis for building new packages, and `self` as a way to query the final result of the fix-point. An example of overlay which extends Nixpkgs with a small set of packages can be found at: https://github.com/nbp/nixpkgs-mozilla/blob/nixpkgs-overlay/moz-overlay.nix To use this file, checkout the repository and add a symbolic link to the `moz-overlay.nix` file in `~/.nixpkgs/overlays` directory.
* top-level: Normalize stdenv bootingJohn Ericson2017-01-13
| | | | | | | | | | | Introduce new abstraction, `stdenv/booter.nix` for composing bootstraping stages, and use it everywhere for consistency. See that file for more doc. Stdenvs besides Linux and Darwin are completely refactored to utilize this. Those two, due to their size and complexity, are minimally edited for easier reviewing. No hashes should be changed.
* top-level: Modernize stdenv.overrides giving it self and superJohn Ericson2017-01-13
| | | | Document breaking change in 17.03 release notes
* top-level: avoid another `assert false` while we're at itJohn Ericson2016-12-15
|
* top-level: Allow manually specifying a stdenv, and fix stdenv testsJohn Ericson2016-12-03
| | | | | | | - The darwin test can now force the use of the freshly-booted darwin stdenv - The linux test now passes enough dummy arguments This may make debugging harder, if so, check out #20889
* top-level: turn the screwJohn Ericson2016-12-01
| | | | | | | | | | | | - Non-cross stdenvs are honest and assert that `crossSystem` is null - `crossSystem` is a mandatory argument to top-level/stage.nix, just like `system` and `platform` - Broken default arguments on stdenvs for testing are gone. - All stdenvs (but little-used stdenvNix) take the same arguments for easy testing.
* top-level: Close over fewer arguments for stdenv stagesJohn Ericson2016-11-30
| | | | | | | | This makes the flow of data easier to understand. There's little downside because the args in question are already inspected by the stdenvs. cross-compiling in particular is simpler because we don't need to worry about overriding the config closed over by `allPackages`.
* top-level: Remove cycles: stdenv calls in top-level but not vice versaJohn Ericson2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | This commit changes the dependencies of stdenv, and clean-up the stdenv story by removing the `defaultStdenv` attribute as well as the `bootStdenv` parameter. Before, the final bootstrapping stage's stdenv was provided by all-packages, which was iterating multiple times over the top-level/default.nix expression, and non-final bootstrapping stages' stdenvs were explicitly specified with the `bootStdenv` parameter. Now, all stages' stdenvs are specified with the `stdenv` parameter. For non-final bootstrapping stages, this is a small change---basically just rename the parameter. For the final stage, top-level/default.nix takes the chosen stdenv and makes the final stage with it. `allPackages` is used to make all bootstrapping stages, final and non-final alike. It's basically the expression of `stage.nix` (along with a few partially-applied default arguments) Note, the make-bootstrap-tools scripts are temporarily broken
* Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2016-10-22
|\
| * darwin.make-bootstrap-tools: Fix test targetDan Peebles2016-10-15
| | | | | | | | I'll probably get rid of this eventually since the test-pkgs stuff is more realistic, but this gives quick feedback for now.
* | darwin.stdenv: update MACOSX_DEPLOYMENT_TARGETDan Peebles2016-10-16
|/ | | | No point in claiming we're compatible with a version we don't try to support, and this will probably help with a few other things elsewhere.
* tested job: fixup evaluation after 5dadc3aVladimír Čunát2016-10-14
| | | | | I believe hardcoding system to builtins.currentSystem isn't very good, as e.g. Hydra surely evaluates on Linux only...
* darwin.make-bootstrap-tools: fix for new stdenv setupDan Peebles2016-10-13
|
* [darwin.stdenv] Fix to work on SierraDan Peebles2016-10-12
| | | | | | | This reinstates the libSystem selective symbol export machinery we used to have, but locks it to the symbols that were present in 10.11 and skips the actual compiled code we put into that library in favor of the system initialization code. That should make it more stable and less likely to do weird stuff than the last time we did this.
* stdenv-darwin: downgrade default LLVM back to 3.7Dan Peebles2016-09-14
| | | | | | | The 3.8 upgrade was premature and appears to be breaking a load of stuff that I can't look into right now. Will take it back to 3.8 and test more thoroughly before pushing more broadly. I should learn to change fewer variables at a time :)