about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/build-managers/drake/Gemfile.lock2
-rw-r--r--pkgs/development/tools/build-managers/drake/default.nix15
-rw-r--r--pkgs/development/tools/build-managers/drake/gemset.nix5
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rake/Gemfile.lock4
-rw-r--r--pkgs/development/tools/build-managers/rake/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/rake/gemset.nix6
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix20
-rw-r--r--pkgs/development/tools/compass/Gemfile6
-rw-r--r--pkgs/development/tools/compass/Gemfile.lock19
-rw-r--r--pkgs/development/tools/compass/default.nix11
-rw-r--r--pkgs/development/tools/compass/gemset.nix103
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/cucumber/Gemfile.lock24
-rw-r--r--pkgs/development/tools/cucumber/default.nix16
-rw-r--r--pkgs/development/tools/cucumber/gemset.nix64
-rw-r--r--pkgs/development/tools/database/squirrel-sql/default.nix2
-rw-r--r--pkgs/development/tools/doctl/default.nix6
-rw-r--r--pkgs/development/tools/ejson/Gemfile.lock16
-rw-r--r--pkgs/development/tools/ejson/default.nix4
-rw-r--r--pkgs/development/tools/ejson/gemset.nix20
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix10
-rw-r--r--pkgs/development/tools/misc/stlink/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/default.nix4
-rw-r--r--pkgs/development/tools/pax-rs/default.nix4
-rw-r--r--pkgs/development/tools/redis-dump/Gemfile.lock10
-rw-r--r--pkgs/development/tools/redis-dump/default.nix14
-rw-r--r--pkgs/development/tools/redis-dump/gemset.nix24
-rw-r--r--pkgs/development/tools/rust/rustup/default.nix10
-rw-r--r--pkgs/development/tools/sass/Gemfile.lock10
-rw-r--r--pkgs/development/tools/sass/default.nix2
-rw-r--r--pkgs/development/tools/sass/gemset.nix22
-rw-r--r--pkgs/development/tools/wasm-pack/default.nix36
33 files changed, 324 insertions, 189 deletions
diff --git a/pkgs/development/tools/build-managers/drake/Gemfile.lock b/pkgs/development/tools/build-managers/drake/Gemfile.lock
index cf8900a30eed..52060a0e6254 100644
--- a/pkgs/development/tools/build-managers/drake/Gemfile.lock
+++ b/pkgs/development/tools/build-managers/drake/Gemfile.lock
@@ -12,4 +12,4 @@ DEPENDENCIES
   drake
 
 BUNDLED WITH
-   1.13.7
+   1.17.2
diff --git a/pkgs/development/tools/build-managers/drake/default.nix b/pkgs/development/tools/build-managers/drake/default.nix
index 15a88b1fc312..a7bb93d52ed1 100644
--- a/pkgs/development/tools/build-managers/drake/default.nix
+++ b/pkgs/development/tools/build-managers/drake/default.nix
@@ -1,18 +1,15 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerApp }:
 
-bundlerEnv {
-  name = "drake-0.9.2.0.3.1";
+bundlerApp {
+  pname = "drake";
+  gemdir = ./.;
+  exes = [ "drake" ];
 
-  inherit ruby;
-  gemfile = ./Gemfile;
-  lockfile = ./Gemfile.lock;
-  gemset = ./gemset.nix;
-  
   meta = with lib; {
     description = "A branch of Rake supporting automatic parallelizing of tasks";
     homepage = http://quix.github.io/rake/;
+    maintainers = with maintainers; [ romildo manveru ];
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/drake/gemset.nix b/pkgs/development/tools/build-managers/drake/gemset.nix
index fd5a6f06a2a8..061ed5d973ab 100644
--- a/pkgs/development/tools/build-managers/drake/gemset.nix
+++ b/pkgs/development/tools/build-managers/drake/gemset.nix
@@ -1,5 +1,7 @@
 {
   comp_tree = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0dj9lkfxcczn67l1j12dcxswrfxxd1zgxa344zk6vqs2gwwhy9m9";
@@ -8,6 +10,9 @@
     version = "1.1.3";
   };
   drake = {
+    dependencies = ["comp_tree"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09gkmdshwdmdnkdxi03dv4rk1dip0wdv6dx14wscrmi0jyk86yag";
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 3c5a485e36fc..196a5d2a7fc9 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "qbs-${version}";
 
-  version = "1.12.2";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "0spkkq7nmh27rbx61p23fzkxffx3qdhjqw95pqgsbc76xczd45sv";
+    sha256 = "12zzbhddsgfxyzglknvim0bb7rrnifawnx18g35g1105ybfak607";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/tools/build-managers/rake/Gemfile.lock b/pkgs/development/tools/build-managers/rake/Gemfile.lock
index 6f6bcc41f9b3..992a0bc8929f 100644
--- a/pkgs/development/tools/build-managers/rake/Gemfile.lock
+++ b/pkgs/development/tools/build-managers/rake/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    rake (12.3.1)
+    rake (12.3.2)
 
 PLATFORMS
   ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
   rake
 
 BUNDLED WITH
-   1.17.1
+   1.17.2
diff --git a/pkgs/development/tools/build-managers/rake/default.nix b/pkgs/development/tools/build-managers/rake/default.nix
index f23edfd5f63f..8de0130d31bd 100644
--- a/pkgs/development/tools/build-managers/rake/default.nix
+++ b/pkgs/development/tools/build-managers/rake/default.nix
@@ -1,15 +1,15 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerApp }:
 
-bundlerEnv {
-  name = "rake-${(import ./gemset.nix).rake.version}";
-
-  inherit ruby;
+bundlerApp {
+  pname = "rake";
   gemdir = ./.;
+  exes = [ "rake" ];
 
   meta = with lib; {
     description = "A software task management and build automation tool";
     homepage = https://github.com/ruby/rake;
     license  = with licenses; mit;
+    maintainers = with maintainers; [ manveru ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/rake/gemset.nix b/pkgs/development/tools/build-managers/rake/gemset.nix
index c1a3a511b22d..05a59cff850f 100644
--- a/pkgs/development/tools/build-managers/rake/gemset.nix
+++ b/pkgs/development/tools/build-managers/rake/gemset.nix
@@ -1,10 +1,12 @@
 {
   rake = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
+      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
       type = "gem";
     };
-    version = "12.3.1";
+    version = "12.3.2";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index ad4cbeda0f85..60b6fd1953ed 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl,
+{ stdenv, fetchFromGitHub,
   fetchHex, erlang,
   tree, hexRegistrySnapshot }:
 
 let
-  version = "3.9.1";
+  version = "3.10.0";
 
   bootstrapper = ./rebar3-nix-bootstrap;
 
@@ -65,17 +65,19 @@ let
   parse_trans = fetchHex {
     pkg = "parse_trans";
     version = "3.3.0";
-    sha256 = "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960";
+    sha256 = "0q5r871bzx1a8fa06yyxdi3xkkp7v5yqazzah03d6yl3vsmn7vqp";
   };
 
 in
-stdenv.mkDerivation {
-  name = "rebar3-${version}";
+stdenv.mkDerivation rec {
+  pname = "rebar3";
   inherit version erlang;
 
-  src = fetchurl {
-    url = "https://github.com/rebar/rebar3/archive/${version}.tar.gz";
-    sha256 = "1n6287av29ws3bvjxxmw8s2j8avwich4ccisnnrnypfbm1khlcxp";
+  src = fetchFromGitHub {
+    owner = "rebar";
+    repo = pname;
+    rev = version;
+    sha256 = "1p34kfkrdmsixg95ad76rifjwfh484vp688lxsjaxg0kf2xjr2d2";
   };
 
   inherit bootstrapper;
@@ -121,7 +123,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = https://github.com/rebar/rebar3;
-    description = "rebar 3 is an Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases";
+    description = "Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases";
 
     longDescription = ''
       rebar is a self-contained Erlang script, so it's easy to distribute or
diff --git a/pkgs/development/tools/compass/Gemfile b/pkgs/development/tools/compass/Gemfile
index e85f28cbaff1..66a29975e7dd 100644
--- a/pkgs/development/tools/compass/Gemfile
+++ b/pkgs/development/tools/compass/Gemfile
@@ -1,3 +1,3 @@
-source "https://rubygems.org"
-
-gem 'compass'
+source "https://rubygems.org" do
+  gem 'compass'
+end
diff --git a/pkgs/development/tools/compass/Gemfile.lock b/pkgs/development/tools/compass/Gemfile.lock
index 9aebd2b15cea..43790d9e7a1e 100644
--- a/pkgs/development/tools/compass/Gemfile.lock
+++ b/pkgs/development/tools/compass/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    chunky_png (1.3.4)
+    chunky_png (1.3.11)
     compass (1.0.3)
       chunky_png (~> 1.2)
       compass-core (~> 1.0.2)
@@ -14,15 +14,18 @@ GEM
       sass (>= 3.3.0, < 3.5)
     compass-import-once (1.0.5)
       sass (>= 3.2, < 3.5)
-    ffi (1.9.8)
-    multi_json (1.11.0)
-    rb-fsevent (0.9.4)
-    rb-inotify (0.9.5)
-      ffi (>= 0.5.0)
-    sass (3.4.13)
+    ffi (1.10.0)
+    multi_json (1.13.1)
+    rb-fsevent (0.10.3)
+    rb-inotify (0.10.0)
+      ffi (~> 1.0)
+    sass (3.4.25)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  compass
+  compass!
+
+BUNDLED WITH
+   1.17.2
diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix
index 3e3e239fbfb3..c47bddd4d9c3 100644
--- a/pkgs/development/tools/compass/default.nix
+++ b/pkgs/development/tools/compass/default.nix
@@ -1,16 +1,15 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerApp }:
 
-bundlerEnv {
-  name = "compass-1.0.3";
-
-  inherit ruby;
+bundlerApp {
+  pname = "compass";
   gemdir = ./.;
+  exes = [ "compass" ];
 
   meta = with lib; {
     description = "Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain";
     homepage    = https://github.com/Compass/compass;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ offline ];
+    maintainers = with maintainers; [ offline manveru ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/compass/gemset.nix b/pkgs/development/tools/compass/gemset.nix
index aaf74f3f33c4..1beb3d3fec00 100644
--- a/pkgs/development/tools/compass/gemset.nix
+++ b/pkgs/development/tools/compass/gemset.nix
@@ -1,83 +1,96 @@
 {
-  "chunky_png" = {
-    version = "1.3.4";
+  chunky_png = {
+    groups = ["default"];
+    platforms = [];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "124najs9prqzrzk49h53kap992rmqxj0wni61z2hhsn7mwmgdp9d";
       type = "gem";
-      sha256 = "0n5xhkj3vffihl3h9s8yjzazqaqcm4p1nyxa1w2dk3fkpzvb0wfw";
     };
+    version = "1.3.11";
   };
-  "compass" = {
-    version = "1.0.3";
+  compass = {
+    dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"];
+    groups = ["default"];
+    platforms = [];
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c";
+      type = "gem";
     };
-    dependencies = [
-      "chunky_png"
-      "compass-core"
-      "compass-import-once"
-      "rb-fsevent"
-      "rb-inotify"
-      "sass"
-    ];
-  };
-  "compass-core" = {
     version = "1.0.3";
+  };
+  compass-core = {
+    dependencies = ["multi_json" "sass"];
+    groups = ["default"];
+    platforms = [];
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a";
+      type = "gem";
     };
-    dependencies = [
-      "multi_json"
-      "sass"
-    ];
+    version = "1.0.3";
   };
-  "compass-import-once" = {
-    version = "1.0.5";
+  compass-import-once = {
+    dependencies = ["sass"];
+    groups = ["default"];
+    platforms = [];
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq";
+      type = "gem";
     };
-    dependencies = [
-      "sass"
-    ];
+    version = "1.0.5";
   };
-  "ffi" = {
-    version = "1.9.8";
+  ffi = {
+    groups = ["default"];
+    platforms = [];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
       type = "gem";
-      sha256 = "0ph098bv92rn5wl6rn2hwb4ng24v4187sz8pa0bpi9jfh50im879";
     };
+    version = "1.10.0";
   };
-  "multi_json" = {
-    version = "1.11.0";
+  multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
-      sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
     };
+    version = "1.13.1";
   };
-  "rb-fsevent" = {
-    version = "0.9.4";
+  rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
       type = "gem";
-      sha256 = "12if5xsik64kihxf5awsyavlp595y47g9qz77vfp2zvkxgglaka7";
     };
+    version = "0.10.3";
   };
-  "rb-inotify" = {
-    version = "0.9.5";
+  rb-inotify = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
       type = "gem";
-      sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
     };
-    dependencies = [
-      "ffi"
-    ];
+    version = "0.10.0";
   };
-  "sass" = {
-    version = "3.4.13";
+  sass = {
+    groups = ["default"];
+    platforms = [];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw";
       type = "gem";
-      sha256 = "0wxkjm41xr77pnfi06cbwv6vq0ypbni03jpbpskd7rj5b0zr27ig";
     };
+    version = "3.4.25";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index c75baf454b34..a8f4336cf71e 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "11.9.2";
+  version = "11.10.1";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "10zmaywq1vzch4a6zdvnm9kgil9ankc9napix9s9fw45wc0lw01p";
+    sha256 = "120gpyim54mc8z84gzpbms5hkg2xg4sgzdvkrn1fis9myvd55bav";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "0845ylhb3i3jmi5q6aaix4hw9zdb83v5fhvif0xvvi2m7irg06lf";
+    sha256 = "0qfqsi1fm94sxv7g975fw0av871f677rp48yv8q5669ipm16n9qk";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "00k4myca2djd6h3i83vjndahm5q1rnlkq0p69dhl5jbldwy614ph";
+    sha256 = "1nxv783rdzdwm0qq3li893p7q3n8gg7abla2961f3n735gjlnibx";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/cucumber/Gemfile.lock b/pkgs/development/tools/cucumber/Gemfile.lock
index 10c1235ae258..a9a2d073de4e 100644
--- a/pkgs/development/tools/cucumber/Gemfile.lock
+++ b/pkgs/development/tools/cucumber/Gemfile.lock
@@ -1,21 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    backports (3.14.0)
     builder (3.2.3)
-    cucumber (2.4.0)
+    cucumber (3.1.2)
       builder (>= 2.1.2)
-      cucumber-core (~> 1.5.0)
+      cucumber-core (~> 3.2.0)
+      cucumber-expressions (~> 6.0.1)
       cucumber-wire (~> 0.0.1)
-      diff-lcs (>= 1.1.3)
-      gherkin (~> 4.0)
+      diff-lcs (~> 1.3)
+      gherkin (~> 5.1.0)
       multi_json (>= 1.7.5, < 2.0)
       multi_test (>= 0.1.2)
-    cucumber-core (1.5.0)
-      gherkin (~> 4.0)
+    cucumber-core (3.2.1)
+      backports (>= 3.8.0)
+      cucumber-tag_expressions (~> 1.1.0)
+      gherkin (~> 5.0)
+    cucumber-expressions (6.0.1)
+    cucumber-tag_expressions (1.1.1)
     cucumber-wire (0.0.1)
     diff-lcs (1.3)
-    gherkin (4.1.3)
-    multi_json (1.12.1)
+    gherkin (5.1.0)
+    multi_json (1.13.1)
     multi_test (0.1.2)
 
 PLATFORMS
@@ -25,4 +31,4 @@ DEPENDENCIES
   cucumber
 
 BUNDLED WITH
-   1.14.4
+   1.17.2
diff --git a/pkgs/development/tools/cucumber/default.nix b/pkgs/development/tools/cucumber/default.nix
index d4ca66c70d7a..4a3ed7395500 100644
--- a/pkgs/development/tools/cucumber/default.nix
+++ b/pkgs/development/tools/cucumber/default.nix
@@ -1,19 +1,15 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerApp }:
 
-bundlerEnv rec {
-  name = "cucumber-${version}";
-
-  version = (import gemset).cucumber.version;
-  inherit ruby;
-  # expects Gemfile, Gemfile.lock and gemset.nix in the same directory
-  gemfile = ./Gemfile;
-  lockfile = ./Gemfile.lock;
-  gemset = ./gemset.nix;
+bundlerApp {
+  pname = "cucumber";
+  gemdir = ./.;
+  exes = [ "cucumber" ];
 
   meta = with lib; {
     description = "A tool for executable specifications";
     homepage    = https://cucumber.io/;
     license     = with licenses; mit;
+    maintainers = with maintainers; [ manveru ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/cucumber/gemset.nix b/pkgs/development/tools/cucumber/gemset.nix
index 07a80592ddaf..99d519a83b68 100644
--- a/pkgs/development/tools/cucumber/gemset.nix
+++ b/pkgs/development/tools/cucumber/gemset.nix
@@ -1,5 +1,17 @@
 {
+  backports = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn";
+      type = "gem";
+    };
+    version = "3.14.0";
+  };
   builder = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
@@ -8,22 +20,50 @@
     version = "3.2.3";
   };
   cucumber = {
+    dependencies = ["builder" "cucumber-core" "cucumber-expressions" "cucumber-wire" "diff-lcs" "gherkin" "multi_json" "multi_test"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k4j31a93r0zhvyq2mm2k8irppbvkzbsg44r3mf023959v18fzih";
+      sha256 = "1s2brssrpal8hyhcgg974x3xyhpmvpwps5ypd9p8w2lg01l1pp3j";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "3.1.2";
   };
   cucumber-core = {
+    dependencies = ["backports" "cucumber-tag_expressions" "gherkin"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c";
+      type = "gem";
+    };
+    version = "3.2.1";
+  };
+  cucumber-expressions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw";
+      type = "gem";
+    };
+    version = "6.0.1";
+  };
+  cucumber-tag_expressions = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qj2fsqvp94nggnikbnrfvnmzr1pl6ifmdsxj69kdw1kkab30jjr";
+      sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.1.1";
   };
   cucumber-wire = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f";
@@ -32,6 +72,8 @@
     version = "0.0.1";
   };
   diff-lcs = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
@@ -40,22 +82,28 @@
     version = "1.3";
   };
   gherkin = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d18r8mf2qyd9jbq9xxvca8adyysdzvwdy8v9c2s5hrd6p02kg79";
+      sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s";
       type = "gem";
     };
-    version = "4.1.3";
+    version = "5.1.0";
   };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.13.1";
   };
   multi_test = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd";
diff --git a/pkgs/development/tools/database/squirrel-sql/default.nix b/pkgs/development/tools/database/squirrel-sql/default.nix
index eab4c855e1c7..5eb7651f199b 100644
--- a/pkgs/development/tools/database/squirrel-sql/default.nix
+++ b/pkgs/development/tools/database/squirrel-sql/default.nix
@@ -47,6 +47,8 @@ in stdenv.mkDerivation rec {
     makeWrapper $out/share/squirrel-sql/squirrel-sql.sh $out/bin/squirrel-sql \
       --set CLASSPATH "$cp" \
       --set JAVA_HOME "${jre}"
+    # Make sure above `CLASSPATH` gets picked up
+    substituteInPlace $out/share/squirrel-sql/squirrel-sql.sh --replace "-cp \"\$CP\"" "-cp \"\$CLASSPATH:\$CP\""
 
     mkdir -p $out/share/icons/hicolor/32x32/apps
     ln -s $out/share/squirrel-sql/icons/acorn.png \
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index 6acc977247c7..7762dc2f372a 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -4,8 +4,8 @@ buildGoPackage rec {
   name = "doctl-${version}";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "12";
-  patch = "2";
+  minor = "16";
+  patch = "0";
   goPackagePath = "github.com/digitalocean/doctl";
 
   excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)'';
@@ -21,7 +21,7 @@ buildGoPackage rec {
     owner = "digitalocean";
     repo   = "doctl";
     rev    = "v${version}";
-    sha256 = "01li9ywzvmzmhqgk9a5li2wkqmdn7jl8pqz2rn7dnay4fr2259fv";
+    sha256 = "041fqanlk8px4nhxaxxs27gbqh8571szxfrcp0zmihdbr4nc70dv";
   };
 
   meta = {
diff --git a/pkgs/development/tools/ejson/Gemfile.lock b/pkgs/development/tools/ejson/Gemfile.lock
index bc72352c7ab1..52c82545bf36 100644
--- a/pkgs/development/tools/ejson/Gemfile.lock
+++ b/pkgs/development/tools/ejson/Gemfile.lock
@@ -3,23 +3,23 @@ GEM
   specs:
     arr-pm (0.0.10)
       cabin (> 0)
-    backports (3.8.0)
+    backports (3.14.0)
     cabin (0.9.0)
-    childprocess (0.7.1)
+    childprocess (0.9.0)
       ffi (~> 1.0, >= 1.0.11)
     clamp (1.0.1)
-    dotenv (2.2.1)
-    ffi (1.9.18)
-    fpm (1.9.2)
+    dotenv (2.7.2)
+    ffi (1.10.0)
+    fpm (1.11.0)
       arr-pm (~> 0.0.10)
       backports (>= 2.6.2)
       cabin (>= 0.6.0)
-      childprocess
+      childprocess (= 0.9.0)
       clamp (~> 1.0.0)
       ffi
       json (>= 1.7.7, < 2.0)
       pleaserun (~> 0.0.29)
-      ruby-xz
+      ruby-xz (~> 0.2.3)
       stud
     hpricot (0.8.6)
     insist (1.0.0)
@@ -51,4 +51,4 @@ DEPENDENCIES
   ronn
 
 BUNDLED WITH
-   1.16.0
+   1.17.2
diff --git a/pkgs/development/tools/ejson/default.nix b/pkgs/development/tools/ejson/default.nix
index 80129f318e39..19ee4c6391bf 100644
--- a/pkgs/development/tools/ejson/default.nix
+++ b/pkgs/development/tools/ejson/default.nix
@@ -8,7 +8,7 @@ let
   };
 in buildGoPackage rec {
   name = "ejson-${version}";
-  version = "1.2.0";
+  version = "1.2.1";
   rev = "v${version}";
 
   nativeBuildInputs = [ gems ];
@@ -22,7 +22,7 @@ in buildGoPackage rec {
     owner = "Shopify";
     repo = "ejson";
     inherit rev;
-    sha256 = "07ig24fryb9n0mfyqb0sgpj7di9y7wbvh2ppwfs2jqfpvpncd7yh";
+    sha256 = "09356kp059hbzmqpzlz4b3agg93yqqygh5l5ddbxcsaqx4qiwdr7";
   };
 
   # set HOME, otherwise bundler will insert stuff in the manpages
diff --git a/pkgs/development/tools/ejson/gemset.nix b/pkgs/development/tools/ejson/gemset.nix
index b6fb1473d222..70c61be984c6 100644
--- a/pkgs/development/tools/ejson/gemset.nix
+++ b/pkgs/development/tools/ejson/gemset.nix
@@ -15,10 +15,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17pcz0z6jms5jydr1r95kf1bpk3ms618hgr26c62h34icy9i1dpm";
+      sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "3.14.0";
   };
   cabin = {
     groups = ["default"];
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04cypmwyy4aj5p9b5dmpwiz5p1gzdpz6jaxb42fpckdbmkpvn6j1";
+      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "0.9.0";
   };
   clamp = {
     groups = ["default"];
@@ -56,20 +56,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pgzlvs0sswnqlgfm9gkz2hlhkc0zd3vnlp2vglb1wbgnx37pjjv";
+      sha256 = "13cis6bf06hmz744xrsl163p6gb78xcm8g8q4pcabsy5ywyv6kag";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.7.2";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
+      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
       type = "gem";
     };
-    version = "1.9.18";
+    version = "1.10.0";
   };
   fpm = {
     dependencies = ["arr-pm" "backports" "cabin" "childprocess" "clamp" "ffi" "json" "pleaserun" "ruby-xz" "stud"];
@@ -77,10 +77,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09vzjsiwa2dlhph6fc519x5l0bfn2qfhayfld48cdl2561x5c7fb";
+      sha256 = "0khzsiqzswxpql6w2ws9dawb27zgv4nmgrjszydmm0xpv6h21jrm";
       type = "gem";
     };
-    version = "1.9.2";
+    version = "1.11.0";
   };
   hpricot = {
     groups = ["default"];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 4e2f26fd691b..0c46ce20d0eb 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -4,6 +4,7 @@
 , withAllTargets ? false, libbfd, libopcodes
 , enableShared ? true
 , noSysDirs, gold ? true, bison ? null
+, fetchpatch
 }:
 
 let
@@ -60,7 +61,14 @@ stdenv.mkDerivation rec {
     ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
     ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
     ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
-  ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch;
+  ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
+    ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.targetPlatform != stdenv.hostPlatform) [
+    (fetchpatch {
+      url = "https://sourceware.org/bugzilla/attachment.cgi?id=11141";
+      name = "gold-threads.patch";
+      sha256 = "0p26dxpba8n7z3pwjg7qf94f0gzbvwkjq0j9ng1w3sljj0gyaf1j";
+    })
+  ];
 
   outputs = [ "out" "info" "man" ];
 
diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix
index de13f6709b2b..90f901e51125 100644
--- a/pkgs/development/tools/misc/stlink/default.nix
+++ b/pkgs/development/tools/misc/stlink/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "In-circuit debug and programming for ST-Link devices";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor maintainers.rongcuid ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/dune/default.nix b/pkgs/development/tools/ocaml/dune/default.nix
index 632fe9fff325..cf82b391ff96 100644
--- a/pkgs/development/tools/ocaml/dune/default.nix
+++ b/pkgs/development/tools/ocaml/dune/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "dune-${version}";
-  version = "1.9.1";
+  version = "1.9.2";
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "0z4jnj0a5vxjqlwksplhag9b3s3iqdcpcpjjzfazv5jdl5cf58f9";
+    sha256 = "0l27d13wh3i1450kgxnhr6r977sgby1dqwsfc8cqd9mqic1mr9f2";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/pax-rs/default.nix b/pkgs/development/tools/pax-rs/default.nix
index 3a4f35c0412b..a3dc7bd16ce0 100644
--- a/pkgs/development/tools/pax-rs/default.nix
+++ b/pkgs/development/tools/pax-rs/default.nix
@@ -13,7 +13,7 @@ buildRustPackage rec {
     homepage = https://github.com/nathan/pax;
     license = licenses.mit;
     maintainers = [ maintainers.klntsky ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 
   src =
@@ -26,7 +26,7 @@ buildRustPackage rec {
       };
 
       cargo-lock = fetchurl {
-        url = "https://gist.github.com/8084/c7863424d7df0c379782015f6bb3b399/raw/1cf7481e33984fd1510dc77ed677606d08fa8eb6/Cargo.lock";
+        url = "https://gist.github.com/klntsky/c7863424d7df0c379782015f6bb3b399/raw/1cf7481e33984fd1510dc77ed677606d08fa8eb6/Cargo.lock";
         sha256 = "0ff1b64b99cbca1cc2ceabcd2e4f7bc3411e3a2a9fbb9db2204d9240fe38ddeb";
       };
     in
diff --git a/pkgs/development/tools/redis-dump/Gemfile.lock b/pkgs/development/tools/redis-dump/Gemfile.lock
index 283a3815f223..364bdb778f51 100644
--- a/pkgs/development/tools/redis-dump/Gemfile.lock
+++ b/pkgs/development/tools/redis-dump/Gemfile.lock
@@ -2,14 +2,14 @@ GEM
   remote: https://rubygems.org/
   specs:
     drydock (0.6.9)
-    redis (3.3.0)
-    redis-dump (0.3.5)
+    redis (4.1.0)
+    redis-dump (0.4.0)
       drydock (>= 0.6.9)
-      redis (>= 2.0)
+      redis (>= 4.0)
       uri-redis (>= 0.4.0)
       yajl-ruby (>= 0.1)
     uri-redis (0.4.2)
-    yajl-ruby (1.2.1)
+    yajl-ruby (1.4.1)
 
 PLATFORMS
   ruby
@@ -18,4 +18,4 @@ DEPENDENCIES
   redis-dump
 
 BUNDLED WITH
-   1.11.2
+   1.17.2
diff --git a/pkgs/development/tools/redis-dump/default.nix b/pkgs/development/tools/redis-dump/default.nix
index 55797948a84a..c83117860100 100644
--- a/pkgs/development/tools/redis-dump/default.nix
+++ b/pkgs/development/tools/redis-dump/default.nix
@@ -1,19 +1,15 @@
-{ lib, bundlerEnv, ruby, perl, autoconf }:
+{ lib, bundlerApp }:
 
-bundlerEnv {
-  name = "redis-dump-0.3.5";
-
-  inherit ruby;
+bundlerApp {
+  pname = "redis-dump";
   gemdir = ./.;
-
-  buildInputs = [ perl autoconf ];
+  exes = [ "redis-dump" ];
 
   meta = with lib; {
-    broken = true; # needs ruby 2.0
     description = "Backup and restore your Redis data to and from JSON";
     homepage    = http://delanotes.com/redis-dump/;
     license     = licenses.mit;
-    maintainers = with maintainers; [ offline ];
+    maintainers = with maintainers; [ offline manveru ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/redis-dump/gemset.nix b/pkgs/development/tools/redis-dump/gemset.nix
index 4054f4bb0a7a..2bfaa1fb9529 100644
--- a/pkgs/development/tools/redis-dump/gemset.nix
+++ b/pkgs/development/tools/redis-dump/gemset.nix
@@ -1,5 +1,7 @@
 {
   drydock = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0grf3361mh93lczljmnwafl7gbcp9kk1bjpfwx4ykpd43fzdbfyj";
@@ -8,22 +10,29 @@
     version = "0.6.9";
   };
   redis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v68ggm0pwcyml3ngfyngwgvypwmsrmji1kyx48qqcg045zjs5p6";
+      sha256 = "0rk6mmy3y2jd34llrf591ribl1p54ghkw7m96wrbamy8fwva5zqv";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "4.1.0";
   };
   redis-dump = {
+    dependencies = ["drydock" "redis" "uri-redis" "yajl-ruby"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y6s3nvcw84jqqvp9pjg9qmqyc0b8jkrp0dknhjjr0lg2q3fq87h";
+      sha256 = "1gvip73kgm8xvyjmjkz4b986wni9blsmrnpvp5jrsxjz3g0sqzwg";
       type = "gem";
     };
-    version = "0.3.5";
+    version = "0.4.0";
   };
   uri-redis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "13n8ak41rikkbmml054pir4i1xbgjpmf3dbqihc2kcrgmz3dg81a";
@@ -32,10 +41,13 @@
     version = "0.4.2";
   };
   yajl-ruby = {
+    groups = ["default"];
+    platforms = [];
     source = {
-      sha256 = "0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf";
+      remotes = ["https://rubygems.org"];
+      sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.4.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix
index 3eb0760b2220..d6c5718d3ec6 100644
--- a/pkgs/development/tools/rust/rustup/default.nix
+++ b/pkgs/development/tools/rust/rustup/default.nix
@@ -1,25 +1,25 @@
 { stdenv, lib, runCommand, patchelf
 , fetchFromGitHub, rustPlatform
-, pkgconfig, curl, Security }:
+, pkgconfig, curl, Security, CoreServices }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rustup";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rustup.rs";
     rev = version;
-    sha256 = "0932n708ikxzjv7y78zcrnnnps3rgimsnpaximhm9vmjjnkdgm7x";
+    sha256 = "0lyn06vzp5406sjng7msifigkal2lafppqjbdnigx8yvgxqgd06f";
   };
 
-  cargoSha256 = "0kw8a9prqjf939g0h8ryyhlm1n84fwdycvl0nkykkwlfqd6hh9hb";
+  cargoSha256 = "0yxjy1kls80fcpwskklmihkqva16s6mawa8rdxc3zz8g588am03c";
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [
     curl
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
   cargoBuildFlags = [ "--features no-self-update" ];
 
diff --git a/pkgs/development/tools/sass/Gemfile.lock b/pkgs/development/tools/sass/Gemfile.lock
index ecd1404e3398..1b99dd3a1361 100644
--- a/pkgs/development/tools/sass/Gemfile.lock
+++ b/pkgs/development/tools/sass/Gemfile.lock
@@ -1,11 +1,11 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    ffi (1.9.23)
+    ffi (1.10.0)
     rb-fsevent (0.10.3)
-    rb-inotify (0.9.10)
-      ffi (>= 0.5.0, < 2)
-    sass (3.5.6)
+    rb-inotify (0.10.0)
+      ffi (~> 1.0)
+    sass (3.7.4)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
@@ -18,4 +18,4 @@ DEPENDENCIES
   sass
 
 BUNDLED WITH
-   1.14.6
+   1.17.2
diff --git a/pkgs/development/tools/sass/default.nix b/pkgs/development/tools/sass/default.nix
index 96354acaec48..c204ba8cd406 100644
--- a/pkgs/development/tools/sass/default.nix
+++ b/pkgs/development/tools/sass/default.nix
@@ -9,7 +9,7 @@ bundlerApp {
     description = "Tools and Ruby libraries for the CSS3 extension languages: Sass and SCSS";
     homepage    = https://sass-lang.com;
     license     = licenses.mit;
-    maintainers = [ maintainers.romildo ];
+    maintainers = with maintainers; [ romildo manveru ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/sass/gemset.nix b/pkgs/development/tools/sass/gemset.nix
index bd25281f14fc..f4fdc899abf8 100644
--- a/pkgs/development/tools/sass/gemset.nix
+++ b/pkgs/development/tools/sass/gemset.nix
@@ -1,13 +1,17 @@
 {
   ffi = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
+      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
       type = "gem";
     };
-    version = "1.9.23";
+    version = "1.10.0";
   };
   rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
@@ -17,24 +21,30 @@
   };
   rb-inotify = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
       type = "gem";
     };
-    version = "0.9.10";
+    version = "0.10.0";
   };
   sass = {
     dependencies = ["sass-listen"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19wyzp9qsg8hdkkxlsv713w0qmy66qrdp0shj42587ssx4qhrlag";
+      sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
       type = "gem";
     };
-    version = "3.5.6";
+    version = "3.7.4";
   };
   sass-listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
diff --git a/pkgs/development/tools/wasm-pack/default.nix b/pkgs/development/tools/wasm-pack/default.nix
new file mode 100644
index 000000000000..5827844c1b58
--- /dev/null
+++ b/pkgs/development/tools/wasm-pack/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkgconfig
+, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+  name = "wasm-pack-${version}";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "rustwasm";
+    repo = "wasm-pack";
+    rev = "v${version}";
+    sha256 = "1z66m16n4r16zqmnv84a5jndr5x6mdqdq4b1wq929sablwqd2rl4";
+  };
+
+  cargoSha256 = "0hp68w5mvk725gzbmlgl8j6wa1dv2fydil7jvq0f09mzxxaqrwcs";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ openssl ];
+
+  # Tests fetch external resources and build artifacts.
+  # Disabled to work with sandboxing
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A utility that builds rust-generated WebAssembly package";
+    homepage = https://github.com/rustwasm/wasm-pack;
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = [ maintainers.dhkl ];
+    platforms = platforms.all;
+  };
+}