nixpkgs/pkgs/build-support
Lluís Batlle i Rossell 11aa65c28a Simplified much more the expressions for cross building and multiplatform.
I introduce the new nixpkgs parameter "platform", defaulting to "pc",
which was before defined as an attribute of nixpkgs.

I made the crossSystem nixpkgs attribute set parameter contain its own 'platform'.

This allows cross-building a kernel for a given crossSystem.platform in a non-PC
platform.

The actual native platform can be taken from stdenv.platform, and this way we also
avoid the constant passing of 'platform' to packages for platform-dependant builds
(kernel, initrd, ...).

I will update nixos accordingly to these changes, for non-PC platforms to work.

I think we are gaining on flexibility and clearness. I could cross build succesfully
an ultrasparc kernel and a mipsel kernel on PC. But since this change, I should be able
to do this also in non-PC.

Before this change, there was no possibility of distinguishing the "target platform" or
the "native build platform" when cross building, being the single "platform" attribute
always interpreted as target platform.

The platform is a quite relevant attribute set, as it determines the linuxHeaders used
(in the case, by now the only one supported, of linux targets).

The platform attributes are quite linux centric still. Let's hope for more generality to come.

svn path=/nixpkgs/trunk/; revision=20273
2010-02-27 17:35:47 +00:00
..
buildenv revrting my accident only keeping rubygem updates and ruby libs 2009-06-30 15:58:02 +00:00
builder-defs Update SGT puzzles and improve builderDefs processing of propagated(Native)BuildInputs after stdenv merge 2010-02-18 10:29:40 +00:00
checker removed all __primops from nixpkgs 2009-05-24 10:57:46 +00:00
deb-package big breaking change: renaming lib.getAttr to lib.attrByPath 2009-05-24 10:57:41 +00:00
fetchbzr
fetchcvs
fetchdarcs Added Idris and updated fetchdarcs. 2009-05-13 19:02:23 +00:00
fetchfile
fetchgit applying patches provided by griswold 2010-01-27 12:12:35 +00:00
fetchhg applying patches provided by griswold 2010-01-27 12:12:35 +00:00
fetchmtn Reduce fetchmtn verbosity 2009-11-08 22:30:38 +00:00
fetchsvn nix-prefetch-svn: Support $NIX_PREFETCH_SVN_LEAVE_DOT_SVN. 2009-12-03 15:01:54 +00:00
fetchsvnssh
fetchurl * Fix various broken URLs / mirrors. 2010-02-05 22:00:51 +00:00
gcc-cross-wrapper Improving the crossStripping. A cross-glibc gets broken if stripped by the 2009-11-23 17:06:57 +00:00
gcc-upc-wrapper
gcc-wrapper Fixing the gcc/gcc-wrapper so 'ghdl' gets the proper wrapper (langVhdl = true, 2010-01-27 16:29:11 +00:00
kernel Simplified much more the expressions for cross building and multiplatform. 2010-02-27 17:35:47 +00:00
make-desktopitem Added desktop file generation function and desktop item for firefox 2009-05-10 12:03:53 +00:00
make-symlinks
make-wrapper * Firefox wrapper: put gecko-mediaplayer and mplayer at the start of 2009-07-16 11:22:37 +00:00
mono-dll-fixer
native-darwin-cctools-wrapper * Changed version of gcc to 4.0.1 - 5484 on darwin 2009-06-21 18:37:54 +00:00
nuke-references
release obviously just c/p'ing without testing should result in taking away commit rights... 2010-01-04 13:37:49 +00:00
src-only
substitute
upstream-updater Update CouchDB; add Apache-related snippets to update-upstream-data. 2009-12-09 12:59:23 +00:00
vm Changing linux kernel references from vmlinuz to bzImage. 2010-02-18 11:34:48 +00:00
source-from-head-fun.nix removing old bleeding edge cruft replacing it by a niftier version using 2009-12-11 13:58:23 +00:00
trivial-builders.nix * Add a wrapper to find any set-uid version of a program in the environment. 2010-01-03 11:08:45 +00:00