let
  lists = import ./lists.nix;
in
rec {
  linux = ["i686-linux" "x86_64-linux" "powerpc-linux"];
  darwin = ["i686-darwin" "powerpc-darwin"];
  freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"];
  cygwin = ["i686-cygwin"];
  all = linux ++ darwin ++ cygwin ++ freebsd;
  allBut = platform: lists.filter (x: platform != x) all;
}

let
  lists = import ./lists.nix;
in
rec {
  gnu = linux;  /* ++ hurd ++ kfreebsd ++ ... */
  linux = ["i686-linux" "x86_64-linux" "powerpc-linux"];
  darwin = ["i686-darwin" "powerpc-darwin"];
  freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"];
  cygwin = ["i686-cygwin"];
  all = linux ++ darwin ++ cygwin ++ freebsd;
  allBut = platform: lists.filter (x: platform != x) all;
}

Add `gnu' as an alias for `linux'.
Add `gnu' as an alias for `linux'.

The rationale is that usually applications don't care about the kernel
but rather about the C library, tool chain, and standard utilities,
which are GNU, not Linux.

svn path=/nixpkgs/trunk/; revision=17069
