diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix index 1d3c32103803..e626c3abfe2f 100644 --- a/pkgs/development/libraries/nix-plugins/default.nix +++ b/pkgs/development/libraries/nix-plugins/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { hash = "sha256-AkHsZpYM4EY8SNuF6LhxF2peOjp69ICGc3kOLkDms64="; }; + patches = [ ./nix-2.9.patch ]; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ nix boost ]; diff --git a/pkgs/development/libraries/nix-plugins/nix-2.9.patch b/pkgs/development/libraries/nix-plugins/nix-2.9.patch new file mode 100644 index 000000000000..f1dc2909175d --- /dev/null +++ b/pkgs/development/libraries/nix-plugins/nix-2.9.patch @@ -0,0 +1,35 @@ +diff --git a/extra-builtins.cc b/extra-builtins.cc +index 617807a..c417cb3 100644 +--- a/extra-builtins.cc ++++ b/extra-builtins.cc +@@ -27,7 +27,7 @@ static ExtraBuiltinsSettings extraBuiltinsSettings; + + static GlobalConfig::Register rp(&extraBuiltinsSettings); + +-static void extraBuiltins(EvalState & state, const Pos & pos, ++static void extraBuiltins(EvalState & state, const PosIdx pos, + Value ** _args, Value & v) + { + static auto extraBuiltinsFile = absPath(extraBuiltinsSettings.extraBuiltinsFile); +@@ -44,10 +44,10 @@ static void extraBuiltins(EvalState & state, const Pos & pos, + auto attrs = state.buildBindings(2); + + auto sExec = state.symbols.create("exec"); +- attrs.alloc(sExec).mkPrimOp(new PrimOp { .fun = prim_exec, .arity = 1, .name = sExec }); ++ attrs.alloc(sExec).mkPrimOp(new PrimOp { .fun = prim_exec, .arity = 1, .name = "exec" }); + + auto sImportNative = state.symbols.create("importNative"); +- attrs.alloc(sImportNative).mkPrimOp(new PrimOp { .fun = prim_importNative, .arity = 2, .name = sImportNative }); ++ attrs.alloc(sImportNative).mkPrimOp(new PrimOp { .fun = prim_importNative, .arity = 2, .name = "importNative" }); + + arg = state.allocValue(); + arg->mkAttrs(attrs); +@@ -64,7 +64,7 @@ static void extraBuiltins(EvalState & state, const Pos & pos, + static RegisterPrimOp rp1("__extraBuiltins", 0, + extraBuiltins); + +-static void cflags(EvalState & state, const Pos & _pos, ++static void cflags(EvalState & state, const PosIdx _pos, + Value ** _args, Value & v) + { + auto attrs = state.buildBindings(3); diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 2fb514cf2932..7e3f489b084a 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -11,12 +11,12 @@ }: stdenv.mkDerivation rec { pname = "nix-eval-jobs"; - version = "0.0.6"; + version = "2.9.0"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = "v${version}"; - hash = "sha256-NCUVRiZqg9JgS+hlAczvPDb0M5uIwyyqhdKe5K1P360="; + hash = "sha256-fN9D1rqJ4UFmCykTK8cU0oPWqN3wR8m9/zQ6fwVdBcY="; }; buildInputs = [ boost diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 44877c94c25b..b91ee5c9ee60 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -85,7 +85,20 @@ in lib.makeExtensible (self: { sha256 = "sha256-zldZ4SiwkISFXxrbY/UdwooIZ3Z/I6qKxtpc3zD0T/o="; }; - stable = self.nix_2_8; + nix_2_9 = common { + version = "2.9.0"; + sha256 = "sha256-W6aTsTpCTb+vXQEXDjnKqetOuJmEfSuK2CXvAMqwo74="; + patches = [ + # can be removed when updated to 2.9.1 + (fetchpatch { + name = "fix-segfault-in-git-fetcher"; + url = "https://github.com/NixOS/nix/commit/bc4759345538c89e1f045aaabcc0cafe4ecca12a.patch"; + sha256 = "sha256-UrfH4M7a02yfE9X3tA1Pwhw4RacBW+rShYkl7ybG64I="; + }) + ]; + }; + + stable = self.nix_2_9; # remember to backport updates to the stable branch! unstable = lib.lowPrio (common rec {