diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-15 10:30:44 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-15 10:30:44 +0000 |
commit | e0794be8a0d11e90461e5a9c85012a36b93ec976 (patch) | |
tree | efd9cbc55ea3322867bf601c4d536758a3dd5fcc /nixpkgs/pkgs/tools/package-management/nix/default.nix | |
parent | 3538874082ded7647b1ccec0343c7c1e882cfef3 (diff) | |
parent | 1a57d96edd156958b12782e8c8b6a374142a7248 (diff) | |
download | nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.gz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.bz2 nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.lz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.xz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.zst nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.zip |
Merge commit '1a57d96edd156958b12782e8c8b6a374142a7248'
Diffstat (limited to 'nixpkgs/pkgs/tools/package-management/nix/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/package-management/nix/default.nix | 57 |
1 files changed, 36 insertions, 21 deletions
diff --git a/nixpkgs/pkgs/tools/package-management/nix/default.nix b/nixpkgs/pkgs/tools/package-management/nix/default.nix index 2acf5d194e09..868be79c1a49 100644 --- a/nixpkgs/pkgs/tools/package-management/nix/default.nix +++ b/nixpkgs/pkgs/tools/package-management/nix/default.nix @@ -1,9 +1,8 @@ -{ lib, fetchurl, fetchFromGitHub, callPackage +{ lib, fetchurl, fetchpatch, fetchFromGitHub, callPackage , storeDir ? "/nix/store" , stateDir ? "/nix/var" , confDir ? "/etc" , boehmgc -, stdenv, llvmPackages_6 }: let @@ -12,8 +11,9 @@ common = { lib, stdenv, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz , bash, coreutils, gzip, gnutar , pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline, nlohmann_json - , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns + , autoreconfHook, autoconf-archive, bison, flex , jq, libarchive + , lowdown, mdbook # Used by tests , gmock , busybox-sandbox-shell @@ -22,18 +22,17 @@ common = , confDir , withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp , withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp - , enableStatic ? false - , name, suffix ? "", src + , enableStatic ? stdenv.hostPlatform.isStatic + , name, suffix ? "", src, patches ? [] }: let sh = busybox-sandbox-shell; nix = stdenv.mkDerivation rec { - inherit name src; + inherit name src patches; version = lib.getVersion name; is24 = lib.versionAtLeast version "2.4pre"; - isExactly23 = lib.versionAtLeast version "2.3" && lib.versionOlder version "2.4"; VERSION_SUFFIX = suffix; @@ -41,8 +40,13 @@ common = nativeBuildInputs = [ pkgconfig ] - ++ lib.optionals is24 [ autoreconfHook autoconf-archive bison flex libxml2 libxslt - docbook5 docbook_xsl_ns jq ]; + ++ lib.optionals is24 + [ autoreconfHook + autoconf-archive + bison flex + lowdown mdbook + jq + ]; buildInputs = [ curl openssl sqlite xz bzip2 nlohmann_json @@ -88,9 +92,15 @@ common = patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.* ''} '' + - # For Nix-2.3, patch around an issue where the Nix configure step pulls in the - # build system's bash and other utilities when cross-compiling - lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform && isExactly23) '' + # On all versions before c9f51e87057652db0013289a95deffba495b35e7, + # released with 2.3.8, we need to patch around an issue where the Nix + # configure step pulls in the build system's bash and other utilities + # when cross-compiling. + lib.optionalString ( + stdenv.buildPlatform != stdenv.hostPlatform && + (lib.versionOlder "2.3.8" version && !is24) + # The additional is24 condition is required as versionOlder doesn't understand nixUnstable version strings + ) '' mkdir tmp/ substitute corepkgs/config.nix.in tmp/config.nix.in \ --subst-var-by bash ${bash}/bin/bash \ @@ -163,7 +173,7 @@ common = # This is not cross-compile safe, don't have time to fix right now # but noting for future travellers. nativeBuildInputs = - [ perl pkgconfig curl nix libsodium boost autoreconfHook autoconf-archive ]; + [ perl pkgconfig curl nix libsodium boost autoreconfHook autoconf-archive nlohmann_json ]; configureFlags = [ "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}" @@ -183,28 +193,33 @@ in rec { nix = nixStable; nixStable = callPackage common (rec { - name = "nix-2.3.7"; + name = "nix-2.3.10"; src = fetchurl { url = "https://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "dd8f52849414e5a878afe7e797aa4e22bab77c875d9da5a38d5f1bada704e596"; + sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; }; inherit storeDir stateDir confDir boehmgc; - } // stdenv.lib.optionalAttrs stdenv.cc.isClang { - stdenv = llvmPackages_6.stdenv; }); nixUnstable = lib.lowPrio (callPackage common rec { - name = "nix-3.0${suffix}"; - suffix = "pre20200829_f156513"; + name = "nix-2.4${suffix}"; + suffix = "pre20201201_5a6ddb3"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "f15651303f8596bf34c67fc8d536b1e9e7843a87"; - hash = "sha256-HqM3Z4DLdMrf+0PPZL9ysctGg+K+i3S/IHA1GsJj0Ro="; + rev = "5a6ddb3de14a1684af6c793d663764d093fa7846"; + sha256 = "0qhd3nxvqzszzsfvh89xhd239ycqb0kq2n0bzh9br78pcb60vj3g"; }; + patches = [ + (fetchpatch { # Fix build on gcc10 + url = "https://github.com/NixOS/nix/commit/d4870462f8f539adeaa6dca476aff6f1f31e1981.patch"; + sha256 = "mTvLvuxb2QVybRDgntKMq+b6da/s3YgM/ll2rWBeY/Y="; + }) + ]; + inherit storeDir stateDir confDir boehmgc; }); |