summary refs log tree commit diff
path: root/pkgs/top-level/release-cross.nix
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2017-05-17 16:07:04 -0400
committerJohn Ericson <Ericson2314@Yahoo.com>2017-05-17 18:54:31 -0400
commit2601a80639ecee27fdb83ce099c037a348ba7125 (patch)
treee4c94e2806abe49685737ddfc905df308bb79f2d /pkgs/top-level/release-cross.nix
parent8ad2c6a830784bdc37a04f349ec5f13a1b16edee (diff)
downloadnixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.tar
nixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.tar.gz
nixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.tar.bz2
nixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.tar.lz
nixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.tar.xz
nixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.tar.zst
nixpkgs-2601a80639ecee27fdb83ce099c037a348ba7125.zip
release-cross: Make tests more uniform
Fewer packages are only built on one platform. Eventually we should
have each package encode its own requirements on build host and target
(as we do for build already) and use that to test automatically.
Diffstat (limited to 'pkgs/top-level/release-cross.nix')
-rw-r--r--pkgs/top-level/release-cross.nix63
1 files changed, 27 insertions, 36 deletions
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 861b3abe1ad..31ce31a6759 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -12,31 +12,29 @@ with import ./release-lib.nix { inherit supportedSystems scrubJobs; };
 let
   nativePlatforms = linux;
 
-  /* Basic list of packages to cross-build */
-  basicCrossDrv = {
-    bison = nativePlatforms;
-    busybox = nativePlatforms;
-    coreutils = nativePlatforms;
-    dropbear = nativePlatforms;
+  common = {
+    buildPackages.binutils = nativePlatforms;
+    gmp = nativePlatforms;
   };
 
-  /* Basic list of packages to be natively built,
-     but need a crossSystem defined to get meaning */
-  basicNativeDrv = {
-    buildPackages.binutils = nativePlatforms;
+  gnuCommon = common // {
     buildPackages.gccCrossStageFinal = nativePlatforms;
-    buildPackages.gdbCross = nativePlatforms;
+    coreutils = nativePlatforms;
   };
 
-  basic = basicCrossDrv // basicNativeDrv;
+  linuxCommon = gnuCommon // {
+    buildPackages.gdbCross = nativePlatforms;
 
-  windows = {
-    buildPackages.binutils = nativePlatforms;
-    buildPackages.gccCrossStageFinal = nativePlatforms;
+    bison = nativePlatforms;
+    busybox = nativePlatforms;
+    dropbear = nativePlatforms;
+    ed = nativePlatforms;
+    ncurses = nativePlatforms;
+    patch = nativePlatforms;
+  };
 
-    coreutils = nativePlatforms;
+  windowsCommon = gnuCommon // {
     boehmgc = nativePlatforms;
-    gmp = nativePlatforms;
     guile_1_8 = nativePlatforms;
     libffi = nativePlatforms;
     libtool = nativePlatforms;
@@ -44,6 +42,10 @@ let
     windows.wxMSW = nativePlatforms;
   };
 
+  darwinCommon = {
+    buildPackages.binutils = darwin;
+  };
+
 in
 
 {
@@ -92,9 +94,7 @@ in
       arch = "arm64";
       libc = "libSystem";
     };
-  in mapTestOnCross crossSystem {
-    buildPackages.binutils = darwin;
-  };
+  in mapTestOnCross crossSystem darwinCommon;
 
   darwinToArm = let
     crossSystem = {
@@ -102,9 +102,7 @@ in
       arch = "armv7-a";
       libc = "libSystem";
     };
-  in mapTestOnCross crossSystem {
-    buildPackages.binutils = darwin;
-  };
+  in mapTestOnCross crossSystem darwinCommon;
 
   /* Test some cross builds to the Sheevaplug */
   crossSheevaplugLinux = let
@@ -118,7 +116,7 @@ in
       libc = "glibc";
       openssl.system = "linux-generic32";
     };
-  in mapTestOnCross crossSystem (basic // {
+  in mapTestOnCross crossSystem (linuxCommon // {
     ubootSheevaplug = nativePlatforms;
   });
 
@@ -131,7 +129,7 @@ in
       libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
       platform = {};
     };
-  in mapTestOnCross crossSystem windows;
+  in mapTestOnCross crossSystem windowsCommon;
 
 
   /* Test some cross builds on 64 bit mingw-w64 */
@@ -143,7 +141,7 @@ in
       libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
       platform = {};
     };
-  in mapTestOnCross crossSystem windows;
+  in mapTestOnCross crossSystem windowsCommon;
 
 
   /* Linux on the fuloong */
@@ -162,11 +160,7 @@ in
         abi = "n32";
       };
     };
-  in mapTestOnCross crossSystem {
-    coreutils = nativePlatforms;
-    ed = nativePlatforms;
-    patch = nativePlatforms;
-  };
+  in mapTestOnCross crossSystem linuxCommon;
 
 
   /* Linux on Raspberrypi */
@@ -188,10 +182,7 @@ in
         abi = "aapcs-linux";
       };
     };
-  in mapTestOnCross crossSystem {
-    coreutils = nativePlatforms;
-    ed = nativePlatforms;
-    patch = nativePlatforms;
+  in mapTestOnCross crossSystem (linuxCommon // {
     vim = nativePlatforms;
     unzip = nativePlatforms;
     ddrescue = nativePlatforms;
@@ -199,7 +190,7 @@ in
     patchelf = nativePlatforms;
     buildPackages.binutils = nativePlatforms;
     mpg123 = nativePlatforms;
-  };
+  });
 
 
   /* Cross-built bootstrap tools for every supported platform */