From b74512334b09e9e066d70d84b0ff66a9da8cfae9 Mon Sep 17 00:00:00 2001 From: Chris Norton Date: Mon, 16 Oct 2023 17:26:40 +1100 Subject: [PATCH 1/2] Add all current v20 releases --- .github/workflows/build.yml | 12 +++++ flake.nix | 88 +++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ec28ac..313216d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,6 +8,18 @@ jobs: strategy: matrix: version: + - 20.8.0 + - 20.7.0 + - 20.6.1 + - 20.6.0 + - 20.5.1 + - 20.5.0 + - 20.4.0 + - 20.3.1 + - 20.3.0 + - 20.2.0 + - 20.1.0 + - 20.0.0 - 16 - 16.3.0 - 16.2.0 diff --git a/flake.nix b/flake.nix index d61342d..3be8134 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,78 @@ icu = icu68; python = python3; }; + v20_8_0 = (buildNodejs { + enableNpm = true; + version = "20.8.0"; + sha256 = "0k3hf41kdj4yylcyjm730ah7mdp5dczcr8wxp8811xkdmr3yhas1"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_7_0 = (buildNodejs { + enableNpm = true; + version = "20.7.0"; + sha256 = "1siby56zq5jl7zihmpcpwpy5rcw5vxs6cncn0m41f5a6bk8drkrz"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_6_1 = (buildNodejs { + enableNpm = true; + version = "20.6.1"; + sha256 = "0avadhibwmdwcxabnfcsaai69028schr44iv6h680f5aimr5xv1s"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_6_0 = (buildNodejs { + enableNpm = true; + version = "20.6.0"; + sha256 = "1ynnlwq9v6p89p7q1qw41hwp7v8dnflkfz8dig9ihjwggax5rywy"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_5_1 = (buildNodejs { + enableNpm = true; + version = "20.5.1"; + sha256 = "14212g44jq2q912zvjv6h0jp39cij7lki9dzawb8dhiq5ym73723"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_5_0 = (buildNodejs { + enableNpm = true; + version = "20.5.0"; + sha256 = "0n70f8gn9bz33vx2qzy1j0aysqfaa8dvfycs0r7c1wfyb1lpacnb"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_4_0 = (buildNodejs { + enableNpm = true; + version = "20.4.0"; + sha256 = "0j2kxs8cxy61hd2vjxf9hynyfqh9s62xipsxkl13rdi6qmrhpg89"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_3_1 = (buildNodejs { + enableNpm = true; + version = "20.3.1"; + sha256 = "14cr7x7wzn5kw2q0369z66qqd2c4jxgildcv72s5jyb90srjva0j"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_3_0 = (buildNodejs { + enableNpm = true; + version = "20.3.0"; + sha256 = "0dbl9x2yzjbzb54gk3jnssvrrvlkcji3xfv6j1r7afpd4fad9a0v"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_2_0 = (buildNodejs { + enableNpm = true; + version = "20.2.0"; + sha256 = "12grrpplasg4vqbq92b0sk78dqn2afq6j7zz2jbmcdbc67r3sli2"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_1_0 = (buildNodejs { + enableNpm = true; + version = "20.1.0"; + sha256 = "1d9njij0d4laipcywkbqfi15dbgn319src92j55q3589hq8rw3v0"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); + v20_0_0 = (buildNodejs { + enableNpm = true; + version = "20.0.0"; + sha256 = "1dawgfblpki21di5jv5359xq78id8z7cz1c1775x3xv8jmbyfl3l"; + patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; + }); v16_3_0 = (buildNodejs { enableNpm = true; version = "16.3.0"; @@ -398,6 +470,22 @@ patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); in rec { + "20" = v20_8_0.overrideAttrs (prev: { + passthru = { + "8"."0" = v20_8_0; + "7"."0" = v20_7_0; + "6"."1" = v20_6_1; + "6"."0" = v20_6_0; + "5"."1" = v20_5_1; + "5"."0" = v20_5_0; + "4"."0" = v20_4_0; + "3"."1" = v20_3_1; + "3"."0" = v20_3_0; + "2"."0" = v20_2_0; + "1"."0" = v20_1_0; + "0"."0" = v20_0_0; + }; + }); "16" = v16_3_0.overrideAttrs (prev: { passthru = { "3"."0" = v16_3_0; From 2cc68a09eefba046b7fb0029b90ec64f943e579d Mon Sep 17 00:00:00 2001 From: Chris Norton Date: Wed, 18 Oct 2023 15:48:03 +1100 Subject: [PATCH 2/2] Update lockfile and fix build process --- flake.lock | 30 ++++++++++++++++++++++++------ flake.nix | 29 +++++++++++++++++------------ 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 0105236..027f03c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,15 @@ { "nodes": { "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1623660459, - "narHash": "sha256-OTmOsh43po7r5F9s9H6lVCBQ2b0FikWbmiwLbMAGRdw=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "98c8d36b1828009b20f12544214683c7489935a1", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -17,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1623330979, - "narHash": "sha256-UQD8P6lSfDx2RnP4Ss2biPDwlz19UQb9qOqjhesFSLk=", + "lastModified": 1697503484, + "narHash": "sha256-NTgSti5mcJezrl1abQl8Q02bg2UF0L/xzQn//8iW60o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e78bbcb4926bc9e35a85573ea362aec1fa9b7ac", + "rev": "10e0cf03acb1d7641cfc5fc531350423030fcb5a", "type": "github" }, "original": { @@ -35,6 +38,21 @@ "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3be8134..fd6574b 100644 --- a/flake.nix +++ b/flake.nix @@ -8,78 +8,83 @@ flake-utils.lib.eachDefaultSystem (system: with nixpkgs.legacyPackages.${system}; { packages = let + buildNodejs20 = + callPackage "${nixpkgs}/pkgs/development/web/nodejs/nodejs.nix" { + icu = icu72; + python = python3; + }; buildNodejs = callPackage "${nixpkgs}/pkgs/development/web/nodejs/nodejs.nix" { icu = icu68; python = python3; }; - v20_8_0 = (buildNodejs { + v20_8_0 = (buildNodejs20 { enableNpm = true; version = "20.8.0"; sha256 = "0k3hf41kdj4yylcyjm730ah7mdp5dczcr8wxp8811xkdmr3yhas1"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_7_0 = (buildNodejs { + v20_7_0 = (buildNodejs20 { enableNpm = true; version = "20.7.0"; sha256 = "1siby56zq5jl7zihmpcpwpy5rcw5vxs6cncn0m41f5a6bk8drkrz"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_6_1 = (buildNodejs { + v20_6_1 = (buildNodejs20 { enableNpm = true; version = "20.6.1"; sha256 = "0avadhibwmdwcxabnfcsaai69028schr44iv6h680f5aimr5xv1s"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_6_0 = (buildNodejs { + v20_6_0 = (buildNodejs20 { enableNpm = true; version = "20.6.0"; sha256 = "1ynnlwq9v6p89p7q1qw41hwp7v8dnflkfz8dig9ihjwggax5rywy"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_5_1 = (buildNodejs { + v20_5_1 = (buildNodejs20 { enableNpm = true; version = "20.5.1"; sha256 = "14212g44jq2q912zvjv6h0jp39cij7lki9dzawb8dhiq5ym73723"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_5_0 = (buildNodejs { + v20_5_0 = (buildNodejs20 { enableNpm = true; version = "20.5.0"; sha256 = "0n70f8gn9bz33vx2qzy1j0aysqfaa8dvfycs0r7c1wfyb1lpacnb"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_4_0 = (buildNodejs { + v20_4_0 = (buildNodejs20 { enableNpm = true; version = "20.4.0"; sha256 = "0j2kxs8cxy61hd2vjxf9hynyfqh9s62xipsxkl13rdi6qmrhpg89"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_3_1 = (buildNodejs { + v20_3_1 = (buildNodejs20 { enableNpm = true; version = "20.3.1"; sha256 = "14cr7x7wzn5kw2q0369z66qqd2c4jxgildcv72s5jyb90srjva0j"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_3_0 = (buildNodejs { + v20_3_0 = (buildNodejs20 { enableNpm = true; version = "20.3.0"; sha256 = "0dbl9x2yzjbzb54gk3jnssvrrvlkcji3xfv6j1r7afpd4fad9a0v"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_2_0 = (buildNodejs { + v20_2_0 = (buildNodejs20 { enableNpm = true; version = "20.2.0"; sha256 = "12grrpplasg4vqbq92b0sk78dqn2afq6j7zz2jbmcdbc67r3sli2"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_1_0 = (buildNodejs { + v20_1_0 = (buildNodejs20 { enableNpm = true; version = "20.1.0"; sha256 = "1d9njij0d4laipcywkbqfi15dbgn319src92j55q3589hq8rw3v0"; patches = lib.optional stdenv.isDarwin "${nixpkgs}/pkgs/development/web/nodejs/./bypass-xcodebuild.diff"; }); - v20_0_0 = (buildNodejs { + v20_0_0 = (buildNodejs20 { enableNpm = true; version = "20.0.0"; sha256 = "1dawgfblpki21di5jv5359xq78id8z7cz1c1775x3xv8jmbyfl3l";