top-level: no more need to expose `splicedPackages`

This was just done temporarily on the last cross-overhauling PR for
testing purposes.
wip/yesman
John Ericson 8 years ago
parent 39fb46f538
commit c869fe022e
  1. 53
      pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
  2. 72
      pkgs/top-level/release-cross.nix
  3. 5
      pkgs/top-level/release-lib.nix
  4. 2
      pkgs/top-level/splice.nix

@ -55,33 +55,32 @@ let
if toolsArch == "armv6l" then raspberrypiCrossSystem else if toolsArch == "armv6l" then raspberrypiCrossSystem else
if toolsArch == "armv7l" then armv7l-hf-multiplatform-crossSystem else null; if toolsArch == "armv7l" then armv7l-hf-multiplatform-crossSystem else null;
pkgsUnspliced = pkgsFun ({inherit system;} // selectedCrossSystem); pkgs = pkgsFun ({inherit system;} // selectedCrossSystem);
pkgs = pkgsUnspliced.splicedPackages;
inherit (pkgs.buildPackages) stdenv nukeReferences cpio binutilsCross;
inherit (pkgsUnspliced.buildPackages) stdenv nukeReferences cpio binutilsCross;
glibc = pkgs.buildPackages.libcCross;
glibc = pkgs.libcCross.nativeDrv; bash = pkgs.bash;
bash = pkgs.bash.crossDrv; findutils = pkgs.findutils;
findutils = pkgs.findutils.crossDrv; diffutils = pkgs.diffutils;
diffutils = pkgs.diffutils.crossDrv; gnused = pkgs.gnused;
gnused = pkgs.gnused.crossDrv; gnugrep = pkgs.gnugrep;
gnugrep = pkgs.gnugrep.crossDrv; gawk = pkgs.gawk;
gawk = pkgs.gawk.crossDrv; gzip = pkgs.gzip;
gzip = pkgs.gzip.crossDrv; bzip2 = pkgs.bzip2;
bzip2 = pkgs.bzip2.crossDrv; gnumake = pkgs.gnumake;
gnumake = pkgs.gnumake.crossDrv; patch = pkgs.patch;
patch = pkgs.patch.crossDrv; patchelf = pkgs.patchelf;
patchelf = pkgs.patchelf.crossDrv; gcc = pkgs.gcc.cc;
gcc = pkgs.gcc.crossDrv.cc; gmpxx = pkgs.gmpxx;
gmpxx = pkgs.gmpxx.crossDrv; mpfr = pkgs.mpfr;
mpfr = pkgs.mpfr.crossDrv; zlib = pkgs.zlib;
zlib = pkgs.zlib.crossDrv; libmpc = pkgs.libmpc;
libmpc = pkgs.libmpc.crossDrv; binutils = pkgs.binutils;
binutils = pkgs.binutils.crossDrv; libelf = pkgs.libelf;
libelf = pkgs.libelf.crossDrv;
# Keep these versions in sync with the versions used in the current GCC! # Keep these versions in sync with the versions used in the current GCC!
isl = pkgs.isl_0_14.crossDrv; isl = pkgs.isl_0_14;
in in
rec { rec {
@ -116,7 +115,7 @@ rec {
stdenv.mkDerivation { stdenv.mkDerivation {
name = "stdenv-bootstrap-tools-cross"; name = "stdenv-bootstrap-tools-cross";
crossConfig = pkgsUnspliced.hostPlatform.config; crossConfig = pkgs.hostPlatform.config;
buildInputs = [nukeReferences cpio binutilsCross]; buildInputs = [nukeReferences cpio binutilsCross];
@ -174,7 +173,7 @@ rec {
cp -d ${patch}/bin/* $out/bin cp -d ${patch}/bin/* $out/bin
cp ${patchelf}/bin/* $out/bin cp ${patchelf}/bin/* $out/bin
cp -d ${gnugrep.pcre.crossDrv.out}/lib/libpcre*.so* $out/lib # needed by grep cp -d ${gnugrep.pcre.out}/lib/libpcre*.so* $out/lib # needed by grep
# Copy what we need of GCC. # Copy what we need of GCC.
cp -d ${gcc.out}/bin/gcc $out/bin cp -d ${gcc.out}/bin/gcc $out/bin

@ -14,17 +14,17 @@ let
/* Basic list of packages to cross-build */ /* Basic list of packages to cross-build */
basicCrossDrv = { basicCrossDrv = {
gccCrossStageFinal = nativePlatforms; bison = nativePlatforms;
bison.crossDrv = nativePlatforms; busybox = nativePlatforms;
busybox.crossDrv = nativePlatforms; coreutils = nativePlatforms;
coreutils.crossDrv = nativePlatforms; dropbear = nativePlatforms;
dropbear.crossDrv = nativePlatforms;
}; };
/* Basic list of packages to be natively built, /* Basic list of packages to be natively built,
but need a crossSystem defined to get meaning */ but need a crossSystem defined to get meaning */
basicNativeDrv = { basicNativeDrv = {
gdbCross.nativeDrv = nativePlatforms; buildPackages.gccCrossStageFinal = nativePlatforms;
buildPackages.gdbCross = nativePlatforms;
}; };
basic = basicCrossDrv // basicNativeDrv; basic = basicCrossDrv // basicNativeDrv;
@ -85,7 +85,7 @@ in
openssl.system = "linux-generic32"; openssl.system = "linux-generic32";
}; };
in mapTestOnCross crossSystem (basic // { in mapTestOnCross crossSystem (basic // {
ubootSheevaplug.crossDrv = nativePlatforms; ubootSheevaplug = nativePlatforms;
}); });
@ -98,14 +98,14 @@ in
platform = {}; platform = {};
}; };
in mapTestOnCross crossSystem { in mapTestOnCross crossSystem {
coreutils.crossDrv = nativePlatforms; coreutils = nativePlatforms;
boehmgc.crossDrv = nativePlatforms; boehmgc = nativePlatforms;
gmp.crossDrv = nativePlatforms; gmp = nativePlatforms;
guile_1_8.crossDrv = nativePlatforms; guile_1_8 = nativePlatforms;
libffi.crossDrv = nativePlatforms; libffi = nativePlatforms;
libtool.crossDrv = nativePlatforms; libtool = nativePlatforms;
libunistring.crossDrv = nativePlatforms; libunistring = nativePlatforms;
windows.wxMSW.crossDrv = nativePlatforms; windows.wxMSW = nativePlatforms;
}; };
@ -119,14 +119,14 @@ in
platform = {}; platform = {};
}; };
in mapTestOnCross crossSystem { in mapTestOnCross crossSystem {
coreutils.crossDrv = nativePlatforms; coreutils = nativePlatforms;
boehmgc.crossDrv = nativePlatforms; boehmgc = nativePlatforms;
gmp.crossDrv = nativePlatforms; gmp = nativePlatforms;
guile_1_8.crossDrv = nativePlatforms; guile_1_8 = nativePlatforms;
libffi.crossDrv = nativePlatforms; libffi = nativePlatforms;
libtool.crossDrv = nativePlatforms; libtool = nativePlatforms;
libunistring.crossDrv = nativePlatforms; libunistring = nativePlatforms;
windows.wxMSW.crossDrv = nativePlatforms; windows.wxMSW = nativePlatforms;
}; };
@ -156,9 +156,9 @@ in
}; };
}; };
in mapTestOnCross crossSystem { in mapTestOnCross crossSystem {
coreutils.crossDrv = nativePlatforms; coreutils = nativePlatforms;
ed.crossDrv = nativePlatforms; ed = nativePlatforms;
patch.crossDrv = nativePlatforms; patch = nativePlatforms;
}; };
@ -182,16 +182,16 @@ in
}; };
}; };
in mapTestOnCross crossSystem { in mapTestOnCross crossSystem {
coreutils.crossDrv = nativePlatforms; coreutils = nativePlatforms;
ed.crossDrv = nativePlatforms; ed = nativePlatforms;
patch.crossDrv = nativePlatforms; patch = nativePlatforms;
vim.crossDrv = nativePlatforms; vim = nativePlatforms;
unzip.crossDrv = nativePlatforms; unzip = nativePlatforms;
ddrescue.crossDrv = nativePlatforms; ddrescue = nativePlatforms;
lynx.crossDrv = nativePlatforms; lynx = nativePlatforms;
patchelf.crossDrv = nativePlatforms; patchelf = nativePlatforms;
binutils.crossDrv = nativePlatforms; buildPackages.binutils = nativePlatforms;
mpg123.crossDrv = nativePlatforms; mpg123 = nativePlatforms;
}; };

@ -76,9 +76,8 @@ rec {
* parameter for allPackages, defining the target platform for cross builds, * parameter for allPackages, defining the target platform for cross builds,
* and triggering the build of the host derivation (cross built - crossDrv). */ * and triggering the build of the host derivation (cross built - crossDrv). */
mapTestOnCross = crossSystem: mapAttrsRecursive mapTestOnCross = crossSystem: mapAttrsRecursive
(path: systems: testOnCross crossSystem systems (pkgs: addMetaAttrs (path: systems: testOnCross crossSystem systems
{ maintainers = crossMaintainers; } (pkgs: addMetaAttrs { maintainers = crossMaintainers; } (getAttrFromPath path pkgs)));
(getAttrFromPath path pkgs.splicedPackages)));
/* Recursively map a (nested) set of derivations to an isomorphic /* Recursively map a (nested) set of derivations to an isomorphic

@ -70,8 +70,6 @@ let
in in
{ {
splicedPackages = splicedPackages // { recurseForDerivations = false; };
# We use `callPackage' to be able to omit function arguments that can be # We use `callPackage' to be able to omit function arguments that can be
# obtained `pkgs` or `buildPackages` and their `xorg` package sets. Use # obtained `pkgs` or `buildPackages` and their `xorg` package sets. Use
# `newScope' for sets of packages in `pkgs' (see e.g. `gnome' below). # `newScope' for sets of packages in `pkgs' (see e.g. `gnome' below).

Loading…
Cancel
Save