about summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-08-27 16:36:47 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-08-27 16:36:47 +0200
commit98640fd48212f8e6552517f667bba1901f5936d4 (patch)
tree0b5f895f31f16b47e8f837c1d3ac87da1f2884eb /pkgs/applications/networking
parent70c1c856d4c96fb37b6e507db4acb125656f992d (diff)
parentb40ee8268515d78b419f53fb22a9fad49b985de8 (diff)
downloadnixlib-98640fd48212f8e6552517f667bba1901f5936d4.tar
nixlib-98640fd48212f8e6552517f667bba1901f5936d4.tar.gz
nixlib-98640fd48212f8e6552517f667bba1901f5936d4.tar.bz2
nixlib-98640fd48212f8e6552517f667bba1901f5936d4.tar.lz
nixlib-98640fd48212f8e6552517f667bba1901f5936d4.tar.xz
nixlib-98640fd48212f8e6552517f667bba1901f5936d4.tar.zst
nixlib-98640fd48212f8e6552517f667bba1901f5936d4.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix8
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix129
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix20
-rwxr-xr-xpkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh17
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix320
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/mumble/overlay.nix4
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix40
-rw-r--r--pkgs/applications/networking/p2p/stig/default.nix56
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/ssb/patchwork/default.nix12
13 files changed, 120 insertions, 504 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index aecebb08e0da..a0ea67133c6f 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -94,17 +94,17 @@ let
         envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@out@/lib";
       }}
     '';
-    
+
     meta.platforms = platforms.x86_64;
   };
 
   flash = stdenv.mkDerivation rec {
     pname = "flashplayer-ppapi";
-    version = "32.0.0.223";
+    version = "32.0.0.238";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "0xm6jcdip4gki267ldw106l5j43im0ji2zjsarvi7n2nvvnwwgnl";
+      sha256 = "0jqx68lfqjpy6wbxdi0giclvh9mc9rha92hqdj1nx42v95k3gc65";
       stripRoot = false;
     };
 
@@ -135,7 +135,7 @@ let
     '';
 
     dontStrip = true;
-    
+
     meta.platforms = platforms.x86_64;
   };
 
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index b06edaf9dcbe..246c5e7e60dc 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -17,11 +17,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "2.6.1566.51-1";
+  version = "2.7.1628.30-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0582f16saldgn482806f9igb97is4p3ayvh99j0wx9plxnyq5xmm";
+    sha256 = "1lz8adwiwll8g246s5pa0ipfraph51s9f4lcfysdrp1s3s1qhw8x";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index c40750752996..b4707327bc72 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,20 +5,20 @@ buildGoPackage rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
      running in development environment and try to serve assets from the
      source tree, which is not there once build completes.  */
-  version = "0.9.7";
+  version = "0.10.4";
 
   src = fetchFromGitHub {
     owner  = "windmilleng";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0b7jk7iwjzdsb2wp9qx4gs9g3gi2vcqw5ilkax3gfz7wsplm0n65";
+    sha256 = "0nxgmldbcaj91jq47qxpf6jqwvi9bhg243qchdkiliphybvilcrg";
   };
 
   goPackagePath = "github.com/windmilleng/tilt";
 
   subPackages = [ "cmd/tilt" ];
 
-  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-07-30");
+  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-08-14");
 
   meta = with stdenv.lib; {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix
index b84807c69a04..b76848c2b810 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix
@@ -1,7 +1,6 @@
-{fetchurl, linkFarm}: rec {
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
-
     {
       name = "_types_node___node_9.6.45.tgz";
       path = fetchurl {
@@ -10,7 +9,6 @@
         sha1 = "a9e5cfd026a3abaaf17e3c0318a470da9f2f178e";
       };
     }
-
     {
       name = "ajv___ajv_6.10.0.tgz";
       path = fetchurl {
@@ -19,7 +17,6 @@
         sha1 = "90d0d54439da587cd7e843bfb7045f50bd22bdf1";
       };
     }
-
     {
       name = "applescript___applescript_1.0.0.tgz";
       path = fetchurl {
@@ -28,7 +25,6 @@
         sha1 = "bb87af568cad034a4e48c4bdaf6067a3a2701317";
       };
     }
-
     {
       name = "asn1___asn1_0.2.4.tgz";
       path = fetchurl {
@@ -37,7 +33,6 @@
         sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
       };
     }
-
     {
       name = "assert_plus___assert_plus_1.0.0.tgz";
       path = fetchurl {
@@ -46,7 +41,6 @@
         sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     }
-
     {
       name = "asynckit___asynckit_0.4.0.tgz";
       path = fetchurl {
@@ -55,7 +49,6 @@
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     }
-
     {
       name = "auto_launch___auto_launch_5.0.5.tgz";
       path = fetchurl {
@@ -64,7 +57,6 @@
         sha1 = "d14bd002b1ef642f85e991a6195ff5300c8ad3c0";
       };
     }
-
     {
       name = "aws_sign2___aws_sign2_0.7.0.tgz";
       path = fetchurl {
@@ -73,7 +65,6 @@
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     }
-
     {
       name = "aws4___aws4_1.8.0.tgz";
       path = fetchurl {
@@ -82,7 +73,6 @@
         sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
       };
     }
-
     {
       name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
       path = fetchurl {
@@ -91,7 +81,6 @@
         sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
       };
     }
-
     {
       name = "bignumber.js___bignumber.js_2.4.0.tgz";
       path = fetchurl {
@@ -100,7 +89,6 @@
         sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
       };
     }
-
     {
       name = "bmp_js___bmp_js_0.0.3.tgz";
       path = fetchurl {
@@ -109,7 +97,6 @@
         sha1 = "64113e9c7cf1202b376ed607bf30626ebe57b18a";
       };
     }
-
     {
       name = "buffer_equal___buffer_equal_0.0.1.tgz";
       path = fetchurl {
@@ -118,7 +105,6 @@
         sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
       };
     }
-
     {
       name = "caseless___caseless_0.12.0.tgz";
       path = fetchurl {
@@ -127,7 +113,6 @@
         sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     }
-
     {
       name = "combined_stream___combined_stream_1.0.7.tgz";
       path = fetchurl {
@@ -136,7 +121,6 @@
         sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828";
       };
     }
-
     {
       name = "conf___conf_2.2.0.tgz";
       path = fetchurl {
@@ -145,7 +129,6 @@
         sha1 = "ee282efafc1450b61e205372041ad7d866802d9a";
       };
     }
-
     {
       name = "core_util_is___core_util_is_1.0.2.tgz";
       path = fetchurl {
@@ -154,7 +137,6 @@
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     }
-
     {
       name = "dashdash___dashdash_1.14.1.tgz";
       path = fetchurl {
@@ -163,7 +145,6 @@
         sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
       };
     }
-
     {
       name = "deep_equal___deep_equal_1.0.1.tgz";
       path = fetchurl {
@@ -172,7 +153,6 @@
         sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
       };
     }
-
     {
       name = "define_properties___define_properties_1.1.3.tgz";
       path = fetchurl {
@@ -181,7 +161,6 @@
         sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
       };
     }
-
     {
       name = "delayed_stream___delayed_stream_1.0.0.tgz";
       path = fetchurl {
@@ -190,7 +169,6 @@
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     }
-
     {
       name = "dom_walk___dom_walk_0.1.1.tgz";
       path = fetchurl {
@@ -199,7 +177,6 @@
         sha1 = "672226dc74c8f799ad35307df936aba11acd6018";
       };
     }
-
     {
       name = "dot_prop___dot_prop_4.2.0.tgz";
       path = fetchurl {
@@ -208,7 +185,6 @@
         sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
       };
     }
-
     {
       name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
       path = fetchurl {
@@ -217,7 +193,6 @@
         sha1 = "3a83a904e54353287874c564b7549386849a98c9";
       };
     }
-
     {
       name = "electron_store___electron_store_2.0.0.tgz";
       path = fetchurl {
@@ -226,7 +201,6 @@
         sha1 = "1035cca2a95409d1f54c7466606345852450d64a";
       };
     }
-
     {
       name = "electron_window_state___electron_window_state_4.1.1.tgz";
       path = fetchurl {
@@ -235,7 +209,6 @@
         sha1 = "6b34fdc31b38514dfec8b7c8f7b5d4addb67632d";
       };
     }
-
     {
       name = "env_paths___env_paths_1.0.0.tgz";
       path = fetchurl {
@@ -244,7 +217,6 @@
         sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
       };
     }
-
     {
       name = "es_abstract___es_abstract_1.13.0.tgz";
       path = fetchurl {
@@ -253,7 +225,6 @@
         sha1 = "ac86145fdd5099d8dd49558ccba2eaf9b88e24e9";
       };
     }
-
     {
       name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
       path = fetchurl {
@@ -262,7 +233,6 @@
         sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
       };
     }
-
     {
       name = "es6_promise___es6_promise_3.3.1.tgz";
       path = fetchurl {
@@ -271,7 +241,6 @@
         sha1 = "a08cdde84ccdbf34d027a1451bc91d4bcd28a613";
       };
     }
-
     {
       name = "exif_parser___exif_parser_0.1.12.tgz";
       path = fetchurl {
@@ -280,7 +249,6 @@
         sha1 = "58a9d2d72c02c1f6f02a0ef4a9166272b7760922";
       };
     }
-
     {
       name = "extend___extend_3.0.2.tgz";
       path = fetchurl {
@@ -289,7 +257,6 @@
         sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
       };
     }
-
     {
       name = "extsprintf___extsprintf_1.3.0.tgz";
       path = fetchurl {
@@ -298,7 +265,6 @@
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     }
-
     {
       name = "extsprintf___extsprintf_1.4.0.tgz";
       path = fetchurl {
@@ -307,7 +273,6 @@
         sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
       };
     }
-
     {
       name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
       path = fetchurl {
@@ -316,7 +281,6 @@
         sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     }
-
     {
       name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
       path = fetchurl {
@@ -325,7 +289,6 @@
         sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     }
-
     {
       name = "file_type___file_type_3.9.0.tgz";
       path = fetchurl {
@@ -334,7 +297,6 @@
         sha1 = "257a078384d1db8087bc449d107d52a52672b9e9";
       };
     }
-
     {
       name = "find_up___find_up_2.1.0.tgz";
       path = fetchurl {
@@ -343,7 +305,6 @@
         sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
       };
     }
-
     {
       name = "for_each___for_each_0.3.3.tgz";
       path = fetchurl {
@@ -352,7 +313,6 @@
         sha1 = "69b447e88a0a5d32c3e7084f3f1710034b21376e";
       };
     }
-
     {
       name = "forever_agent___forever_agent_0.6.1.tgz";
       path = fetchurl {
@@ -361,7 +321,6 @@
         sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
       };
     }
-
     {
       name = "form_data___form_data_2.3.3.tgz";
       path = fetchurl {
@@ -370,7 +329,6 @@
         sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
       };
     }
-
     {
       name = "function_bind___function_bind_1.1.1.tgz";
       path = fetchurl {
@@ -379,7 +337,6 @@
         sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
       };
     }
-
     {
       name = "getpass___getpass_0.1.7.tgz";
       path = fetchurl {
@@ -388,7 +345,6 @@
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     }
-
     {
       name = "global___global_4.3.2.tgz";
       path = fetchurl {
@@ -397,7 +353,6 @@
         sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
       };
     }
-
     {
       name = "graceful_fs___graceful_fs_4.1.15.tgz";
       path = fetchurl {
@@ -406,7 +361,6 @@
         sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00";
       };
     }
-
     {
       name = "har_schema___har_schema_2.0.0.tgz";
       path = fetchurl {
@@ -415,7 +369,6 @@
         sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
       };
     }
-
     {
       name = "har_validator___har_validator_5.1.3.tgz";
       path = fetchurl {
@@ -424,7 +377,6 @@
         sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
       };
     }
-
     {
       name = "has_symbols___has_symbols_1.0.0.tgz";
       path = fetchurl {
@@ -433,7 +385,6 @@
         sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
       };
     }
-
     {
       name = "has___has_1.0.3.tgz";
       path = fetchurl {
@@ -442,7 +393,6 @@
         sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
       };
     }
-
     {
       name = "http_signature___http_signature_1.2.0.tgz";
       path = fetchurl {
@@ -451,7 +401,6 @@
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     }
-
     {
       name = "imurmurhash___imurmurhash_0.1.4.tgz";
       path = fetchurl {
@@ -460,7 +409,6 @@
         sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
       };
     }
-
     {
       name = "ip_regex___ip_regex_1.0.3.tgz";
       path = fetchurl {
@@ -469,7 +417,6 @@
         sha1 = "dc589076f659f419c222039a33316f1c7387effd";
       };
     }
-
     {
       name = "is_callable___is_callable_1.1.4.tgz";
       path = fetchurl {
@@ -478,7 +425,6 @@
         sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
       };
     }
-
     {
       name = "is_date_object___is_date_object_1.0.1.tgz";
       path = fetchurl {
@@ -487,7 +433,6 @@
         sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
       };
     }
-
     {
       name = "is_function___is_function_1.0.1.tgz";
       path = fetchurl {
@@ -496,7 +441,6 @@
         sha1 = "12cfb98b65b57dd3d193a3121f5f6e2f437602b5";
       };
     }
-
     {
       name = "is_obj___is_obj_1.0.1.tgz";
       path = fetchurl {
@@ -505,7 +449,6 @@
         sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
       };
     }
-
     {
       name = "is_regex___is_regex_1.0.4.tgz";
       path = fetchurl {
@@ -514,7 +457,6 @@
         sha1 = "5517489b547091b0930e095654ced25ee97e9491";
       };
     }
-
     {
       name = "is_symbol___is_symbol_1.0.2.tgz";
       path = fetchurl {
@@ -523,7 +465,6 @@
         sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
       };
     }
-
     {
       name = "is_typedarray___is_typedarray_1.0.0.tgz";
       path = fetchurl {
@@ -532,7 +473,6 @@
         sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     }
-
     {
       name = "isstream___isstream_0.1.2.tgz";
       path = fetchurl {
@@ -541,7 +481,6 @@
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     }
-
     {
       name = "jimp___jimp_0.2.28.tgz";
       path = fetchurl {
@@ -550,7 +489,6 @@
         sha1 = "dd529a937190f42957a7937d1acc3a7762996ea2";
       };
     }
-
     {
       name = "jpeg_js___jpeg_js_0.2.0.tgz";
       path = fetchurl {
@@ -559,7 +497,6 @@
         sha1 = "53e448ec9d263e683266467e9442d2c5a2ef5482";
       };
     }
-
     {
       name = "jsbn___jsbn_0.1.1.tgz";
       path = fetchurl {
@@ -568,7 +505,6 @@
         sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     }
-
     {
       name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
       path = fetchurl {
@@ -577,7 +513,6 @@
         sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
       };
     }
-
     {
       name = "json_schema___json_schema_0.2.3.tgz";
       path = fetchurl {
@@ -586,7 +521,6 @@
         sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
       };
     }
-
     {
       name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
       path = fetchurl {
@@ -595,7 +529,6 @@
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     }
-
     {
       name = "jsonfile___jsonfile_2.4.0.tgz";
       path = fetchurl {
@@ -604,7 +537,6 @@
         sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
       };
     }
-
     {
       name = "jsprim___jsprim_1.4.1.tgz";
       path = fetchurl {
@@ -613,7 +545,6 @@
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     }
-
     {
       name = "load_bmfont___load_bmfont_1.4.0.tgz";
       path = fetchurl {
@@ -622,7 +553,6 @@
         sha1 = "75f17070b14a8c785fe7f5bee2e6fd4f98093b6b";
       };
     }
-
     {
       name = "locate_path___locate_path_2.0.0.tgz";
       path = fetchurl {
@@ -631,7 +561,6 @@
         sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
       };
     }
-
     {
       name = "make_dir___make_dir_1.3.0.tgz";
       path = fetchurl {
@@ -640,7 +569,6 @@
         sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c";
       };
     }
-
     {
       name = "mime_db___mime_db_1.38.0.tgz";
       path = fetchurl {
@@ -649,7 +577,6 @@
         sha1 = "1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad";
       };
     }
-
     {
       name = "mime_types___mime_types_2.1.22.tgz";
       path = fetchurl {
@@ -658,7 +585,6 @@
         sha1 = "fe6b355a190926ab7698c9a0556a11199b2199bd";
       };
     }
-
     {
       name = "mime___mime_1.6.0.tgz";
       path = fetchurl {
@@ -667,7 +593,6 @@
         sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
       };
     }
-
     {
       name = "min_document___min_document_2.19.0.tgz";
       path = fetchurl {
@@ -676,7 +601,6 @@
         sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
       };
     }
-
     {
       name = "minimist___minimist_0.0.8.tgz";
       path = fetchurl {
@@ -685,7 +609,6 @@
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     }
-
     {
       name = "minimist___minimist_1.2.0.tgz";
       path = fetchurl {
@@ -694,7 +617,6 @@
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     }
-
     {
       name = "mkdirp___mkdirp_0.5.1.tgz";
       path = fetchurl {
@@ -703,7 +625,6 @@
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     }
-
     {
       name = "oauth_sign___oauth_sign_0.9.0.tgz";
       path = fetchurl {
@@ -712,7 +633,6 @@
         sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
       };
     }
-
     {
       name = "object_keys___object_keys_1.1.0.tgz";
       path = fetchurl {
@@ -721,7 +641,6 @@
         sha1 = "11bd22348dd2e096a045ab06f6c85bcc340fa032";
       };
     }
-
     {
       name = "p_limit___p_limit_1.3.0.tgz";
       path = fetchurl {
@@ -730,7 +649,6 @@
         sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
       };
     }
-
     {
       name = "p_locate___p_locate_2.0.0.tgz";
       path = fetchurl {
@@ -739,7 +657,6 @@
         sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
       };
     }
-
     {
       name = "p_try___p_try_1.0.0.tgz";
       path = fetchurl {
@@ -748,7 +665,6 @@
         sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
       };
     }
-
     {
       name = "parse_bmfont_ascii___parse_bmfont_ascii_1.0.6.tgz";
       path = fetchurl {
@@ -757,7 +673,6 @@
         sha1 = "11ac3c3ff58f7c2020ab22769079108d4dfa0285";
       };
     }
-
     {
       name = "parse_bmfont_binary___parse_bmfont_binary_1.0.6.tgz";
       path = fetchurl {
@@ -766,7 +681,6 @@
         sha1 = "d038b476d3e9dd9db1e11a0b0e53a22792b69006";
       };
     }
-
     {
       name = "parse_bmfont_xml___parse_bmfont_xml_1.1.4.tgz";
       path = fetchurl {
@@ -775,7 +689,6 @@
         sha1 = "015319797e3e12f9e739c4d513872cd2fa35f389";
       };
     }
-
     {
       name = "parse_headers___parse_headers_2.0.2.tgz";
       path = fetchurl {
@@ -784,7 +697,6 @@
         sha1 = "9545e8a4c1ae5eaea7d24992bca890281ed26e34";
       };
     }
-
     {
       name = "path_exists___path_exists_3.0.0.tgz";
       path = fetchurl {
@@ -793,7 +705,6 @@
         sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
       };
     }
-
     {
       name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
       path = fetchurl {
@@ -802,7 +713,6 @@
         sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
       };
     }
-
     {
       name = "performance_now___performance_now_2.1.0.tgz";
       path = fetchurl {
@@ -811,7 +721,6 @@
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     }
-
     {
       name = "phin___phin_2.9.3.tgz";
       path = fetchurl {
@@ -820,7 +729,6 @@
         sha1 = "f9b6ac10a035636fb65dfc576aaaa17b8743125c";
       };
     }
-
     {
       name = "pify___pify_3.0.0.tgz";
       path = fetchurl {
@@ -829,7 +737,6 @@
         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
       };
     }
-
     {
       name = "pixelmatch___pixelmatch_4.0.2.tgz";
       path = fetchurl {
@@ -838,7 +745,6 @@
         sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
       };
     }
-
     {
       name = "pkg_up___pkg_up_2.0.0.tgz";
       path = fetchurl {
@@ -847,7 +753,6 @@
         sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
       };
     }
-
     {
       name = "png_to_ico___png_to_ico_1.0.7.tgz";
       path = fetchurl {
@@ -856,7 +761,6 @@
         sha1 = "9346b5f4d6fd7e94cb08fd49eeb585f501c3e5f2";
       };
     }
-
     {
       name = "pngjs___pngjs_3.4.0.tgz";
       path = fetchurl {
@@ -865,7 +769,6 @@
         sha1 = "99ca7d725965fb655814eaf65f38f12bbdbf555f";
       };
     }
-
     {
       name = "process___process_0.5.2.tgz";
       path = fetchurl {
@@ -874,7 +777,6 @@
         sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
       };
     }
-
     {
       name = "psl___psl_1.1.31.tgz";
       path = fetchurl {
@@ -883,7 +785,6 @@
         sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184";
       };
     }
-
     {
       name = "punycode___punycode_1.4.1.tgz";
       path = fetchurl {
@@ -892,7 +793,6 @@
         sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     }
-
     {
       name = "punycode___punycode_2.1.1.tgz";
       path = fetchurl {
@@ -901,7 +801,6 @@
         sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
       };
     }
-
     {
       name = "qs___qs_6.5.2.tgz";
       path = fetchurl {
@@ -910,7 +809,6 @@
         sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
       };
     }
-
     {
       name = "read_chunk___read_chunk_1.0.1.tgz";
       path = fetchurl {
@@ -919,7 +817,6 @@
         sha1 = "5f68cab307e663f19993527d9b589cace4661194";
       };
     }
-
     {
       name = "request___request_2.88.0.tgz";
       path = fetchurl {
@@ -928,7 +825,6 @@
         sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
       };
     }
-
     {
       name = "safe_buffer___safe_buffer_5.1.2.tgz";
       path = fetchurl {
@@ -937,7 +833,6 @@
         sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
       };
     }
-
     {
       name = "safer_buffer___safer_buffer_2.1.2.tgz";
       path = fetchurl {
@@ -946,7 +841,6 @@
         sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
       };
     }
-
     {
       name = "sax___sax_1.2.4.tgz";
       path = fetchurl {
@@ -955,7 +849,6 @@
         sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
       };
     }
-
     {
       name = "signal_exit___signal_exit_3.0.2.tgz";
       path = fetchurl {
@@ -964,7 +857,6 @@
         sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
       };
     }
-
     {
       name = "sshpk___sshpk_1.16.1.tgz";
       path = fetchurl {
@@ -973,7 +865,6 @@
         sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
       };
     }
-
     {
       name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz";
       path = fetchurl {
@@ -982,7 +873,6 @@
         sha1 = "26799d903ab2025c9bd550ac47171b00f8dd80a9";
       };
     }
-
     {
       name = "stream_to___stream_to_0.2.2.tgz";
       path = fetchurl {
@@ -991,7 +881,6 @@
         sha1 = "84306098d85fdb990b9fa300b1b3ccf55e8ef01d";
       };
     }
-
     {
       name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz";
       path = fetchurl {
@@ -1000,7 +889,6 @@
         sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea";
       };
     }
-
     {
       name = "tinycolor2___tinycolor2_1.4.1.tgz";
       path = fetchurl {
@@ -1009,7 +897,6 @@
         sha1 = "f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8";
       };
     }
-
     {
       name = "tough_cookie___tough_cookie_2.4.3.tgz";
       path = fetchurl {
@@ -1018,7 +905,6 @@
         sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
       };
     }
-
     {
       name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
       path = fetchurl {
@@ -1027,7 +913,6 @@
         sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
       };
     }
-
     {
       name = "tweetnacl___tweetnacl_0.14.5.tgz";
       path = fetchurl {
@@ -1036,7 +921,6 @@
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     }
-
     {
       name = "untildify___untildify_3.0.3.tgz";
       path = fetchurl {
@@ -1045,7 +929,6 @@
         sha1 = "1e7b42b140bcfd922b22e70ca1265bfe3634c7c9";
       };
     }
-
     {
       name = "uri_js___uri_js_4.2.2.tgz";
       path = fetchurl {
@@ -1054,7 +937,6 @@
         sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
       };
     }
-
     {
       name = "url_regex___url_regex_3.2.0.tgz";
       path = fetchurl {
@@ -1063,7 +945,6 @@
         sha1 = "dbad1e0c9e29e105dd0b1f09f6862f7fdb482724";
       };
     }
-
     {
       name = "uuid___uuid_3.3.2.tgz";
       path = fetchurl {
@@ -1072,7 +953,6 @@
         sha1 = "1b4af4955eb3077c501c23872fc6513811587131";
       };
     }
-
     {
       name = "verror___verror_1.10.0.tgz";
       path = fetchurl {
@@ -1081,7 +961,6 @@
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     }
-
     {
       name = "winreg___winreg_1.2.4.tgz";
       path = fetchurl {
@@ -1090,7 +969,6 @@
         sha1 = "ba065629b7a925130e15779108cf540990e98d1b";
       };
     }
-
     {
       name = "write_file_atomic___write_file_atomic_2.4.2.tgz";
       path = fetchurl {
@@ -1099,7 +977,6 @@
         sha1 = "a7181706dfba17855d221140a9c06e15fcdd87b9";
       };
     }
-
     {
       name = "xhr___xhr_2.5.0.tgz";
       path = fetchurl {
@@ -1108,7 +985,6 @@
         sha1 = "bed8d1676d5ca36108667692b74b316c496e49dd";
       };
     }
-
     {
       name = "xml_parse_from_string___xml_parse_from_string_1.0.1.tgz";
       path = fetchurl {
@@ -1117,7 +993,6 @@
         sha1 = "a9029e929d3dbcded169f3c6e28238d95a5d5a28";
       };
     }
-
     {
       name = "xml2js___xml2js_0.4.19.tgz";
       path = fetchurl {
@@ -1126,7 +1001,6 @@
         sha1 = "686c20f213209e94abf0d1bcf1efaa291c7827a7";
       };
     }
-
     {
       name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
       path = fetchurl {
@@ -1135,7 +1009,6 @@
         sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
       };
     }
-
     {
       name = "xtend___xtend_4.0.1.tgz";
       path = fetchurl {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index d245fad7bca5..2c4557f2cc08 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -1,9 +1,8 @@
-{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web }:
+{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }:
 
-# Note for maintainers:
-# Versions of `riot-web` and `riot-desktop` should be kept in sync.
-
-with (import ./yarn2nix.nix { inherit pkgs; });
+# Notes for maintainers:
+# * versions of `riot-web` and `riot-desktop` should be kept in sync.
+# * the Yarn dependency expression must be updated with `./update-riot-desktop.sh <git release tag>`
 
 let
   executableName = "riot-desktop";
@@ -15,18 +14,13 @@ let
     sha256 = "1nzzxcz4r9932cha80q1bzn1425m67fsl89pn7n7ybrv6y0jnxpc";
   };
 
-in mkYarnPackage rec {
+in yarn2nix-moretea.mkYarnPackage rec {
   name = "riot-desktop-${version}";
   inherit version;
 
   src = "${riot-web-src}/electron_app";
 
-  # The package manifest should be copied on each update of this package.
-  # > cp ${riot-web-src}/electron_app/package.json riot-desktop-package.json
   packageJSON = ./riot-desktop-package.json;
-
-  # The dependency expression can be regenerated using nixos.yarn2nix with the following command:
-  # > yarn2nix --lockfile=${riot-web-src}/electron_app/yarn.lock > riot-desktop-yarndeps.nix
   yarnNix = ./riot-desktop-yarndeps.nix;
 
   nativeBuildInputs = [ makeWrapper ];
@@ -36,7 +30,9 @@ in mkYarnPackage rec {
     mkdir -p "$out/share/riot"
     ln -s '${riot-web}' "$out/share/riot/webapp"
     cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
-    cp -r '.' "$out/share/riot/electron"
+    cp -r './deps/riot-web' "$out/share/riot/electron"
+    rm "$out/share/riot/electron/node_modules"
+    cp -r './node_modules' "$out/share/riot/electron"
 
     # icons
     for icon in $out/share/riot/electron/build/icons/*.png; do
diff --git a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
new file mode 100755
index 000000000000..b646a9e03adf
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+	echo "Regenerates the Yarn dependency lock files for the riot-desktop package."
+	echo "Usage: $0 <git release tag>"
+	exit 1
+fi
+
+RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/riot-web/$1"
+
+wget "$RIOT_WEB_SRC/electron_app/package.json" -O riot-desktop-package.json
+wget "$RIOT_WEB_SRC/electron_app/yarn.lock" -O riot-desktop-yarndeps.lock
+yarn2nix --lockfile=riot-desktop-yarndeps.lock > riot-desktop-yarndeps.nix
+rm riot-desktop-yarndeps.lock
diff --git a/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix b/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix
deleted file mode 100644
index 5dd79fdf1d86..000000000000
--- a/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix
+++ /dev/null
@@ -1,320 +0,0 @@
-{ pkgs ? import <nixpkgs> {}
-, nodejs ? pkgs.nodejs
-, yarn ? pkgs.yarn
-}:
-
-let
-  inherit (pkgs) stdenv lib fetchurl linkFarm;
-in rec {
-  # Export yarn again to make it easier to find out which yarn was used.
-  inherit yarn;
-
-  # Re-export pkgs
-  inherit pkgs;
-
-  unlessNull = item: alt:
-    if item == null then alt else item;
-
-  reformatPackageName = pname:
-    let
-      # regex adapted from `validate-npm-package-name`
-      # will produce 3 parts e.g.
-      # "@someorg/somepackage" -> [ "@someorg/" "someorg" "somepackage" ]
-      # "somepackage" -> [ null null "somepackage" ]
-      parts = builtins.tail (builtins.match "^(@([^/]+)/)?([^/]+)$" pname);
-      # if there is no organisation we need to filter out null values.
-      non-null = builtins.filter (x: x != null) parts;
-    in builtins.concatStringsSep "-" non-null;
-
-  # https://docs.npmjs.com/files/package.json#license
-  # TODO: support expression syntax (OR, AND, etc)
-  spdxLicense = licstr:
-    if licstr == "UNLICENSED" then
-      lib.licenses.unfree
-    else
-      lib.findFirst
-        (l: l ? spdxId && l.spdxId == licstr)
-        { shortName = licstr; }
-        (builtins.attrValues lib.licenses);
-
-  # Generates the yarn.nix from the yarn.lock file
-  mkYarnNix = yarnLock:
-    pkgs.runCommand "yarn.nix" {}
-      "${yarn2nix}/bin/yarn2nix --lockfile ${yarnLock} --no-patch > $out";
-
-  # Loads the generated offline cache. This will be used by yarn as
-  # the package source.
-  importOfflineCache = yarnNix:
-    let
-      pkg = import yarnNix { inherit fetchurl linkFarm; };
-    in
-      pkg.offline_cache;
-
-  defaultYarnFlags = [
-    "--offline"
-    "--frozen-lockfile"
-    "--ignore-engines"
-    "--ignore-scripts"
-  ];
-
-  mkYarnModules = {
-    name,
-    pname,
-    packageJSON,
-    yarnLock,
-    yarnNix ? mkYarnNix yarnLock,
-    yarnFlags ? defaultYarnFlags,
-    pkgConfig ? {},
-    preBuild ? "",
-    workspaceDependencies ? [],
-  }:
-    let
-      offlineCache = importOfflineCache yarnNix;
-      extraBuildInputs = (lib.flatten (builtins.map (key:
-        pkgConfig.${key} . buildInputs or []
-      ) (builtins.attrNames pkgConfig)));
-      postInstall = (builtins.map (key:
-        if (pkgConfig.${key} ? postInstall) then
-          ''
-            for f in $(find -L -path '*/node_modules/${key}' -type d); do
-              (cd "$f" && (${pkgConfig.${key}.postInstall}))
-            done
-          ''
-        else
-          ""
-      ) (builtins.attrNames pkgConfig));
-      workspaceJSON = pkgs.writeText
-        "${name}-workspace-package.json"
-        (builtins.toJSON { private = true; workspaces = ["deps/**"]; }); # scoped packages need second splat
-      workspaceDependencyLinks = lib.concatMapStringsSep "\n"
-        (dep: ''
-          mkdir -p "deps/${dep.pname}"
-          ln -sf ${dep.packageJSON} "deps/${dep.pname}/package.json"
-        '')
-        workspaceDependencies;
-    in stdenv.mkDerivation {
-      inherit preBuild name;
-      phases = ["configurePhase" "buildPhase"];
-      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
-
-      configurePhase = ''
-        # Yarn writes cache directories etc to $HOME.
-        export HOME=$PWD/yarn_home
-      '';
-
-      buildPhase = ''
-        runHook preBuild
-
-        mkdir -p "deps/${pname}"
-        cp ${packageJSON} "deps/${pname}/package.json"
-        cp ${workspaceJSON} ./package.json
-        cp ${yarnLock} ./yarn.lock
-        chmod +w ./yarn.lock
-
-        yarn config --offline set yarn-offline-mirror ${offlineCache}
-
-        # Do not look up in the registry, but in the offline cache.
-        # TODO: Ask upstream to fix this mess.
-        sed -i -E '/resolved /{s|https://registry.yarnpkg.com/||;s|[@/:-]|_|g}' yarn.lock
-
-        ${workspaceDependencyLinks}
-        yarn install ${lib.escapeShellArgs yarnFlags}
-
-        ${lib.concatStringsSep "\n" postInstall}
-
-        mkdir $out
-        mv node_modules $out/
-        mv deps $out/
-        patchShebangs $out
-      '';
-    };
-
-  # This can be used as a shellHook in mkYarnPackage. It brings the built node_modules into
-  # the shell-hook environment.
-  linkNodeModulesHook = ''
-    if [[ -d node_modules || -L node_modules ]]; then
-      echo "./node_modules is present. Replacing."
-      rm -rf node_modules
-    fi
-
-    ln -s "$node_modules" node_modules
-  '';
-
-  mkYarnWorkspace = {
-    src,
-    packageJSON ? src+"/package.json",
-    yarnLock ? src+"/yarn.lock",
-    packageOverrides ? {},
-    ...
-  }@attrs:
-  let
-    package = lib.importJSON packageJSON;
-    packageGlobs = package.workspaces;
-    globElemToRegex = lib.replaceStrings ["*"] [".*"];
-    # PathGlob -> [PathGlobElem]
-    splitGlob = lib.splitString "/";
-    # Path -> [PathGlobElem] -> [Path]
-    # Note: Only directories are included, everything else is filtered out
-    expandGlobList = base: globElems:
-    let
-      elemRegex = globElemToRegex (lib.head globElems);
-      rest = lib.tail globElems;
-      children = lib.attrNames (lib.filterAttrs (name: type: type == "directory") (builtins.readDir base));
-      matchingChildren = lib.filter (child: builtins.match elemRegex child != null) children;
-    in if globElems == []
-      then [ base ]
-      else lib.concatMap (child: expandGlobList (base+("/"+child)) rest) matchingChildren;
-    # Path -> PathGlob -> [Path]
-    expandGlob = base: glob: expandGlobList base (splitGlob glob);
-    packagePaths = lib.concatMap (expandGlob src) packageGlobs;
-    packages = lib.listToAttrs (map (src:
-    let
-      packageJSON = src+"/package.json";
-      package = lib.importJSON packageJSON;
-      allDependencies = lib.foldl (a: b: a // b) {} (map (field: lib.attrByPath [field] {} package) ["dependencies" "devDependencies"]);
-    in rec {
-      name = reformatPackageName package.name;
-      value = mkYarnPackage (builtins.removeAttrs attrs ["packageOverrides"] // {
-        inherit src packageJSON yarnLock;
-        workspaceDependencies = lib.mapAttrsToList (name: version: packages.${name})
-          (lib.filterAttrs (name: version: packages ? ${name}) allDependencies);
-      } // lib.attrByPath [name] {} packageOverrides);
-    }) packagePaths);
-  in packages;
-
-  mkYarnPackage = {
-    name ? null,
-    src,
-    packageJSON ? src + "/package.json",
-    yarnLock ? src + "/yarn.lock",
-    yarnNix ? mkYarnNix yarnLock,
-    yarnFlags ? defaultYarnFlags,
-    yarnPreBuild ? "",
-    pkgConfig ? {},
-    extraBuildInputs ? [],
-    publishBinsFor ? null,
-    workspaceDependencies ? [],
-    ...
-  }@attrs:
-    let
-      package = lib.importJSON packageJSON;
-      pname = package.name;
-      safeName = reformatPackageName pname;
-      version = package.version;
-      baseName = unlessNull name "${safeName}-${version}";
-      deps = mkYarnModules {
-        name = "${safeName}-modules-${version}";
-        preBuild = yarnPreBuild;
-        workspaceDependencies = workspaceDependenciesTransitive;
-        inherit packageJSON pname yarnLock yarnNix yarnFlags pkgConfig;
-      };
-      publishBinsFor_ = unlessNull publishBinsFor [pname];
-      linkDirFunction = ''
-        linkDirToDirLinks() {
-          target=$1
-          if [ ! -f "$target" ]; then
-            mkdir -p "$target"
-          elif [ -L "$target" ]; then
-            local new=$(mktemp -d)
-            trueSource=$(realpath "$target")
-            if [ "$(ls $trueSource | wc -l)" -gt 0 ]; then
-              ln -s $trueSource/* $new/
-            fi
-            rm -r "$target"
-            mv "$new" "$target"
-          fi
-        }
-      '';
-      workspaceDependenciesTransitive = lib.unique ((lib.flatten (builtins.map (dep: dep.workspaceDependencies) workspaceDependencies)) ++ workspaceDependencies);
-      workspaceDependencyCopy = lib.concatMapStringsSep "\n"
-        (dep: ''
-          # ensure any existing scope directory is not a symlink
-          linkDirToDirLinks "$(dirname node_modules/${dep.pname})"
-          mkdir -p "deps/${dep.pname}"
-          tar -xf "${dep}/tarballs/${dep.name}.tgz" --directory "deps/${dep.pname}" --strip-components=1
-          if [ ! -e "deps/${dep.pname}/node_modules" ]; then
-            ln -s "${deps}/deps/${dep.pname}/node_modules" "deps/${dep.pname}/node_modules"
-          fi
-        '')
-        workspaceDependenciesTransitive;
-    in stdenv.mkDerivation (builtins.removeAttrs attrs ["pkgConfig" "workspaceDependencies"] // {
-      inherit src;
-
-      name = baseName;
-
-      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
-
-      node_modules = deps + "/node_modules";
-
-      configurePhase = attrs.configurePhase or ''
-        runHook preConfigure
-
-        for localDir in npm-packages-offline-cache node_modules; do
-          if [[ -d $localDir || -L $localDir ]]; then
-            echo "$localDir dir present. Removing."
-            rm -rf $localDir
-          fi
-        done
-
-        mkdir -p "deps/${pname}"
-        shopt -s extglob
-        cp -r !(deps) "deps/${pname}"
-        shopt -u extglob
-        ln -s ${deps}/deps/${pname}/node_modules "deps/${pname}/node_modules"
-
-        cp -r $node_modules node_modules
-        chmod -R +w node_modules
-
-        ${linkDirFunction}
-        linkDirToDirLinks "$(dirname node_modules/${pname})"
-        ln -s "deps/${pname}" "node_modules/${pname}"
-        ${workspaceDependencyCopy}
-
-        # Help yarn commands run in other phases find the package
-        echo "--cwd deps/${pname}" > .yarnrc
-        runHook postConfigure
-      '';
-
-      # Replace this phase on frontend packages where only the generated
-      # files are an interesting output.
-      installPhase = attrs.installPhase or ''
-        runHook preInstall
-
-        mkdir -p $out/{bin,libexec/${pname}}
-        mv node_modules $out/libexec/${pname}/node_modules
-        mv deps $out/libexec/${pname}/deps
-        node ${./nix/fixup_bin.js} $out/bin $out/libexec/${pname}/node_modules ${lib.concatStringsSep " " publishBinsFor_}
-
-        runHook postInstall
-      '';
-
-      doDist = true;
-      distPhase = attrs.distPhase or ''
-        # pack command ignores cwd option
-        rm -f .yarnrc
-        cd $out/libexec/${pname}/deps/${pname}
-        mkdir -p $out/tarballs/
-        yarn pack --ignore-scripts --filename $out/tarballs/${baseName}.tgz
-      '';
-
-      passthru = {
-        inherit pname package packageJSON deps;
-        workspaceDependencies = workspaceDependenciesTransitive;
-      } // (attrs.passthru or {});
-
-      meta = {
-        inherit (nodejs.meta) platforms;
-        description = packageJSON.description or "";
-        homepage = packageJSON.homepage or "";
-        version = packageJSON.version or "";
-        license = if packageJSON ? license then spdxLicense packageJSON.license else "";
-      } // (attrs.meta or {});
-    });
-
-  yarn2nix = mkYarnPackage {
-    src = ./.;
-    # yarn2nix is the only package that requires the yarnNix option.
-    # All the other projects can auto-generate that file.
-    yarnNix = ./yarn.nix;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index fab9c28ec973..d3aa302d601a 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -6,7 +6,7 @@ at-spi2-atk, libuuid, nodePackages
 
 let
 
-  version = "4.0.1";
+  version = "4.0.2";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -51,7 +51,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "1g7c8jka750pblsfzjvfyf7sp1m409kybqagml9miif1v71scxv2";
+        sha256 = "053j5py16ilpwy868rhh5l2g93xj1fq4fwxrsi2bkfsnmq261hkm";
       }
     else
       throw "Slack is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/mumble/overlay.nix b/pkgs/applications/networking/mumble/overlay.nix
index 185672a21f8c..babb3812bb92 100644
--- a/pkgs/applications/networking/mumble/overlay.nix
+++ b/pkgs/applications/networking/mumble/overlay.nix
@@ -12,10 +12,10 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/lib
-    ln -s ${mumble}/lib/libmumble.so.1.* $out/lib/libmumble.so.1
+    ln -s ${mumble}/lib/libmumble.so.1.2.* $out/lib/libmumble.so.1
     ${lib.optionalString (mumble_i686 != null) ''
       mkdir -p $out/lib32
-      ln -s ${mumble_i686}/lib/libmumble.so.1.* $out/lib32/libmumble.so.1
+      ln -s ${mumble_i686}/lib/libmumble.so.1.2.* $out/lib32/libmumble.so.1
     ''}
     install -Dm755 scripts/mumble-overlay $out/bin/mumble-overlay
     sed -i "s,/usr/lib,$out/lib,g" $out/bin/mumble-overlay
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 715d8e13ec30..eaa6b07c8fae 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -1,20 +1,24 @@
 { stdenv, fetchurl, adns, curl, gettext, gmp, gnutls, libextractor
 , libgcrypt, libgnurl, libidn, libmicrohttpd, libtool, libunistring
 , makeWrapper, ncurses, pkgconfig, libxml2, sqlite, zlib
-, libpulseaudio, libopus, libogg }:
+, libpulseaudio, libopus, libogg, jansson }:
 
 stdenv.mkDerivation rec {
-  name = "gnunet-0.11.0";
+  pname = "gnunet";
+  version = "0.11.6";
 
   src = fetchurl {
-    url = "mirror://gnu/gnunet/${name}.tar.gz";
-    sha256 = "16kydkrjlf2vxflgls46bwaf9kjczf621p456q0qlphd7cy7lixp";
+    url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
+    sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q";
   };
 
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig libtool makeWrapper ];
   buildInputs = [
-    adns curl gettext gmp gnutls libextractor libgcrypt libgnurl libidn
-    libmicrohttpd libtool libunistring libxml2 makeWrapper ncurses
-    pkgconfig sqlite zlib libpulseaudio libopus libogg
+    adns curl gmp gnutls libextractor libgcrypt libgnurl libidn
+    libmicrohttpd libunistring libxml2 ncurses gettext
+    sqlite zlib libpulseaudio libopus libogg jansson
   ];
 
   preConfigure = ''
@@ -29,26 +33,18 @@ stdenv.mkDerivation rec {
     find . \( -iname \*test\*.c -or -name \*.conf \) | \
       xargs sed -ie "s|/tmp|$TMPDIR|g"
 
-    # Ensure NSS installation works fine
-    configureFlags="$configureFlags --with-nssdir=$out/lib"
-    patchShebangs src/gns/nss/install-nss-plugin.sh
-
     sed -ie 's|@LDFLAGS@|@LDFLAGS@ $(Z_LIBS)|g' \
       src/regex/Makefile.in \
       src/fs/Makefile.in
   '';
 
+  # unfortunately, there's still a few failures with impure tests
   doCheck = false;
-
-  /* FIXME: Tests must be run this way, but there are still a couple of
-     failures.
-
-  postInstall =
-    '' export GNUNET_PREFIX="$out"
-       export PATH="$out/bin:$PATH"
-       make -k check
-    '';
-  */
+  checkPhase = ''
+    export GNUNET_PREFIX="$out"
+    export PATH="$out/bin:$PATH"
+    make -k check
+  '';
 
   meta = with stdenv.lib; {
     description = "GNU's decentralized anonymous and censorship-resistant P2P framework";
@@ -69,9 +65,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = https://gnunet.org/;
-
     license = licenses.gpl2Plus;
-
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.gnu ++ platforms.linux;
   };
diff --git a/pkgs/applications/networking/p2p/stig/default.nix b/pkgs/applications/networking/p2p/stig/default.nix
new file mode 100644
index 000000000000..80b8251f2a3f
--- /dev/null
+++ b/pkgs/applications/networking/p2p/stig/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "stig";
+  # This project has a different concept for pre release / alpha,
+  # Read the project's README for details: https://github.com/rndusr/stig#stig
+  version = "0.10.1a";
+
+  src = fetchFromGitHub {
+    owner = "rndusr";
+    repo = "stig";
+    rev = "v${version}";
+    sha256 = "076rlial6h1nhwdxf1mx5nf2zld5ci43cadj9wf8xms7zn8s6c8v";
+  };
+
+  # urwidtrees 1.0.3 is requested by the developer because 1.0.2 (which is packaged
+  # in nixpkgs) is not uploaded to pypi and 1.0.1 has a problematic `setup.py`.
+  # As long as we don't have any problems installing it, no special features / specific bugs
+  # were fixed in 1.0.3 that aren't available in 1.0.2 are used by stig.
+  # See https://github.com/rndusr/stig/issues/120
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "urwidtrees>=1.0.3dev0" "urwidtrees"
+  '';
+
+  buildInputs = with python3.pkgs; [
+    urwid
+    urwidtrees
+    aiohttp
+    async-timeout
+    pyxdg
+    blinker
+    natsort
+    maxminddb
+    setproctitle
+  ];
+
+  checkInputs = with python3.pkgs; [
+    asynctest
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with lib; {
+    description = "TUI and CLI for the BitTorrent client Transmission";
+    homepage = "https://github.com/rndusr/stig";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 643e421625f2..aa965a0c8683 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
 , gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, python3, libcap, glib
-, libssh, nghttp2, zlib, cmake, extra-cmake-modules, fetchpatch, makeWrapper
+, libssh, nghttp2, zlib, cmake, fetchpatch, makeWrapper
 , withQt ? true, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
 }:
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [
-    bison cmake extra-cmake-modules flex pkgconfig
+    bison cmake flex pkgconfig
   ] ++ optional withQt qt5.wrapQtAppsHook;
 
   buildInputs = [
diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix
index 40026275a1e3..8d6d5e2a4f94 100644
--- a/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -1,13 +1,13 @@
 { appimageTools, symlinkJoin, lib, fetchurl, makeDesktopItem }:
 
 let
-  pname = "patchwork";
-  version = "3.14.1";
+  pname = "ssb-patchwork";
+  version = "3.16.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/ssb-${pname}-${version}-x86_64.AppImage";
-    sha256 = "01vsldabv9nmbx8kzlgw275zykm72s1dxglnaq4jz5vbysbyn0qd";
+    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
+    sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4";
   };
 
   binary = appimageTools.wrapType2 {
@@ -20,8 +20,8 @@ let
   };
 
   desktopItem = makeDesktopItem {
-    name = "patchwork";
-    exec = "${binary}/bin/patchwork";
+    name = "ssb-patchwork";
+    exec = "${binary}/bin/ssb-patchwork";
     icon = "ssb-patchwork.png";
     comment = "Decentralized messaging and sharing app";
     desktopName = "Patchwork";