|
|
|
@ -20,39 +20,34 @@ let |
|
|
|
|
basic = basicCrossDrv // basicNativeDrv; |
|
|
|
|
|
|
|
|
|
in |
|
|
|
|
( |
|
|
|
|
|
|
|
|
|
/* Test some cross builds to the Sheevaplug */ |
|
|
|
|
let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "armv5tel-unknown-linux-gnueabi"; |
|
|
|
|
bigEndian = false; |
|
|
|
|
arch = "arm"; |
|
|
|
|
float = "soft"; |
|
|
|
|
withTLS = true; |
|
|
|
|
platform = pkgs.platforms.sheevaplug; |
|
|
|
|
libc = "glibc"; |
|
|
|
|
openssl.system = "linux-generic32"; |
|
|
|
|
}; |
|
|
|
|
{ |
|
|
|
|
/* Test some cross builds to the Sheevaplug */ |
|
|
|
|
crossSheevaplugLinux = let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "armv5tel-unknown-linux-gnueabi"; |
|
|
|
|
bigEndian = false; |
|
|
|
|
arch = "arm"; |
|
|
|
|
float = "soft"; |
|
|
|
|
withTLS = true; |
|
|
|
|
platform = pkgs.platforms.sheevaplug; |
|
|
|
|
libc = "glibc"; |
|
|
|
|
openssl.system = "linux-generic32"; |
|
|
|
|
}; |
|
|
|
|
in mapTestOnCross crossSystem (basic // { |
|
|
|
|
ubootSheevaplug.crossDrv = nativePlatforms; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
in { |
|
|
|
|
crossSheevaplugLinux = mapTestOnCross crossSystem ( |
|
|
|
|
basic // |
|
|
|
|
{ |
|
|
|
|
ubootSheevaplug.crossDrv = nativePlatforms; |
|
|
|
|
}); |
|
|
|
|
}) // ( |
|
|
|
|
|
|
|
|
|
/* Test some cross builds on 32 bit mingw-w64 */ |
|
|
|
|
let |
|
|
|
|
crossSystem = { |
|
|
|
|
/* Test some cross builds on 32 bit mingw-w64 */ |
|
|
|
|
crossMingw32 = let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "i686-w64-mingw32"; |
|
|
|
|
arch = "x86"; # Irrelevant |
|
|
|
|
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain |
|
|
|
|
platform = {}; |
|
|
|
|
}; |
|
|
|
|
in { |
|
|
|
|
crossMingw32 = mapTestOnCross crossSystem { |
|
|
|
|
}; |
|
|
|
|
in mapTestOnCross crossSystem { |
|
|
|
|
coreutils.crossDrv = nativePlatforms; |
|
|
|
|
boehmgc.crossDrv = nativePlatforms; |
|
|
|
|
gmp.crossDrv = nativePlatforms; |
|
|
|
@ -62,19 +57,18 @@ in { |
|
|
|
|
libunistring.crossDrv = nativePlatforms; |
|
|
|
|
windows.wxMSW.crossDrv = nativePlatforms; |
|
|
|
|
}; |
|
|
|
|
}) // ( |
|
|
|
|
|
|
|
|
|
/* Test some cross builds on 64 bit mingw-w64 */ |
|
|
|
|
let |
|
|
|
|
crossSystem = { |
|
|
|
|
|
|
|
|
|
/* Test some cross builds on 64 bit mingw-w64 */ |
|
|
|
|
crossMingwW64 = let |
|
|
|
|
crossSystem = { |
|
|
|
|
# That's the triplet they use in the mingw-w64 docs. |
|
|
|
|
config = "x86_64-w64-mingw32"; |
|
|
|
|
arch = "x86_64"; # Irrelevant |
|
|
|
|
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain |
|
|
|
|
platform = {}; |
|
|
|
|
}; |
|
|
|
|
in { |
|
|
|
|
crossMingwW64 = mapTestOnCross crossSystem { |
|
|
|
|
}; |
|
|
|
|
in mapTestOnCross crossSystem { |
|
|
|
|
coreutils.crossDrv = nativePlatforms; |
|
|
|
|
boehmgc.crossDrv = nativePlatforms; |
|
|
|
|
gmp.crossDrv = nativePlatforms; |
|
|
|
@ -84,63 +78,60 @@ in { |
|
|
|
|
libunistring.crossDrv = nativePlatforms; |
|
|
|
|
windows.wxMSW.crossDrv = nativePlatforms; |
|
|
|
|
}; |
|
|
|
|
}) // ( |
|
|
|
|
|
|
|
|
|
/* Linux on the fuloong */ |
|
|
|
|
let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "mips64el-unknown-linux"; |
|
|
|
|
bigEndian = false; |
|
|
|
|
arch = "mips"; |
|
|
|
|
float = "hard"; |
|
|
|
|
withTLS = true; |
|
|
|
|
libc = "glibc"; |
|
|
|
|
platform = { |
|
|
|
|
name = "fuloong-minipc"; |
|
|
|
|
kernelMajor = "2.6"; |
|
|
|
|
kernelBaseConfig = "lemote2f_defconfig"; |
|
|
|
|
kernelHeadersBaseConfig = "fuloong2e_defconfig"; |
|
|
|
|
uboot = null; |
|
|
|
|
kernelArch = "mips"; |
|
|
|
|
kernelAutoModules = false; |
|
|
|
|
kernelTarget = "vmlinux"; |
|
|
|
|
}; |
|
|
|
|
openssl.system = "linux-generic32"; |
|
|
|
|
gcc = { |
|
|
|
|
arch = "loongson2f"; |
|
|
|
|
abi = "n32"; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
in { |
|
|
|
|
fuloongminipc = mapTestOnCross crossSystem { |
|
|
|
|
|
|
|
|
|
/* Linux on the fuloong */ |
|
|
|
|
fuloongminipc = let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "mips64el-unknown-linux"; |
|
|
|
|
bigEndian = false; |
|
|
|
|
arch = "mips"; |
|
|
|
|
float = "hard"; |
|
|
|
|
withTLS = true; |
|
|
|
|
libc = "glibc"; |
|
|
|
|
platform = { |
|
|
|
|
name = "fuloong-minipc"; |
|
|
|
|
kernelMajor = "2.6"; |
|
|
|
|
kernelBaseConfig = "lemote2f_defconfig"; |
|
|
|
|
kernelHeadersBaseConfig = "fuloong2e_defconfig"; |
|
|
|
|
uboot = null; |
|
|
|
|
kernelArch = "mips"; |
|
|
|
|
kernelAutoModules = false; |
|
|
|
|
kernelTarget = "vmlinux"; |
|
|
|
|
}; |
|
|
|
|
openssl.system = "linux-generic32"; |
|
|
|
|
gcc = { |
|
|
|
|
arch = "loongson2f"; |
|
|
|
|
abi = "n32"; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
in mapTestOnCross crossSystem { |
|
|
|
|
coreutils.crossDrv = nativePlatforms; |
|
|
|
|
ed.crossDrv = nativePlatforms; |
|
|
|
|
patch.crossDrv = nativePlatforms; |
|
|
|
|
}; |
|
|
|
|
}) // ( |
|
|
|
|
|
|
|
|
|
/* Linux on Raspberrypi */ |
|
|
|
|
let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "armv6l-unknown-linux-gnueabi"; |
|
|
|
|
bigEndian = false; |
|
|
|
|
arch = "arm"; |
|
|
|
|
float = "hard"; |
|
|
|
|
fpu = "vfp"; |
|
|
|
|
withTLS = true; |
|
|
|
|
libc = "glibc"; |
|
|
|
|
platform = pkgs.platforms.raspberrypi; |
|
|
|
|
openssl.system = "linux-generic32"; |
|
|
|
|
gcc = { |
|
|
|
|
arch = "armv6"; |
|
|
|
|
|
|
|
|
|
/* Linux on Raspberrypi */ |
|
|
|
|
rpi = let |
|
|
|
|
crossSystem = { |
|
|
|
|
config = "armv6l-unknown-linux-gnueabi"; |
|
|
|
|
bigEndian = false; |
|
|
|
|
arch = "arm"; |
|
|
|
|
float = "hard"; |
|
|
|
|
fpu = "vfp"; |
|
|
|
|
float = "softfp"; |
|
|
|
|
abi = "aapcs-linux"; |
|
|
|
|
withTLS = true; |
|
|
|
|
libc = "glibc"; |
|
|
|
|
platform = pkgs.platforms.raspberrypi; |
|
|
|
|
openssl.system = "linux-generic32"; |
|
|
|
|
gcc = { |
|
|
|
|
arch = "armv6"; |
|
|
|
|
fpu = "vfp"; |
|
|
|
|
float = "softfp"; |
|
|
|
|
abi = "aapcs-linux"; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
in { |
|
|
|
|
rpi = mapTestOnCross crossSystem { |
|
|
|
|
in mapTestOnCross crossSystem { |
|
|
|
|
coreutils.crossDrv = nativePlatforms; |
|
|
|
|
ed.crossDrv = nativePlatforms; |
|
|
|
|
patch.crossDrv = nativePlatforms; |
|
|
|
@ -152,13 +143,12 @@ in { |
|
|
|
|
binutils.crossDrv = nativePlatforms; |
|
|
|
|
mpg123.crossDrv = nativePlatforms; |
|
|
|
|
}; |
|
|
|
|
}) // ( |
|
|
|
|
|
|
|
|
|
/* Cross-built bootstrap tools for every supported platform */ |
|
|
|
|
let |
|
|
|
|
tools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; }; |
|
|
|
|
maintainers = [ pkgs.lib.maintainers.dezgeg ]; |
|
|
|
|
mkBootstrapToolsJob = bt: hydraJob' (pkgs.lib.addMetaAttrs { inherit maintainers; } bt.dist); |
|
|
|
|
in { |
|
|
|
|
bootstrapTools = pkgs.lib.mapAttrs (name: mkBootstrapToolsJob) tools; |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
/* Cross-built bootstrap tools for every supported platform */ |
|
|
|
|
bootstrapTools = let |
|
|
|
|
tools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; }; |
|
|
|
|
maintainers = [ pkgs.lib.maintainers.dezgeg ]; |
|
|
|
|
mkBootstrapToolsJob = bt: hydraJob' (pkgs.lib.addMetaAttrs { inherit maintainers; } bt.dist); |
|
|
|
|
in pkgs.lib.mapAttrs (name: mkBootstrapToolsJob) tools; |
|
|
|
|
} |
|
|
|
|