about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-01-16 13:05:39 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-01-16 13:05:39 -0500
commit5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7 (patch)
tree6803d6cd9ce50244ee428f975fcd5c2d0d02e72a
parent990ff97c6d82eb27486ec8dc3e9dbc453da88aa8 (diff)
parent5d8b359db7b680d5f6c77f92b789ceea43d3ee92 (diff)
downloadnixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.tar
nixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.tar.gz
nixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.tar.bz2
nixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.tar.lz
nixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.tar.xz
nixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.tar.zst
nixlib-5a754e75b4ac35a419a7fdb6d0a535f20f0ffad7.zip
Merge branch 'ericson2314-cross-master' into staging
-rw-r--r--lib/customisation.nix20
-rw-r--r--lib/default.nix3
-rw-r--r--lib/maintainers.nix1
-rwxr-xr-xmaintainers/scripts/rebuild-amount.sh14
-rw-r--r--nixos/doc/manual/release-notes/rl-1803.xml7
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix6
-rw-r--r--pkgs/applications/editors/rstudio/default.nix46
-rw-r--r--pkgs/applications/networking/apache-directory-studio/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/jackline/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch29
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix12
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/office/mendeley/default.nix17
-rw-r--r--pkgs/applications/office/mendeley/update.nix60
-rw-r--r--pkgs/applications/science/biology/dcm2niix/default.nix33
-rw-r--r--pkgs/development/compilers/ispc/default.nix6
-rw-r--r--pkgs/development/compilers/mono/5.4.nix8
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/solc/default.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch14
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch21
-rw-r--r--pkgs/development/libraries/kde-frameworks/plasma-framework.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix608
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/asn1-combinators/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/x509/default.nix35
-rw-r--r--pkgs/development/tools/analysis/snowman/default.nix8
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix13
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/stdenv/generic/check-meta.nix23
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix75
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix2
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix11
-rw-r--r--pkgs/tools/networking/uget/default.nix4
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix13
-rw-r--r--pkgs/top-level/all-packages.nix28
-rw-r--r--pkgs/top-level/python-packages.nix4
40 files changed, 724 insertions, 518 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix
index 483ef6fd4866..fb78335ea1c2 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -36,7 +36,7 @@ rec {
   overrideDerivation = drv: f:
     let
       newDrv = derivation (drv.drvAttrs // (f drv));
-    in addPassthru newDrv (
+    in lib.flip (extendDerivation true) newDrv (
       { meta = drv.meta or {};
         passthru = if drv ? passthru then drv.passthru else {};
       }
@@ -131,8 +131,8 @@ rec {
 
 
   /* Add attributes to each output of a derivation without changing
-     the derivation itself. */
-  addPassthru = drv: passthru:
+     the derivation itself and check a given condition when evaluating. */
+  extendDerivation = condition: passthru: drv:
     let
       outputs = drv.outputs or [ "out" ];
 
@@ -142,13 +142,23 @@ rec {
       outputToAttrListElement = outputName:
         { name = outputName;
           value = commonAttrs // {
-            inherit (drv.${outputName}) outPath drvPath type outputName;
+            inherit (drv.${outputName}) type outputName;
+            drvPath = assert condition; drv.${outputName}.drvPath;
+            outPath = assert condition; drv.${outputName}.outPath;
           };
         };
 
       outputsList = map outputToAttrListElement outputs;
-  in commonAttrs // { outputUnspecified = true; };
+    in commonAttrs // {
+      outputUnspecified = true;
+      drvPath = assert condition; drv.drvPath;
+      outPath = assert condition; drv.outPath;
+    };
 
+  /* Add attributes to each output of a derivation without changing
+     the derivation itself. */
+  addPassthru = lib.warn "`addPassthru` is deprecated, replace with `extendDerivation true`"
+                         (extendDerivation true);
 
   /* Strip a derivation of all non-essential attributes, returning
      only those needed by hydra-eval-jobs. Also strictly evaluate the
diff --git a/lib/default.nix b/lib/default.nix
index 03a902945a3b..6d2a95e559c8 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -87,7 +87,8 @@ let
     inherit (stringsWithDeps) textClosureList textClosureMap
       noDepEntry fullDepEntry packEntry stringAfter;
     inherit (customisation) overrideDerivation makeOverridable
-      callPackageWith callPackagesWith addPassthru hydraJob makeScope;
+      callPackageWith callPackagesWith extendDerivation addPassthru
+      hydraJob makeScope;
     inherit (meta) addMetaAttrs dontDistribute setName updateName
       appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio
       hiPrioSet;
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index d335f7f3b938..e45ccbe8f5dc 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -60,6 +60,7 @@
   arobyn = "Alexei Robyn <shados@shados.net>";
   artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
   ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
+  ashgillman = "Ashley Gillman <gillmanash@gmail.com>";
   aske = "Kirill Boltaev <aske@fmap.me>";
   asppsa = "Alastair Pharo <asppsa@gmail.com>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
diff --git a/maintainers/scripts/rebuild-amount.sh b/maintainers/scripts/rebuild-amount.sh
index 098a8c88cb7e..1a54cada8af6 100755
--- a/maintainers/scripts/rebuild-amount.sh
+++ b/maintainers/scripts/rebuild-amount.sh
@@ -1,9 +1,16 @@
 #!/usr/bin/env bash
 set -e
 
+# --print: avoid dependency on environment
+optPrint=
+if [ "$1" == "--print" ]; then
+	optPrint=true
+	shift
+fi
+
 if [ "$#" != 1 ] && [ "$#" != 2 ]; then
 	cat <<-EOF
-	Usage: $0 commit-spec [commit-spec]
+	Usage: $0 [--print] commit-spec [commit-spec]
 	    You need to be in a git-controlled nixpkgs tree.
 	    The current state of the tree will be used if the second commit is missing.
 	EOF
@@ -113,3 +120,8 @@ newPkgs "${tree[1]}" "${tree[2]}" '--argstr system "x86_64-linux"' > "$newlist"
 sed -n 's/\([^. ]*\.\)*\([^. ]*\) .*$/\2/p' < "$newlist" \
 	| sort | uniq -c
 
+if [ -n "$optPrint" ]; then
+	echo
+	cat "$newlist"
+fi
+
diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml
index 12ff2e39a1bf..e7e0e4e8f25e 100644
--- a/nixos/doc/manual/release-notes/rl-1803.xml
+++ b/nixos/doc/manual/release-notes/rl-1803.xml
@@ -113,7 +113,7 @@ following incompatible changes:</para>
   </listitem>
   <listitem>
     <para>
-      <literal>cc-wrapper</literal>has been split in two; there is now also a <literal>bintools-wrapper</literal>.
+      <literal>cc-wrapper</literal> has been split in two; there is now also a <literal>bintools-wrapper</literal>.
       The most commonly used files in <filename>nix-support</filename> are now split between the two wrappers.
       Some commonly used ones, like <filename>nix-support/dynamic-linker</filename>, are duplicated for backwards compatability, even though they rightly belong only in <literal>bintools-wrapper</literal>.
       Other more obscure ones are just moved.
@@ -133,6 +133,11 @@ following incompatible changes:</para>
   </listitem>
   <listitem>
     <para>
+      <literal>lib.addPassthru</literal> is removed.  Use <literal>lib.extendDerivation true</literal> instead.  <emphasis role="strong">TODO: actually remove it before branching 18.03 off.</emphasis>
+    </para>
+  </listitem>
+  <listitem>
+    <para>
       The <literal>memcached</literal> service no longer accept dynamic socket
       paths via <option>services.memcached.socket</option>. Unix sockets can be
       still enabled by <option>services.memcached.enableUnixSocket</option> and
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 769891423d7e..f13538cba6a3 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -192,12 +192,12 @@ rec {
 
   checkstyle = buildEclipseUpdateSite rec {
     name = "checkstyle-${version}";
-    version = "8.5.1.201712211522";
+    version = "8.7.0.201801131309";
 
     src = fetchzip {
       stripRoot = false;
-      url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.5.1/net.sf.eclipsecs-updatesite_${version}.zip";
-      sha256 = "0nid4a4qib9vx34ddry7sylj20p2d47dd0vn4zqqmj5dgqx1a1ab";
+      url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.7.0/net.sf.eclipsecs-updatesite_${version}.zip";
+      sha256 = "07fymk705x4mwq7vh2i6frsf67jql4bzrkdzhb4n74zb0g1dib60";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index bf2363d3939b..6ff67728ea11 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, fetchpatch, makeDesktopItem, cmake, boost, zlib, openssl
-, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts, unzip, ant, jdk
-, gnumake, makeWrapper, pandoc
+{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost
+, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts
+, unzip, ant, jdk, gnumake, makeWrapper, pandoc
 }:
 
 let
-  version = "1.1.383";
+  version = "1.1.414";
   ginVer = "1.5";
   gwtVer = "2.7.0";
 in
@@ -15,19 +15,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel libuuid ];
 
-  src = fetchurl {
-    url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
-    sha256 = "06680l9amq03b4jarmzfr605bijhb79fip9rk464zab6hgwqbp3f";
+  src = fetchFromGitHub {
+    owner = "rstudio";
+    repo = "rstudio";
+    rev = "v${version}";
+    sha256 = "1rr2zkv53r8swhq5d745jpp0ivxpsizzh7srf34isqpkn5pgx3v8";
   };
 
   # Hack RStudio to only use the input R.
-  patches = [ 
-    ./r-location.patch 
-    (fetchpatch {
-      url = https://aur.archlinux.org/cgit/aur.git/plain/socketproxy-openssl.patch?h=rstudio-desktop-git;
-      sha256 = "0ywq9rk14s5961l6hvd3cw70jsm73r16h0bsh4yp52vams7cwy9d";
-    })
-  ];
+  patches = [ ./r-location.patch ];
   postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
 
   inherit ginVer;
@@ -49,14 +45,18 @@ stdenv.mkDerivation rec {
     sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk";
   };
 
-  rmarkdownSrc = fetchurl {
-    url = "https://github.com/rstudio/rmarkdown/archive/95b8b1fa64f78ca99f225a67fff9817103be56.zip";
-    sha256 = "12fa65qr04rwsprkmyl651mkaqcbn1znwsmcjg4qsk9n5nxg0fah";
+  rmarkdownSrc = fetchFromGitHub {
+    owner = "rstudio";
+    repo = "rmarkdown";
+    rev = "v1.8";
+    sha256 = "1blqxdr1vp2z5wd52nmf8hq36sdd4s2pyms441dqj50v35f8girb";
   };
 
-  rsconnectSrc = fetchurl {
-    url = "https://github.com/rstudio/rsconnect/archive/425f3767b3142bc6b81c9eb62c4722f1eedc9781.zip";
-    sha256 = "1sgf9dj9wfk4c6n5p1jc45386pf0nj2alg2j9qx09av3can1dy9p";
+  rsconnectSrc = fetchFromGitHub {
+    owner = "rstudio";
+    repo = "rsconnect";
+    rev = "953c945779dd180c1bfe68f41c173c13ec3e222d";
+    sha256 = "1yxwd9v4mvddh7m5rbljicmssw7glh1lhin7a9f01vxxa92vpj7z";
   };
 
   rstudiolibclang = fetchurl {
@@ -88,8 +88,10 @@ stdenv.mkDerivation rec {
       done
 
       unzip $mathJaxSrc -d dependencies/common/mathjax-26
-      unzip $rmarkdownSrc -d dependencies/common/rmarkdown
-      unzip $rsconnectSrc -d dependencies/common/rsconnect
+      mkdir -p dependencies/common/rmarkdown
+      ln -s $rmarkdownSrc dependencies/common/rmarkdown/
+      mkdir -p dependencies/common/rsconnect
+      ln -s $rsconnectSrc dependencies/common/rsconnect/
       mkdir -p dependencies/common/libclang/3.5
       unzip $rstudiolibclang -d dependencies/common/libclang/3.5
       mkdir -p dependencies/common/libclang/builtin-headers
diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix
index 36d0c9e4acf6..d593947f3e62 100644
--- a/pkgs/applications/networking/apache-directory-studio/default.nix
+++ b/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -1,9 +1,20 @@
-{ stdenv, fetchurl, xorg, jre, makeWrapper }:
+{ stdenv, fetchurl, xorg, jre, makeWrapper, makeDesktopItem }:
 
 let
   rpath = stdenv.lib.makeLibraryPath (with xorg; [
     libXtst
   ]);
+
+  desktopItem = makeDesktopItem {
+    name = "apache-directory-studio";
+    exec = "ApacheDirectoryStudio";
+    icon = "apache-directory-studio";
+    comment = "Eclipse-based LDAP browser and directory client";
+    desktopName = "Apache Directory Studio";
+    genericName = "Apache Directory Studio";
+    categories = "Java;Network";
+  };
+
 in
 stdenv.mkDerivation rec {
   name = "apache-directory-studio-${version}";
@@ -36,6 +47,8 @@ stdenv.mkDerivation rec {
         "$out/bin/ApacheDirectoryStudio" \
         --prefix PATH : "${jre}/bin" \
         --prefix LD_LIBRARY_PATH : "${rpath}"
+    install -D icon.xpm "$out/share/pixmaps/apache-directory-studio.xpm"
+    install -D -t "$out/share/applications" ${desktopItem}/share/applications/*
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix
index 32e7c877614a..9f85c940c1bc 100644
--- a/pkgs/applications/networking/instant-messengers/jackline/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "05z9kvd7gwr59ic7hnmbayhwyyqd41xxz01cvdlcgplk3z7zlwg5";
   };
 
+  patches = [ ./tls-0.9.0.patch ];
+
   buildInputs = with ocamlPackages; [
                   ocaml ocamlbuild findlib topkg ppx_sexp_conv
                   erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
diff --git a/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch b/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch
new file mode 100644
index 000000000000..38f38a03a802
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch
@@ -0,0 +1,29 @@
+diff --git a/cli/cli_config.ml b/cli/cli_config.ml
+index 991ee77..59a0edb 100644
+--- a/cli/cli_config.ml
++++ b/cli/cli_config.ml
+@@ -207,7 +207,9 @@ let configure term () =
+     ask above "CA file: " (fun x -> x) (fun x -> if Sys.file_exists x then `Ok x else `Invalid) term >>= fun trust_anchor ->
+     Lwt_unix.access trust_anchor [ Unix.F_OK ; Unix.R_OK ] >>= fun () ->
+     X509_lwt.certs_of_pem trust_anchor >>= fun tas ->
+-    (match X509.Validation.valid_cas ~time:(Unix.time ()) tas with
++    let time = match Ptime.of_float_s (Unix.time ())
++      with Some time -> time | None -> assert false in
++    (match X509.Validation.valid_cas ~time tas with
+      | [] -> Lwt.fail (Invalid_argument "trust anchor file is empty!")
+      | _ -> Lwt.return (`Trust_anchor trust_anchor))
+   | Some fp -> Lwt.return (`Fingerprint fp) ) >>= fun authenticator ->
+diff --git a/cli/cli_state.ml b/cli/cli_state.ml
+index d5db502..91540c9 100644
+--- a/cli/cli_state.ml
++++ b/cli/cli_state.ml
+@@ -262,7 +262,8 @@ module Connect = struct
+           (match config.Xconfig.authenticator with
+            | `Trust_anchor x -> X509_lwt.authenticator (`Ca_file x)
+            | `Fingerprint fp ->
+-             let time = Unix.gettimeofday () in
++             let time = match Ptime.of_float_s (Unix.gettimeofday ())
++               with Some time -> time | None -> assert false in
+              let fp =
+                Nocrypto.Uncommon.Cs.of_hex
+                  (String.map (function ':' -> ' ' | x -> x) fp)
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index d2bbef7f581f..3c5fb499a8bd 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, file, wrapGAppsHook
+{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, file, wrapGAppsHook
 , openssl, curl, libevent, inotify-tools, systemd, zlib
 , enableGTK3 ? false, gtk3
 , enableSystemd ? stdenv.isLinux
@@ -27,6 +27,16 @@ stdenv.mkDerivation rec {
     ++ optionals enableSystemd [ systemd ]
     ++ optionals stdenv.isLinux [ inotify-tools ];
 
+  patches = [
+    (fetchpatch {
+      # See https://github.com/transmission/transmission/pull/468
+      # Patch from: https://github.com/transmission/transmission/pull/468#issuecomment-357098126
+      name = "transmission-fix-dns-rebinding-vuln.patch";
+      url = https://github.com/transmission/transmission/files/1624507/transmission-fix-dns-rebinding-vuln.patch.txt;
+      sha256 = "1p9m20kp4kdyp5jjr3yp5px627n8cfa29mg5n3wzsdfv0qzk9gy4";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace ./configure \
       --replace "libsystemd-daemon" "libsystemd" \
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index f91c0de9c8d7..5556a58ec564 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -12,7 +12,7 @@ assert withQt  -> !withGtk && qt5  != null;
 with stdenv.lib;
 
 let
-  version = "2.4.3";
+  version = "2.4.4";
   variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "0bpiby916k3k8bm7q8b1dflva6zs0a4ircskrck0d538dfcrb50q";
+    sha256 = "0n3g28hrhifnchlz4av0blq4ykm4zaxwwxbzdm9wsba27677b6h4";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index c2b6dc710ba2..6a741e0ab9eb 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -31,6 +31,8 @@
 # will leave entries on your system after uninstalling mendeley.
 # (they can be removed by running '$out/bin/install-mendeley-link-handler.sh -u')
 , autorunLinkHandler ? true
+# Update script
+, writeScript
 }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -43,14 +45,14 @@ let
     then "i386"
     else "amd64";
 
-  shortVersion = "1.17.12-stable";
+  shortVersion = "1.17.13-stable";
 
   version = "${shortVersion}_${arch}";
 
   url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
   sha256 = if stdenv.system == arch32
-    then "09n910ny8k103g1v8m19f9n827l2y0kmz79cwgy95k6acf2rkc2x"
-    else "11z65mj1a2rw6cwfarl8r1vzpcz4ww5mgvd5fyv31l60mbmnqkap";
+    then "0q4x62k00whmq8lskphpcxc610cvclxzcr5k0v7pxjxs9sx5yx43"
+    else "01ylyily1hip35z0d4qkdpbzp5yn4r015psc5773xsqlgrnlwjm3";
 
   deps = [
     qtbase
@@ -133,11 +135,14 @@ stdenv.mkDerivation {
   dontStrip = true;
   dontPatchElf = true;
 
-  meta = {
+  updateScript = import ./update.nix { inherit writeScript; };
+
+  meta = with stdenv.lib; {
     homepage = http://www.mendeley.com;
     description = "A reference manager and academic social network";
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers  = with maintainers; [ dtzWill ];
   };
 
 }
diff --git a/pkgs/applications/office/mendeley/update.nix b/pkgs/applications/office/mendeley/update.nix
new file mode 100644
index 000000000000..9ac82615c561
--- /dev/null
+++ b/pkgs/applications/office/mendeley/update.nix
@@ -0,0 +1,60 @@
+{ writeScript }:
+
+writeScript "update-mendeley" ''
+  function follow() {
+    local URL=$1
+    while true; do
+      NEWURL=$(curl -m20 -sI "$URL" -o /dev/null -w '%{redirect_url}')
+      [ -z "$NEWURL" ] && break
+      [[ $NEWURL = $URL ]] && (echo "redirect loop?!"; exit 1)
+      echo "Following $URL -> $NEWURL ..." >&2
+      URL=$NEWURL
+    done
+
+    echo $URL
+  }
+
+  amd64URL=$(follow https://www.mendeley.com/repositories/ubuntu/stable/amd64/mendeleydesktop-latest)
+  amd64V=$(basename $amd64URL|grep -m1 -o "[0-9]\+\.[0-9]\+\.[0-9]\+")
+  i386URL=$(follow https://www.mendeley.com/repositories/ubuntu/stable/i386/mendeleydesktop-latest)
+  i386V=$(basename $i386URL|grep -m1 -o "[0-9]\+\.[0-9]\+\.[0-9]\+")
+
+  echo "amd64 version: $amd64V"
+  echo "i386 version:  $i386V"
+  if [[ $amd64V != $i386V ]]; then
+    echo "Versions not the same!"
+    exit 1
+  fi
+
+  if grep -q -F "$amd64V" ${./default.nix}; then
+    echo "No new version yet, nothing to do."
+    echo "Have a nice day!"
+    exit 0
+  fi
+
+  amd64OldHash=$(nix-instantiate --eval --strict -A "mendeley.src.drvAttrs.outputHash" --argstr system "x86_64-linux"| tr -d '"')
+  i386OldHash=$(nix-instantiate --eval --strict -A "mendeley.src.drvAttrs.outputHash" --argstr system "i686-linux"| tr -d '"')
+
+  echo "Prefetching amd64..."
+  amd64NewHash=$(nix-prefetch-url $amd64URL)
+  echo "Prefetching i386..."
+  i386NewHash=$(nix-prefetch-url $i386URL)
+
+  # Don't actually update, just report that an update is available
+  cat <<EOF
+
+
+  Time to update to $amd64V !
+
+  32bit (i386):
+    Old: $i386OldHash
+    New: $i386NewHash
+  64bit (amd64):
+    Old: $amd64OldHash
+    New: $amd64NewHash
+
+  Exiting so this information is seen...
+  (no update is actually performed here)
+  EOF
+  exit 1
+''
diff --git a/pkgs/applications/science/biology/dcm2niix/default.nix b/pkgs/applications/science/biology/dcm2niix/default.nix
new file mode 100644
index 000000000000..781ceb3df59e
--- /dev/null
+++ b/pkgs/applications/science/biology/dcm2niix/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, libyamlcpp
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.0.20170130";
+  name = "dcm2niix-${version}";
+
+  src = fetchFromGitHub {
+    owner = "rordenlab";
+    repo = "dcm2niix";
+    rev = "v${version}";
+    sha256 = "1f2nzd8flp1rfn725bi64z7aw3ccxyyygzarxijw6pvgl476i532";
+  };
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libyamlcpp ];
+
+  meta = with stdenv.lib; {
+    description = "dcm2niix DICOM to NIfTI converter";
+    longDescription = ''
+      dcm2niix is a designed to convert neuroimaging data from the
+      DICOM format to the NIfTI format.
+    '';
+    homepage = https://www.nitrc.org/projects/dcm2nii;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.ashgillman ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix
index 0e4bc420241d..62fa578cef68 100644
--- a/pkgs/development/compilers/ispc/default.nix
+++ b/pkgs/development/compilers/ispc/default.nix
@@ -3,8 +3,8 @@ testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is n
 }:
 
 stdenv.mkDerivation rec {
-  version = "20170807";
-  rev = "6e0fc2f148e95afad998a7c7f4d7908d29fd8e44";
+  version = "1.9.2";
+  rev = "v${version}";
 
   inherit testedTargets;
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "ispc";
     repo = "ispc";
     inherit rev;
-    sha256 = "17fwnfm8a329lgfhjwcvji4h1fm4iqmc28wz23hvgqbpj8lk6qgh";
+    sha256 = "0zaw7mwvly1csbdcbz9j8ry89n0r1fag1m1f579l4mgg1x6ksqry";
   };
 
   # there are missing dependencies in the Makefile, causing sporadic build failures
diff --git a/pkgs/development/compilers/mono/5.4.nix b/pkgs/development/compilers/mono/5.4.nix
new file mode 100644
index 000000000000..31e86f94c0a2
--- /dev/null
+++ b/pkgs/development/compilers/mono/5.4.nix
@@ -0,0 +1,8 @@
+{ stdenv, callPackage, Foundation, libobjc }:
+
+callPackage ./generic-cmake.nix (rec {
+  inherit Foundation libobjc;
+  version = "5.4.1.6";
+  sha256 = "1pv5lmyxjr8z9s17jx19850k43ylzqlbzsgr5jxj1knmkbza1zdx";
+  enableParallelBuilding = false; # #32386, https://hydra.nixos.org/build/65820147
+})
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 3427337f7a6a..89dda57f285b 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation ( rec {
   name = "ponyc-${version}";
-  version = "0.21.2";
+  version = "0.21.3";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "ponyc";
     rev = version;
-    sha256 = "0gdkm1mihn266km3q5ma7nhvjpzwdzmy39cxb7kkz8aal2nmvwri";
+    sha256 = "0cdp6wbpirl3jnlqkm0hbxyz67v00nwhi4hvk4sq2g74f36j2bnm";
   };
 
   buildInputs = [ llvm makeWrapper which ];
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
index 078cf3e36c27..cd8c839cf4fe 100644
--- a/pkgs/development/compilers/solc/default.nix
+++ b/pkgs/development/compilers/solc/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchzip, fetchgit, boost, cmake, z3 }:
 
 let
-  version = "0.4.17";
-  rev = "bdeb9e52a2211510644fb53df93fb98258b40a65";
-  sha256 = "1x6q2rlq6gxggidgsy6li7m4phwr1hcfi65pq9yimz64ddqfiira";
+  version = "0.4.19";
+  rev = "c4cbbb054b5ed3b8ceaa21ee5b47b0704762ff40";
+  sha256 = "1h2ziwdswghj4aa3vd3k3y2ckfiwjk6x38w2kp4m324k2ydxd15c";
   jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.7.7.tar.gz;
   jsoncpp = fetchzip {
     url = jsoncppURL;
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index b9f6d0925715..119abbe9f530 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.41/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.42/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch
index 5e1007b7fc0b..cc041b9aa3b8 100644
--- a/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch
+++ b/pkgs/development/libraries/kde-frameworks/kcmutils/kcmutils-follow-symlinks.patch
@@ -1,13 +1,13 @@
-Index: kcmutils-5.33.0/src/kpluginselector.cpp
-===================================================================
---- kcmutils-5.33.0.orig/src/kpluginselector.cpp
-+++ kcmutils-5.33.0/src/kpluginselector.cpp
-@@ -305,7 +305,7 @@ void KPluginSelector::addPlugins(const Q
+diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
+index 137c865..097ab75 100644
+--- a/src/kpluginselector.cpp
++++ b/src/kpluginselector.cpp
+@@ -303,7 +303,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
      QStringList desktopFileNames;
      const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
-     Q_FOREACH (const QString &dir, dirs) {
+     for (const QString &dir : dirs) {
 -        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
-+      QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
++        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
          while (it.hasNext()) {
              desktopFileNames.append(it.next());
          }
diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
index 7a6c0ee90534..3b6ea27d41e5 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
@@ -1,25 +1,18 @@
-From 4f84780893d505b2d62a14633dd983baa8ec6e28 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Wed, 14 Oct 2015 06:47:01 -0500
-Subject: [PATCH] qdiriterator follow symlinks
-
----
- src/khelpclient.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp
-index 53a331e..80fbb01 100644
+index fbbc0fa..cb78741 100644
 --- a/src/khelpclient.cpp
 +++ b/src/khelpclient.cpp
 @@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
      QString docPath;
      const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
-     Q_FOREACH (const QString &dir, desktopDirs) {
+     for (const QString &dir : desktopDirs) {
 -        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
 +        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
          while (it.hasNext()) {
              const QString desktopPath(it.next());
              KDesktopFile desktopFile(desktopPath);
--- 
-2.5.2
-
+@@ -75,4 +75,3 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
+     // launch khelpcenter, or a browser for URIs not handled by khelpcenter
+     QDesktopServices::openUrl(url);
+ }
+-
diff --git a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
index d3a81b50bf17..a2a90e448d49 100644
--- a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
+++ b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
@@ -4,7 +4,7 @@
   kactivities, karchive, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
   kdeclarative, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio,
   knotifications, kpackage, kservice, kwayland, kwindowsystem, kxmlgui,
-  qtbase, qtdeclarative, qtscript, qtx11extras,
+  qtbase, qtdeclarative, qtscript, qtx11extras, kirigami2
 }:
 
 mkDerivation {
@@ -14,7 +14,7 @@ mkDerivation {
   buildInputs = [
     kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons
     kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio knotifications
-    kwayland kwindowsystem kxmlgui qtdeclarative qtscript qtx11extras
+    kwayland kwindowsystem kxmlgui qtdeclarative qtscript qtx11extras kirigami2
   ];
   propagatedBuildInputs = [ kpackage kservice qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index d99c723082f1..d4390da66506 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,611 +3,611 @@
 
 {
   attica = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/attica-5.41.0.tar.xz";
-      sha256 = "1l97qhf053z7grl8d77p9zajdvaw3zicllwna9p2vyzbb6n6qyq7";
-      name = "attica-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/attica-5.42.0.tar.xz";
+      sha256 = "0icjsk5sbri6nwybb2301wc6ysc1h4p35rxqp0adifyksq8akyxd";
+      name = "attica-5.42.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/baloo-5.41.0.tar.xz";
-      sha256 = "1kl4xs09r21bi11b5dzjkmc8igh5iv8nvq0gxd00n7qjghpxa399";
-      name = "baloo-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/baloo-5.42.0.tar.xz";
+      sha256 = "18yknkcls1ypsp8n5l254bhlffiq4as5w1wgcjzhnf49cacys8nl";
+      name = "baloo-5.42.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/bluez-qt-5.41.0.tar.xz";
-      sha256 = "08wlsmr12n3whqr65zm3l9hmzbaca2jkkhb1wwq5ilqm3gvxxz0n";
-      name = "bluez-qt-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/bluez-qt-5.42.0.tar.xz";
+      sha256 = "0pbb0nn70hbsnp9q8jvqr3s85gh4bnnh1mp8xfkia2hp4c63ws9f";
+      name = "bluez-qt-5.42.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/breeze-icons-5.41.0.tar.xz";
-      sha256 = "1k06ms48cnnwnlrh9wdabsms581jy70nz5narwg1zpzb6clf9p4w";
-      name = "breeze-icons-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/breeze-icons-5.42.0.tar.xz";
+      sha256 = "0mrj0b022yfy669qqby09k4ij6aqyky23gpnjcp85df9saq0x44r";
+      name = "breeze-icons-5.42.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/extra-cmake-modules-5.41.0.tar.xz";
-      sha256 = "0rwz2rdyxr424z0mra29p8i6gf0b1402ifi94qrq7y4z1fa61bxs";
-      name = "extra-cmake-modules-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/extra-cmake-modules-5.42.0.tar.xz";
+      sha256 = "1ml6s3ssr5izm3vnzlg5gn2nkcbz5l5nmapvyr4ml7n0089b43a3";
+      name = "extra-cmake-modules-5.42.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/frameworkintegration-5.41.0.tar.xz";
-      sha256 = "1k67hkzc2jw5im7vc8j64fqsxz5m8fnlq696hm5dh4fbclyckh5s";
-      name = "frameworkintegration-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/frameworkintegration-5.42.0.tar.xz";
+      sha256 = "17fyny3c5chv7bipr19ayfjmd1amp2nms4ba5r7mwjp97xkphry7";
+      name = "frameworkintegration-5.42.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kactivities-5.41.0.tar.xz";
-      sha256 = "1zxwmizq48kk6pd9y350gzszqi87wjbqni8z4mxa1kmw9lq01xlc";
-      name = "kactivities-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kactivities-5.42.0.tar.xz";
+      sha256 = "0z0ac426npq99s1b8yzrqkjjjc34nbxlpw8pw388yj7fa41hw21r";
+      name = "kactivities-5.42.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kactivities-stats-5.41.0.tar.xz";
-      sha256 = "1nm34ln222x6mm4zpmvn8prqk9fr3jxyppn18kwlv0nfw16qmppq";
-      name = "kactivities-stats-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kactivities-stats-5.42.0.tar.xz";
+      sha256 = "0si70hayf4brr83jzdjdsfvp8nc1sb7vdk0q532liafhf8hw9mq8";
+      name = "kactivities-stats-5.42.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kapidox-5.41.0.tar.xz";
-      sha256 = "0jdphs536ymaj5f9gh5ycfgq1d41sas6bx4dzzjg13y26w6afyy6";
-      name = "kapidox-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kapidox-5.42.0.tar.xz";
+      sha256 = "0izyd66p5403gl09l7irzy97mb9b14n4zyjrwap800zjlpwh41pz";
+      name = "kapidox-5.42.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/karchive-5.41.0.tar.xz";
-      sha256 = "0hd7jy9517m53ijvprl9ci97kjx7nd42ga33af71kqx5x030zi23";
-      name = "karchive-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/karchive-5.42.0.tar.xz";
+      sha256 = "1vq2ngdxmdl6hzjwdcrv66ban8v9s5jiqwy1mgdqv4ak14l31qbi";
+      name = "karchive-5.42.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kauth-5.41.0.tar.xz";
-      sha256 = "1hkaf83p3xwcwkhlfbrdbg7b7nhw0gh0yw4lv8y3vpryn7pcd32l";
-      name = "kauth-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kauth-5.42.0.tar.xz";
+      sha256 = "04kqb2hhr9lkpkxiaqlnyk0kmk6p89z5fgp5i5g83hsi8maz7swi";
+      name = "kauth-5.42.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kbookmarks-5.41.0.tar.xz";
-      sha256 = "173rf85msrp1awmf2zsxwv6jjfkz7yc2pbh4jq0hfcgnqk46s9v0";
-      name = "kbookmarks-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kbookmarks-5.42.0.tar.xz";
+      sha256 = "08q413mr5ib04gwnqznvm9vkkfmnh16rgf6rqdvclnci9w7ml5x2";
+      name = "kbookmarks-5.42.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kcmutils-5.41.0.tar.xz";
-      sha256 = "165b5hk0cv769kk9dqqggc6ji6gzln8zns5k6rv12rz825aysnhs";
-      name = "kcmutils-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kcmutils-5.42.0.tar.xz";
+      sha256 = "1q67b0m6w3xvm22kq8b0b0rib1jzf25gf6dz7h286987zfbbs5n7";
+      name = "kcmutils-5.42.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kcodecs-5.41.0.tar.xz";
-      sha256 = "0y96mbp9j083kwkqxk0qgrjyhylp8f7f0ngcqcvhh8s6sgpb8xq9";
-      name = "kcodecs-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kcodecs-5.42.0.tar.xz";
+      sha256 = "0b19z432r9dnyjknvwffhcmrg969yhydjvy4qrkrf22026f4smwc";
+      name = "kcodecs-5.42.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kcompletion-5.41.0.tar.xz";
-      sha256 = "0b6bh5l4s5q8yi6vls11c8b8dpscykh138kydfi925nxkrms7yv3";
-      name = "kcompletion-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kcompletion-5.42.0.tar.xz";
+      sha256 = "0yqci2v0dk5v1mz4n3gca599a7mpihy563zc6sl8hsa30ld8li0f";
+      name = "kcompletion-5.42.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kconfig-5.41.0.tar.xz";
-      sha256 = "1jch9bpqshigwvc2qs46qa0mclr1hdn0sqlkxbl4b2xb5xj28nzn";
-      name = "kconfig-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kconfig-5.42.0.tar.xz";
+      sha256 = "08gg0d20c09j7hyxm8ydpzk2yf30c87g9ag7a9nfykrmi6cqirdq";
+      name = "kconfig-5.42.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kconfigwidgets-5.41.0.tar.xz";
-      sha256 = "1lbpjkhxmpah32ig1wlxkr1v1l3fqicnnvj6lhwpk0bxys8cdnd2";
-      name = "kconfigwidgets-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kconfigwidgets-5.42.0.tar.xz";
+      sha256 = "191zm24q2n001b65hcnfh2639k4iqhxwdmgdw29php3n2648xq4z";
+      name = "kconfigwidgets-5.42.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kcoreaddons-5.41.0.tar.xz";
-      sha256 = "1f45x4adql708903x4g27x1wbzvbwd809ibiqa5kiijayaqkjxqf";
-      name = "kcoreaddons-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kcoreaddons-5.42.0.tar.xz";
+      sha256 = "17qv7r6z72mm9a0hyx5dgk90ikhhgm41bkvnq2hjal0py2lsnrs9";
+      name = "kcoreaddons-5.42.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kcrash-5.41.0.tar.xz";
-      sha256 = "1jp06hz33mpcy2y93w4j3yqcvkphigiwq6j89mvgi9h21pahpjvy";
-      name = "kcrash-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kcrash-5.42.0.tar.xz";
+      sha256 = "049y0xdyw37y0qid3d3plj8szfys5gw98j7lhcakiini8mn5cins";
+      name = "kcrash-5.42.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdbusaddons-5.41.0.tar.xz";
-      sha256 = "02d6zv43vpz5h8si100zlsf5yfgjajsgwldcxblckyjr0qn42xny";
-      name = "kdbusaddons-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdbusaddons-5.42.0.tar.xz";
+      sha256 = "1613pc3r70jnzvpwm1xjdbdsmcpx28jwvcs2qq9swlywr5qr9hbd";
+      name = "kdbusaddons-5.42.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdeclarative-5.41.0.tar.xz";
-      sha256 = "1hxfrz4d7xjm63b9kawhf382gz1xykvdi9q4syhkjfbpyacxfjga";
-      name = "kdeclarative-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdeclarative-5.42.0.tar.xz";
+      sha256 = "1w604jy6vg2247vggz0ivl7wy2h5iapkz2z86mah3aw99f7dqa22";
+      name = "kdeclarative-5.42.0.tar.xz";
     };
   };
   kded = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kded-5.41.0.tar.xz";
-      sha256 = "10wmj3nb8vn90h1j0s5kfr8iydk7k853gg9v6hxivm92v6zr6l9g";
-      name = "kded-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kded-5.42.0.tar.xz";
+      sha256 = "0w25dl4pnvby28gz0yvij32vi9n3p8si4nm4x45j7zsi2cb70j4l";
+      name = "kded-5.42.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/portingAids/kdelibs4support-5.41.0.tar.xz";
-      sha256 = "1mkp3w8h8cyskbfxcwsl72v87376x66n20ig7b3b6ply36578br4";
-      name = "kdelibs4support-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/portingAids/kdelibs4support-5.42.0.tar.xz";
+      sha256 = "0aiig8akn6bdxrqdl96xjjy2pxw8hhfrsalbkkzyhh06j794snfb";
+      name = "kdelibs4support-5.42.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdesignerplugin-5.41.0.tar.xz";
-      sha256 = "1c1pnjgp9nifynwvsyjp7c45j40i111xnmjp89bb1jk9fv9g2f99";
-      name = "kdesignerplugin-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdesignerplugin-5.42.0.tar.xz";
+      sha256 = "004axa1fkj954d65x7l9z8dmw04209hb368rwa4gjzb8naf13ib6";
+      name = "kdesignerplugin-5.42.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdesu-5.41.0.tar.xz";
-      sha256 = "126m7by50zzkmk0r778xlkqfbfpihwd6d3wzd4hbqkh9km18l1rb";
-      name = "kdesu-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdesu-5.42.0.tar.xz";
+      sha256 = "0402p1h7wifk6sppg7ca9w0zfjllbhc1j5gsxj7ypq55g94np7hx";
+      name = "kdesu-5.42.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdewebkit-5.41.0.tar.xz";
-      sha256 = "1rnixlm37x5k4cdwckml2zdmm30k938nklkd7qnbaal230dzvj6d";
-      name = "kdewebkit-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdewebkit-5.42.0.tar.xz";
+      sha256 = "1csd4p996im7ygxc5rfdkzgdpngjgzyqakj12rl9rnfbsd15i8kb";
+      name = "kdewebkit-5.42.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdnssd-5.41.0.tar.xz";
-      sha256 = "042dmh50rxvipb5pqz0csb3y7cvzc2ga2a5qcvd1vw84ii1mmjbh";
-      name = "kdnssd-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdnssd-5.42.0.tar.xz";
+      sha256 = "1k1rz62h3mafliik5n0k98dc56b5v2v6qyqj40696mcyc2d1yvll";
+      name = "kdnssd-5.42.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kdoctools-5.41.0.tar.xz";
-      sha256 = "06v63br6m5nhvsdsynhb7i825yrry94s7zrk20k0xw4yahpvkjcs";
-      name = "kdoctools-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kdoctools-5.42.0.tar.xz";
+      sha256 = "1bby3avdllch1mji0mxzcix8q5yir5a0i6wpjs5lwckv1glh6kmz";
+      name = "kdoctools-5.42.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kemoticons-5.41.0.tar.xz";
-      sha256 = "1lj6c6k8dh2rgj1128ms2xv7dk1v9li5rcy2djqfynqdrvg5iy3g";
-      name = "kemoticons-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kemoticons-5.42.0.tar.xz";
+      sha256 = "0f6an1bwxnga41a2b35b2pdcni4p0hh76k4jvanl3g046v07f2wr";
+      name = "kemoticons-5.42.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kfilemetadata-5.41.0.tar.xz";
-      sha256 = "0y9ya18bqa8sfi2c10y2q0dkwdry0wfq5s2sb53q0fh2fph7hjvi";
-      name = "kfilemetadata-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kfilemetadata-5.42.0.tar.xz";
+      sha256 = "03wk38q3sq354ykz9dwbgykn73ldf94ryx6hxvpr66bq3a59jmwz";
+      name = "kfilemetadata-5.42.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kglobalaccel-5.41.0.tar.xz";
-      sha256 = "0i8aw0jbsh26asjmhs0lax1yv9qalpr82cd8m0nbyqn2s3f4jyaf";
-      name = "kglobalaccel-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kglobalaccel-5.42.0.tar.xz";
+      sha256 = "0nlza73i0qd79yhwhpnvgbh2xa9lvd1n2xg25p3bvfzwidcfdxg6";
+      name = "kglobalaccel-5.42.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kguiaddons-5.41.0.tar.xz";
-      sha256 = "0cva0qy946srqay9nmh97mjv7kf2lr51nipx9qx2jd21d8cvz8p1";
-      name = "kguiaddons-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kguiaddons-5.42.0.tar.xz";
+      sha256 = "193i8b4f13dkgp88m3pk9wzi0dhx7qmsnmpizxia3457gg016wn7";
+      name = "kguiaddons-5.42.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/portingAids/khtml-5.41.0.tar.xz";
-      sha256 = "0gbs63d7izb8kaf4k8ssp2lkcps9fqk32czjpmzx3fq1gnaczry3";
-      name = "khtml-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/portingAids/khtml-5.42.0.tar.xz";
+      sha256 = "1bfslndxvad0zgzr22w2mz1xwavix9bh5qrrv8dpshlh043bwr3l";
+      name = "khtml-5.42.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/ki18n-5.41.0.tar.xz";
-      sha256 = "12ylqsi7lsxvdcg9a1p9hkd6lpcj971k77zly6vpb4yb3s6z0jqd";
-      name = "ki18n-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/ki18n-5.42.0.tar.xz";
+      sha256 = "1rpriflb2a48j94zxgh63l6rzq4nlnlkvy89ns1vkdw42bnqrjx9";
+      name = "ki18n-5.42.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kiconthemes-5.41.0.tar.xz";
-      sha256 = "1ywg7b3vy3p7vmd055a72hmpnwp0l0yvf6cnb6nvmpnp3pm737g1";
-      name = "kiconthemes-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kiconthemes-5.42.0.tar.xz";
+      sha256 = "1nbxxpf8bv835xl35b17rk8s3zs110bh31078kqqh7dhvwzlxic7";
+      name = "kiconthemes-5.42.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kidletime-5.41.0.tar.xz";
-      sha256 = "0k4q8ssqfbgfqvjq1rpills16nz4fi92mc754644by3s0czh409w";
-      name = "kidletime-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kidletime-5.42.0.tar.xz";
+      sha256 = "019r41r28pcrcn1kwxsll53za705jkc9n23b6sr2lplgjk05bcxh";
+      name = "kidletime-5.42.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kimageformats-5.41.0.tar.xz";
-      sha256 = "11df264s3n192pggdmql2pklnflc8fn9v8zrjpn38f99hs46bq8s";
-      name = "kimageformats-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kimageformats-5.42.0.tar.xz";
+      sha256 = "1k67yrmszx7azjzrg478rimbz991lghx4d6dmg22p6dknajd78a6";
+      name = "kimageformats-5.42.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kinit-5.41.0.tar.xz";
-      sha256 = "05jqsnj33gwxp4lc81378kb58idnmcmn84smy3hkqwlakisnwgy9";
-      name = "kinit-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kinit-5.42.0.tar.xz";
+      sha256 = "05vpac41pw1n8y58l2z08vyknzv950x8dxxw66dnymm2v31w07ia";
+      name = "kinit-5.42.0.tar.xz";
     };
   };
   kio = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kio-5.41.0.tar.xz";
-      sha256 = "17k4pfbhkv1inx5c3wqm388c02cdf3wnqgnhky271v7gb5ww5i4h";
-      name = "kio-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kio-5.42.0.tar.xz";
+      sha256 = "1526a89x11ank55dp3rfp7xd04w8x7prjg3y6i7n2q9nabwhw7gc";
+      name = "kio-5.42.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kirigami2-5.41.0.tar.xz";
-      sha256 = "04l7b86fs7s80dfrznc2c0zh6phpgirwsinykrzfqg792gmbvx2h";
-      name = "kirigami2-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kirigami2-5.42.0.tar.xz";
+      sha256 = "11gqn7amp0r9bgh8ldgisfc2lrkzkn5mq2a1madf24nvjbkvqnqv";
+      name = "kirigami2-5.42.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kitemmodels-5.41.0.tar.xz";
-      sha256 = "13kngcj8ifnhbp0jsrjwhw49my8pnw493g11y11cw17hw7sqg55k";
-      name = "kitemmodels-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kitemmodels-5.42.0.tar.xz";
+      sha256 = "0mcdzdqwmvf9pwirsrnjbhrgqphnfmanbl9zij4qsmin8n866mhc";
+      name = "kitemmodels-5.42.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kitemviews-5.41.0.tar.xz";
-      sha256 = "0147pm5p03w1b71mrr5rssmh2n80q54ghfpbjpq3spjdkjg1f26f";
-      name = "kitemviews-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kitemviews-5.42.0.tar.xz";
+      sha256 = "1j1q0b08f8mnfc3r2a7rplyb2nv9f0aq5a3fxskinvg70c6y248w";
+      name = "kitemviews-5.42.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kjobwidgets-5.41.0.tar.xz";
-      sha256 = "1fbdk6l8rbnyqn0cz2dm9cagn7x89zpy3wczj1cdvnc7k7wg75qv";
-      name = "kjobwidgets-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kjobwidgets-5.42.0.tar.xz";
+      sha256 = "1m3csdl7wh18ywv5p0qpbjpixvflgjcq3yvk3vlvh0sxxlwcz8k4";
+      name = "kjobwidgets-5.42.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/portingAids/kjs-5.41.0.tar.xz";
-      sha256 = "1a263cng8i304yh66iq45hwpgnl8ng6wvjrsl11hhqmyv07h2kk0";
-      name = "kjs-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/portingAids/kjs-5.42.0.tar.xz";
+      sha256 = "1m26sb2qyrcgmpkw76k2yv5my2pkhld96vw6aaqm77q90faw734g";
+      name = "kjs-5.42.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/portingAids/kjsembed-5.41.0.tar.xz";
-      sha256 = "1vxbh5rd9rdj3m7sag48c4cns443j479mlfbwxgnpm92z67ka7x7";
-      name = "kjsembed-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/portingAids/kjsembed-5.42.0.tar.xz";
+      sha256 = "10w4w4ncwr245bv1ii4sh154w91ghfz0l60k89j50lsydpcqcp3a";
+      name = "kjsembed-5.42.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/portingAids/kmediaplayer-5.41.0.tar.xz";
-      sha256 = "03420i82p984w6iqdiam2xam7b9khh76pll4ffn0c5k4wf1ba2z4";
-      name = "kmediaplayer-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/portingAids/kmediaplayer-5.42.0.tar.xz";
+      sha256 = "1k1pjc0cz36gs0pl2pxw8f9f82xkbqyy320nfyhan5waxbl1qd5n";
+      name = "kmediaplayer-5.42.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/knewstuff-5.41.0.tar.xz";
-      sha256 = "0j9qgswiacv7yj8c28q343falaglh5zc4wwcflwy1zvrp59bjcz4";
-      name = "knewstuff-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/knewstuff-5.42.0.tar.xz";
+      sha256 = "0i2gmyp67xzf2m5wnv7v574q3gsp1yxfflv1jgl0wy57vchwn9g6";
+      name = "knewstuff-5.42.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/knotifications-5.41.0.tar.xz";
-      sha256 = "1dsiigmzmhmg3x6y5nf2i9zq3hc4nca2gg2dvl0bz1lm438ddy84";
-      name = "knotifications-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/knotifications-5.42.0.tar.xz";
+      sha256 = "0awmwypmd104vhaj2v9k83niflxj26d4mbl6mzfcj75lgka6kffc";
+      name = "knotifications-5.42.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/knotifyconfig-5.41.0.tar.xz";
-      sha256 = "0hrdjh76php34wkcswnh5rfnkajf0g9n8mpqsdj4djxja39vi6vs";
-      name = "knotifyconfig-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/knotifyconfig-5.42.0.tar.xz";
+      sha256 = "1h07bjj71611v6912m5ajli6qszh9w925zqbk3vih8rn6pd2s3mc";
+      name = "knotifyconfig-5.42.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kpackage-5.41.0.tar.xz";
-      sha256 = "1663sshy52my9qbrj8ny1a6sipl94l2paxss4k5977fyyax15zdm";
-      name = "kpackage-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kpackage-5.42.0.tar.xz";
+      sha256 = "10amhh07x8d0jkyylb19cyzjs71k8dq1y8isfahqzb2kd43vijqa";
+      name = "kpackage-5.42.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kparts-5.41.0.tar.xz";
-      sha256 = "09ddh7n8jj8zisdm90lbmc4xk4axsibhx1cjbpaigzcfcvnj1b71";
-      name = "kparts-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kparts-5.42.0.tar.xz";
+      sha256 = "1mb5gp2ckmmrb4ym7cqvyl81wnp7cryk85gmizl7cnn69svlf40h";
+      name = "kparts-5.42.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kpeople-5.41.0.tar.xz";
-      sha256 = "1k72br66mnvkripzdq2wcchlrg6p7mxfqa0rbq0rq3q7npw1zzw5";
-      name = "kpeople-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kpeople-5.42.0.tar.xz";
+      sha256 = "050km3rpx58acx2341si46lxc2hywa59m8rwd849c2dnsxw3w1hm";
+      name = "kpeople-5.42.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kplotting-5.41.0.tar.xz";
-      sha256 = "197n2m3q9b588j56m30i12z55nbymbj4wgpgrkbsci7162jjjj1z";
-      name = "kplotting-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kplotting-5.42.0.tar.xz";
+      sha256 = "109b9grshrwralyp8ilkbf1k0akaggygqh6wafqdf0ris0ps13l9";
+      name = "kplotting-5.42.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kpty-5.41.0.tar.xz";
-      sha256 = "04xg5pn65nvk1bdh6bfznbsmlra6gzph72i7m28h9idnz143lr12";
-      name = "kpty-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kpty-5.42.0.tar.xz";
+      sha256 = "07s16zxs03ixy7yxy9fda83yqhcgqzx42gnvwjwkyc8q05njmma6";
+      name = "kpty-5.42.0.tar.xz";
     };
   };
   kross = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/portingAids/kross-5.41.0.tar.xz";
-      sha256 = "0xsfgwb3ihgby6r6wycxnqkd9d7zrj6w3h9bxw8n4asjfri7lgwi";
-      name = "kross-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/portingAids/kross-5.42.0.tar.xz";
+      sha256 = "1aqqwby6jslimpvx42d4n6gjsjc8l82gmsq5ajpv9zkkk91dqfqi";
+      name = "kross-5.42.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/krunner-5.41.0.tar.xz";
-      sha256 = "0vyxijs0vnpa19z7avd1438q1c7s4ka17hbsdq2r0jza3iwkfx83";
-      name = "krunner-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/krunner-5.42.0.tar.xz";
+      sha256 = "0xh9kss67l09am1ilsr9zyx1yhlmaq3g9x60hw0sx7h7wrl6zsw6";
+      name = "krunner-5.42.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kservice-5.41.0.tar.xz";
-      sha256 = "0k3ch3vbdy9rm82d9n6mf6ir3qm7l2fddp98jy4jmsr0qynqn50q";
-      name = "kservice-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kservice-5.42.0.tar.xz";
+      sha256 = "0z8zfpd00ndvkm1klp8l4mrcksshhyg280zgmg3gffz5rgh3gwri";
+      name = "kservice-5.42.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/ktexteditor-5.41.0.tar.xz";
-      sha256 = "1idvldchfbnvimvcrizigmmam62q7rpam06xprcizywyxq53yw7z";
-      name = "ktexteditor-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/ktexteditor-5.42.0.tar.xz";
+      sha256 = "020y3j6vm15sfpiwainr3qsx9i93j15mrvq523wmbmdj1z36yrh2";
+      name = "ktexteditor-5.42.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/ktextwidgets-5.41.0.tar.xz";
-      sha256 = "0m6n4v0njvcaky87f0ga47iwq12hsvghadj8pngjrksankvaj23n";
-      name = "ktextwidgets-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/ktextwidgets-5.42.0.tar.xz";
+      sha256 = "088azbv95ycwxmxxw4l63i2l14fmn8l473pb4djh2mvz1ypfqayk";
+      name = "ktextwidgets-5.42.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kunitconversion-5.41.0.tar.xz";
-      sha256 = "1kn6lw58b9w6f38mra2hizbnik64ka3gvgqk1xqp0mspqmr498rw";
-      name = "kunitconversion-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kunitconversion-5.42.0.tar.xz";
+      sha256 = "0219pna4l3vvhyf5acsc87n48jzdnws6kwyhaiy3hy1pzrilv32l";
+      name = "kunitconversion-5.42.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kwallet-5.41.0.tar.xz";
-      sha256 = "1gdzfp3gbr5qp821pkhaj6v8zg3q21xz6j11frjww8fn5nmp3v3l";
-      name = "kwallet-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kwallet-5.42.0.tar.xz";
+      sha256 = "1kv3v7593srfn0wd7qp4rhvb30rxp7d2qmlwi0n4nc9s6v59pabn";
+      name = "kwallet-5.42.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kwayland-5.41.0.tar.xz";
-      sha256 = "1dw2g6wwj7hhxlgzrjqk39ywpzh6ijwfjnzqjp6s8s5274fvjqbn";
-      name = "kwayland-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kwayland-5.42.0.tar.xz";
+      sha256 = "0wr6ygppahxsx3dh71h2wmybv7z7iyqdv7wn80cxb0mp4zpyinh7";
+      name = "kwayland-5.42.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kwidgetsaddons-5.41.0.tar.xz";
-      sha256 = "15fm7gni22wb64pski3fn5myrn9z22h077hzzcc34c3af21yh5s5";
-      name = "kwidgetsaddons-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kwidgetsaddons-5.42.0.tar.xz";
+      sha256 = "19fhcscc0irznqmjpi57sl22vrv2lcmqbhkcg2smimgd0r7pm7wg";
+      name = "kwidgetsaddons-5.42.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kwindowsystem-5.41.0.tar.xz";
-      sha256 = "0x4jz9qkvxs5dlzk860f8vhlczgxg6di614y8ji6afra760nk17l";
-      name = "kwindowsystem-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kwindowsystem-5.42.0.tar.xz";
+      sha256 = "15k6x0f93qxka3mz7qfzak2ibdd88q77pz6akil8s3g41zsg2dqv";
+      name = "kwindowsystem-5.42.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kxmlgui-5.41.0.tar.xz";
-      sha256 = "0cgwx3lhnn982gvl2yv5272bs3il05ssfpjlkgmqgnrnz2qxlhlr";
-      name = "kxmlgui-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kxmlgui-5.42.0.tar.xz";
+      sha256 = "0kfxjx8wrhkys5bydnv84nqxc2jqvv92zb2l6zpi0km5ggmia5y0";
+      name = "kxmlgui-5.42.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/kxmlrpcclient-5.41.0.tar.xz";
-      sha256 = "0y7n6xk18a6zci36ka426h7ar8r7kkr80jn47mc6jw3qdk4nvri7";
-      name = "kxmlrpcclient-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/kxmlrpcclient-5.42.0.tar.xz";
+      sha256 = "0ciip27ilsfk9s3gslpbi06v8i6ipdbmcig2jf43z3amsxpq0ncn";
+      name = "kxmlrpcclient-5.42.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/modemmanager-qt-5.41.0.tar.xz";
-      sha256 = "1bp9mllzgvqr3dsjg9a81yv487whf26vfxiyim8hr42b9j8v8wj0";
-      name = "modemmanager-qt-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/modemmanager-qt-5.42.0.tar.xz";
+      sha256 = "0q6qzn60z55h0gyc9xwdfaq45mjpk3zrr6d4qqjjfkqsr3866sfx";
+      name = "modemmanager-qt-5.42.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/networkmanager-qt-5.41.0.tar.xz";
-      sha256 = "0vdrbfwamk5p6mm0i05bxvmrlqxm9c5d373pn7qrm0kzs916xhlv";
-      name = "networkmanager-qt-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/networkmanager-qt-5.42.0.tar.xz";
+      sha256 = "03hhvx8d52mfgbhd4gn0vhsk9k1fv1pvq24ixxdgs2mw44v884xq";
+      name = "networkmanager-qt-5.42.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/oxygen-icons5-5.41.0.tar.xz";
-      sha256 = "1zpcjfzw4pv73ms8pc1w4fpvxcbpasl2av0g4y6sj7rshzdgrj31";
-      name = "oxygen-icons5-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/oxygen-icons5-5.42.0.tar.xz";
+      sha256 = "0pnav9h0xmvbaamzpcyznjjv25slz8maszshx7sj7h07b5a23x46";
+      name = "oxygen-icons5-5.42.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/plasma-framework-5.41.0.tar.xz";
-      sha256 = "1risn810pyncfpn01xiqsb5j8pwsnmx60lfajnx7qygny6b69pl4";
-      name = "plasma-framework-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/plasma-framework-5.42.0.tar.xz";
+      sha256 = "079c8h0lmbkfr3srj5m8a40b50kyrxbgmy1n66329l8js9xrvaah";
+      name = "plasma-framework-5.42.0.tar.xz";
     };
   };
   prison = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/prison-5.41.0.tar.xz";
-      sha256 = "0q3r1a3047yxhsd3qfwzwsw261zrfdmsklnyq5d2ayflchcj5vxi";
-      name = "prison-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/prison-5.42.0.tar.xz";
+      sha256 = "0bhg2fjdwsv7mk16jh1nc3miwggz1dl9l99l2f20xvi75hn7rryg";
+      name = "prison-5.42.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/qqc2-desktop-style-5.41.0.tar.xz";
-      sha256 = "166cjfaly8fzzchq8pk2s7f5mm63cwmayw3qc0p7amy5d0nykm0w";
-      name = "qqc2-desktop-style-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/qqc2-desktop-style-5.42.0.tar.xz";
+      sha256 = "1arlfhcshfs11pgf87jzjgln1p711zlx0v0q014740mbzb9g5wnk";
+      name = "qqc2-desktop-style-5.42.0.tar.xz";
     };
   };
   solid = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/solid-5.41.0.tar.xz";
-      sha256 = "0i2qxps26rg2x1576m35k4kj018i9jpsnlayzsk4fcj44kvsq9z3";
-      name = "solid-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/solid-5.42.0.tar.xz";
+      sha256 = "10lr8paaq6vaiqn833kzcdc3kkyv8j9fdchy7h8pvi9ajjjwq0lq";
+      name = "solid-5.42.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/sonnet-5.41.0.tar.xz";
-      sha256 = "1jhpl0ajqlln88fmzbwjxn0illbas4s0hbzwd3w56s9wg8j18s76";
-      name = "sonnet-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/sonnet-5.42.0.tar.xz";
+      sha256 = "1r3amddmy0nm8klw0jzvb8bl1l9hkrx50d8j0zq2lbjy36h3yliw";
+      name = "sonnet-5.42.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/syntax-highlighting-5.41.0.tar.xz";
-      sha256 = "0hmcb9f162hyvfb0mfkm69avgrbl146l7lyfzb93z1hk6f2gpxqc";
-      name = "syntax-highlighting-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/syntax-highlighting-5.42.0.tar.xz";
+      sha256 = "1iwiym50859jki4x41rfdmbd14jiq5lr2hdg46pjkyw17njdjd60";
+      name = "syntax-highlighting-5.42.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.41.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.41/threadweaver-5.41.0.tar.xz";
-      sha256 = "08nlskhdds13wplv4lwy4xshimkhl8jvzkz1h1qks6wggbwxf11m";
-      name = "threadweaver-5.41.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.42/threadweaver-5.42.0.tar.xz";
+      sha256 = "1isqlpnfxzxyz7mdm7yfrafgnx09mcndicdgdw3mi4r4misbrrbn";
+      name = "threadweaver-5.42.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index f7e477ff34a1..b325c9b246c2 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -1,12 +1,8 @@
 {stdenv, fetchurl,
-  libtool, libjpeg, openssl, libX11, libXdamage, xproto, damageproto, 
-  xextproto, libXext, fixesproto, libXfixes, xineramaproto, libXinerama, 
-  libXrandr, randrproto, libXtst, zlib, libgcrypt, autoreconfHook
-  , systemd, pkgconfig, libpng
+ libtool, libjpeg, openssl, zlib, libgcrypt, autoreconfHook, pkgconfig, libpng,
+ systemd
 }:
 
-assert stdenv.isLinux;
-
 let
   s = # Generated upstream information
   rec {
@@ -16,27 +12,25 @@ let
     url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
     sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r";
   };
-  buildInputs = [
-    libtool libjpeg openssl libX11 libXdamage xproto damageproto
-    xextproto libXext fixesproto libXfixes xineramaproto libXinerama
-    libXrandr randrproto libXtst zlib libgcrypt autoreconfHook systemd
-    pkgconfig libpng
-  ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
   preConfigure = ''
     sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure
   '';
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [
+    libtool libjpeg openssl libgcrypt libpng
+  ] ++ stdenv.lib.optional stdenv.isLinux systemd;
+  propagatedBuildInputs = [ zlib ];
   meta = {
     inherit (s) version;
     description =  "VNC server library";
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
index 65a310c9cf04..78102b9c673b 100644
--- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix
+++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -1,8 +1,22 @@
-{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg }:
+{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib
+, cstruct, zarith, ounit, result, topkg, ptime
+}:
+
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
+    version = "0.2.0";
+    sha256 = "0yfq4hnyzx6hy05m60007cfpq88wxwa8wqzib19lnk2qrgy772mx";
+    propagatedBuildInputs = [ ptime ];
+  } else {
+    version = "0.1.3";
+    sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
+  propagatedBuildInputs = [ ];
+  };
+in
 
 buildOcaml rec {
   name = "asn1-combinators";
-  version = "0.1.3";
+  inherit (param) version;
 
   minimumSupportedOcamlVersion = "4.01";
 
@@ -10,13 +24,11 @@ buildOcaml rec {
     owner  = "mirleft";
     repo   = "ocaml-asn1-combinators";
     rev    = "v${version}";
-    sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
+    inherit (param) sha256;
   };
 
   buildInputs = [ ocaml findlib ounit topkg ];
-  propagatedBuildInputs = [ result cstruct zarith ];
-
-  createFindlibDestdir = true;
+  propagatedBuildInputs = [ result cstruct zarith ] ++ param.propagatedBuildInputs;
 
   buildPhase = "${topkg.run} build --tests true";
 
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index 8c146102ad1b..39f82772ffce 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildOcaml, fetchFromGitHub, findlib, ocamlbuild, ocaml_oasis
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
 , ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct, ppx_cstruct, cstruct-unix, ounit
 , lwt     ? null}:
 
@@ -6,31 +6,27 @@ with stdenv.lib;
 
 let withLwt = lwt != null; in
 
-buildOcaml rec {
-  version = "0.7.1";
-  name = "tls";
-
-  minimunSupportedOcamlVersion = "4.02";
+stdenv.mkDerivation rec {
+  version = "0.9.0";
+  name = "ocaml${ocaml.version}-tls-${version}";
 
   src = fetchFromGitHub {
     owner  = "mirleft";
     repo   = "ocaml-tls";
     rev    = "${version}";
-    sha256 = "19q2hzxiasz9pzczgb63kikg0mc9mw98dfvch5falf2rincycj24";
+    sha256 = "0qgw8lq8pk9hss7b5i6fr08pi711i0zqx7yyjgcil47ipjig6c31";
   };
 
-  buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
+  buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
   propagatedBuildInputs = [ cstruct nocrypto result x509 ] ++
                           optional withLwt lwt;
 
-  configureFlags = [ "--disable-mirage" "--enable-tests" ] ++
-                   optional withLwt ["--enable-lwt"];
-
-  configurePhase = "./configure --prefix $out $configureFlags";
+  buildPhase = "${topkg.run} build --tests true --with-mirage false --with-lwt ${if withLwt then "true" else "false"}";
 
   doCheck = true;
-  checkTarget = "test";
-  createFindlibDestdir = true;
+  checkPhase = "${topkg.run} test";
+
+  inherit (topkg) installPhase;
 
   meta = with stdenv.lib; {
     homepage = https://github.com/mirleft/ocaml-tls;
diff --git a/pkgs/development/ocaml-modules/x509/default.nix b/pkgs/development/ocaml-modules/x509/default.nix
index 316035b40543..44a25865c1a7 100644
--- a/pkgs/development/ocaml-modules/x509/default.nix
+++ b/pkgs/development/ocaml-modules/x509/default.nix
@@ -1,29 +1,28 @@
-{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto
-, ounit, ocaml_oasis, ppx_sexp_conv, cstruct-unix
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
+, asn1-combinators, astring, nocrypto, ppx_sexp_conv
+, ounit, cstruct-unix
 }:
 
-buildOcaml rec {
-  name = "x509";
-  version = "0.5.3";
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-x509-${version}";
+  version = "0.6.1";
 
-  mininimumSupportedOcamlVersion = "4.02";
-
-  src = fetchFromGitHub {
-    owner  = "mirleft";
-    repo   = "ocaml-x509";
-    rev    = "${version}";
-    sha256 = "07cc3z6h87460z3f4vz8nlczw5jkc4vjhix413z9x6nral876rn7";
+  src = fetchurl {
+    url = "https://github.com/mirleft/ocaml-x509/releases/download/${version}/x509-${version}.tbz";
+    sha256 = "1c62mw9rnzq0rs3ihbhfs18nv4mdzwag7893hlqgji3wmaai70pk";
   };
 
-  buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv cstruct-unix ];
-  propagatedBuildInputs = [ asn1-combinators nocrypto ];
+  unpackCmd = "tar -xjf $curSrc";
+
+  buildInputs = [ ocaml findlib ocamlbuild topkg ppx_sexp_conv ounit cstruct-unix ];
+  propagatedBuildInputs = [ asn1-combinators astring nocrypto ];
 
-  configureFlags = "--enable-tests";
-  configurePhase = "./configure --prefix $out $configureFlags";
+  buildPhase = "${topkg.run} build --tests true";
 
   doCheck = true;
-  checkTarget = "test";
-  createFindlibDestdir = true;
+  checkPhase = "${topkg.run} test";
+
+  inherit (topkg) installPhase;
 
   meta = with stdenv.lib; {
     homepage = https://github.com/mirleft/ocaml-x509;
diff --git a/pkgs/development/tools/analysis/snowman/default.nix b/pkgs/development/tools/analysis/snowman/default.nix
index 907e44420e95..fba7d3d5cd41 100644
--- a/pkgs/development/tools/analysis/snowman/default.nix
+++ b/pkgs/development/tools/analysis/snowman/default.nix
@@ -1,8 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, boost, qt4 ? null, qtbase ? null }:
-
-# Only one qt
-assert qt4 != null -> qtbase == null;
-assert qtbase != null -> qt4 == null;
+{ stdenv, fetchFromGitHub, cmake, boost, qtbase }:
 
 stdenv.mkDerivation rec {
   name = "snowman-${version}";
@@ -17,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ boost qt4 qtbase ];
+  buildInputs = [ boost qtbase ];
 
   postUnpack = ''
     export sourceRoot=$sourceRoot/src
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index 2759b18e35c3..d1f6cc4ea29b 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -2,26 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   name = "tokei-${version}";
-  version = "6.1.2";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "Aaronepower";
     repo = "tokei";
     rev = "v${version}";
-    sha256 = "1bzs3mr6f9bna39b9ddwwq0raas07nbn106mnq3widxg59i0gxhd";
+    sha256 = "1c8m2arhy58ky8pzj0dp3w9gpacia9jwmayi0il640l4fm8nr734";
   };
 
-  cargoSha256 = "0y0rkxhkv31v5sa0425dwskd80i6srwbqhqkrw1g1kbmbs9y0vxz";
-
-  buildPhase = ''
-    # do not pass --frozen since Cargo.lock has the wrong tokei version
-    cargo build --release
-  '';
+  cargoSha256 = "1cl4fjbvrw7zhpb8rxj566ddlxbj9vdsb1cp7mh6llmvaia2vgks";
 
   meta = with stdenv.lib; {
     description = "Count code, quickly";
     homepage = https://github.com/Aaronepower/tokei;
-    license = licenses.mit;
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ gebner ];
     platforms = platforms.all;
   };
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 0d2b7655edb9..b1df6c54c456 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -134,10 +134,12 @@ let
     passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]);
   };
 
-  nativeDrv = lib.addPassthru kernel.nativeDrv passthru;
+  addPassthru' = lib.extendDerivation true passthru;
 
-  crossDrv = lib.addPassthru kernel.crossDrv passthru;
+  nativeDrv = addPassthru' kernel.nativeDrv;
+
+  crossDrv = addPassthru' kernel.crossDrv;
 
 in if kernel ? crossDrv
    then nativeDrv // { inherit nativeDrv crossDrv; }
-   else lib.addPassthru kernel passthru
+   else addPassthru' kernel
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 6143f03dc8c4..a3570fd11a43 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.15-rc7";
-  modDirVersion = "4.15.0-rc7";
+  version = "4.15-rc8";
+  modDirVersion = "4.15.0-rc8";
   extraMeta.branch = "4.15";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "1ph3asz5cc82mj7vb5cd5n80wnf66cm9jrlpa66da8kz8za0cdkh";
+    sha256 = "15d24b47mfkfs2b0l54sq0yl3ylh5dnx23jknb2r7cq14wxiqmq3";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 6ae6e646e989..745ad14bc08b 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -1,6 +1,5 @@
-# Extend a derivation with checks for brokenness, license, etc.  Throw a
-# descriptive error when the check fails; return `derivationArg` otherwise.
-# Note: no dependencies are checked in this step.
+# Checks derivation meta and attrs for problems (like brokenness,
+# licenses, etc).
 
 { lib, config, system, meta, derivationArg, mkDerivationArg }:
 
@@ -154,12 +153,14 @@ let
 
     # Weirder stuff that doesn't appear in the documentation?
     knownVulnerabilities = listOf str;
+    name = str;
     version = str;
     tag = str;
     updateWalker = bool;
     executables = listOf str;
     outputsToInstall = listOf str;
     position = str;
+    evaluates = bool;
     repositories = attrsOf str;
     isBuildPythonPackage = platforms;
     schedulingPriority = int;
@@ -196,13 +197,11 @@ let
       { valid = false; reason = "unknown-meta"; errormsg = "has an invalid meta attrset:${lib.concatMapStrings (x: "\n\t - " + x) res}"; }
     else { valid = true; };
 
+   validity = checkValidity attrs;
+
+in validity // {
   # Throw an error if trying to evaluate an non-valid derivation
-  validityCondition =
-         let v = checkValidity attrs;
-         in if !v.valid
-           then handleEvalIssue (removeAttrs v ["valid"])
-           else true;
-
-in
-  assert validityCondition;
-  derivationArg
+  handled = if !validity.valid
+    then handleEvalIssue (removeAttrs validity ["valid"])
+    else true;
+}
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 396ed553999d..e021b284a122 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -81,6 +81,9 @@ rec {
       inherit erroneousHardeningFlags hardeningDisable hardeningEnable supportedHardeningFlags;
     })
     else let
+      references = nativeBuildInputs ++ buildInputs
+                ++ propagatedNativeBuildInputs ++ propagatedBuildInputs;
+
       dependencies = map (map lib.chooseDevOutputs) [
         [
           (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuild)
@@ -140,9 +143,12 @@ rec {
               (lib.concatLists propagatedDependencies));
         in
         {
-          name = name + lib.optionalString
+          # A hack to make `nix-env -qa` and `nix search` ignore broken packages.
+          # TODO(@oxij): remove this assert when something like NixOS/nix#1771 gets merged into nix.
+          name = assert validity.handled; name + lib.optionalString
             (stdenv.hostPlatform != stdenv.buildPlatform)
             ("-" + stdenv.hostPlatform.config);
+
           builder = attrs.realBuilder or stdenv.shell;
           args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
           inherit stdenv;
@@ -197,46 +203,59 @@ rec {
           doInstallCheck = doInstallCheck && (stdenv.hostPlatform == stdenv.buildPlatform);
         });
 
+      validity = import ./check-meta.nix {
+        inherit lib config meta derivationArg;
+        mkDerivationArg = attrs;
+        # Nix itself uses the `system` field of a derivation to decide where
+        # to build it. This is a bit confusing for cross compilation.
+        inherit (stdenv) system;
+      };
+
       # The meta attribute is passed in the resulting attribute set,
       # but it's not part of the actual derivation, i.e., it's not
       # passed to the builder and is not a dependency.  But since we
       # include it in the result, it *is* available to nix-env for queries.
-      meta = { }
+      meta = {
+          # `name` above includes cross-compilation cruft (and is under assert),
+          # lets have a clean always accessible version here.
+          inherit name;
+
           # If the packager hasn't specified `outputsToInstall`, choose a default,
           # which is the name of `p.bin or p.out or p`;
           # if he has specified it, it will be overridden below in `// meta`.
           #   Note: This default probably shouldn't be globally configurable.
           #   Services and users should specify outputs explicitly,
           #   unless they are comfortable with this default.
-        // { outputsToInstall =
-          let
-            outs = outputs'; # the value passed to derivation primitive
-            hasOutput = out: builtins.elem out outs;
-          in [( lib.findFirst hasOutput null (["bin" "out"] ++ outs) )];
+          outputsToInstall =
+            let
+              outs = outputs'; # the value passed to derivation primitive
+              hasOutput = out: builtins.elem out outs;
+            in [( lib.findFirst hasOutput null (["bin" "out"] ++ outs) )];
         }
         // attrs.meta or {}
-          # Fill `meta.position` to identify the source location of the package.
-        // lib.optionalAttrs (pos != null)
-          { position = pos.file + ":" + toString pos.line; }
-        ;
+        # Fill `meta.position` to identify the source location of the package.
+        // lib.optionalAttrs (pos != null) {
+          position = pos.file + ":" + toString pos.line;
+        # Expose the result of the checks for everyone to see.
+        } // {
+          evaluates = validity.valid
+                   && (if config.checkMetaRecursively or false
+                       then lib.all (d: d.meta.evaluates or true) references
+                       else true);
+        };
 
     in
 
-      lib.addPassthru
-        (derivation (import ./check-meta.nix
-          {
-            inherit lib config meta derivationArg;
-            mkDerivationArg = attrs;
-            # Nix itself uses the `system` field of a derivation to decide where
-            # to build it. This is a bit confusing for cross compilation.
-            inherit (stdenv) system;
-          }))
-        ( {
-            overrideAttrs = f: mkDerivation (attrs // (f attrs));
-            inherit meta passthru;
-          } //
-          # Pass through extra attributes that are not inputs, but
-          # should be made available to Nix expressions using the
-          # derivation (e.g., in assertions).
-          passthru);
+      lib.extendDerivation
+        validity.handled
+        ({
+           overrideAttrs = f: mkDerivation (attrs // (f attrs));
+           inherit meta passthru;
+         } //
+         # Pass through extra attributes that are not inputs, but
+         # should be made available to Nix expressions using the
+         # derivation (e.g., in assertions).
+         passthru)
+        (derivation derivationArg);
+
 }
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 8aa14220250f..a177f33bb377 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     # lrelease is in qttools, not in qtbase.
-    substituteInPlace configure --replace '$'{QT5LOC}/lrelease lrelease
+    sed -i configure -e 's|''${QT5LOC}/lrelease|lrelease|'
   '';
 
   configureFlags = [
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 5999fa316223..f0fa1c198885 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -5,13 +5,13 @@ let
   inherit (pythonPackages) python nose pycrypto requests mock;
 in stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "1.9.6";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "11xw4whh60k61i8akd7avb254mmffaig72kb7w6prk1kjq05js2s";
+    sha256 = "0zj102ir08s9knqqv8y6vy9rkrgk77xs7kqp00v9fzrlqyspf68r";
   };
 
   pythonPaths = [ pycrypto requests ];
@@ -34,7 +34,12 @@ in stdenv.mkDerivation rec {
   '';
 
   doCheck = true;
-  checkPhase = "sh scripts/run-tests.sh -2";
+  checkPhase = ''
+    sed -i "/def test_parse_m3u8/i\\
+        @unittest.skip('requires internet')" lib/svtplay_dl/tests/hls.py
+
+    sh scripts/run-tests.sh -2
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/spaam/svtplay-dl;
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
index 7d3e4ba1c61b..620584ab1df1 100644
--- a/pkgs/tools/networking/uget/default.nix
+++ b/pkgs/tools/networking/uget/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "uget-${version}";
-  version = "2.0.10";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/urlget/${name}.tar.gz";
-    sha256 = "1zldsiy83xxpm8jdh1i9h7zrh8ak52srgy38fiyszysfapl8nx8a";
+    sha256 = "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 9c12a4fa1060..65377538fc16 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -1,24 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, binutils-unwrapped }:
+{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, coreutils, binutils-unwrapped }:
 
 stdenv.mkDerivation rec {
   name = "spectre-meltdown-checker-${version}";
-  version = "0.29";
+  version = "0.31";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "14i9gx1ngs3ixjirlx4qd87pmac916rvv9y61a5f7nl0dig4awl4";
-  };
-
-  patches = fetchpatch {
-    url = "https://github.com/speed47/spectre-meltdown-checker/pull/79.patch";
-    sha256 = "185kac5r97s3dnihgpwx4aashnzffb1f09xv9jw409g7i6cv2sq9";
+    sha256 = "14g5q2prd5w2zhwi7sr9pnalakd87zkvxk0vrzw4cv3x71d44nk2";
   };
 
   prePatch = ''
     substituteInPlace spectre-meltdown-checker.sh \
-      --replace /bin/echo echo
+      --replace /bin/echo ${coreutils}/bin/echo
   '';
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a890f648b5e2..06bfb6d142fd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -533,13 +533,13 @@ with pkgs;
 
   avfs = callPackage ../tools/filesystems/avfs { };
 
-  awscli = pythonPackages.awscli;
+  awscli = pythonPackages.callPackage ../tools/admin/awscli { };
 
   awsebcli = callPackage ../tools/virtualization/awsebcli {};
 
   awslogs = callPackage ../tools/admin/awslogs { };
 
-  aws_shell = pythonPackages.aws_shell;
+  aws_shell = pythonPackages.callPackage ../tools/admin/aws_shell { };
 
   aws-vault = callPackage ../tools/admin/aws-vault { };
 
@@ -6382,6 +6382,11 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation;
   });
 
+  mono54 = lowPrio (callPackage ../development/compilers/mono/5.4.nix {
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  });
+
   monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
 
   mozart-binary = callPackage ../development/compilers/mozart/binary.nix { };
@@ -7863,9 +7868,7 @@ with pkgs;
 
   smc = callPackage ../tools/misc/smc { };
 
-  snowman_qt4 = callPackage ../development/tools/analysis/snowman { };
-  snowman_qt5 = qt5.callPackage ../development/tools/analysis/snowman { qt4 = null; };
-  snowman = snowman_qt5;
+  snowman = qt5.callPackage ../development/tools/analysis/snowman { };
 
   sparse = callPackage ../development/tools/analysis/sparse { };
 
@@ -10529,6 +10532,13 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit CoreAudio CoreServices Carbon;
   };
 
+  portaudio2014 = portaudio.overrideAttrs (oldAttrs: {
+    src = fetchurl {
+      url = http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz;
+      sha256 = "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g";
+    };
+  });
+
   portmidi = callPackage ../development/libraries/portmidi {};
 
   prison = callPackage ../development/libraries/prison { };
@@ -15865,7 +15875,9 @@ with pkgs;
     inherit (gnome3) libpeas gsettings_desktop_schemas dconf;
   };
 
-  lightworks = callPackage ../applications/video/lightworks { };
+  lightworks = callPackage ../applications/video/lightworks {
+    portaudio = portaudio2014;
+  };
 
   lingot = callPackage ../applications/audio/lingot {
     inherit (gnome2) libglade;
@@ -15968,7 +15980,7 @@ with pkgs;
 
   mcomix = callPackage ../applications/graphics/mcomix { };
 
-  mendeley = libsForQt56.callPackage ../applications/office/mendeley {
+  mendeley = libsForQt5.callPackage ../applications/office/mendeley {
     gconf = pkgs.gnome2.GConf;
   };
 
@@ -18841,6 +18853,8 @@ with pkgs;
 
   bcftools = callPackage ../applications/science/biology/bcftools { };
 
+  dcm2niix = callPackage ../applications/science/biology/dcm2niix { };
+
   diamond = callPackage ../applications/science/biology/diamond { };
 
   ecopcr = callPackage ../applications/science/biology/ecopcr { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 74d08255cb17..10705d02d6bc 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -175,10 +175,6 @@ in {
 
   aws-xray-sdk = callPackage ../development/python-modules/aws-xray-sdk { };
 
-  awscli = callPackage ../tools/admin/awscli { };
-
-  aws_shell = callPackage ../tools/admin/aws_shell { };
-
   # packages defined elsewhere
 
   backports_csv = callPackage ../development/python-modules/backports_csv {};