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/cudatoolkit/default.nix13
-rw-r--r--pkgs/development/compilers/haxe/default.nix4
-rw-r--r--pkgs/development/compilers/julia/0.6.nix188
-rw-r--r--pkgs/development/libraries/aspell/aspell-with-dicts.nix37
-rw-r--r--pkgs/development/libraries/cdo/default.nix8
-rw-r--r--pkgs/development/libraries/cppunit/default.nix11
-rw-r--r--pkgs/development/libraries/gd/default.nix4
-rw-r--r--pkgs/development/libraries/gperftools/default.nix2
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--pkgs/development/libraries/opencollada/default.nix11
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix4
-rw-r--r--pkgs/development/libraries/tcllib/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix14
-rw-r--r--pkgs/development/python-modules/backports_csv/default.nix21
-rw-r--r--pkgs/development/python-modules/cccolutils/default.nix22
-rw-r--r--pkgs/development/python-modules/discogs_client/default.nix20
-rw-r--r--pkgs/development/python-modules/fedpkg/default.nix26
-rw-r--r--pkgs/development/python-modules/internetarchive/default.nix48
-rw-r--r--pkgs/development/python-modules/interruptingcow/default.nix18
-rw-r--r--pkgs/development/python-modules/koji/default.nix12
-rw-r--r--pkgs/development/python-modules/marionette-harness/default.nix2
-rw-r--r--pkgs/development/python-modules/marionette-harness/marionette_driver.nix2
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix19
-rw-r--r--pkgs/development/python-modules/mpi4py/tests.patch13
-rw-r--r--pkgs/development/python-modules/openidc-client/default.nix22
-rw-r--r--pkgs/development/python-modules/python_fedora/default.nix23
-rw-r--r--pkgs/development/python-modules/rpkg-buildfix.diff11
-rw-r--r--pkgs/development/python-modules/rpkg/default.nix28
-rw-r--r--pkgs/development/python-modules/rpmfluff/default.nix20
-rw-r--r--pkgs/development/python-modules/schema/default.nix21
-rw-r--r--pkgs/development/python-modules/trollius/default.nix49
-rw-r--r--pkgs/development/python-modules/trollius/tests.patch13
-rw-r--r--pkgs/development/python-modules/urlgrabber/default.nix24
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix10
-rw-r--r--pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch37
-rw-r--r--pkgs/development/tools/gocode/default.nix6
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix4
38 files changed, 661 insertions, 118 deletions
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index 0b219b804471..f6e52a59fe59 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -22,7 +22,7 @@ let
           }
         else throw "cudatoolkit does not support platform ${stdenv.system}";
 
-      outputs = [ "out" "doc" ];
+      outputs = [ "out" "lib" "doc" ];
 
       buildInputs = [ perl ];
 
@@ -51,7 +51,11 @@ let
             patchelf \
               --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
           fi
-          rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
+          if [[ $i =~ libcudart ]]; then
+            rpath2=
+          else
+            rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
+          fi
           patchelf --set-rpath $rpath2 --force-rpath $i
         done < <(find . -type f -print0)
       '';
@@ -80,6 +84,11 @@ let
         mkdir -p $out/nix-support
         echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
 
+        # Move some libraries to the lib output so that programs that
+        # depend on them don't pull in this entire monstrosity.
+        mkdir -p $lib/lib
+        mv -v $out/lib64/libcudart* $lib/lib/
+
         # Remove OpenCL libraries as they are provided by ocl-icd and driver.
         rm -f $out/lib64/libOpenCL*
 
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index ca41545eb451..a937b42c4b59 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -72,8 +72,8 @@ in {
     '';
   };
   haxe_3_4 = generic {
-    version = "3.4.2";
-    sha256 = "1m5fp183agqv8h3ynhxw4kndkpq2d6arysmirv3zl3vz5crmpwqd";
+    version = "3.4.3";
+    sha256 = "1rrbrc81pilq0d691kp22yjwvvg0kw7q9b9npdghga2ks0hzpr02";
     prePatch = ''
       sed -i -e 's|"/usr/lib/haxe/std/";|"'"$out/lib/haxe/std/"'";\n&|g' src/main.ml
       sed -i -e 's|"neko"|"${neko}/bin/neko"|g' extra/haxelib_src/src/haxelib/client/Main.hx
diff --git a/pkgs/development/compilers/julia/0.6.nix b/pkgs/development/compilers/julia/0.6.nix
new file mode 100644
index 000000000000..9d9f0229e56b
--- /dev/null
+++ b/pkgs/development/compilers/julia/0.6.nix
@@ -0,0 +1,188 @@
+{ stdenv, fetchgit, fetchurl, fetchzip
+# build tools
+, gfortran, m4, makeWrapper, patchelf, perl, which, python2
+, runCommand
+, paxctl
+# libjulia dependencies
+, libunwind, readline, utf8proc, zlib
+, llvm, libffi, ncurses
+# standard library dependencies
+, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
+# linear algebra
+, openblas, arpack, suitesparse
+# Darwin frameworks
+, CoreServices, ApplicationServices
+}:
+
+with stdenv.lib;
+
+# All dependencies must use the same OpenBLAS.
+let
+  arpack_ = arpack;
+  suitesparse_ = suitesparse;
+in
+let
+  arpack = arpack_.override { inherit openblas; };
+  suitesparse = suitesparse_.override { inherit openblas; };
+in
+
+let
+  dsfmtVersion = "2.2.3";
+  dsfmt = fetchurl {
+    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz";
+    sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
+  };
+
+  libuvVersion = "52d72a52cc7ccd570929990f010ed16e2ec604c8";
+  libuv = fetchurl {
+    url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
+    sha256 = "1vldy94sfmlfqmi14126g590wi61fv78rzh7afk82zkipaixvak8";
+  };
+
+  rmathVersion = "0.1";
+  rmath-julia = fetchurl {
+    url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
+    sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
+  };
+  
+  virtualenvVersion = "15.0.0";
+  virtualenv = fetchurl {
+    url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
+    sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
+  };
+in
+
+stdenv.mkDerivation rec {
+  pname = "julia";
+  version = "0.6.0";
+  name = "${pname}-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "19xk2cs43lnsy9y0d8wmxj7ich908ipb40vkf7xg9031x272brxw";
+  };
+  prePatch = ''
+    mkdir deps/srccache
+    cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz"
+    cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz"
+    cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz"
+    cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz"
+  '';
+
+  patches = [
+    ./0001.1-use-system-utf8proc.patch
+    ./0002-use-system-suitesparse.patch
+  ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
+
+  postPatch = ''
+    patchShebangs . contrib
+    for i in backtrace replutil cmdlineargs compile; do
+      mv test/$i.jl{,.off}
+      touch test/$i.jl
+    done
+  '';
+
+  buildInputs = [
+    arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
+    pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
+    zlib llvm
+  ]
+  ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
+  ;
+
+  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
+    ++ stdenv.lib.optional stdenv.needsPax paxctl;
+
+  makeFlags =
+    let
+      arch = head (splitString "-" stdenv.system);
+      march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
+              or (throw "unsupported architecture: ${arch}");
+      # Julia requires Pentium 4 (SSE2) or better
+      cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
+                  or (throw "unsupported architecture: ${arch}");
+    in [
+      "ARCH=${arch}"
+      "MARCH=${march}"
+      "JULIA_CPU_TARGET=${cpuTarget}"
+      "PREFIX=$(out)"
+      "prefix=$(out)"
+      "SHELL=${stdenv.shell}"
+
+      "USE_SYSTEM_BLAS=1"
+      "USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
+      "LIBBLAS=-lopenblas"
+      "LIBBLASNAME=libopenblas"
+
+      "USE_SYSTEM_LAPACK=1"
+      "LIBLAPACK=-lopenblas"
+      "LIBLAPACKNAME=libopenblas"
+
+      "USE_SYSTEM_SUITESPARSE=1"
+      "SUITESPARSE_LIB=-lsuitesparse"
+      "SUITESPARSE_INC=-I${suitesparse}/include"
+
+      "USE_SYSTEM_ARPACK=1"
+      "USE_SYSTEM_FFTW=1"
+      "USE_SYSTEM_GMP=1"
+      "USE_SYSTEM_LIBGIT2=1"
+      "USE_SYSTEM_LIBUNWIND=1"
+      
+      "USE_SYSTEM_LLVM=1"
+      "LLVM_VER=3.9.1"
+
+      "USE_SYSTEM_MPFR=1"
+      "USE_SYSTEM_OPENLIBM=1"
+      "USE_SYSTEM_OPENSPECFUN=1"
+      "USE_SYSTEM_PATCHELF=1"
+      "USE_SYSTEM_PCRE=1"
+      "PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
+      "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
+      "USE_SYSTEM_READLINE=1"
+      "USE_SYSTEM_UTF8PROC=1"
+      "USE_SYSTEM_ZLIB=1"
+    ];
+
+  NIX_CFLAGS_COMPILE = [ "-fPIC" ];
+
+  LD_LIBRARY_PATH = makeLibraryPath [
+    arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
+    openspecfun pcre2 suitesparse llvm
+  ];
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  enableParallelBuilding = true;
+
+  doCheck = !stdenv.isDarwin;
+  checkTarget = "testall";
+  # Julia's tests require read/write access to $HOME
+  preCheck = ''
+    export HOME="$NIX_BUILD_TOP"
+    set
+  '';
+
+  preBuild = ''
+    sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
+    sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
+  '';
+
+  postInstall = ''
+    for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
+        wrapProgram "$prog" \
+            --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:$out/lib/julia" \
+            --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
+    done
+  '';
+
+  meta = {
+    description = "High-level performance-oriented dynamical language for technical computing";
+    homepage = https://julialang.org/;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ raskin ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    broken = stdenv.isi686;
+  };
+}
diff --git a/pkgs/development/libraries/aspell/aspell-with-dicts.nix b/pkgs/development/libraries/aspell/aspell-with-dicts.nix
index 96acfe6c2a88..0739ad333df3 100644
--- a/pkgs/development/libraries/aspell/aspell-with-dicts.nix
+++ b/pkgs/development/libraries/aspell/aspell-with-dicts.nix
@@ -4,8 +4,7 @@
 { aspell
 , aspellDicts
 , makeWrapper
-, symlinkJoin
-, runCommand
+, buildEnv
 }:
 
 f:
@@ -14,22 +13,20 @@ let
   # Dictionaries we want
   dicts = f aspellDicts;
 
-  # A tree containing the dictionaries
-  dictEnv = symlinkJoin {
-    name = "aspell-dicts";
-    paths = dicts;
-  };
-
-in runCommand "aspell-env" {
+in buildEnv {
+  name = "aspell-env";
   buildInputs = [ makeWrapper ];
-} ''
-  # Construct wrappers in /bin
-  mkdir -p $out/bin
-  pushd "${aspell}/bin"
-  for prg in *; do
-    if [ -f "$prg" ]; then
-      makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir ${dictEnv}/lib/aspell"
-    fi
-  done
-  popd
-''
+  paths = [ aspell ] ++ dicts;
+  postBuild = ''
+    # Construct wrappers in /bin
+    unlink "$out/bin"
+    mkdir -p "$out/bin"
+    pushd "${aspell}/bin"
+    for prg in *; do
+      if [ -f "$prg" ]; then
+        makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir $out/lib/aspell"
+      fi
+    done
+    popd
+  '';
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/cdo/default.nix b/pkgs/development/libraries/cdo/default.nix
index b7768a3d2455..af69e23ca1f4 100644
--- a/pkgs/development/libraries/cdo/default.nix
+++ b/pkgs/development/libraries/cdo/default.nix
@@ -5,15 +5,15 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.7.2";
+  version = "1.9.0";
   name = "cdo-${version}";
 
   # Dependencies
   buildInputs = [ curl netcdf hdf5 ];
 
   src = fetchurl {
-    url = "https://code.zmaw.de/attachments/download/12760/${name}.tar.gz";
-    sha256 = "4c43eba7a95f77457bfe0d30fb82382b3b5f2b0cf90aca6f0f0a008f6cc7e697";
+    url = "https://code.mpimet.mpg.de/attachments/download/15187/${name}.tar.gz";
+    sha256 = "024hsr6qfg2dicwvm0vvkg3fr998bchf0qgwpj2v0jmz7a67ydnz";
   };
 
  # Configure phase
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       Supported data formats are GRIB 1/2, netCDF 3/4, SERVICE, EXTRA and IEG.
       There are more than 600 operators available.
     '';
-    homepage = https://code.zmaw.de/projects/cdo/;
+    homepage = https://code.mpimet.mpg.de/projects/cdo/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.ltavard ];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
diff --git a/pkgs/development/libraries/cppunit/default.nix b/pkgs/development/libraries/cppunit/default.nix
index 8d2c4bb7dd38..7b48ffcaccf8 100644
--- a/pkgs/development/libraries/cppunit/default.nix
+++ b/pkgs/development/libraries/cppunit/default.nix
@@ -1,15 +1,16 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "cppunit-1.13.2";
+stdenv.mkDerivation rec {
+  name = "cppunit-${version}";
+  version = "1.14.0";
 
   src = fetchurl {
-    url = http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz;
-    sha256 = "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.gz";
+    sha256 = "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix";
   };
 
   meta = {
-    homepage = https://sourceforge.net/apps/mediawiki/cppunit/;
+    homepage = https://freedesktop.org/wiki/Software/cppunit/;
     description = "C++ unit testing framework";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix
index c87e344ae558..77fe948e003a 100644
--- a/pkgs/development/libraries/gd/default.nix
+++ b/pkgs/development/libraries/gd/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   name = "gd-${version}";
-  version = "2.2.4";
+  version = "2.2.5";
 
   src = fetchurl {
     url = "https://github.com/libgd/libgd/releases/download/${name}/libgd-${version}.tar.xz";
-    sha256 = "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk";
+    sha256 = "0lfy5f241sbv8s3splm2zqiaxv7lxrcshh875xryryk7yk5jqc4c";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 47c6134dd201..e6d1fd3b6403 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     substituteInPlace libtool --replace stdc++ c++
   '';
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isDarwin "-D_XOPEN_SOURCE";
+
   # some packages want to link to the static tcmalloc_minimal
   # to drop the runtime dependency on gperftools
   dontDisableStatic = true;
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 89230fab6581..7845143ebeb5 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,14 +2,14 @@
 
 let
   ver_maj = "3.22";
-  ver_min = "0";
+  ver_min = "2";
 in
 stdenv.mkDerivation rec {
   name = "gtkmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5";
+    sha256 = "91afd98a31519536f5f397c2d79696e3d53143b80b75778521ca7b48cb280090";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
index eaa90efc1319..160599837c55 100644
--- a/pkgs/development/libraries/opencollada/default.nix
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -1,16 +1,15 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkgconfig, libxml2, pcre }:
 
-# The exact revision specified by Blender's install_deps.sh script.
-let rev = "3335ac164e68b2512a40914b14c74db260e6ff7d"; in
+stdenv.mkDerivation rec {
+  name = "opencollada-${version}";
 
-stdenv.mkDerivation {
-  name = "opencollada-1.3-${rev}";
+  version = "1.6.59";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCOLLADA";
-    inherit rev;
-    sha256 = "0s2m8crbg1kf09hpscrplv65a45dlg157b9c20chrv7wy0qizbw5";
+    rev = "v${version}";
+    sha256 = "0gpjvzcfyilb96x5ywajxgkw42ipwp4my36z9cq686bd9vpp3q0g";
   };
 
   buildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index e91fd0e60ffd..ef979996a475 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu
+{ lib, stdenv, stdenv_gcc5, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu
 , mesa_noglu, glew, ocl-icd, python3
 , cudaSupport ? false, cudatoolkit
 }:
 
-stdenv.mkDerivation rec {
+(if cudaSupport then stdenv_gcc5 else stdenv).mkDerivation rec {
   name = "opensubdiv-${version}";
   version = "3.2.0";
 
diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix
index e0354bf01ebd..75b811df30c3 100644
--- a/pkgs/development/libraries/tcllib/default.nix
+++ b/pkgs/development/libraries/tcllib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "tcllib-${version}";
-  version = "1.15";
+  version = "1.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
-    sha256 = "1zdzaqdpxljsaabgknq3paakgs262qy255ib4p329knsv608jc3d";
+    sha256 = "05dmrk9qsryah2n17z6z85dj9l9lfyvnsd7faw0p9bs1pp5pwrkj";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 468ab25fb11e..c64970f8f86e 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -1,21 +1,25 @@
 { stdenv, fetchurl, libxml2, gnutls, libxslt, pkgconfig, libgcrypt, libtool
-, openssl, makeWrapper }:
+, openssl, nss, makeWrapper }:
 
 let
-  version = "1.2.23";
+  version = "1.2.25";
 in
 stdenv.mkDerivation rec {
   name = "xmlsec-${version}";
 
   src = fetchurl {
     url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "17qfw5crkqn4v6xbkjxrjvcccfc00dy053892wrwv54qdk8n7m21";
+    sha256 = "1lpwj8dxwhha54sby0v5axjk79h56jnhjjiwiasbbk15vwzahz4n";
   };
 
-  buildInputs = [ makeWrapper libxml2 gnutls libxslt pkgconfig libgcrypt libtool openssl ];
+  buildInputs = [ makeWrapper libxml2 gnutls libxslt pkgconfig libgcrypt libtool openssl nss ];
   enableParallelBuilding = true;
   doCheck = true;
 
+  # enable deprecated soap headers required by lasso
+  # https://dev.entrouvert.org/issues/18771
+  configureFlags = [ "--enable-soap" ];
+
   # otherwise libxmlsec1-gnutls.so won't find libgcrypt.so, after #909
   NIX_LDFLAGS = [ "-lgcrypt" ];
 
@@ -25,8 +29,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.aleksey.com/xmlsec;
+    downloadPage = https://www.aleksey.com/xmlsec/download.html;
     description = "XML Security Library in C based on libxml2";
     license = stdenv.lib.licenses.mit;
     platforms = with stdenv.lib.platforms; linux ++ darwin;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/development/python-modules/backports_csv/default.nix b/pkgs/development/python-modules/backports_csv/default.nix
new file mode 100644
index 000000000000..5f2e90e50b8d
--- /dev/null
+++ b/pkgs/development/python-modules/backports_csv/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, future }:
+
+buildPythonPackage rec {
+
+  pname = "backports.csv";
+  version = "1.0.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1imzbrradkfn8s2m1qcimyn74dn1mz2p3j381jljn166rf2i6hlc";
+  };
+
+  propogatedBuildInputs = [ future ];
+
+  meta = with stdenv.lib; {
+    description = "Backport of Python 3 csv module";
+    homepage = https://github.com/ryanhiebert;
+    license = licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/cccolutils/default.nix b/pkgs/development/python-modules/cccolutils/default.nix
new file mode 100644
index 000000000000..edf7f0596c5f
--- /dev/null
+++ b/pkgs/development/python-modules/cccolutils/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, krb5Full, nose, GitPython, mock, git }:
+
+buildPythonPackage rec {
+  pname = "CCColUtils";
+  version = "1.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gwcq4xan9as1j3q9k2zqrywxp46qx0ljwxbck9id2fvilds6ck3";
+  };
+  buildInputs = [ krb5Full ];
+  propagatedBuildInputs = [ nose GitPython mock git ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python Kerberos 5 Credential Cache Collection Utilities";
+    homepage = https://pagure.io/cccolutils;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ disassembler ];
+  };
+}
diff --git a/pkgs/development/python-modules/discogs_client/default.nix b/pkgs/development/python-modules/discogs_client/default.nix
new file mode 100644
index 000000000000..d6891b0e157f
--- /dev/null
+++ b/pkgs/development/python-modules/discogs_client/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests, oauthlib }:
+
+buildPythonPackage rec {
+  pname = "discogs-client";
+  version = "2.2.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1kjm4zyxlkv8cjyd4zl0yslbkmfz4ga9nm3d2glpw3nmvmvajn40";
+  };
+
+  propagatedBuildInputs = [ requests oauthlib ];
+
+  meta = with stdenv.lib; {
+    description = "Official Python API client for Discogs";
+    license = licenses.bsd2;
+    homepage = "https://github.com/discogs/discogs_client";
+  };
+}
diff --git a/pkgs/development/python-modules/fedpkg/default.nix b/pkgs/development/python-modules/fedpkg/default.nix
new file mode 100644
index 000000000000..c3aeed0abbeb
--- /dev/null
+++ b/pkgs/development/python-modules/fedpkg/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchurl, rpkg, offtrac, urlgrabber }:
+
+buildPythonPackage rec {
+  pname = "fedpkg";
+  version = "1.29";
+  name  = "${pname}-${version}";
+
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/fedpkg/${name}.tar.bz2";
+    sha256 = "1cpy5p1rp7w52ighz3ynvhyw04z86y8phq3n8563lj6ayr8pw631";
+  };
+
+  #patches = [ ../development/python-modules/fedpkg-buildfix.diff ];
+  propagatedBuildInputs = [ rpkg offtrac urlgrabber ];
+
+  doCheck = false; # requires fedora_cert which isn't used anymore
+
+  meta = with stdenv.lib; {
+    description = "Subclass of the rpkg project for dealing with rpm packaging";
+    homepage = https://pagure.io/fedpkg;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ mornfall ];
+  };
+}
diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix
new file mode 100644
index 000000000000..ff077bd1b01e
--- /dev/null
+++ b/pkgs/development/python-modules/internetarchive/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, six, clint, pyyaml, docopt
+, requests, jsonpatch, args, schema, responses, backports_csv }:
+
+buildPythonPackage rec {
+
+  pname = "internetarchive";
+  version = "1.7.2";
+  name = "${pname}-${version}";
+
+  # Can't use pypi, data files for tests missing
+  src = fetchFromGitHub {
+    owner = "jjjake";
+    repo = "internetarchive";
+    rev = "v${version}";
+    sha256 = "1cijagy22qi8ydrvizqmi1whnc3qr94yk0910lwgpxjywcygggir";
+  };
+    # It is hardcoded to specific versions, I don't know why.
+    preConfigure = ''
+        sed "s/schema>=.*/schema>=0.4.0',/" -i setup.py
+        sed "/backports.csv/d" -i setup.py
+    '';
+
+    #phases = [ "unpackPhase" "configurePhase" "installPhase" "fixupPhase" "installCheckPhase" ];
+    buildInputs = [ pytest responses ];
+    propagatedBuildInputs = [
+      six
+      clint
+      pyyaml
+      docopt
+      requests
+      jsonpatch
+      args
+      schema
+      backports_csv
+    ];
+
+    # Tests disabled because ia binary doesn't exist when tests run
+    doCheck = false;
+
+    checkPhase = "pytest tests";
+
+
+  meta = with stdenv.lib; {
+      description = "A python wrapper for the various Internet Archive APIs";
+    homepage = https://github.com/jjjake/internetarchive;
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/interruptingcow/default.nix b/pkgs/development/python-modules/interruptingcow/default.nix
new file mode 100644
index 000000000000..24a9abb625ff
--- /dev/null
+++ b/pkgs/development/python-modules/interruptingcow/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+buildPythonPackage rec {
+  pname = "interruptingcow";
+  version = "0.7";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0j6d0rbh8xjfw7bf8vcjld6q45i7vr9xsw5b9q6j87nhf4qhzx53";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A watchdog that interrupts long running code";
+    homepage = https://bitbucket.org/evzijst/interruptingcow;
+    license = licenses.mit;
+    maintainers = with maintainers; [ benley ];
+  };
+}
diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix
index 5c14fa05af67..56865b336be8 100644
--- a/pkgs/development/python-modules/koji/default.nix
+++ b/pkgs/development/python-modules/koji/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, buildPythonPackage, pycurl, isPy3k }:
+{ stdenv, fetchurl, buildPythonPackage, pycurl, six, rpm, dateutil }:
 
 buildPythonPackage rec {
   pname = "koji";
-  version = "1.8";
+  version = "1.13.0";
   name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
-    url = "https://github.com/koji-project/koji/archive/koji-1.8.0.tar.gz";
-    sha256 = "17rkipdxccdccbbb70f9wx91cq9713psmq23j7lgb4mlnwan926h";
+    url = "https://releases.pagure.org/koji/${name}.tar.bz2";
+    sha256 = "18b18rcbdqqw33g7h20hf5bpbci2ixdi05yda1fvpv30c1kkzd8w";
   };
 
-  propagatedBuildInputs = [ pycurl ];
+  propagatedBuildInputs = [ pycurl six rpm dateutil ];
 
   # Judging from SyntaxError
-  disabled = isPy3k;
+  #disabled = isPy3k;
 
   makeFlags = "DESTDIR=$(out)";
 
diff --git a/pkgs/development/python-modules/marionette-harness/default.nix b/pkgs/development/python-modules/marionette-harness/default.nix
index da8949f9f6e4..fbdd13a7f385 100644
--- a/pkgs/development/python-modules/marionette-harness/default.nix
+++ b/pkgs/development/python-modules/marionette-harness/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy3k
 , mozprofile
 , mozversion
 , moztest
@@ -15,6 +16,7 @@ buildPythonPackage rec {
   pname = "marionette-harness";
   version = "4.1.0";
   name = "${pname}-${version}";
+  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/marionette-harness/marionette_driver.nix b/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
index 3f4e4e175816..d3eab83eea86 100644
--- a/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
+++ b/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy3k
 , mozversion
 , mozrunner
 }:
@@ -10,6 +11,7 @@ buildPythonPackage rec {
   pname = "marionette_driver";
   version = "2.3.0";
   name = "${pname}-${version}";
+  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index 068162dd6922..7e54240941d6 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -1,26 +1,32 @@
-{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
+{ stdenv, fetchPypi, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
 
 buildPythonPackage rec {
   pname = "mpi4py";
   version = "2.0.0";
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz";
-    sha256 = "6543a05851a7aa1e6d165e673d422ba24e45c41e4221f0993fe1e5924a00cb81";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10fb01595rg17ycz08a23v24akm25d13srsy2rnixam7a5ca0hv5";
   };
 
   passthru = {
     inherit mpi;
   };
 
+  # Rename libm.so -> libm.so.6 in test
+  # See: https://bitbucket.org/mpi4py/mpi4py/issues/28/test_dltestdl-test-failure
+  patches = [
+    ./tests.patch
+  ];
+
   # The tests in the `test_spawn` module fail in the chroot build environment.
   # However, they do pass in a pure, or non-pure nix-shell. Hence, we
   # deactivate these particular tests.
   # Unfortunately, the command-line arguments to `./setup.py test` are not
   # correctly passed to the test-runner. Hence, these arguments are patched
   # directly into `setup.py`.
-  patchPhase = ''
+  prePatch = ''
     sed 's/err = main(cmd.args or \[\])/err = main(cmd.args or ["-v", "-e", "test_spawn"])/' -i setup.py
   '';
 
@@ -49,6 +55,9 @@ buildPythonPackage rec {
 
   disabled = isPy3k || isPyPy;
 
+  # Timing out communicating between processes when sandboxing enabled.
+  doCheck = false;
+
   meta = {
     description =
       "Python bindings for the Message Passing Interface standard";
diff --git a/pkgs/development/python-modules/mpi4py/tests.patch b/pkgs/development/python-modules/mpi4py/tests.patch
new file mode 100644
index 000000000000..168e3b4b38d3
--- /dev/null
+++ b/pkgs/development/python-modules/mpi4py/tests.patch
@@ -0,0 +1,13 @@
+diff --git i/test/test_dl.py w/test/test_dl.py
+index a3211a3..9d25569 100644
+--- i/test/test_dl.py
++++ w/test/test_dl.py
+@@ -12,7 +12,7 @@ class TestDL(unittest.TestCase):
+         if sys.platform == 'darwin':
+             libm = 'libm.dylib'
+         else:
+-            libm = 'libm.so'
++            libm = 'libm.so.6'
+ 
+         handle = dl.dlopen(libm, dl.RTLD_LOCAL|dl.RTLD_LAZY)
+         self.assertTrue(handle != 0)
diff --git a/pkgs/development/python-modules/openidc-client/default.nix b/pkgs/development/python-modules/openidc-client/default.nix
new file mode 100644
index 000000000000..9380654f472b
--- /dev/null
+++ b/pkgs/development/python-modules/openidc-client/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "openidc-client";
+  version = "0.2.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fca4bpnswyji5nivsrbak5vsfphl4njyfrb8rm2034nq6mzb8ah";
+  };
+  propagatedBuildInputs = [ requests ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A CLI python OpenID Connect client with token caching and management";
+    homepage = https://github.com/puiterwijk;
+    license = licenses.mit;
+    maintainers = with maintainers; [ disassembler ];
+  };
+}
diff --git a/pkgs/development/python-modules/python_fedora/default.nix b/pkgs/development/python-modules/python_fedora/default.nix
new file mode 100644
index 000000000000..7ab698ecd084
--- /dev/null
+++ b/pkgs/development/python-modules/python_fedora/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, kitchen, requests, bunch, paver
+, six, munch, urllib3, beautifulsoup4, openidc-client, lockfile }:
+
+buildPythonPackage rec {
+  pname = "python-fedora";
+  version = "0.9.0";
+  name = "python-fedora-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0sf468scw52sw9pzxrnmqs54rix9c4fp1mi2r5k5n7mgjrmf6j0x";
+  };
+  propagatedBuildInputs = [ kitchen requests bunch paver lockfile
+    six munch urllib3 beautifulsoup4 openidc-client ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python Fedora Module";
+    homepage = https://github.com/fedora-infra/python-fedora;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ mornfall ];
+  };
+}
diff --git a/pkgs/development/python-modules/rpkg-buildfix.diff b/pkgs/development/python-modules/rpkg-buildfix.diff
deleted file mode 100644
index d410f09072f7..000000000000
--- a/pkgs/development/python-modules/rpkg-buildfix.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py	2012-03-12 23:26:16.000000000 +0100
-+++ b/setup.py	2014-02-04 14:52:02.335856975 +0100
-@@ -14,6 +14,6 @@
-     package_dir = {'': 'src'},
-     packages = ['pyrpkg'],
-     scripts = ['src/rpkg'],
--    data_files = [('/etc/bash_completion.d', ['src/rpkg.bash']),
--                  ('/etc/rpkg', ['src/rpkg.conf'])],
-+    data_files = [('etc/bash_completion.d', ['src/rpkg.bash']),
-+                  ('etc/rpkg', ['src/rpkg.conf'])],
- )
diff --git a/pkgs/development/python-modules/rpkg/default.nix b/pkgs/development/python-modules/rpkg/default.nix
new file mode 100644
index 000000000000..1e8baa553bdc
--- /dev/null
+++ b/pkgs/development/python-modules/rpkg/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchurl, six, pycurl, cccolutils
+, koji, rpmfluff }:
+
+buildPythonPackage rec {
+  pname = "rpkg";
+  version = "1.50";
+  name  = "${pname}-${version}";
+
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/rpkg/${name}.tar.gz";
+    sha256 = "0j83bnm9snr3m1mabw2cvd2r7d6kcnkzyz7b9p65fhcc3c7s3rvv";
+  };
+
+
+  propagatedBuildInputs = [ pycurl koji cccolutils six rpmfluff ];
+
+  doCheck = false; # needs /var/lib/rpm database to run tests
+
+  meta = with stdenv.lib; {
+    description = "Python library for dealing with rpm packaging";
+    homepage = https://pagure.io/fedpkg;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ mornfall ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/rpmfluff/default.nix b/pkgs/development/python-modules/rpmfluff/default.nix
new file mode 100644
index 000000000000..c6cd2521292a
--- /dev/null
+++ b/pkgs/development/python-modules/rpmfluff/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchurl }:
+
+buildPythonPackage rec {
+  pname = "rpmfluff";
+  version = "0.5.3";
+  name  = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/${pname}/${name}.tar.xz";
+    sha256 = "1i45f012ngpxs83m3dpmaj3hs8z7r9sbf05vnvzgs3hpgsbhxa7r";
+  };
+
+  meta = with stdenv.lib; {
+    description = "lightweight way of building RPMs, and sabotaging them";
+    homepage = https://pagure.io/rpmfluff;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ disassembler ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix
new file mode 100644
index 000000000000..2c57ce295825
--- /dev/null
+++ b/pkgs/development/python-modules/schema/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+
+  pname = "schema";
+  version = "0.6.6";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lw28j9w9vxyigg7vkfkvi6ic9lgjkdnfvnxdr7pklslqvzmk2vm";
+  };
+
+  checkInputs = [ pytest ];
+
+  meta = with stdenv.lib; {
+    description = "Library for validating Python data structures";
+    homepage = https://github.com/keleshev/schema;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix
new file mode 100644
index 000000000000..ef367c3525d3
--- /dev/null
+++ b/pkgs/development/python-modules/trollius/default.nix
@@ -0,0 +1,49 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, isPy26, isPyPy, mock, futures  }:
+buildPythonPackage rec {
+  pname = "trollius";
+  version = "1.0.4";
+  name  = "${pname}-${version}";
+
+  disabled = isPy26;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xny8y12x3wrflmyn6xi8a7n3m3ac80fgmgzphx5jbbaxkjcm148";
+  };
+
+  buildInputs = [ mock ];
+
+  propagatedBuildInputs = lib.optional (isPy27 || isPyPy) [ futures ];
+
+  patches = [
+    ./tests.patch
+  ];
+
+  # Some of the tests fail on darwin with `error: AF_UNIX path too long'
+  # because of the *long* path names for sockets
+  patchPhase = lib.optionalString stdenv.isDarwin ''
+      sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py
+      sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py
+      sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py
+      sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py
+      sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py
+      sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py
+      sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py
+      sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py
+      sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py
+      sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py
+      sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py
+      sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py
+      sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py
+      sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py
+      sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py
+      sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Port of the Tulip project (asyncio module, PEP 3156) on Python 2";
+    homepage = "https://bitbucket.org/enovance/trollius";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/trollius/tests.patch b/pkgs/development/python-modules/trollius/tests.patch
new file mode 100644
index 000000000000..4923bded9493
--- /dev/null
+++ b/pkgs/development/python-modules/trollius/tests.patch
@@ -0,0 +1,13 @@
+diff --git i/tests/test_asyncio.py w/tests/test_asyncio.py
+index 39d9e1a..05b7e6f 100644
+--- i/tests/test_asyncio.py
++++ w/tests/test_asyncio.py
+@@ -69,7 +69,7 @@ class AsyncioTests(test_utils.TestCase):
+             def step_future():
+                 future = asyncio.Future()
+                 self.loop.call_soon(future.set_result, "asyncio.Future")
+-                return (yield from future)
++                return (yield From(future))
+ 
+             # test in release mode
+             trollius.coroutines._DEBUG = False
diff --git a/pkgs/development/python-modules/urlgrabber/default.nix b/pkgs/development/python-modules/urlgrabber/default.nix
new file mode 100644
index 000000000000..f399f4d426ee
--- /dev/null
+++ b/pkgs/development/python-modules/urlgrabber/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, pycurl, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "urlgrabber";
+  version = "3.10.2";
+  name  = "${pname}-${version}";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0w1h7hlsq406bxfy2pn4i9bd003bwl0q9b7p03z3g6yl0d21ddq5";
+  };
+
+  propagatedBuildInputs = [ pycurl ];
+
+  meta = with stdenv.lib; {
+    homepage = "urlgrabber.baseurl.org";
+    license = licenses.lgpl2Plus;
+    description = "Python module for downloading files";
+    maintainers = with maintainers; [ qknight ];
+  };
+}
+
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 21dba34e8843..875feea84d47 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -18,7 +18,15 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = stdenv.lib.optionals (stdenv.isDarwin) [ ./valgrind-bzero.patch ];
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin (
+    let OSRELEASE = ''
+      $(awk -F '"' '/#define OSRELEASE/{ print $2 }' \
+      <${xnu}/Library/Frameworks/Kernel.framework/Headers/libkern/version.h)'';
+    in ''
+      echo "Don't derive our xnu version using uname -r."
+      substituteInPlace configure --replace "uname -r" "echo ${OSRELEASE}"
+    ''
+  );
 
   postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
     # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
diff --git a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
deleted file mode 100644
index f56a277ad717..000000000000
--- a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Index: coregrind/m_main.c
-===================================================================
---- a/coregrind/m_main.c (revision 16102)
-+++ b/coregrind/m_main.c (revision 16103)
-@@ -3489,6 +3489,10 @@
-     // skip check
-   return VG_(memset)(s,c,n);
- }
-+void __bzero(void* s, UWord n);
-+void __bzero(void* s, UWord n) {
-+    (void)VG_(memset)(s,0,n);
-+}
- void bzero(void *s, SizeT n);
- void bzero(void *s, SizeT n) {
-     VG_(memset)(s,0,n);
-@@ -4058,20 +4062,7 @@
- 
- #endif
- 
--#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
- 
--/* This might also be needed for > DARWIN_10_10, but I have no way
--   to test for that.  Hence '==' rather than '>=' in the version
--   test above. */
--void __bzero ( void* s, UWord n );
--void __bzero ( void* s, UWord n )
--{
--   (void) VG_(memset)( s, 0, n );
--}
--
--#endif
--
--
- /*--------------------------------------------------------------------*/
- /*--- end                                                          ---*/
- /*--------------------------------------------------------------------*/
-
diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix
index fe6bfc711e63..2501c36dd5cd 100644
--- a/pkgs/development/tools/gocode/default.nix
+++ b/pkgs/development/tools/gocode/default.nix
@@ -2,8 +2,8 @@
 
 buildGoPackage rec {
   name = "gocode-${version}";
-  version = "20170530-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "f1eef9a6ba005abb145d7b58fdd225e83a3c6a05";
+  version = "20170903-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "c7fddb39ecbc9ebd1ebe7d2a3af473ed0fffffa1";
 
   goPackagePath = "github.com/nsf/gocode";
 
@@ -15,6 +15,6 @@ buildGoPackage rec {
   src = fetchgit {
     inherit rev;
     url = "https://github.com/nsf/gocode";
-    sha256 = "1hkr46ikrprx203i2yr6xds1bzxggblh7bg026m2cda6dxgpnsgw";
+    sha256 = "0qx8pq38faig41xkl1a4hrgp3ziyjyn6g53vn5wj7cdgm5kk67nb";
   };
 }
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 9e29487a2f3c..3591cdc0f529 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lttng-tools-${version}";
-  version = "2.9.5";
+  version = "2.10.1";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "073kzfiwgvz7c10hihjwn1p53hh1jwvdkkway0jj2rbczjv9x0vp";
+    sha256 = "005axllajfbxh73vh1cacbapdvbxjsi3pkzq40giih4ps9x4pg10";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index 3b294d137574..827ddedaee32 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   name = "lttng-ust-${version}";
-  version = "2.9.1";
+  version = "2.10.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2";
-    sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq";
+    sha256 = "1avx4p71g9m3zvynhhhysxnpkqyhhlv42xiv9502bvp3nwfkgnqs";
   };
 
   buildInputs = [ liburcu python ];