Commit Graph

28 Commits

Author SHA1 Message Date
Sarah Brofeldt
2a6e4ae49a Revert "top-level: Deprecate top-level {build,host,target}Platform"
This reverts commit e51f736076.
2018-09-11 13:25:50 +02:00
John Ericson
e51f736076 top-level: Deprecate top-level {build,host,target}Platform
I don't know when we can/should remove them, but this at least gets
people to stop using them. The preferred alternatives also date back to
17.09 so writing forward-compatable code without extra conditions is
easy.

Beginning with these as they are the least controversial.
2018-09-05 11:53:51 -04:00
Graham Christensen
2eea92a1dc
nixpkgs docs: give linked things IDs 2018-09-01 15:20:57 -04:00
Graham Christensen
cbdcf81590
Add section IDs 2018-09-01 15:06:38 -04:00
worldofpeace
3662ca7500
nixpkgs docs: correct misspell 2018-07-06 15:52:19 +00:00
Samuel Dionne-Riel
a45edd9024 doc: ran make format
With visual inspection that nothing got worse.
2018-05-31 21:03:37 -04:00
Graham Christensen
77161de454
nixpkgs docs: format =) 2018-05-01 19:54:21 -04:00
Léo Gaspard
876bbce480
doc: fix typo in cross-compilation docs 2018-04-27 22:14:16 +02:00
John Ericson
94a2af91eb doc: Cross chapter: Add note on why use example platforms 2018-01-26 12:38:34 -05:00
John Ericson
e316ba1fc4 doc: chap cross: Make example command stick out more
It should be in a <programlisting>, not <command>, tag.
2018-01-26 12:33:14 -05:00
Jörg Thalheim
bb9bcfa295 doc/cross-compilation: fixes typos 2018-01-11 16:26:30 +00:00
John Ericson
8a434b625d doc: Add cross cookbook
An excellent suggestion from @bgamari
2017-12-30 22:42:15 -05:00
John Ericson
7ffc4e1b2f doc: Add "Specifying Dependencies" section to the stdenv chapter
This accounts for all the new dependencies and propagation logic changes
I'm about to add.

Fixes #1915---with this change I think the distinction is finally clear
enough.
2017-12-30 22:35:59 -05:00
John Ericson
350a5e31fc
Merge pull request #29418 from vanschelven/small-documentation-improvements
documentation: cross-compilation - partial rewrite
2017-11-13 16:21:58 -05:00
Orivej Desh
467d22c15b documentation: fix typos 2017-11-09 12:57:21 +00:00
Klaas van Schelven
b20916bd98 documentation: cross-compilation - partial rewrite 2017-11-09 13:44:03 +01:00
John Ericson
5ae8f18f4d Rename __targetPackages to targetPackages 2017-11-05 17:10:53 -05:00
John Ericson
9dc2a3aeba doc: Update cross compilation chapter for stdenv.{build,host,target}Platform 2017-07-07 13:24:33 -04:00
hsloan
9f156f4a8a top-level: stdenv.cross vanquished 2017-06-28 21:29:08 -04:00
John Ericson
9f680d30f4 lib and doc: Use "libSystem" as identifier for that libc in platforms 2017-05-31 00:47:25 -04:00
John Ericson
20e756a093 lib: Consolidate platform configurations (used for crossSystem)
This is good for maintenance and education.
2017-05-29 18:56:03 -04:00
Matthew Bauer
e9e9af4b5c
doc/cross-compilation: change cross to target
thanks to @bjornfor for catching this
2017-05-24 02:02:14 -05:00
Matthew Bauer
11f5136005
doc/cross-compilation: cleanup some grammar
These all should be uncontroversial changes. Just some awkward wording and
double words, etc.
2017-05-23 23:40:37 -05:00
John Ericson
863d79b364 top-level: Introduce targetPackages and a "double link fold"
Each bootstrapping stage ought to just depend on the previous stage, but
poorly-written compilers break this elegence. This provides an easy-enough
way to depend on the next stage: targetPackages. PLEASE DO NOT USE IT
UNLESS YOU MUST!

I'm hoping someday in a pleasant future I can revert this commit :)
2017-04-23 14:01:12 -04:00
John Ericson
c13457fe58 doc: Document the structure of {build,host,target}Platforms
Worthwhile to do now that #24610 makes it less abysmal.
2017-04-18 12:48:16 -04:00
John Ericson
8cd4c31d6b top-level: Allow nixpkgs to take localSystem directly
This is instead of both system and platform, which is kind of ugly.
2017-02-08 22:06:57 -05:00
John Ericson
5eaea6cee0 cross stdenv: let build package's build deps resolve to native packages
This fixes the "sliding window" principle:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Vanilla packages:   build = native;  host = native;  target = native;
  3. Vanilla packages:   build = native;  host = native;  target = native;
  n+3. ...

Each stage's build dependencies are resolved against the previous stage,
and the "foreigns" are shifted accordingly. Vanilla packages alone are
built against themsevles, since there are no more "foreign"s to shift away.

Before, build packages' build dependencies were resolved against
themselves:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Build packages:     build = native;  host = native;  target = foreign;
  n+2. ...

This is wrong because that principle is violated by the target
platform staying foreign.

This will change the hashes of many build packages and run packages, but
that is OK. This is an unavoidable cost of fixing cross compiling.

The cross compilation docs have been updated to reflect this fix.
2017-02-05 12:01:53 -05:00
John Ericson
39fb46f538 nixpkgs docs: Cross compilation docs 2017-01-24 11:37:56 -05:00