anchor.diff:    };
   }) // (
   
  -/* GNU aka. GNU/Hurd.  */
  -let
  -  crossSystem = {
  -    config = "i586-pc-gnu";
  -    bigEndian = false;
  -    arch = "i586";
  -    float = "hard";
  -    withTLS = true;
  -    platform = pkgs.platforms.pc32;
  -    libc = "glibc";
  -    openssl.system = "hurd-x86";  # Nix depends on OpenSSL.
  -  };
  -in {
  -  crossGNU = mapTestOnCross crossSystem {
  -    gnu.hurdCross = nativePlatforms;
  -    gnu.mach.crossDrv = nativePlatforms;
  -    gnu.mig = nativePlatforms;
  -    gnu.smbfs.crossDrv = nativePlatforms;
  -
  -    coreutils.crossDrv = nativePlatforms;
  -    ed.crossDrv = nativePlatforms;
  -    grub2.crossDrv = nativePlatforms;
  -    inetutils.crossDrv = nativePlatforms;
  -    boehmgc.crossDrv = nativePlatforms;
  -    findutils.crossDrv = nativePlatforms;
  -    gcc.crossDrv = nativePlatforms;
  -    gcc46.crossDrv = nativePlatforms;
  -    gdb.crossDrv = nativePlatforms;
  -    gmp.crossDrv = nativePlatforms;
  -    gnugrep.crossDrv = nativePlatforms;
  -    gnumake.crossDrv = nativePlatforms;
  -    gnused.crossDrv = nativePlatforms;
  -    guile_1_8.crossDrv = nativePlatforms;
  -    guile.crossDrv = nativePlatforms;
  -    libffi.crossDrv = nativePlatforms;
  -    libtool.crossDrv = nativePlatforms;
  -    libunistring.crossDrv = nativePlatforms;
  -    lsh.crossDrv = nativePlatforms;
  -    nixUnstable.crossDrv = nativePlatforms;
  -    openssl.crossDrv = nativePlatforms;            # dependency of Nix
  -    patch.crossDrv = nativePlatforms;
  -    samba_light.crossDrv = nativePlatforms;      # needed for `runInGenericVM'
  -    zile.crossDrv = nativePlatforms;
  -  };
  -}) // (
  -
   /* Linux on the fuloong */
   let
     crossSystem = {
  
positive.code:     });
  }) // (
  
  /* Test some cross builds to the Sheevaplug - uclibc*/
  let
    crossSystem = {
      config = "armv5tel-unknown-linux-gnueabi";
      bigEndian = false;
      arch = "arm";
      float = "soft";
      withTLS = true;
      platform = pkgs.platforms.sheevaplug;
      libc = "uclibc";
      openssl.system = "linux-generic32";
      uclibc.extraConfig = ''
        CONFIG_ARM_OABI n
        CONFIG_ARM_EABI y
        ARCH_BIG_ENDIAN n
        ARCH_WANTS_BIG_ENDIAN n
        ARCH_WANTS_LITTLE_ENDIAN y
        LINUXTHREADS_OLD y
      '';
    };
  
  in {
    crossSheevaplugLinuxUclibc = mapTestOnCross crossSystem (
      basic //
      {
        ubootSheevaplug.crossDrv = nativePlatforms;
      });
  }) // (
  
  /* Test some cross builds to the mipsel */
  let
    crossSystem = {
      config = "mipsel-unknown-linux";
      bigEndian = false;
      arch = "mips";
      float = "soft";
      withTLS = true;
      libc = "uclibc";
      platform = {
        name = "malta";
        kernelMajor = "2.4";
        kernelBaseConfig = "defconfig-malta";
        kernelHeadersBaseConfig = "defconfig-malta";
        uboot = null;
        kernelArch = "mips";
        kernelAutoModules = false;
        kernelTarget = "vmlinux";
      };
      openssl.system = "linux-generic32";
      uclibc.extraConfig = ''
        ARCH_BIG_ENDIAN n
        ARCH_WANTS_BIG_ENDIAN n
        ARCH_WANTS_LITTLE_ENDIAN y
        LINUXTHREADS_OLD y
  
        # Without this, it does not build for linux 2.4
        UCLIBC_SUSV4_LEGACY y
      '';
    };
  in {
    crossMipselLinux24 = mapTestOnCross crossSystem basic;
  }) // (
  
  /* Test some cross builds to the ultrasparc */
  let
    crossSystem = {
      config = "sparc64-unknown-linux";
      bigEndian = true;
      arch = "sparc64";
      float = "hard";
      withTLS = true;
      libc = "glibc";
      platform = {
          name = "ultrasparc";
          kernelMajor = "2.6";
          kernelHeadersBaseConfig = "sparc64_defconfig";
          kernelBaseConfig = "sparc64_defconfig";
          kernelArch = "sparc";
          kernelAutoModules = false;
          kernelTarget = "zImage";
          uboot = null;
      };
      openssl.system = "linux64-sparcv9";
      gcc.cpu = "ultrasparc";
    };
  in {
    crossUltraSparcLinux = mapTestOnCross crossSystem basic;
  }) // (
  
  /* Test some cross builds on 32 bit mingw-w64 */
  let
    crossSystem = {
  
negative.code:     zile.crossDrv = nativePlatforms;
    };
  }) // (
  
  /* Linux on Raspberrypi */
  let
  