nix*: Make .override work

Currently, .override is only on a temporary attrset that is thrown away, now it
is also on the nix derivations we use.
This commit is contained in:
John Ericson 2019-03-10 13:30:54 -04:00
parent a593f64cd7
commit bfc72142e0
2 changed files with 28 additions and 13 deletions

View file

@ -1,20 +1,29 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz { lib, fetchurl, fetchFromGitHub, callPackage
, pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline
, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns
, busybox-sandbox-shell
, storeDir ? "/nix/store" , storeDir ? "/nix/store"
, stateDir ? "/nix/var" , stateDir ? "/nix/var"
, confDir ? "/etc" , confDir ? "/etc"
, withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp , boehmgc
, withAWS ? stdenv.isLinux || stdenv.isDarwin, aws-sdk-cpp
}: }:
let let
sh = busybox-sandbox-shell; common =
{ lib, stdenv, fetchurl, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz
, pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline
, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns
, busybox-sandbox-shell
, storeDir
, stateDir
, confDir
, withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp
, withAWS ? stdenv.isLinux || stdenv.isDarwin, aws-sdk-cpp
common = { name, suffix ? "", src, includesPerl ? false, fromGit ? false }: , name, suffix ? "", src, includesPerl ? false, fromGit ? false
let nix = stdenv.mkDerivation rec {
}:
let
sh = busybox-sandbox-shell;
nix = stdenv.mkDerivation rec {
inherit name src; inherit name src;
version = lib.getVersion name; version = lib.getVersion name;
@ -144,7 +153,7 @@ in rec {
nix = nixStable; nix = nixStable;
nix1 = common rec { nix1 = callPackage common rec {
name = "nix-1.11.16"; name = "nix-1.11.16";
src = fetchurl { src = fetchurl {
url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
@ -153,17 +162,21 @@ in rec {
# Nix1 has the perl bindings by default, so no need to build the manually. # Nix1 has the perl bindings by default, so no need to build the manually.
includesPerl = true; includesPerl = true;
inherit storeDir stateDir confDir boehmgc;
}; };
nixStable = common rec { nixStable = callPackage common rec {
name = "nix-2.2"; name = "nix-2.2";
src = fetchurl { src = fetchurl {
url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
sha256 = "63238d00d290b8a93925891fc9164439d3941e2ccc569bf7f7ca32f53c3ec0c7"; sha256 = "63238d00d290b8a93925891fc9164439d3941e2ccc569bf7f7ca32f53c3ec0c7";
}; };
inherit storeDir stateDir confDir boehmgc;
}; };
nixUnstable = lib.lowPrio (common rec { nixUnstable = lib.lowPrio (callPackage common rec {
name = "nix-2.2${suffix}"; name = "nix-2.2${suffix}";
suffix = "pre6600_85488a93"; suffix = "pre6600_85488a93";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -173,6 +186,8 @@ in rec {
sha256 = "1n5dp7p2lzpnj7f834d25k020v16gnnsm56jz46y87v2x7b69ccm"; sha256 = "1n5dp7p2lzpnj7f834d25k020v16gnnsm56jz46y87v2x7b69ccm";
}; };
fromGit = true; fromGit = true;
inherit storeDir stateDir confDir boehmgc;
}); });
} }

View file

@ -22425,7 +22425,7 @@ in
mynewt-newt = callPackage ../tools/package-management/mynewt-newt { }; mynewt-newt = callPackage ../tools/package-management/mynewt-newt { };
inherit (callPackages ../tools/package-management/nix { inherit (callPackage ../tools/package-management/nix {
storeDir = config.nix.storeDir or "/nix/store"; storeDir = config.nix.storeDir or "/nix/store";
stateDir = config.nix.stateDir or "/nix/var"; stateDir = config.nix.stateDir or "/nix/var";
boehmgc = boehmgc.override { enableLargeConfig = true; }; boehmgc = boehmgc.override { enableLargeConfig = true; };