From f0c3fe4091d19175b178c095f3dd7cab9be9213f Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 31 May 2022 17:43:28 +0300 Subject: [PATCH 1/5] nixVersions.nix_2_9: init at 2.9.0 --- pkgs/tools/package-management/nix/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 7b6d872860e3..959c463745d9 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -85,6 +85,11 @@ in lib.makeExtensible (self: { sha256 = "sha256-zldZ4SiwkISFXxrbY/UdwooIZ3Z/I6qKxtpc3zD0T/o="; }; + nix_2_9 = common { + version = "2.9.0"; + sha256 = "sha256-W6aTsTpCTb+vXQEXDjnKqetOuJmEfSuK2CXvAMqwo74="; + }; + stable = self.nix_2_8; unstable = lib.lowPrio (common rec { From 7d6eeeb3d0bc69a2f7fc8d2603dc7564f1fad6e0 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 31 May 2022 17:45:17 +0300 Subject: [PATCH 2/5] nixVersions.stable: nix_2_8 -> nix_2_9  --- pkgs/tools/package-management/nix/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 959c463745d9..780a302bcd63 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -90,7 +90,7 @@ in lib.makeExtensible (self: { sha256 = "sha256-W6aTsTpCTb+vXQEXDjnKqetOuJmEfSuK2CXvAMqwo74="; }; - stable = self.nix_2_8; + stable = self.nix_2_9; unstable = lib.lowPrio (common rec { version = "2.8"; From b28b489abca5aa6fa8f86a77a427c086db6405cf Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 4 Jun 2022 15:38:45 +0300 Subject: [PATCH 3/5] nixVersions.nix_2_9: add patch this has been backported but not been in a release --- pkgs/tools/package-management/nix/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 780a302bcd63..f3ecc39f3378 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -88,6 +88,14 @@ in lib.makeExtensible (self: { 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; From 4bf142e3c165d56fd612dea849648411f354cfe7 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Wed, 1 Jun 2022 04:10:21 +0800 Subject: [PATCH 4/5] nix-eval-jobs: 0.0.6 -> 2.9.0 --- pkgs/tools/package-management/nix-eval-jobs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From aef9be48aa53c4e0c70936432e58df8f170525cf Mon Sep 17 00:00:00 2001 From: adisbladis Date: Sat, 4 Jun 2022 21:42:09 +0800 Subject: [PATCH 5/5] nix-plugins: Apply patch to build with Nix 2.9 --- .../libraries/nix-plugins/default.nix | 2 ++ .../libraries/nix-plugins/nix-2.9.patch | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/libraries/nix-plugins/nix-2.9.patch 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);