diff options
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 56 | ||||
-rw-r--r-- | pkgs/top-level/make-tarball.nix | 11 | ||||
-rw-r--r-- | pkgs/top-level/perl-packages.nix | 11 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/release-cross.nix | 100 | ||||
-rw-r--r-- | pkgs/top-level/release.nix | 6 | ||||
-rw-r--r-- | pkgs/top-level/rust-packages.nix | 6 |
7 files changed, 105 insertions, 87 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 41ab78b75b74..c60e66936692 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -996,6 +996,8 @@ with pkgs; hr = callPackage ../applications/misc/hr { }; + icdiff = callPackage ../tools/text/icdiff {}; + interlock = callPackage ../servers/interlock {}; jbuilder = callPackage ../development/tools/ocaml/jbuilder { }; @@ -5077,9 +5079,6 @@ with pkgs; cross = targetPlatform; crossStageStatic = false; - # XXX: We have troubles cross-compiling libstdc++ on MinGW (see - # <http://hydra.nixos.org/build/4268232>), so don't even try. - langCC = targetPlatform.config != "i686-pc-mingw32"; # Why is this needed? inherit (forcedNativePackages) binutils; }; @@ -6414,7 +6413,10 @@ with pkgs; bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { }; - binutils = if stdenv.isDarwin then darwin.binutils else binutils-raw; + binutils = + if lib.systems.parse.isDarwin targetPlatform.parsed + then darwin.binutils + else binutils-raw; binutils-raw = callPackage ../development/tools/misc/binutils { # FHS sys dirs presumably only have stuff for the build platform @@ -7725,7 +7727,7 @@ with pkgs; glibcCross = forcedNativePackages.glibc.override { gccCross = gccCrossStageStatic; - linuxHeaders = linuxHeadersCross; + inherit (forcedNativePackages) linuxHeaders; }; # We can choose: @@ -10203,6 +10205,7 @@ with pkgs; v8 = callPackage ../development/libraries/v8 { inherit (python2Packages) python gyp; + cctools = darwin.cctools; }; v8_static = lowPrio (self.v8.override { static = true; }); @@ -11468,17 +11471,13 @@ with pkgs; darwin = let apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { }; in apple-source-releases // rec { - cctools_cross = callPackage (forcedNativePackages.callPackage ../os-specific/darwin/cctools/port.nix {}).cross { - cross = assert targetPlatform != buildPlatform; targetPlatform; + cctools = callPackage ../os-specific/darwin/cctools/port.nix { + inherit libobjc; + stdenv = if stdenv.isDarwin then stdenv else libcxxStdenv; inherit maloader; xctoolchain = xcode.toolchain; }; - cctools = (callPackage ../os-specific/darwin/cctools/port.nix { - inherit libobjc; - stdenv = if stdenv.isDarwin then stdenv else libcxxStdenv; - }).native; - cf-private = callPackage ../os-specific/darwin/cf-private { inherit (apple-source-releases) CF; inherit osx_private_sdk; @@ -11708,25 +11707,30 @@ with pkgs; lkl = callPackage ../applications/virtualization/lkl { }; - linuxHeaders = linuxHeaders_4_4; - - linuxHeaders24Cross = forcedNativePackages.callPackage ../os-specific/linux/kernel-headers/2.4.nix { - cross = assert targetPlatform != buildPlatform; targetPlatform; + linuxHeaders_2_4 = callPackage ../os-specific/linux/kernel-headers/2.4.nix { + cross = if targetPlatform != hostPlatform then targetPlatform else null; }; - linuxHeaders26Cross = forcedNativePackages.callPackage ../os-specific/linux/kernel-headers/4.4.nix { - cross = assert targetPlatform != buildPlatform; targetPlatform; + linuxHeaders_2_6 = callPackage ../os-specific/linux/kernel-headers/4.4.nix { + cross = if targetPlatform != hostPlatform then targetPlatform else null; }; - linuxHeaders_4_4 = callPackage ../os-specific/linux/kernel-headers/4.4.nix { }; + linuxHeaders_4_4 = callPackage ../os-specific/linux/kernel-headers/4.4.nix { + cross = if targetPlatform != hostPlatform then targetPlatform else null; + }; # We can choose: - linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross - else if ver == "2.6" then linuxHeaders26Cross - else throw "Unknown linux kernel version"; - - linuxHeadersCross = assert targetPlatform != buildPlatform; - linuxHeadersCrossChooser targetPlatform.platform.kernelMajor; + linuxHeaders = + if targetPlatform != hostPlatform + then + { # switch + "2.4" = linuxHeaders_2_4; + "2.6" = linuxHeaders_2_6; + "4.4" = linuxHeaders_4_4; + }.${targetPlatform.platform.kernelMajor} + or (throw "Unknown linux kernel version") + else + linuxHeaders_4_4; kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; @@ -12381,7 +12385,7 @@ with pkgs; uclibc = callPackage ../os-specific/linux/uclibc { }; uclibcCross = lowPrio (callPackage ../os-specific/linux/uclibc { - linuxHeaders = linuxHeadersCross; + inherit (buildPackages) linuxHeaders; gccCross = gccCrossStageStatic; cross = assert targetPlatform != buildPlatform; targetPlatform; }); diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index a69e7019c874..c7e5f21910bb 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -57,8 +57,15 @@ releaseTools.sourceTarball rec { fi # Run the regression tests in `lib'. - res="$(nix-instantiate --eval --strict --show-trace lib/tests.nix)" - if test "$res" != "[ ]"; then + if + # `set -e` doesn't work inside here, so need to && instead :( + res="$(nix-instantiate --eval --strict lib/tests/misc.nix)" \ + && [[ "$res" == "[ ]" ]] \ + && res="$(nix-instantiate --eval --strict lib/tests/systems.nix)" \ + && [[ "$res" == "[ ]" ]] + then + true + else echo "regression tests for lib failed, got: $res" exit 1 fi diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 19a3503c72fc..c1114fd049a5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10789,13 +10789,13 @@ let self = _self // overrides; _self = with self; { }; }; - PPI = buildPerlPackage { - name = "PPI-1.220"; + PPI = buildPerlPackage rec { + name = "PPI-1.224"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MITHALDU/PPI-1.220.tar.gz; - sha256 = "1e15be50e7d95a36d351af8bf5074f6695a2c72165e586d93e616183e7602b83"; + url = "mirror://cpan/authors/id/M/MI/MITHALDU/${name}.tar.gz"; + sha256 = "8d0f9faaea68515fb5aa6323115dcf98ea6c1dec4441f3844d3b9633b6cc9d94"; }; - buildInputs = [ ClassInspector FileRemove TestNoWarnings TestObject TestSubCalls ]; + buildInputs = [ ClassInspector FileRemove TestDeep TestObject TestSubCalls TestWarn ]; propagatedBuildInputs = [ Clone IOString ListMoreUtils ParamsUtil TaskWeaken ]; # Remove test that fails due to unexpected shebang after @@ -10806,7 +10806,6 @@ let self = _self // overrides; _self = with self; { homepage = https://github.com/adamkennedy/PPI; description = "Parse, Analyze and Manipulate Perl (without perl)"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; - maintainers = [ maintainers.rycee ]; }; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1516ccaa94f5..5c86376a2441 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12616,8 +12616,6 @@ in { }; }; - icdiff = callPackage ../tools/text/icdiff {}; - imageio = buildPythonPackage rec { name = "imageio-${version}"; version = "1.6"; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 824289726995..31ce31a67595 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -1,5 +1,8 @@ -{ # The platforms for which we build Nixpkgs. - supportedSystems ? [ builtins.currentSystem ] +/* This file defines some basic smoke tests for cross compilation. +*/ + +{ # The platforms *from* which we cross compile. + supportedSystems ? [ "x86_64-linux" "x86_64-darwin" ] , # Strip most of attributes when evaluating to spare memory usage scrubJobs ? true }: @@ -9,22 +12,39 @@ with import ./release-lib.nix { inherit supportedSystems scrubJobs; }; let nativePlatforms = linux; - /* Basic list of packages to cross-build */ - basicCrossDrv = { + common = { + buildPackages.binutils = nativePlatforms; + gmp = nativePlatforms; + }; + + gnuCommon = common // { + buildPackages.gccCrossStageFinal = nativePlatforms; + coreutils = nativePlatforms; + }; + + linuxCommon = gnuCommon // { + buildPackages.gdbCross = nativePlatforms; + bison = nativePlatforms; busybox = nativePlatforms; - coreutils = nativePlatforms; dropbear = nativePlatforms; + ed = nativePlatforms; + ncurses = nativePlatforms; + patch = nativePlatforms; }; - /* Basic list of packages to be natively built, - but need a crossSystem defined to get meaning */ - basicNativeDrv = { - buildPackages.gccCrossStageFinal = nativePlatforms; - buildPackages.gdbCross = nativePlatforms; + windowsCommon = gnuCommon // { + boehmgc = nativePlatforms; + guile_1_8 = nativePlatforms; + libffi = nativePlatforms; + libtool = nativePlatforms; + libunistring = nativePlatforms; + windows.wxMSW = nativePlatforms; }; - basic = basicCrossDrv // basicNativeDrv; + darwinCommon = { + buildPackages.binutils = darwin; + }; in @@ -68,6 +88,21 @@ in guile = nativePlatforms; }; + darwinToAarch64 = let + crossSystem = { + config = "aarch64-apple-darwin14"; + arch = "arm64"; + libc = "libSystem"; + }; + in mapTestOnCross crossSystem darwinCommon; + + darwinToArm = let + crossSystem = { + config = "arm-apple-darwin10"; + arch = "armv7-a"; + libc = "libSystem"; + }; + in mapTestOnCross crossSystem darwinCommon; /* Test some cross builds to the Sheevaplug */ crossSheevaplugLinux = let @@ -81,7 +116,7 @@ in libc = "glibc"; openssl.system = "linux-generic32"; }; - in mapTestOnCross crossSystem (basic // { + in mapTestOnCross crossSystem (linuxCommon // { ubootSheevaplug = nativePlatforms; }); @@ -89,48 +124,30 @@ in /* Test some cross builds on 32 bit mingw-w64 */ crossMingw32 = let crossSystem = { - config = "i686-w64-mingw32"; + config = "i686-pc-mingw32"; arch = "x86"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; - in mapTestOnCross crossSystem { - coreutils = nativePlatforms; - boehmgc = nativePlatforms; - gmp = nativePlatforms; - guile_1_8 = nativePlatforms; - libffi = nativePlatforms; - libtool = nativePlatforms; - libunistring = nativePlatforms; - windows.wxMSW = nativePlatforms; - }; + in mapTestOnCross crossSystem windowsCommon; /* 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"; + config = "x86_64-pc-mingw32"; arch = "x86_64"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; - in mapTestOnCross crossSystem { - coreutils = nativePlatforms; - boehmgc = nativePlatforms; - gmp = nativePlatforms; - guile_1_8 = nativePlatforms; - libffi = nativePlatforms; - libtool = nativePlatforms; - libunistring = nativePlatforms; - windows.wxMSW = nativePlatforms; - }; + in mapTestOnCross crossSystem windowsCommon; /* Linux on the fuloong */ fuloongminipc = let crossSystem = { - config = "mips64el-unknown-linux"; + config = "mips64el-unknown-linux-gnu"; bigEndian = false; arch = "mips"; float = "hard"; @@ -143,11 +160,7 @@ in abi = "n32"; }; }; - in mapTestOnCross crossSystem { - coreutils = nativePlatforms; - ed = nativePlatforms; - patch = nativePlatforms; - }; + in mapTestOnCross crossSystem linuxCommon; /* Linux on Raspberrypi */ @@ -169,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; @@ -180,7 +190,7 @@ in patchelf = nativePlatforms; buildPackages.binutils = nativePlatforms; mpg123 = nativePlatforms; - }; + }); /* Cross-built bootstrap tools for every supported platform */ diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 089e0ef4518e..be57b40fca64 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -28,7 +28,7 @@ let metrics = import ./metrics.nix { inherit pkgs nixpkgs; }; manual = import ../../doc; - lib-tests = import ../../lib/tests/release.nix { inherit nixpkgs supportedSystems scrubJobs; }; + lib-tests = import ../../lib/tests/release.nix { inherit pkgs; }; darwin-tested = pkgs.releaseTools.aggregate { name = "nixpkgs-darwin-${jobs.tarball.version}"; @@ -52,6 +52,7 @@ let [ jobs.tarball jobs.metrics jobs.manual + jobs.lib-tests jobs.stdenv.x86_64-linux jobs.stdenv.i686-linux jobs.stdenv.x86_64-darwin @@ -78,8 +79,7 @@ let jobs.git.x86_64-darwin jobs.mysql.x86_64-darwin jobs.vim.x86_64-darwin - ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools - ++ lib.collect lib.isDerivation jobs.lib-tests; + ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools; }; } // (lib.optionalAttrs (builtins.elem "i686-linux" supportedSystems) { stdenvBootstrapTools.i686-linux = diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix index 4e57368fa1e6..db147fa9ca90 100644 --- a/pkgs/top-level/rust-packages.nix +++ b/pkgs/top-level/rust-packages.nix @@ -7,9 +7,9 @@ { runCommand, fetchFromGitHub, git }: let - version = "2017-05-03"; - rev = "dbc41da97da0a504d83af656b5d354ab5cf033e6"; - sha256 = "1kmy0hr155gcmilvwaj4ak5ppszrympyia7zxwhfihh00mip7xkb"; + version = "2017-05-15"; + rev = "c73d61e84a623168a1a9bfff9c71defcc3416631"; + sha256 = "0c2f4f48bacx0lq33bjw806fq5r4nvbrxvl74n7gd2y44ldafnir"; src = fetchFromGitHub { inherit rev; |