summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix59
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix119
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix26
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix36
-rw-r--r--pkgs/development/compilers/crystal/default.nix4
-rw-r--r--pkgs/development/compilers/mono/4.0.nix9
-rw-r--r--pkgs/development/compilers/mono/4.4.nix8
-rw-r--r--pkgs/development/compilers/mono/4.6.nix1
-rw-r--r--pkgs/development/compilers/reason/default.nix10
-rw-r--r--pkgs/development/go-modules/generic/default.nix4
-rw-r--r--pkgs/development/interpreters/hy/default.nix18
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/libraries/dlib/default.nix4
-rw-r--r--pkgs/development/libraries/fmt/default.nix20
-rw-r--r--pkgs/development/libraries/gtest/default.nix21
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix2
-rw-r--r--pkgs/development/libraries/libqmatrixclient/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/default.nix4
-rw-r--r--pkgs/development/libraries/nix-plugins/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix2
-rw-r--r--pkgs/development/libraries/qjson/default.nix6
-rw-r--r--pkgs/development/libraries/qoauth/default.nix4
-rw-r--r--pkgs/development/libraries/qrupdate/default.nix7
-rw-r--r--pkgs/development/libraries/qt-3/default.nix5
-rw-r--r--pkgs/development/libraries/qt-mobility/default.nix7
-rw-r--r--pkgs/development/libraries/qtscriptgenerator/default.nix2
-rw-r--r--pkgs/development/libraries/readline/5.x.nix6
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix7
-rw-r--r--pkgs/development/libraries/sofia-sip/default.nix7
-rw-r--r--pkgs/development/libraries/t1lib/default.nix7
-rw-r--r--pkgs/development/libraries/taglib-extras/default.nix6
-rw-r--r--pkgs/development/libraries/taglib-sharp/default.nix3
-rw-r--r--pkgs/development/libraries/taglib/1.9.nix3
-rw-r--r--pkgs/development/libraries/tclap/default.nix5
-rw-r--r--pkgs/development/libraries/telepathy/farstream/default.nix7
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix5
-rw-r--r--pkgs/development/libraries/tidyp/default.nix1
-rw-r--r--pkgs/development/libraries/uriparser/default.nix8
-rw-r--r--pkgs/development/libraries/wlroots/default.nix5
-rw-r--r--pkgs/development/libraries/xbase/default.nix6
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/fmt/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/menhir/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/menhir/generic.nix7
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix4
-rw-r--r--pkgs/development/python-modules/aioprocessing/default.nix26
-rw-r--r--pkgs/development/python-modules/django_classytags/default.nix8
-rw-r--r--pkgs/development/python-modules/dlib/default.nix13
-rw-r--r--pkgs/development/python-modules/flask-migrate/default.nix4
-rw-r--r--pkgs/development/python-modules/foolscap/default.nix4
-rw-r--r--pkgs/development/python-modules/gevent-websocket/default.nix4
-rw-r--r--pkgs/development/python-modules/gipc/default.nix4
-rw-r--r--pkgs/development/python-modules/icalendar/default.nix4
-rw-r--r--pkgs/development/python-modules/mail-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/mysql-connector/default.nix4
-rw-r--r--pkgs/development/python-modules/netdisco/default.nix14
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/pycares/default.nix4
-rw-r--r--pkgs/development/python-modules/pyramid_multiauth/default.nix4
-rw-r--r--pkgs/development/python-modules/pyro/default.nix22
-rw-r--r--pkgs/development/python-modules/pyro4/default.nix46
-rw-r--r--pkgs/development/python-modules/python-packer/default.nix8
-rw-r--r--pkgs/development/python-modules/requests_download/default.nix8
-rw-r--r--pkgs/development/python-modules/selectors34/default.nix32
-rw-r--r--pkgs/development/python-modules/serpent/default.nix34
-rw-r--r--pkgs/development/python-modules/sh/default.nix24
-rw-r--r--pkgs/development/ruby-modules/bundled-common/default.nix3
-rw-r--r--pkgs/development/ruby-modules/bundler-app/default.nix39
-rw-r--r--pkgs/development/ruby-modules/gem/default.nix9
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/gron/default.nix4
-rw-r--r--pkgs/development/tools/gron/deps.nix26
-rw-r--r--pkgs/development/tools/jbake/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix4
-rw-r--r--pkgs/development/tools/scalafix/default.nix43
76 files changed, 702 insertions, 213 deletions
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
new file mode 100644
index 000000000000..c2c13649f885
--- /dev/null
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -0,0 +1,59 @@
+{ name
+, url
+, sha256
+}:
+
+{ swingSupport ? true # not used for now
+, stdenv
+, fetchurl
+}:
+
+let result = stdenv.mkDerivation rec {
+  inherit name;
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  # See: https://github.com/NixOS/patchelf/issues/10
+  dontStrip = 1;
+
+  installPhase = ''
+    cd ..
+
+    mv $sourceRoot $out
+
+    rm -rf $out/Home/demo
+
+    # Remove some broken manpages.
+    rm -rf $out/Home/man/ja*
+
+    # for backward compatibility
+    ln -s $out/Contents/Home $out/jre
+
+    ln -s $out/Contents/Home/* $out/
+
+    mkdir -p $out/nix-support
+
+    # Set JAVA_HOME automatically.
+    cat <<EOF >> $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    EOF
+  '';
+
+  # FIXME: use multiple outputs or return actual JRE package
+  passthru.jre = result;
+
+  passthru.home = result;
+
+  # for backward compatibility
+  passthru.architecture = "";
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl2Classpath;
+    description = "AdoptOpenJDK, prebuilt OpenJDK binary";
+    platforms = [ "x86_64-darwin" ]; # some inherit jre.meta.platforms
+    maintainers = with stdenv.lib.maintainers; [ taku0 ];
+  };
+
+}; in result
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
new file mode 100644
index 000000000000..cf38ca9eaebe
--- /dev/null
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -0,0 +1,119 @@
+{ name
+, url
+, sha256
+}:
+
+{ swingSupport ? true
+, stdenv
+, fetchurl
+, file
+, xorg ? null
+, glib
+, libxml2
+, ffmpeg_2
+, libxslt
+, libGL
+, freetype
+, fontconfig
+, gtk2
+, pango
+, cairo
+, alsaLib
+, atk
+, gdk_pixbuf
+, zlib
+, elfutils
+}:
+
+assert swingSupport -> xorg != null;
+
+let
+  rSubPaths = [
+    "lib/jli"
+    "lib/server"
+    "lib/compressedrefs" # OpenJ9
+    "lib/j9vm" # OpenJ9
+    "lib"
+  ];
+
+  libraries = [
+    stdenv.cc.libc glib libxml2 ffmpeg_2 libxslt libGL
+    xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf
+    atk zlib elfutils
+  ] ++ (stdenv.lib.optionals swingSupport [
+    xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt
+    xorg.libXrender
+    stdenv.cc.cc
+  ]);
+in
+
+let result = stdenv.mkDerivation rec {
+  inherit name;
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  nativeBuildInputs = [ file ];
+
+  # See: https://github.com/NixOS/patchelf/issues/10
+  dontStrip = 1;
+
+  installPhase = ''
+    cd ..
+
+    # Set PaX markings
+    exes=$(file $sourceRoot/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
+    for file in $exes; do
+      paxmark m "$file"
+      # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
+      ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''}
+    done
+
+    mv $sourceRoot $out
+
+    rm -rf $out/demo
+
+    # Remove some broken manpages.
+    rm -rf $out/man/ja*
+
+    # for backward compatibility
+    ln -s $out $out/jre
+
+    mkdir -p $out/nix-support
+
+    # Set JAVA_HOME automatically.
+    cat <<EOF >> $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    EOF
+  '';
+
+  postFixup = ''
+    rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$out/${a}") rSubPaths)}"
+
+    # set all the dynamic linkers
+    find $out -type f -perm -0100 \
+        -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "$rpath" {} \;
+
+    find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
+  '';
+
+  rpath = stdenv.lib.strings.makeLibraryPath libraries;
+
+  # FIXME: use multiple outputs or return actual JRE package
+  passthru.jre = result;
+
+  passthru.home = result;
+
+  # for backward compatibility
+  passthru.architecture = "";
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl2Classpath;
+    description = "AdoptOpenJDK, prebuilt OpenJDK binary";
+    platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms
+    maintainers = with stdenv.lib.maintainers; [ taku0 ];
+  };
+
+}; in result
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix
new file mode 100644
index 000000000000..77d9d85aaa93
--- /dev/null
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix
@@ -0,0 +1,26 @@
+let
+  version = "11";
+  buildNumber = "28";
+  baseUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-${version}%2B${buildNumber}";
+  makePackage = { packageType, vmType, sha256 }: import ./jdk-darwin-base.nix {
+    name = if packageType == "jdk"
+      then
+        "adoptopenjdk-${vmType}-bin-${version}"
+      else
+        "adoptopenjdk-${packageType}-${vmType}-bin-${version}";
+    url = "${baseUrl}/OpenJDK${version}-${packageType}_x64_mac_${vmType}_${version}_${buildNumber}.tar.gz";
+    inherit sha256;
+  };
+in
+{
+  jdk-hotspot = makePackage {
+    packageType = "jdk";
+    vmType = "hotspot";
+    sha256 = "ca0ec49548c626904061b491cae0a29b9b4b00fb34d8973dc217e10ab21fb0f3";
+  };
+  jre-hotspot = makePackage {
+    packageType = "jre";
+    vmType = "hotspot";
+    sha256 = "ef4dbfe5aed6ab2278fcc14db6cc73abbaab56e95f6ebb023790a7ebc6d7f30c";
+  };
+}
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
new file mode 100644
index 000000000000..6e00782c3918
--- /dev/null
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
@@ -0,0 +1,36 @@
+let
+  version = "11";
+  buildNumber = "28";
+  baseUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-${version}%2B${buildNumber}";
+  makePackage = { packageType, vmType, sha256 }: import ./jdk-linux-base.nix {
+    name = if packageType == "jdk"
+      then
+        "adoptopenjdk-${vmType}-bin-${version}"
+      else
+        "adoptopenjdk-${packageType}-${vmType}-bin-${version}";
+    url = "${baseUrl}/OpenJDK${version}-${packageType}_x64_linux_${vmType}_${version}_${buildNumber}.tar.gz";
+    inherit sha256;
+  };
+in
+{
+  jdk-hotspot = makePackage {
+    packageType = "jdk";
+    vmType = "hotspot";
+    sha256 = "e1e18fc9ce2917473da3e0acb5a771bc651f600c0195a3cb40ef6f22f21660af";
+  };
+  jre-hotspot = makePackage {
+    packageType = "jre";
+    vmType = "hotspot";
+    sha256 = "346448142d46c6e51d0fadcaadbcde31251d7678922ec3eb010fcb1b6e17804c";
+  };
+  jdk-openj9 = makePackage {
+    packageType = "jdk";
+    vmType = "openj9";
+    sha256 = "fd77f22eb74078bcf974415abd888296284d2ceb81dbaca6ff32f59416ebc57f";
+  };
+  jre-openj9 = makePackage {
+    packageType = "jre";
+    vmType = "openj9";
+    sha256 = "83a7c95e6b2150a739bdd5e8a6fe0315904fd13d8867c95db67c0318304a2c42";
+  };
+}
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 0648a245a4c8..51cea9810bc9 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
 , gmp, openssl, readline, tzdata, libxml2, libyaml
-, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which }:
+, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib }:
 
 let
   binaryVersion = "0.26.0";
@@ -57,7 +57,7 @@ let
 
     buildInputs = [
       boehmgc libatomic_ops pcre libevent
-      llvm
+      llvm zlib openssl
     ] ++ stdenv.lib.optionals stdenv.isDarwin [
       libiconv
     ];
diff --git a/pkgs/development/compilers/mono/4.0.nix b/pkgs/development/compilers/mono/4.0.nix
deleted file mode 100644
index 892ae99abaf5..000000000000
--- a/pkgs/development/compilers/mono/4.0.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ callPackage, Foundation, libobjc }:
-callPackage ./generic.nix (rec {
-  inherit Foundation libobjc;
-  version = "4.0.4.1";
-  sha256 = "1ydw9l89apc9p7xr5mdzy0h97g2q6v243g82mxswfc2rrqhfs4gd";
-  meta = {
-    knownVulnerabilities = [ "CVE-2009-0689" ];
-  };
-})
diff --git a/pkgs/development/compilers/mono/4.4.nix b/pkgs/development/compilers/mono/4.4.nix
deleted file mode 100644
index 9a3ccd1fd861..000000000000
--- a/pkgs/development/compilers/mono/4.4.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ callPackage, Foundation, libobjc }:
-
-callPackage ./generic.nix (rec {
-  inherit Foundation libobjc;
-  version = "4.4.2.11";
-  sha256 = "0cxnypw1j7s253wr5hy05k42ghgg2s9qibp10kndwnp5bv12q34h";
-  enableParallelBuilding = false; # #32386, https://hydra.nixos.org/build/65565737
-})
diff --git a/pkgs/development/compilers/mono/4.6.nix b/pkgs/development/compilers/mono/4.6.nix
index 2bba660b69cd..5ccdadc28787 100644
--- a/pkgs/development/compilers/mono/4.6.nix
+++ b/pkgs/development/compilers/mono/4.6.nix
@@ -5,4 +5,5 @@ callPackage ./generic.nix (rec {
   version = "4.6.2.16";
   sha256 = "190f7kcrm1y5x61s1xwdmjnwc3czsg50s3mml4xmix7byh3x2rc9";
   enableParallelBuilding = false; # #32386, https://hydra.nixos.org/build/65617511
+  meta.knownVulnerabilities = [ "CVE-2018-1002208" ];
 })
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix
index 81c935fc421f..0832d14992d1 100644
--- a/pkgs/development/compilers/reason/default.nix
+++ b/pkgs/development/compilers/reason/default.nix
@@ -4,18 +4,20 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-reason-${version}";
-  version = "3.3.3";
+  version = "3.3.7";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "reason";
-    rev = "fefe5e4db3a54a7946c2220ee037dd2f407011c9";
-    sha256 = "1x0dbacgq9pa36zgzwrc0gm14wbb6v27y9bf7wcwk55a1ck0am18";
+    rev = "4d20e5b535c29c5ef1283e65958b32996e449e5a";
+    sha256 = "0f3pb61wg58g8f3wcnp1h4gpmnwmp7bq0cnqdfwldmh9cs0dqyfk";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
   propagatedBuildInputs = [ menhir merlin_extend ppx_tools_versioned ];
 
-  buildInputs = [ makeWrapper ocaml findlib dune utop menhir ];
+  buildInputs = [ ocaml findlib dune utop menhir ];
 
   buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
 
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 3faa4c268ac0..0e092473bd52 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -103,6 +103,7 @@ go.stdenv.mkDerivation (
 
   '') + ''
     export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
+    export GOCACHE=$TMPDIR/go-cache
 
     runHook postConfigure
   '';
@@ -193,9 +194,6 @@ go.stdenv.mkDerivation (
     find $bin/bin -type f -exec ${removeExpr removeReferences} '{}' + || true
   '';
 
-  # Disable go cache, which is not reused in nix anyway
-  GOCACHE = "off";
-
   shellHook = ''
     d=$(mktemp -d "--suffix=-$name")
   '' + toString (map (dep: ''
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
index 3f08ca8f7c22..02ce07bdf471 100644
--- a/pkgs/development/interpreters/hy/default.nix
+++ b/pkgs/development/interpreters/hy/default.nix
@@ -2,20 +2,20 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "hy-${version}";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchurl {
     url = "mirror://pypi/h/hy/${name}.tar.gz";
-    sha256 = "0cbdh1q0zm00p4h7i44kir4qhw0p6sid78xf6llrx2p21llsnv98";
+    sha256 = "01vzaib1imr00j5d7f7xk44v800h06s3yv9inhlqm6f3b25ywpl1";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ appdirs clint astor rply ];
-
-  # The build generates a .json parser file in the home directory under .cache.
-  # This is needed to get it to not try and open files in /homeless-shelter
-  preConfigure = ''
-    export HOME=$TMP
-  '';
+  propagatedBuildInputs = with pythonPackages; [
+    appdirs
+    astor
+    clint
+    funcparserlib
+    rply
+  ];
 
   meta = {
     description = "A LISP dialect embedded in Python";
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 1f2a28cb8fb8..ee7d9dd68136 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -36,7 +36,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "racket-${version}";
-  version = "7.0"; # always change at once with ./minimal.nix
+  version = "7.1"; # always change at once with ./minimal.nix
 
   src = (stdenv.lib.makeOverridable ({ name, sha256 }:
     fetchurl rec {
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     }
   )) {
     inherit name;
-    sha256 = "1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a";
+    sha256 = "180z0z6srzyipi9wfnbh61nbvzxr5d1cls7wxapv6fw92y52jwz9";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index ba4e94cbf13f..114023defcd4 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/pkgs/development/interpreters/racket/minimal.nix
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
   name = "racket-minimal-${oldAttrs.version}";
   src = oldAttrs.src.override {
     inherit name;
-    sha256 = "0ivpr1a2w1ln1lx91q11rj9wp3rbfq33acrz2gxxvd80qqaq3zyh";
+    sha256 = "11vcqxdgyarv89ijd46wzrdl2wk7xjirg7ynlz7r0smdcqrcl711";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index e5e3c2d662c2..a88b3f1b9b68 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "19.13";
+  version = "19.16";
   name = "dlib-${version}";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "11ia4pd2lm2s9hzwrdvimj3r2qcnvjdp3g4fry2j1a6z9f99zvz3";
+    sha256 = "0ix52npsxfm6324jli7y0zkyijl5yirv2yzfncyd4sq0r9fcwb4p";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix
index c120f7c9b43f..fbe947e3afb1 100644
--- a/pkgs/development/libraries/fmt/default.nix
+++ b/pkgs/development/libraries/fmt/default.nix
@@ -3,29 +3,41 @@
 stdenv.mkDerivation rec {
   version = "5.2.1";
   name = "fmt-${version}";
+
   src = fetchFromGitHub {
     owner = "fmtlib";
     repo = "fmt";
     rev = "${version}";
     sha256 = "1cd8yq8va457iir1hlf17ksx11fx2hlb8i4jml8gj1875pizm0pk";
   };
+
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DFMT_TEST=TRUE"
+    "-DBUILD_SHARED_LIBS=${if enableShared then "TRUE" else "FALSE"}"
+  ];
+
+  enableParallelBuilding = true;
+
   doCheck = true;
   # preCheckHook ensures the test binaries can find libfmt.so.5
   preCheck = if enableShared
              then "export LD_LIBRARY_PATH=\"$PWD\""
              else "";
-  cmakeFlags = [ "-DFMT_TEST=yes"
-                 "-DBUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}" ];
+
   meta = with stdenv.lib; {
-    homepage = http://fmtlib.net/;
     description = "Small, safe and fast formatting library";
     longDescription = ''
       fmt (formerly cppformat) is an open-source formatting library. It can be
       used as a fast and safe alternative to printf and IOStreams.
     '';
+    homepage = http://fmtlib.net/;
+    downloadPage = https://github.com/fmtlib/fmt/;
     maintainers = [ maintainers.jdehaas ];
     license = licenses.bsd2;
-    platforms = platforms.unix;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index 769cc1c768c9..cf4069871d1d 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, fetchFromGitHub }:
+{ stdenv, cmake, ninja, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   name = "gtest-${version}";
   version = "1.8.1";
@@ -10,24 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk";
   };
 
-  buildInputs = [ cmake ];
-
-  configurePhase = ''
-    mkdir build
-    cd build
-    cmake ../ -DCMAKE_INSTALL_PREFIX=$out
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cp -v googlemock/gtest/libgtest.a googlemock/gtest/libgtest_main.a googlemock/libgmock.a googlemock/libgmock_main.a $out/lib
-    ln -s $out/lib/libgmock.a $out/lib/libgoogletest.a
-    mkdir -p $out/include
-    cp -v -r ../googlemock/include/gmock $out/include
-    cp -v -r ../googletest/include/gtest $out/include
-    mkdir -p $out/src
-    cp -v -r ../googlemock/src/* ../googletest/src/* $out/src
-  '';
+  nativeBuildInputs = [ cmake ninja ];
 
   meta = with stdenv.lib; {
     description = "Google's framework for writing C++ tests";
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index c509fcd2b4f8..c83d2610dbfa 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   };
 
   buildInputs = [ texinfo ]
-    ++ optionals stdenv.isLinux [ alsaLib libpulseaudio ]
+    ++ optional stdenv.isLinux alsaLib
     ++ optional stdenv.isDarwin CoreAudio;
   propagatedBuildInputs =
     optional stdenv.isLinux libpulseaudio;
diff --git a/pkgs/development/libraries/libqmatrixclient/default.nix b/pkgs/development/libraries/libqmatrixclient/default.nix
index 8cca5333d084..2f20150ad164 100644
--- a/pkgs/development/libraries/libqmatrixclient/default.nix
+++ b/pkgs/development/libraries/libqmatrixclient/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "libqmatrixclient-${version}";
-  version = "0.3.0.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner  = "QMatrixClient";
     repo   = "libqmatrixclient";
     rev    = "v${version}";
-    sha256 = "03pxmr4wa818fgqddkr2fkwz6pda538x3ic9yq7c40x98zqf55w5";
+    sha256 = "1llzqjagvp91kcg26q5c4qw9aaz7wna3rh6k06rc3baivrjqf3cn";
   };
 
   buildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 1ac4a7185122..154e84cfd0a2 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -46,7 +46,7 @@ in {
   };
 
   libressl_2_8 = generic {
-    version = "2.8.1";
-    sha256 = "0hnga8j7svdbwcy01mh5pxssk7rxq4g5fc5vxrzhid0x1w2zfjrk";
+    version = "2.8.2";
+    sha256 = "1mag4lf3lmg2fh2yzkh663l69h4vjriadwl0zixmb50jkzjk3jxq";
   };
 }
diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix
index d3a4b21b4b61..cc5a115ed71e 100644
--- a/pkgs/development/libraries/nix-plugins/default.nix
+++ b/pkgs/development/libraries/nix-plugins/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, nix, cmake, pkgconfig, boost }:
-let version = "5.0.0"; in
+let version = "6.0.0"; in
 stdenv.mkDerivation {
   name = "nix-plugins-${version}";
 
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     owner = "shlevy";
     repo = "nix-plugins";
     rev = version;
-    sha256 = "0231j92504vx0f4wax9hwjdni1j4z0g8bx9wbakg6rbghl4svmdv";
+    sha256 = "08kxdci0sijj1hfkn3dbr7nbpb9xck0xr3xa3a0j116n4kvwb6qv";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 87751188a03a..2ad4b8d904bf 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -51,6 +51,8 @@ let
     configureScript = {
         "x86_64-darwin"  = "./Configure darwin64-x86_64-cc";
         "x86_64-solaris" = "./Configure solaris64-x86_64-gcc";
+        "armv6l-linux" = "./Configure linux-armv4 -march=armv6";
+        "armv7l-linux" = "./Configure linux-armv4 -march=armv7-a";
       }.${stdenv.hostPlatform.system} or (
         if stdenv.hostPlatform == stdenv.buildPlatform
           then "./config"
diff --git a/pkgs/development/libraries/qjson/default.nix b/pkgs/development/libraries/qjson/default.nix
index 29202396c058..a7077c69dd8d 100644
--- a/pkgs/development/libraries/qjson/default.nix
+++ b/pkgs/development/libraries/qjson/default.nix
@@ -13,8 +13,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake qt4 ];
 
-  meta = {
-    maintainers = [ ];
+  meta = with stdenv.lib; {
+    description = "Lightweight data-interchange format";
+    homepage = http://qjson.sourceforge.net/;
+    license = licenses.lgpl21;
     inherit (qt4.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix
index d09c0d9a6ce0..0d9ae21e87e3 100644
--- a/pkgs/development/libraries/qoauth/default.nix
+++ b/pkgs/development/libraries/qoauth/default.nix
@@ -21,9 +21,9 @@ stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = [ "-I${qca2-qt5}/include/Qca-qt5/QtCrypto" ];
   NIX_LDFLAGS = [ "-lqca-qt5" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Qt library for OAuth authentication";
     inherit (qt5.qtbase.meta) platforms;
-    maintainers = [ ];
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/qrupdate/default.nix b/pkgs/development/libraries/qrupdate/default.nix
index c8b01c460803..85e45d3fad03 100644
--- a/pkgs/development/libraries/qrupdate/default.nix
+++ b/pkgs/development/libraries/qrupdate/default.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ gfortran openblas ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library for fast updating of qr and cholesky decompositions";
+    homepage = https://sourceforge.net/projects/qrupdate/;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index 0691f26b4712..95b82f8f3cff 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -84,7 +84,8 @@ stdenv.mkDerivation {
 
   passthru = {inherit mysqlSupport;};
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    license = with licenses; [ gpl2 qpl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/qt-mobility/default.nix b/pkgs/development/libraries/qt-mobility/default.nix
index 5cf49450422f..ae99035d2267 100644
--- a/pkgs/development/libraries/qt-mobility/default.nix
+++ b/pkgs/development/libraries/qt-mobility/default.nix
@@ -42,11 +42,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qt4 libX11 bluez perl ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Qt Mobility";
     homepage = http://qt.nokia.com/products/qt-addons/mobility;
-    maintainers = with stdenv.lib.maintainers; [qknight];
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = [ maintainers.qknight ];
+    platforms = platforms.linux;
+    license = with licenses; [ bsd3 fdl13 gpl3 lgpl21 ];
   };
 }
 
diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix
index 040072cb463e..88591e880dee 100644
--- a/pkgs/development/libraries/qtscriptgenerator/default.nix
+++ b/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation {
     description = "QtScript bindings generator";
     homepage = https://code.qt.io/cgit/qt-labs/qtscriptgenerator.git/;
     inherit (qt4.meta) platforms;
-    maintainers = [ ];
+    license = stdenv.lib.licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/readline/5.x.nix b/pkgs/development/libraries/readline/5.x.nix
index 9e7c5c1d4e3b..84062408d45c 100644
--- a/pkgs/development/libraries/readline/5.x.nix
+++ b/pkgs/development/libraries/readline/5.x.nix
@@ -11,8 +11,10 @@ stdenv.mkDerivation {
   propagatedBuildInputs = [ncurses];
 
   patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch;
-  meta = {
+
+  meta = with stdenv.lib; {
     branch = "5";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index dc3f4a118f6d..f795dfef9e4c 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
   checkInputs = [ python ];
   doCheck = false; # fails, probably missing something
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An advanced font engine";
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/sofia-sip/default.nix b/pkgs/development/libraries/sofia-sip/default.nix
index 9fe88b771be7..ca2ff666b7a5 100644
--- a/pkgs/development/libraries/sofia-sip/default.nix
+++ b/pkgs/development/libraries/sofia-sip/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib openssl ];
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Open-source SIP User-Agent library, compliant with the IETF RFC3261 specification";
+    homepage = http://sofia-sip.sourceforge.net/;
+    platforms = platforms.linux;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix
index 8a76e886b4f6..b8e7518cd332 100644
--- a/pkgs/development/libraries/t1lib/default.nix
+++ b/pkgs/development/libraries/t1lib/default.nix
@@ -30,7 +30,10 @@ stdenv.mkDerivation {
 
   postInstall = stdenv.lib.optional (!stdenv.isDarwin) "chmod +x $out/lib/*.so.*"; # ??
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "A type 1 font rasterizer library for UNIX/X11";
+    homepage = http://www.t1lib.org/;
+    license = with licenses; [ gpl2 lgpl2 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/taglib-extras/default.nix b/pkgs/development/libraries/taglib-extras/default.nix
index 0059243890d6..b667e6047400 100644
--- a/pkgs/development/libraries/taglib-extras/default.nix
+++ b/pkgs/development/libraries/taglib-extras/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
     sed -i -e 's/STRLESS/VERSION_LESS/g' cmake/modules/FindTaglib.cmake
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Additional taglib plugins";
+    platforms = platforms.unix;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/taglib-sharp/default.nix b/pkgs/development/libraries/taglib-sharp/default.nix
index 6da524c23390..86006806baa0 100644
--- a/pkgs/development/libraries/taglib-sharp/default.nix
+++ b/pkgs/development/libraries/taglib-sharp/default.nix
@@ -7,7 +7,6 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "mono";
     repo = "taglib-sharp";
-
     rev = "taglib-sharp-${version}";
     sha256 = "12pk4z6ag8w7kj6vzplrlasq5lwddxrww1w1ya5ivxrfki15h5cp";
   };
@@ -21,6 +20,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library for reading and writing metadata in media files";
+    homepage = https://github.com/mono/taglib-sharp;
     platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/taglib/1.9.nix b/pkgs/development/libraries/taglib/1.9.nix
index 1caa8a376fb1..99892a41fa42 100644
--- a/pkgs/development/libraries/taglib/1.9.nix
+++ b/pkgs/development/libraries/taglib/1.9.nix
@@ -15,9 +15,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://developer.kde.org/~wheeler/taglib.html;
     repositories.git = git://github.com/taglib/taglib.git;
-
     description = "A library for reading and editing the meta-data of several popular audio formats";
     inherit (cmake.meta) platforms;
-    maintainers = [ ];
+    license = with stdenv.lib.licenses; [ lgpl21 mpl11 ];
   };
 }
diff --git a/pkgs/development/libraries/tclap/default.nix b/pkgs/development/libraries/tclap/default.nix
index a92c7b74ebf7..293baa492c56 100644
--- a/pkgs/development/libraries/tclap/default.nix
+++ b/pkgs/development/libraries/tclap/default.nix
@@ -8,9 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "0dsqvsgzam3mypj2ladn6v1yjq9zd47p3lg21jx6kz5azkkkn0gm";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://tclap.sourceforge.net/;
     description = "Templatized C++ Command Line Parser Library";
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/telepathy/farstream/default.nix b/pkgs/development/libraries/telepathy/farstream/default.nix
index fae51aea477e..1247d9ffa843 100644
--- a/pkgs/development/libraries/telepathy/farstream/default.nix
+++ b/pkgs/development/libraries/telepathy/farstream/default.nix
@@ -12,7 +12,10 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ dbus-glib telepathy-glib farstream ];
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "GObject-based C library that uses Telepathy GLib, Farstream and GStreamer to handle the media streaming part of channels of type Call";
+    homepage = https://telepathy.freedesktop.org/wiki/Components/Telepathy-Farstream/;
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index 9ca2481c3b01..ca6a4997abf4 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -22,8 +22,9 @@ stdenv.mkDerivation rec {
 
   passthru.python = python2;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://telepathy.freedesktop.org;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = with licenses; [ bsd2 bsd3 lgpl21Plus ];
   };
 }
diff --git a/pkgs/development/libraries/tidyp/default.nix b/pkgs/development/libraries/tidyp/default.nix
index ba95da77b72c..51dabbd2beb7 100644
--- a/pkgs/development/libraries/tidyp/default.nix
+++ b/pkgs/development/libraries/tidyp/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     homepage = http://tidyp.com/;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index c716ae7f8dbb..03f8e20b38d0 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, cpptest, pkgconfig, doxygen, graphviz }:
+{ stdenv, fetchurl, gtest, pkgconfig, doxygen, graphviz }:
 
 stdenv.mkDerivation rec {
   name = "uriparser-${version}";
-  version = "0.8.6";
+  version = "0.9.0";
 
   # Release tarball differs from source tarball
   src = fetchurl {
     url = "https://github.com/uriparser/uriparser/releases/download/${name}/${name}.tar.bz2";
-    sha256 = "0m2a5bf5b00ybagxmsa8mdj9mhc62vcm0qimy1ivfza1fbjsf287";
+    sha256 = "0b2yagxzhq9ghpszci6a9xlqg0yl7vq9j5r8dwbar3nszqsfnrzc";
   };
 
-  nativeBuildInputs = [ pkgconfig cpptest doxygen graphviz ];
+  nativeBuildInputs = [ pkgconfig gtest doxygen graphviz ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index c1f401d0badb..4aff60631834 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -71,11 +71,12 @@ in stdenv.mkDerivation rec {
     # screenshot output-layout multi-pointer rotation tablet touch pointer
     # simple
     mkdir -p $examples/bin
-    for binary in $(find ./examples -executable -type f | grep -vE '\.so'); do
+    cd ./examples
+    for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
       patchelf \
         --set-rpath "$examples/lib:${stdenv.lib.makeLibraryPath buildInputs}" \
         "$binary"
-      cp "$binary" $examples/bin/
+      cp "$binary" "$examples/bin/wlroots-$binary"
     done
   '';
 
diff --git a/pkgs/development/libraries/xbase/default.nix b/pkgs/development/libraries/xbase/default.nix
index 79f75abfd91c..3dd2cb5b874c 100644
--- a/pkgs/development/libraries/xbase/default.nix
+++ b/pkgs/development/libraries/xbase/default.nix
@@ -25,10 +25,10 @@ stdenv.mkDerivation {
     })
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://linux.techass.com/projects/xdb/;
     description = "C++ class library formerly known as XDB";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+    platforms = platforms.linux;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 69b5b95e7613..d86dac050731 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -26,9 +26,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.xine-project.org/;
     description = "A high-performance, portable and reusable multimedia playback engine";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = with licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix
index 2e7996f55d9d..2aa560e5349b 100644
--- a/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/pkgs/development/ocaml-modules/fmt/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, result, uchar }:
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-fmt-0.8.4";
+  name = "ocaml${ocaml.version}-fmt-0.8.5";
 
   src = fetchurl {
-    url = http://erratique.ch/software/fmt/releases/fmt-0.8.4.tbz;
-    sha256 = "1qilsbisqqhmn8b1ar9lvjbgz8vf4gmqwqjnnjzgld2a3gmh8qvv";
+    url = http://erratique.ch/software/fmt/releases/fmt-0.8.5.tbz;
+    sha256 = "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060";
   };
 
   unpackCmd = "tar xjf $src";
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix
index 2a101da74d55..ce9ddeea0c43 100644
--- a/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/pkgs/development/ocaml-modules/menhir/default.nix
@@ -1,12 +1,14 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild
-, version ? if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.02" then "20170712" else "20140422"
+, version ? if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.02" then "20181026" else "20140422"
 }@args:
 
 let
-  sha256 =
-  if version == "20140422" then "1ki1f2id6a14h9xpv2k8yb6px7dyw8cvwh39csyzj4qpzx7wia0d"
-  else if version == "20170712" then "006hq3bwj81j67f2k9cgzj5wr4hai8j36925p5n3sd2j01ljsj6a"
-  else throw ("menhir: unknown version " ++ version);
+  src = fetchurl (
+  if version == "20140422" then { url = "http://cristal.inria.fr/~fpottier/menhir/menhir-20140422.tar.gz"; sha256 = "1ki1f2id6a14h9xpv2k8yb6px7dyw8cvwh39csyzj4qpzx7wia0d"; }
+  else if version == "20170712" then { url = "http://gallium.inria.fr/~fpottier/menhir/menhir-20170712.tar.gz"; sha256 = "006hq3bwj81j67f2k9cgzj5wr4hai8j36925p5n3sd2j01ljsj6a"; }
+  else if version == "20181026" then { url = "https://gitlab.inria.fr/fpottier/menhir/repository/20181026/archive.tar.gz"; sha256 = "1zhacw60996i9b88kbnfvrvjk3ps9p9n9syjk9np545jp8l0582g"; }
+  else throw ("menhir: unknown version " ++ version)
+  );
 in
 
-import ./generic.nix (args // { inherit version sha256; })
+import ./generic.nix (args // { inherit version src; })
diff --git a/pkgs/development/ocaml-modules/menhir/generic.nix b/pkgs/development/ocaml-modules/menhir/generic.nix
index d52da82d6d76..bac6cd707940 100644
--- a/pkgs/development/ocaml-modules/menhir/generic.nix
+++ b/pkgs/development/ocaml-modules/menhir/generic.nix
@@ -1,12 +1,9 @@
-{ version, sha256, stdenv, fetchurl, ocaml, findlib, ocamlbuild }:
+{ version, src, stdenv, fetchurl, ocaml, findlib, ocamlbuild }:
 
 stdenv.mkDerivation {
   name = "menhir-${version}";
 
-  src = fetchurl {
-    url = "http://pauillac.inria.fr/~fpottier/menhir/menhir-${version}.tar.gz";
-    inherit sha256;
-  };
+  inherit src;
 
   buildInputs = [ ocaml findlib ocamlbuild ];
 
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
index 131f478d32ed..e8074a51e52f 100644
--- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
@@ -6,13 +6,13 @@ else
 
 stdenv.mkDerivation rec {
    name = "ocaml${ocaml.version}-ocaml-migrate-parsetree-${version}";
-   version = "1.0.11";
+   version = "1.1.0";
 
    src = fetchFromGitHub {
      owner = "ocaml-ppx";
      repo = "ocaml-migrate-parsetree";
      rev = "v${version}";
-     sha256 = "05kbgs9n1x64fk6g3wbjnwjd17w10k3k8dzglnc45xg4hr7z651n";
+     sha256 = "1d2n349d1cqm3dr09mwy5m9rfd4bkkqvri5i94wknpsrr35vnrr1";
    };
 
    buildInputs = [ ocaml findlib ocamlbuild dune ];
diff --git a/pkgs/development/python-modules/aioprocessing/default.nix b/pkgs/development/python-modules/aioprocessing/default.nix
new file mode 100644
index 000000000000..f2f959112688
--- /dev/null
+++ b/pkgs/development/python-modules/aioprocessing/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonAtLeast
+}:
+
+buildPythonPackage rec {
+  pname = "aioprocessing";
+  version = "1.0.1";
+  disabled = !(pythonAtLeast "3.4");
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yq1gfsky2kjimwdmzqk893sp6387vbl4bw0sbha5hl6cm3jp5dn";
+  };
+
+  # Tests aren't included in pypi package
+  doCheck = false;
+
+  meta = {
+    description = "A library that integrates the multiprocessing module with asyncio";
+    homepage = https://github.com/dano/aioprocessing;
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ uskudnik ];
+  };
+}
diff --git a/pkgs/development/python-modules/django_classytags/default.nix b/pkgs/development/python-modules/django_classytags/default.nix
index 022709bacbe0..d3ed0fd18410 100644
--- a/pkgs/development/python-modules/django_classytags/default.nix
+++ b/pkgs/development/python-modules/django_classytags/default.nix
@@ -6,17 +6,17 @@
 
 buildPythonPackage rec {
   pname = "django-classy-tags";
-  version = "0.6.1";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0";
+    sha256 = "1f2dc9rq8v9sc4kv4x9hmbzp5c4amdxjkz5nzas5abg2s1hr2bvr";
   };
 
   propagatedBuildInputs = [ django ];
 
-  # tests appear to be broken on 0.6.1 at least
-  doCheck = ( version != "0.6.1" );
+  # pypi version doesn't include runtest.py, needed to run tests
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Class based template tags for Django";
diff --git a/pkgs/development/python-modules/dlib/default.nix b/pkgs/development/python-modules/dlib/default.nix
new file mode 100644
index 000000000000..90e2c526789f
--- /dev/null
+++ b/pkgs/development/python-modules/dlib/default.nix
@@ -0,0 +1,13 @@
+{ buildPythonPackage, dlib, python, pytest }:
+
+buildPythonPackage {
+  inherit (dlib) name src nativeBuildInputs buildInputs meta;
+
+  checkPhase = ''
+    ${python.interpreter} nix_run_setup test --no USE_AVX_INSTRUCTIONS
+  '';
+
+  patches = [ ./build-cores.patch ];
+
+  checkInputs = [ pytest ];
+}
diff --git a/pkgs/development/python-modules/flask-migrate/default.nix b/pkgs/development/python-modules/flask-migrate/default.nix
index 89cbdf0fbf82..1f9177832c35 100644
--- a/pkgs/development/python-modules/flask-migrate/default.nix
+++ b/pkgs/development/python-modules/flask-migrate/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 buildPythonPackage rec {
   pname = "Flask-Migrate";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cd1b4e6cb829eeb41c02ad9202d83bef5f4b7a036dd9fad72ce96ad1e22efb07";
+    sha256 = "19rxhva9i5n643vm3d11f8p98jwai2pavysa217p5w5h5cnksnx2";
   };
 
   checkInputs = optional isPy3k glibcLocales;
diff --git a/pkgs/development/python-modules/foolscap/default.nix b/pkgs/development/python-modules/foolscap/default.nix
index 94b90a25d137..8680ff2d2aad 100644
--- a/pkgs/development/python-modules/foolscap/default.nix
+++ b/pkgs/development/python-modules/foolscap/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "foolscap";
-  version = "0.12.6";
+  version = "0.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bpmqq6485mmr5jza9q2c55l9m1bfsvsbd9drsip7p5qcsi22jrz";
+    sha256 = "0sqxp4fshnpcv69c2j04v8c22pjak28iwscxv998h2s3054knxz2";
   };
 
   propagatedBuildInputs = [ mock twisted pyopenssl service-identity ];
diff --git a/pkgs/development/python-modules/gevent-websocket/default.nix b/pkgs/development/python-modules/gevent-websocket/default.nix
index 28dab3a257f0..78986ec7d306 100644
--- a/pkgs/development/python-modules/gevent-websocket/default.nix
+++ b/pkgs/development/python-modules/gevent-websocket/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "gevent-websocket";
-  version = "0.9.3";
+  version = "0.10.1";
   # SyntaxError in tests.
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4";
+    sha256 = "1c2zv2rahp1gil3cj66hfsqgy0n35hz9fny3ywhr2319d0lz7bky";
   };
 
   propagatedBuildInputs = [ gevent ];
diff --git a/pkgs/development/python-modules/gipc/default.nix b/pkgs/development/python-modules/gipc/default.nix
index 9780b46fa5a0..4b174468a7ab 100644
--- a/pkgs/development/python-modules/gipc/default.nix
+++ b/pkgs/development/python-modules/gipc/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "gipc";
-  version = "0.5.0";
+  version = "0.6.0";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "08c35xzv7nr12d9xwlywlbyzzz2igy0yy6y52q2nrkmh5d4slbpc";
+    sha256 = "0pd9by719qh882hqs6xpby61sn1x5h98hms5p2p8yqnycrf1s0h2";
   };
 
   propagatedBuildInputs = [ gevent ];
diff --git a/pkgs/development/python-modules/icalendar/default.nix b/pkgs/development/python-modules/icalendar/default.nix
index b83785211f88..e2e833f7c476 100644
--- a/pkgs/development/python-modules/icalendar/default.nix
+++ b/pkgs/development/python-modules/icalendar/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.9.0";
+  version = "4.0.3";
   pname = "icalendar";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93d0b94eab23d08f62962542309916a9681f16de3d5eca1c75497f30f1b07792";
+    sha256 = "0mk3dk1dxkcm46jy48v27j2w2349iv4sbimqj1yb5js43mx49hh7";
   };
 
   buildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/mail-parser/default.nix b/pkgs/development/python-modules/mail-parser/default.nix
index e05dc3f2861f..da74830f8798 100644
--- a/pkgs/development/python-modules/mail-parser/default.nix
+++ b/pkgs/development/python-modules/mail-parser/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "mail-parser";
-  version = "3.3.1";
+  version = "3.4.1";
 
   # no tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "SpamScope";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1b1v61zwgdx2xjzds3hp6bv53yq424hhlrhf445n4faj1l0c4lkg";
+    sha256 = "0nxilshq4gwpicdklja9p275yf8l5kr1lk620c3cx9w4qai4cmbv";
   };
 
   LC_ALL = "en_US.utf-8";
diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix
index 4af0c6487b3f..579fc4631f66 100644
--- a/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/pkgs/development/python-modules/mysql-connector/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.12";
+  version = "8.0.13";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "1i3148dka4zfqzz4n4n5k0qaqbc585bdpmjwgx5vp6iiv7pgvrxp";
+    sha256 = "1qb6m3cp6zxmr49bp6g5g5b75yszgac1h26i2hza61mrvd235688";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/netdisco/default.nix b/pkgs/development/python-modules/netdisco/default.nix
index 1e404370284c..036d6f9dea7c 100644
--- a/pkgs/development/python-modules/netdisco/default.nix
+++ b/pkgs/development/python-modules/netdisco/default.nix
@@ -1,17 +1,14 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, requests, zeroconf, netifaces, pytest }:
+{ stdenv, buildPythonPackage, isPy3k, fetchPypi, requests, zeroconf, netifaces, pytest }:
 
 buildPythonPackage rec {
   pname = "netdisco";
-  version = "2.0.0";
+  version = "2.2.0";
 
   disabled = !isPy3k;
 
-  # PyPI is missing tests/ directory
-  src = fetchFromGitHub {
-    owner = "home-assistant";
-    repo = pname;
-    rev = version;
-    sha256 = "08x5ab7v6a20753y9br7pvfm6a054ywn7y7gh6fydqski0gad6l7";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b5e810721a266660f7f90fc43f12c4635ec95c3db87d9e30ca408bb922cb1007";
   };
 
   propagatedBuildInputs = [ requests zeroconf netifaces ];
@@ -26,7 +23,6 @@ buildPythonPackage rec {
     description = "Python library to scan local network for services and devices";
     homepage = https://github.com/home-assistant/netdisco;
     license = licenses.asl20;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index 89b0d56a4016..de35a06d6d47 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "2.0.2";
+  version = "3.1.0";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pip-tools/${name}.tar.gz";
-    sha256 = "f11fc3bf1d87a0b4a68d4d595f619814e2396e92d75d7bdd2500edbf002ea6de";
+    sha256 = "0w1qdkr5n612nb3b890mbdyjb3cxn2mna1c7ysr4d0x4nh1wmkmi";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/pycares/default.nix b/pkgs/development/python-modules/pycares/default.nix
index bf863fae57b9..4755bf908fda 100644
--- a/pkgs/development/python-modules/pycares/default.nix
+++ b/pkgs/development/python-modules/pycares/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pycares";
-  version = "1.0.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a18341ea030e2cc0743acdf4aa72302bdf6b820938b36ce4bd76e43faa2276a3";
+    sha256 = "0h4fxw5drrhfyslzmfpljk0qnnpbhhb20hnnndzahhbwylyw1x1n";
   };
 
   propagatedBuildInputs = [ pkgs.c-ares ];
diff --git a/pkgs/development/python-modules/pyramid_multiauth/default.nix b/pkgs/development/python-modules/pyramid_multiauth/default.nix
index 7130e8b499f3..7c01e3e093bd 100644
--- a/pkgs/development/python-modules/pyramid_multiauth/default.nix
+++ b/pkgs/development/python-modules/pyramid_multiauth/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyramid_multiauth";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lq292qakrm4ixi4vaif8dqywzj08pn6qy0wi4gw28blh39p0msk";
+    sha256 = "0lprqjyg3zcji6033p1l3s4nigjigc5423wgivkfhz46vq0jmniy";
   };
 
   propagatedBuildInputs = [ pyramid ];
diff --git a/pkgs/development/python-modules/pyro/default.nix b/pkgs/development/python-modules/pyro/default.nix
deleted file mode 100644
index 3a74a1fe6fa7..000000000000
--- a/pkgs/development/python-modules/pyro/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, buildPythonPackage, isPy3k }:
-
-buildPythonPackage rec {
-  pname = "Pyro";
-  version = "3.16";
-  name = pname + "-" + version;
-
-  disabled = isPy3k;
-
-  src = fetchurl {
-    url = "mirror://pypi/P/Pyro/${name}.tar.gz";
-    sha256 = "1bed508453ef7a7556b51424a58101af2349b662baab7e7331c5cb85dbe7e578";
-  };
-
-  meta = with stdenv.lib; {
-    description = "Distributed object middleware for Python (IPC/RPC)";
-    homepage = https://pythonhosted.org/Pyro/;
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ bjornfor ];
-  };
-}
diff --git a/pkgs/development/python-modules/pyro4/default.nix b/pkgs/development/python-modules/pyro4/default.nix
new file mode 100644
index 000000000000..df8df2cb93ca
--- /dev/null
+++ b/pkgs/development/python-modules/pyro4/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, lib
+, python
+, serpent
+, dill
+, cloudpickle
+, msgpack
+, isPy27
+, isPy33
+, selectors34
+}:
+
+buildPythonPackage rec {
+
+  name = "${pname}-${version}";
+  pname = "Pyro4";
+  version = "4.74";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "89ed7b12c162e5124f322f992f9506c44f5e1a379926cf01ee73ef810d3bf75f";
+  };
+
+  propagatedBuildInputs = [
+    serpent
+  ] ++ lib.optionals (isPy27 || isPy33) [ selectors34 ];
+
+  buildInputs = [
+    dill
+    cloudpickle
+    msgpack
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} setup.py test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Distributed object middleware for Python (RPC)";
+    homepage = https://github.com/irmen/Pyro4;
+    license = licenses.mit;
+    maintainers = with maintainers; [ prusnak ];
+    };
+}
diff --git a/pkgs/development/python-modules/python-packer/default.nix b/pkgs/development/python-modules/python-packer/default.nix
index 3f0c1f8138f9..ff3d28b47466 100644
--- a/pkgs/development/python-modules/python-packer/default.nix
+++ b/pkgs/development/python-modules/python-packer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, sh }:
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, sh }:
 
 buildPythonPackage rec {
   pname = "python-packer";
@@ -9,6 +9,12 @@ buildPythonPackage rec {
     sha256 = "fd363dae9bd2efd447739bbf7a4f29c1e4741596ae7b02d252fe525b2b4176e7";
   };
 
+  patches = fetchpatch {
+    url = "${meta.homepage}/commit/de3421bf13bf7c3ec11fe0a381f0944e102b1d97.patch";
+    excludes = [ "dev-requirements.txt" ];
+    sha256 = "0rgmkyn7i6y1xs8m75dpl8hq7j2ns2s3dvp7kv9j4zwic93rrlsc";
+  };
+
   propagatedBuildInputs = [ sh ];
   
   # Tests requires network connections
diff --git a/pkgs/development/python-modules/requests_download/default.nix b/pkgs/development/python-modules/requests_download/default.nix
index 6d1264dee67e..8062834e1803 100644
--- a/pkgs/development/python-modules/requests_download/default.nix
+++ b/pkgs/development/python-modules/requests_download/default.nix
@@ -6,18 +6,18 @@
 
 buildPythonPackage rec {
   pname = "requests_download";
-  version = "0.1.1";
+  version = "0.1.2";
 
   format = "wheel";
 
   #src = pkgs.fetchurl {
-  #  url = https://files.pythonhosted.org/packages/60/af/10f899f0574a81cbc511124c08d7c7dc46c20d4f956a6a3c793ad4330bb4/requests_download-0.1.1-py2.py3-none-any.whl;
-  #  sha256 = "07832a93314bcd619aaeb08611ae245728e66672efb930bc2a300a115a47dab7";
+  #  url = https://files.pythonhosted.org/packages/60/af/10f899f0574a81cbc511124c08d7c7dc46c20d4f956a6a3c793ad4330bb4/requests_download-0.1.2-py2.py3-none-any.whl;
+  #  sha256 = "1ballx1hljpdpyvqzqn79m0dc21z2smrnxk2ylb6dbpg5crrskcr";
   #};
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "07832a93314bcd619aaeb08611ae245728e66672efb930bc2a300a115a47dab7";
+    sha256 = "1ballx1hljpdpyvqzqn79m0dc21z2smrnxk2ylb6dbpg5crrskcr";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/selectors34/default.nix b/pkgs/development/python-modules/selectors34/default.nix
new file mode 100644
index 000000000000..76f6232bafa7
--- /dev/null
+++ b/pkgs/development/python-modules/selectors34/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, lib
+, python
+, six
+}:
+
+buildPythonPackage rec {
+
+  name = "${pname}-${version}";
+  pname = "selectors34";
+  version = "1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkPhase = ''
+    ${python.interpreter} setup.py test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A backport of the selectors module from Python 3.4";
+    homepage = https://github.com/berkerpeksag/selectors34;
+    license = licenses.psfl;
+    maintainers = with maintainers; [ prusnak ];
+    };
+}
diff --git a/pkgs/development/python-modules/serpent/default.nix b/pkgs/development/python-modules/serpent/default.nix
new file mode 100644
index 000000000000..5ea59eb6a2a3
--- /dev/null
+++ b/pkgs/development/python-modules/serpent/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, lib
+, python
+, isPy27
+, isPy33
+, enum34
+}:
+
+buildPythonPackage rec {
+
+  name = "${pname}-${version}";
+  pname = "serpent";
+  version = "1.27";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6f8dc4317fb5b5a9629b5e518846bc9fee374b8171533726dc68df52b36ee912";
+  };
+
+  propagatedBuildInputs = lib.optionals (isPy27 || isPy33) [ enum34 ];
+
+  checkPhase = ''
+    ${python.interpreter} setup.py test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple serialization library based on ast.literal_eval";
+    homepage = https://github.com/irmen/Serpent;
+    license = licenses.mit;
+    maintainers = with maintainers; [ prusnak ];
+    };
+}
diff --git a/pkgs/development/python-modules/sh/default.nix b/pkgs/development/python-modules/sh/default.nix
new file mode 100644
index 000000000000..37388bf46900
--- /dev/null
+++ b/pkgs/development/python-modules/sh/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, coverage }:
+
+buildPythonPackage rec {
+  pname = "sh";
+  version = "1.12.14";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1z2hx357xp3v4cv44xmqp7lli3frndqpyfmpbxf7n76h7s1zaaxm";
+  };
+
+  checkInputs = [ coverage ];
+
+  # A test needs the HOME directory to be different from $TMPDIR.
+  preCheck = ''
+    HOME=$(mktemp -d)
+  '';
+
+  meta = {
+    description = "Python subprocess interface";
+    homepage = https://pypi.python.org/pypi/sh/;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix
index f902ca58c384..415457b86e16 100644
--- a/pkgs/development/ruby-modules/bundled-common/default.nix
+++ b/pkgs/development/ruby-modules/bundled-common/default.nix
@@ -19,6 +19,7 @@
 , meta ? {}
 , groups ? ["default"]
 , ignoreCollisions ? false
+, buildInputs ? []
 , ...
 }@args:
 
@@ -96,7 +97,7 @@ let
   envPaths = lib.attrValues gems ++ lib.optional (!hasBundler) bundler;
 
   basicEnv = buildEnv {
-    inherit  ignoreCollisions;
+    inherit buildInputs ignoreCollisions;
 
     name = name';
 
diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix
index c8f61389ad3f..60e3a38517ce 100644
--- a/pkgs/development/ruby-modules/bundler-app/default.nix
+++ b/pkgs/development/ruby-modules/bundler-app/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, callPackage, runCommand, ruby }@defs:
+{ lib, stdenv, callPackage, runCommand, makeWrapper, ruby }@defs:
 
 # Use for simple installation of Ruby tools shipped in a Gem.
 # Start with a Gemfile that includes `gem <toolgem>`
@@ -24,7 +24,9 @@
 , gemset ? null
 , preferLocalBuild ? false
 , allowSubstitutes ? false
+, installManpages ? true
 , meta ? {}
+, buildInputs ? []
 , postBuild ? ""
 , gemConfig ? null
 }@args:
@@ -32,18 +34,29 @@
 let
   basicEnv = (callPackage ../bundled-common {}) args;
 
-  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" ]
-  // { inherit preferLocalBuild allowSubstitutes; }; # pass the defaults
+  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" ] // {
+    inherit preferLocalBuild allowSubstitutes; # pass the defaults
+
+    buildInputs = buildInputs ++ lib.optional (scripts != []) makeWrapper;
+  };
 in
-   runCommand basicEnv.name cmdArgs ''
-    mkdir -p $out/bin;
-      ${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)}
-      ${(lib.concatMapStrings (s: "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " +
-              "--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+
-              "--set BUNDLE_PATH ${basicEnv}/${ruby.gemPath} "+
-              "--set BUNDLE_FROZEN 1 "+
-              "--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+
-              "--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+
-              "--run \"cd $srcdir\";\n") scripts)}
+  runCommand basicEnv.name cmdArgs ''
+    mkdir -p $out/bin
+    ${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)}
+    ${(lib.concatMapStrings (s: "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " +
+                                "--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+
+                                "--set BUNDLE_PATH ${basicEnv}/${ruby.gemPath} "+
+                                "--set BUNDLE_FROZEN 1 "+
+                                "--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+
+                                "--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+
+                                "--run \"cd $srcdir\";\n") scripts)}
+
+    ${lib.optionalString installManpages ''
+    for section in {1..9}; do
+      mandir="$out/share/man/man$section"
+      find -L ${basicEnv}/${ruby.gemPath}/gems/${basicEnv.name} \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) -print -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \;
+    done
+    ''}
+
     ${postBuild}
   ''
diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix
index d00ce7fccf5c..b0abb2c54fc5 100644
--- a/pkgs/development/ruby-modules/gem/default.nix
+++ b/pkgs/development/ruby-modules/gem/default.nix
@@ -44,6 +44,7 @@ lib.makeOverridable (
 # git checkout).
 # If you need to apply patches, make sure to set `dontBuild = false`;
 , dontBuild ? true
+, dontInstallManpages ? false
 , propagatedBuildInputs ? []
 , propagatedUserEnvPkgs ? []
 , buildFlags ? []
@@ -206,6 +207,14 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // {
     ruby ${./gem-post-build.rb} "$spec"
     ''}
 
+    ${lib.optionalString (!dontInstallManpages) ''
+    for section in {1..9}; do
+      mandir="$out/share/man/man$section"
+      find $out/lib \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) \
+        -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \;
+    done
+    ''}
+
     runHook postInstall
   '';
 
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 5a095c8b6a0e..2f82c1ee66ad 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "1.84";
+  version = "1.85";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "1rp8j0akxzcpvr2na5zchz8zxq5ldngiwj7f6sibjq5p3dcyn2w5";
+    sha256 = "1xjc0gna9hrqc6liyzkzkr2naapj5bldzad8qdxcjgqz5yd6rb7i";
   };
 
   buildInputs = [ pcre ];
diff --git a/pkgs/development/tools/gron/default.nix b/pkgs/development/tools/gron/default.nix
index 14c8f53a3944..ebe76197ef4e 100644
--- a/pkgs/development/tools/gron/default.nix
+++ b/pkgs/development/tools/gron/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gron-${version}";
-  version = "0.5.2";
+  version = "0.6.0";
 
   owner = "tomnomnom";
   repo = "gron";
@@ -11,7 +11,7 @@ buildGoPackage rec {
   src = fetchFromGitHub {
     inherit owner repo;
     rev = "v${version}";
-    sha256 = "0nxcvih8n5a4f0a53dxaipab5ckqxgnsznzymhfw5kv4inr9v6j6";
+    sha256 = "05f3w4zr15wd7xk75l12y5kip4gnv719a2x9w2hy23q3pnss9wk0";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/gron/deps.nix b/pkgs/development/tools/gron/deps.nix
index c5b1feb888ae..effc255d877e 100644
--- a/pkgs/development/tools/gron/deps.nix
+++ b/pkgs/development/tools/gron/deps.nix
@@ -6,8 +6,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/${owner}/${repo}";
-      rev = "v1.6.0";
-      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
     };
   }
   rec {
@@ -32,4 +32,26 @@
       sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
     };
   }
+  rec {
+    owner = "mattn";
+    repo = "go-colorable";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "v0.0.9";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+  rec {
+    owner = "mattn";
+    repo = "go-isatty";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "v0.0.4";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
 ]
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index c11e6f15ce96..1a421cc47ed6 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.2";
+  version = "2.6.3";
   name = "jbake-${version}";
 
   src = fetchzip {
     url = "https://dl.bintray.com/jbake/binary/${name}-bin.zip";
-    sha256 = "1q96z0pvkqgb4194m52z89q56cbc0g3faflyfpy55z099f655rx9";
+    sha256 = "000ax5vzirrhiykk86fmy4hibhl3pab0gkh5y35hiwhzhw5rwzk8";
   };
 
   buildInputs = [ makeWrapper jre ];
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index d74b480c9c5a..c15970d3f3e6 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -3,7 +3,7 @@
 assert stdenv.lib.versionAtLeast ocaml.version "4.02";
 
 let
-  version = "3.2.1";
+  version = "3.2.2";
 in
 
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://github.com/ocaml/merlin/archive/v${version}.tar.gz";
-    sha256 = "1szv2b7d12ll5n6pvnhlv3a6vnlyrkpya4l9fiyyiwyvgd4xzxwf";
+    sha256 = "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb";
   };
 
   buildInputs = [ ocaml findlib dune yojson ];
diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix
new file mode 100644
index 000000000000..bd8a013fe2d0
--- /dev/null
+++ b/pkgs/development/tools/scalafix/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, jdk, jre, coursier, makeWrapper }:
+
+let
+  baseName = "scalafix";
+  version = "0.9.0";
+  deps = stdenv.mkDerivation {
+    name = "${baseName}-deps-${version}";
+    buildCommand = ''
+      export COURSIER_CACHE=$(pwd)
+      ${coursier}/bin/coursier fetch ch.epfl.scala:scalafix-cli_2.12.7:${version} > deps
+      mkdir -p $out/share/java
+      cp $(< deps) $out/share/java/
+    '';
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash     = "19j260prx7k010nxyvc1m9jj1ncxr73m2cym7if39360v5dc05c0";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
+
+  buildInputs = [ jdk makeWrapper deps ];
+
+  doCheck = true;
+
+  phases = [ "installPhase" "checkPhase" ];
+
+  installPhase = ''
+    makeWrapper ${jre}/bin/java $out/bin/${baseName} \
+      --add-flags "-cp $CLASSPATH scalafix.cli.Cli"
+  '';
+
+  checkPhase = ''
+    $out/bin/${baseName} --version | grep -q "${version}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Refactoring and linting tool for Scala";
+    homepage = https://scalacenter.github.io/scalafix/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.tomahna ];
+  };
+}