about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/web
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-04-09 18:28:16 +0000
committerAlyssa Ross <hi@alyssa.is>2021-04-12 18:46:15 +0000
commitfd2e737e0678ee7d8081baef05b305146a2c0034 (patch)
treeac3e9b27576a0382335532d126f9a66d486bc638 /nixpkgs/pkgs/development/web
parentcc207d720b6aa836e256c1ee9842bc739e630a8a (diff)
parent9e377a6ce42dccd9b624ae4ce8f978dc892ba0e2 (diff)
downloadnixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.gz
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.bz2
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.lz
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.xz
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.zst
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.zip
Merge remote-tracking branch 'nixpkgs/nixos-unstable'
Diffstat (limited to 'nixpkgs/pkgs/development/web')
-rw-r--r--nixpkgs/pkgs/development/web/cog/default.nix2
-rw-r--r--nixpkgs/pkgs/development/web/cypress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/deno/default.nix63
-rw-r--r--nixpkgs/pkgs/development/web/deno/deps.nix12
-rw-r--r--nixpkgs/pkgs/development/web/deno/librusty_v8.nix21
-rw-r--r--nixpkgs/pkgs/development/web/deno/update/common.ts34
-rw-r--r--nixpkgs/pkgs/development/web/deno/update/deps.ts79
-rw-r--r--nixpkgs/pkgs/development/web/deno/update/librusty_v8.ts92
-rw-r--r--nixpkgs/pkgs/development/web/deno/update/src.ts10
-rwxr-xr-xnixpkgs/pkgs/development/web/deno/update/update.ts17
-rw-r--r--nixpkgs/pkgs/development/web/grails/default.nix2
-rw-r--r--nixpkgs/pkgs/development/web/insomnia/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/lucky-cli/shard.lock2
-rw-r--r--nixpkgs/pkgs/development/web/lucky-cli/shards.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/nodejs.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v10.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v12.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v14.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v15.nix4
-rw-r--r--nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix2
20 files changed, 188 insertions, 180 deletions
diff --git a/nixpkgs/pkgs/development/web/cog/default.nix b/nixpkgs/pkgs/development/web/cog/default.nix
index a3639e559f1c..5344c1b833ca 100644
--- a/nixpkgs/pkgs/development/web/cog/default.nix
+++ b/nixpkgs/pkgs/development/web/cog/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , lib
-, fetchpatch
 , fetchFromGitHub
 , cmake
 , pkg-config
@@ -8,7 +7,6 @@
 , wayland-protocols
 , libwpe
 , libwpe-fdo
-, glib
 , glib-networking
 , webkitgtk
 , makeWrapper
diff --git a/nixpkgs/pkgs/development/web/cypress/default.nix b/nixpkgs/pkgs/development/web/cypress/default.nix
index 927414993231..2d04fc51c817 100644
--- a/nixpkgs/pkgs/development/web/cypress/default.nix
+++ b/nixpkgs/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "6.0.0";
+  version = "6.6.0";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "0hii7kp48ba07gsd521wwl288p808xr2wqgk1iidxkzj2v6g71by";
+    sha256 = "13zw9gyaqna9d82mwrglab4dfx5y9faqf36d6xplq0z6vnzig1rg";
   };
 
   # don't remove runtime deps
diff --git a/nixpkgs/pkgs/development/web/deno/default.nix b/nixpkgs/pkgs/development/web/deno/default.nix
index 013b365bce8d..cdb34aab45c4 100644
--- a/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/nixpkgs/pkgs/development/web/deno/default.nix
@@ -1,52 +1,49 @@
-{ lib, stdenv
-, fetchurl
+{ stdenv
+, lib
+, callPackage
 , fetchFromGitHub
 , rust
 , rustPlatform
 , installShellFiles
+, libobjc
 , Security
 , CoreServices
+, Metal
+, Foundation
+, librusty_v8 ? callPackage ./librusty_v8.nix { }
 }:
-let
-  deps = import ./deps.nix { };
-  arch = rust.toRustTarget stdenv.hostPlatform;
-  rustyV8Lib = with deps.rustyV8Lib; fetchurl {
-    url = "https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch}.a";
-    sha256 = sha256s."${stdenv.hostPlatform.system}";
-    meta = { inherit version; };
-  };
-in
+
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.6.3";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wmkx458fpsfw57ysawxc0ghxag8v051hiyswm7nnb7gckrm6j8z";
-    fetchSubmodules = true;
+    sha256 = "sha256-QkVDIpJ4VW3DpcwhydDnt68zxVXwkitIiN8blGlqX1g=";
   };
-  cargoSha256 = "08vzsp53019gmxkn8lpa6l84w3fvbrnr11lzrfgf99nmii6l2hq5";
+  cargoSha256 = "sha256-pf/4/H3wNORNvAswz8+7B3x5T5MyQgW7HgtDLBhfE/o=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ Security CoreServices ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libobjc Security CoreServices Metal Foundation ];
 
   # The rusty_v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
   # To avoid this we pre-download the file and place it in the locations it will require it in advance
-  preBuild = ''
-    _rusty_v8_setup() {
-      for v in "$@"; do
-        dir="target/$v/gn_out/obj"
-        mkdir -p "$dir" && cp "${rustyV8Lib}" "$dir/librusty_v8.a"
-      done
-    }
+  preBuild =
+    let arch = rust.toRustTarget stdenv.hostPlatform; in
+    ''
+      _librusty_v8_setup() {
+        for v in "$@"; do
+          install -D ${librusty_v8} "target/$v/gn_out/obj/librusty_v8.a"
+        done
+      }
 
-    # Copy over the `librusty_v8.a` file inside target/XYZ/gn_out/obj, symlink not allowed
-    _rusty_v8_setup "debug" "release" "${arch}/release"
-  '';
+      # Copy over the `librusty_v8.a` file inside target/XYZ/gn_out/obj, symlink not allowed
+      _librusty_v8_setup "debug" "release" "${arch}/release"
+    '';
 
   # Tests have some inconsistencies between runs with output integration tests
   # Skipping until resolved
@@ -54,7 +51,7 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     # remove test plugin and test server
-    rm -rf $out/lib $out/bin/test_server
+    rm -r $out/lib $out/bin/test_server $out/bin/denort
 
     installShellCompletion --cmd deno \
       --bash <($out/bin/deno completions bash) \
@@ -62,11 +59,19 @@ rustPlatform.buildRustPackage rec {
       --zsh <($out/bin/deno completions zsh)
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/deno --help
+    $out/bin/deno --version | grep "deno ${version}"
+    runHook postInstallCheck
+  '';
+
   passthru.updateScript = ./update/update.ts;
 
   meta = with lib; {
     homepage = "https://deno.land/";
-    changelog = "${src.meta.homepage}/releases/tag/v${version}";
+    changelog = "https://github.com/denoland/deno/releases/tag/v${version}";
     description = "A secure runtime for JavaScript and TypeScript";
     longDescription = ''
       Deno aims to be a productive and secure scripting environment for the modern programmer.
@@ -79,6 +84,6 @@ rustPlatform.buildRustPackage rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ jk ];
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/web/deno/deps.nix b/nixpkgs/pkgs/development/web/deno/deps.nix
deleted file mode 100644
index 4426c600df75..000000000000
--- a/nixpkgs/pkgs/development/web/deno/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# auto-generated file -- DO NOT EDIT!
-{}:
-rec {
-  rustyV8Lib = {
-    version = "0.15.0";
-    sha256s = {
-      x86_64-linux = "1j789pvqh44vsffzl5wg3pp3awrlixjrhbnjx2klsml7jv0lp0mq";
-      aarch64-linux = "13srja4vc275ygm806hcsr8mxjnd9qkzaqs58lxnp0702qs5xls6";
-      x86_64-darwin = "0aij9yb5i1r3pz0pyl51qdbgfspfdngwbk1qgkp4gxzl3cbnysx1";
-    };
-  };
-}
diff --git a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
new file mode 100644
index 000000000000..41c06fbf7ce0
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
@@ -0,0 +1,21 @@
+# auto-generated file -- DO NOT EDIT!
+{ rust, stdenv, fetchurl }:
+
+let
+  arch = rust.toRustTarget stdenv.hostPlatform;
+  fetch_librusty_v8 = args: fetchurl {
+    name = "librusty_v8-${args.version}";
+    url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${arch}.a";
+    sha256 = args.shas.${stdenv.hostPlatform.system};
+    meta = { inherit (args) version; };
+  };
+in
+fetch_librusty_v8 {
+  version = "0.21.0";
+  shas = {
+    x86_64-linux = "sha256-oxGCM6jlqafjAfTtFwARxBv/8tiUaD9A2TlLyj/3LlQ=";
+    aarch64-linux = "sha256-yeDcrxEp3qeE6/NWEc1v7VoHjlgppIOkcHTNVksXNsM=";
+    x86_64-darwin = "sha256-QqdBa59xPxM8eDRzvPxvv9HFVgp2rt+5jiwIOgsi8JE=";
+    aarch64-darwin = "sha256-aq2Kjn8QSDMhNg8pEbXkJCHUKmDTNnitq42SDDVyRd4=";
+  };
+}
diff --git a/nixpkgs/pkgs/development/web/deno/update/common.ts b/nixpkgs/pkgs/development/web/deno/update/common.ts
index d8956b21d163..1b4e3509ea7c 100644
--- a/nixpkgs/pkgs/development/web/deno/update/common.ts
+++ b/nixpkgs/pkgs/development/web/deno/update/common.ts
@@ -3,12 +3,15 @@ interface GHRelease {
 }
 
 const decode = (buffer: Uint8Array) => new TextDecoder("utf-8").decode(buffer);
-const run = async (command: string, args: string[]) => {
-  const cmd = Deno.run(
-    { cmd: [command, ...args], stdout: "piped", stderr: "piped" },
-  );
+const decodeTrim = (b: Uint8Array) => decode(b).trimEnd();
+export const run = async (command: string, args: string[]) => {
+  const cmd = Deno.run({
+    cmd: [command, ...args],
+    stdout: "piped",
+    stderr: "piped",
+  });
   if (!(await cmd.status()).success) {
-    const error = await cmd.stderrOutput().then((b) => decode(b).trimEnd());
+    const error = await cmd.stderrOutput().then(decodeTrim);
     // Known error we can ignore
     if (error.includes("'allow-unsafe-native-code-during-evaluation'")) {
       // Extract the target sha256 out of the error
@@ -23,26 +26,16 @@ const run = async (command: string, args: string[]) => {
     }
     throw new Error(error);
   }
-  return cmd.output().then((b) => decode(b).trimEnd());
+  return cmd.output().then(decodeTrim);
 };
 
 // Exports
 export const versionRegExp = /\d+\.\d+\.\d+/;
-export const sha256RegExp = /[a-z0-9]{52}/;
-
-export async function commit(
-  name: string,
-  oldVer: string,
-  newVer: string,
-  files: string[],
-) {
-  await run("git", ["add", ...files]);
-  await run("git", ["commit", "-m", `${name}: ${oldVer} -> ${newVer}`]);
-}
+export const sha256RegExp = /[a-z0-9]{52}|sha256-.{44}/;
 
 export const getExistingVersion = async (filePath: string) =>
-  read(filePath).then((s) =>
-    s.match(genValueRegExp("version", versionRegExp))?.shift() || ""
+  read(filePath).then(
+    (s) => s.match(genValueRegExp("version", versionRegExp))?.shift() || "",
   );
 
 export const getLatestVersion = (owner: string, repo: string) =>
@@ -58,8 +51,5 @@ export const genValueRegExp = (key: string, regex: RegExp) =>
 export const logger = (name: string) =>
   (...a: any) => console.log(`[${name}]`, ...a);
 
-export const nixPrefetch = (args: string[]) => run("nix-prefetch", args);
-export const nixPrefetchURL = (args: string[]) => run("nix-prefetch-url", args);
-
 export const read = Deno.readTextFile;
 export const write = Deno.writeTextFile;
diff --git a/nixpkgs/pkgs/development/web/deno/update/deps.ts b/nixpkgs/pkgs/development/web/deno/update/deps.ts
deleted file mode 100644
index beedeade3a86..000000000000
--- a/nixpkgs/pkgs/development/web/deno/update/deps.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import {
-  getExistingVersion,
-  genValueRegExp,
-  logger,
-  nixPrefetchURL,
-  versionRegExp,
-  write,
-} from "./common.ts";
-
-const log = logger("deps");
-
-export interface Architecture {
-  nix: string;
-  rust: string;
-}
-interface PrefetchResult {
-  arch: Architecture;
-  sha256: string;
-}
-
-const getRustyV8Version = async (
-  owner: string,
-  repo: string,
-  version: string,
-) =>
-  fetch(
-    `https://github.com/${owner}/${repo}/raw/${version}/core/Cargo.toml`,
-  )
-    .then((res) => res.text())
-    .then((txt) =>
-      txt.match(genValueRegExp("rusty_v8", versionRegExp))?.shift()
-    );
-
-const archShaTasks = (version: string, arches: Architecture[]) =>
-  arches.map(async (arch: Architecture): Promise<PrefetchResult> => {
-    log("Fetching:", arch.nix);
-    const sha256 = await nixPrefetchURL(
-      [`https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch.rust}.a`],
-    );
-    log("Done:    ", arch.nix);
-    return { arch, sha256 };
-  });
-
-const templateDeps = (version: string, deps: PrefetchResult[]) =>
-  `# auto-generated file -- DO NOT EDIT!
-{}:
-rec {
-  rustyV8Lib = {
-    version = "${version}";
-    sha256s = {
-${deps.map((d) => `      ${d.arch.nix} = "${d.sha256}";`).join("\n")}
-    };
-  };
-}
-`;
-
-export async function updateDeps(
-  filePath: string,
-  owner: string,
-  repo: string,
-  denoVersion: string,
-  arches: Architecture[],
-) {
-  log("Starting deps update");
-  // 0.0.0
-  const version = await getRustyV8Version(owner, repo, denoVersion);
-  if (typeof version !== "string") {
-    throw "no rusty_v8 version";
-  }
-  log("rusty_v8 version:", version);
-  const existingVersion = await getExistingVersion(filePath);
-  if (version === existingVersion) {
-    log("Version already matches latest, skipping...");
-    return;
-  }
-  const archShaResults = await Promise.all(archShaTasks(version, arches));
-  await write(filePath, templateDeps(version, archShaResults));
-  log("Finished deps update");
-}
diff --git a/nixpkgs/pkgs/development/web/deno/update/librusty_v8.ts b/nixpkgs/pkgs/development/web/deno/update/librusty_v8.ts
new file mode 100644
index 000000000000..dee3277c5812
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/deno/update/librusty_v8.ts
@@ -0,0 +1,92 @@
+import {
+  genValueRegExp,
+  getExistingVersion,
+  logger,
+  run,
+  versionRegExp,
+  write,
+} from "./common.ts";
+
+const log = logger("librusty_v8");
+
+export interface Architecture {
+  nix: string;
+  rust: string;
+}
+interface PrefetchResult {
+  arch: Architecture;
+  sha256: string;
+}
+
+const getLibrustyV8Version = async (
+  owner: string,
+  repo: string,
+  version: string,
+) =>
+  fetch(`https://github.com/${owner}/${repo}/raw/${version}/core/Cargo.toml`)
+    .then((res) => res.text())
+    .then((txt) =>
+      txt.match(genValueRegExp("rusty_v8", versionRegExp))?.shift()
+    );
+
+const fetchArchShaTasks = (version: string, arches: Architecture[]) =>
+  arches.map(
+    async (arch: Architecture): Promise<PrefetchResult> => {
+      log("Fetching:", arch.nix);
+      const sha256 = await run("nix-prefetch", [
+        `
+{ fetchurl }:
+fetchurl {
+  url = "https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch.rust}.a";
+}
+`,
+      ]);
+      log("Done:    ", arch.nix);
+      return { arch, sha256 };
+    },
+  );
+
+const templateDeps = (version: string, deps: PrefetchResult[]) =>
+  `# auto-generated file -- DO NOT EDIT!
+{ rust, stdenv, fetchurl }:
+
+let
+  arch = rust.toRustTarget stdenv.hostPlatform;
+  fetch_librusty_v8 = args: fetchurl {
+    name = "librusty_v8-\${args.version}";
+    url = "https://github.com/denoland/rusty_v8/releases/download/v\${args.version}/librusty_v8_release_\${arch}.a";
+    sha256 = args.shas.\${stdenv.hostPlatform.system};
+    meta = { inherit (args) version; };
+  };
+in
+fetch_librusty_v8 {
+  version = "${version}";
+  shas = {
+${deps.map(({ arch, sha256 }) => `    ${arch.nix} = "${sha256}";`).join("\n")}
+  };
+}
+`;
+
+export async function updateLibrustyV8(
+  filePath: string,
+  owner: string,
+  repo: string,
+  denoVersion: string,
+  arches: Architecture[],
+) {
+  log("Starting librusty_v8 update");
+  // 0.0.0
+  const version = await getLibrustyV8Version(owner, repo, denoVersion);
+  if (typeof version !== "string") {
+    throw "no librusty_v8 version";
+  }
+  log("librusty_v8 version:", version);
+  const existingVersion = await getExistingVersion(filePath);
+  if (version === existingVersion) {
+    log("Version already matches latest, skipping...");
+    return;
+  }
+  const archShaResults = await Promise.all(fetchArchShaTasks(version, arches));
+  await write(filePath, templateDeps(version, archShaResults));
+  log("Finished deps update");
+}
diff --git a/nixpkgs/pkgs/development/web/deno/update/src.ts b/nixpkgs/pkgs/development/web/deno/update/src.ts
index fae15acd0d2c..3bfae27c21c3 100644
--- a/nixpkgs/pkgs/development/web/deno/update/src.ts
+++ b/nixpkgs/pkgs/development/web/deno/update/src.ts
@@ -1,8 +1,8 @@
 import {
   genValueRegExp,
   logger,
-  nixPrefetch,
   read,
+  run,
   sha256RegExp,
   versionRegExp,
   write,
@@ -16,10 +16,11 @@ interface Replacer {
 const log = logger("src");
 
 const prefetchSha256 = (nixpkgs: string, version: string) =>
-  nixPrefetch(["-f", nixpkgs, "deno.src", "--rev", version]);
+  run("nix-prefetch", ["-f", nixpkgs, "deno.src", "--rev", version]);
 const prefetchCargoSha256 = (nixpkgs: string) =>
-  nixPrefetch(
-    [`{ sha256 }: (import ${nixpkgs} {}).deno.cargoDeps.overrideAttrs (_: { outputHash = sha256; })`],
+  run(
+    "nix-prefetch",
+    [`{ sha256 }: (import ${nixpkgs} {}).deno.cargoDeps.overrideAttrs (_: { inherit sha256; })`],
   );
 
 const replace = (str: string, replacers: Replacer[]) =>
@@ -53,7 +54,6 @@ export async function updateSrc(
     [
       genVerReplacer("version", trimVersion),
       genShaReplacer("sha256", sha256),
-      genShaReplacer("cargoSha256", ""), // Empty ready for prefetchCargoSha256
     ],
   );
   log("Fetching cargoSha256 for:", sha256);
diff --git a/nixpkgs/pkgs/development/web/deno/update/update.ts b/nixpkgs/pkgs/development/web/deno/update/update.ts
index 18d451480137..27e1d86ee861 100755
--- a/nixpkgs/pkgs/development/web/deno/update/update.ts
+++ b/nixpkgs/pkgs/development/web/deno/update/update.ts
@@ -2,13 +2,8 @@
 /*
 #!nix-shell -i "deno run --allow-net --allow-run --allow-read --allow-write" -p deno git nix-prefetch
 */
-import {
-  commit,
-  getExistingVersion,
-  getLatestVersion,
-  logger,
-} from "./common.ts";
-import { Architecture, updateDeps } from "./deps.ts";
+import { getExistingVersion, getLatestVersion, logger } from "./common.ts";
+import { Architecture, updateLibrustyV8 } from "./librusty_v8.ts";
 import { updateSrc } from "./src.ts";
 
 const log = logger("update");
@@ -19,11 +14,12 @@ const owner = "denoland";
 const repo = "deno";
 const denoDir = `${nixpkgs}/pkgs/development/web/${repo}`;
 const src = `${denoDir}/default.nix`;
-const deps = `${denoDir}/deps.nix`;
+const librusty_v8 = `${denoDir}/librusty_v8.nix`;
 const architectures: Architecture[] = [
   { nix: "x86_64-linux", rust: "x86_64-unknown-linux-gnu" },
   { nix: "aarch64-linux", rust: "aarch64-unknown-linux-gnu" },
   { nix: "x86_64-darwin", rust: "x86_64-apple-darwin" },
+  { nix: "aarch64-darwin", rust: "aarch64-apple-darwin" },
 ];
 
 log("Updating deno");
@@ -41,10 +37,7 @@ if (trimVersion === existingVersion) {
 
 const tasks = [
   updateSrc(src, nixpkgs, version),
-  updateDeps(deps, owner, repo, version, architectures),
+  updateLibrustyV8(librusty_v8, owner, repo, version, architectures),
 ];
 await Promise.all(tasks);
 log("Updating deno complete");
-log("Commiting");
-await commit(repo, existingVersion, trimVersion, [src, deps]);
-log("Done");
diff --git a/nixpkgs/pkgs/development/web/grails/default.nix b/nixpkgs/pkgs/development/web/grails/default.nix
index 944520b47e2f..2a888b8056d0 100644
--- a/nixpkgs/pkgs/development/web/grails/default.nix
+++ b/nixpkgs/pkgs/development/web/grails/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "0l99x3g485qjpdd7ga553xpi1s6rq21p8v16qjzqwdhyld961qsr";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
   dontBuild = true;
 
diff --git a/nixpkgs/pkgs/development/web/insomnia/default.nix b/nixpkgs/pkgs/development/web/insomnia/default.nix
index b3a9ac0ce715..345b7c15426d 100644
--- a/nixpkgs/pkgs/development/web/insomnia/default.nix
+++ b/nixpkgs/pkgs/development/web/insomnia/default.nix
@@ -16,12 +16,12 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "insomnia";
-  version = "2020.5.2";
+  version = "2021.1.1";
 
   src = fetchurl {
     url =
       "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb";
-    sha256 = "03j76a0dj3ak5h6malwxqf7cdc2ycwgyr6993bhiq75yhxhblhc4";
+    sha256 = "sha256-GPOeLSbKiaJR5ppzyJMllzM+2gSddZN7+P5ttkocuDg=";
   };
 
   nativeBuildInputs =
diff --git a/nixpkgs/pkgs/development/web/lucky-cli/shard.lock b/nixpkgs/pkgs/development/web/lucky-cli/shard.lock
index 47c40af8c7df..f0808622bcf1 100644
--- a/nixpkgs/pkgs/development/web/lucky-cli/shard.lock
+++ b/nixpkgs/pkgs/development/web/lucky-cli/shard.lock
@@ -2,7 +2,7 @@ version: 2.0
 shards:
   ameba:
     git: https://github.com/crystal-ameba/ameba.git
-    version: 0.13.3
+    version: 0.14.2
 
   future:
     git: https://github.com/crystal-community/future.cr.git
diff --git a/nixpkgs/pkgs/development/web/lucky-cli/shards.nix b/nixpkgs/pkgs/development/web/lucky-cli/shards.nix
index 2741583b681a..b4f100518b3f 100644
--- a/nixpkgs/pkgs/development/web/lucky-cli/shards.nix
+++ b/nixpkgs/pkgs/development/web/lucky-cli/shards.nix
@@ -2,8 +2,8 @@
   ameba = {
     owner = "crystal-ameba";
     repo = "ameba";
-    rev = "v0.13.3";
-    sha256 = "0yhb8vfrfzsm3a45h2jmcrn1n7jy3zn2hwims3dikgq8kaggws9y";
+    rev = "v0.14.2";
+    sha256 = "1l1q1icpzg1zvhfj8948w36j7ikaj7w816677zi29vi6y2d1dmf2";
   };
   future = {
     owner = "crystal-community";
diff --git a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
index 68232088fa9b..09d15901ada8 100644
--- a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
@@ -55,12 +55,12 @@ in
     buildInputs = optionals stdenv.isDarwin [ CoreServices ApplicationServices ]
       ++ [ zlib libuv openssl http-parser icu ];
 
-    nativeBuildInputs = [ which util-linux pkg-config python ]
+    nativeBuildInputs = [ which pkg-config python ]
       ++ optionals stdenv.isDarwin [ xcbuild ];
 
     configureFlags = let
       isCross = stdenv.hostPlatform != stdenv.buildPlatform;
-      inherit (stdenv.hostPlatform) gcc isArch32;
+      inherit (stdenv.hostPlatform) gcc isAarch32;
     in sharedConfigureFlags ++ [
       "--without-dtrace"
     ] ++ (optionals isCross [
diff --git a/nixpkgs/pkgs/development/web/nodejs/v10.nix b/nixpkgs/pkgs/development/web/nodejs/v10.nix
index 495ac311b88d..abb10aa44479 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v10.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v10.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "10.23.3";
-    sha256 = "13za06bz17k71gcxyrx41l2j8al1kr3j627b8m7kqrf3l7rdfnsi";
+    version = "10.24.0";
+    sha256 = "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v12.nix b/nixpkgs/pkgs/development/web/nodejs/v12.nix
index 9c5975a6e490..fc9a170dd90d 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v12.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v12.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.20.2";
-    sha256 = "0g3dxip7b5j7fzkw4b82ln93fphxn1zpdizbj1ikjv3hy00dc6ln";
+    version = "12.22.0";
+    sha256 = "08xsc1pw6352v5lz92ppfhrcmqnbm6m5wmjfs9frz26lp875yp6z";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v14.nix b/nixpkgs/pkgs/development/web/nodejs/v14.nix
index ee8ea72c05ea..9a40bf8654d7 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v14.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v14.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.15.5";
-    sha256 = "0nv576mlmnf8pfs6yn7vsvwyg0a0xvs7m9pm4k131zjqx501v6z1";
+    version = "14.16.0";
+    sha256 = "19nz2mhmn6ikahxqyna1dn25pb5v3z9vsz9zb2flb6zp2yk4hxjf";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v15.nix b/nixpkgs/pkgs/development/web/nodejs/v15.nix
index 2c2634959bdf..d22c2f213b91 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v15.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v15.nix
@@ -8,6 +8,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "15.8.0";
-    sha256 = "1a9h88zdzk98k618jascfrivq3v51viw60sfyxn0ci0l33vf4fp2";
+    version = "15.14.0";
+    sha256 = "0vm6jdazqjd1plqsgngzvjrafv2d3mdahk6il4ray02gx97dq8l1";
   }
diff --git a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
index ca211ccf2d9b..b8a9f94a23f0 100644
--- a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-CiEUUa0mCrUSp+XCoWNs8plJxhWHZZD+K+UBJSDu1CM=";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
   dontBuild = true;
   installPhase = ''