about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml4
-rw-r--r--doc/languages-frameworks/python.md17
-rw-r--r--lib/strings.nix7
-rwxr-xr-xmaintainers/scripts/travis-nox-review-pr.sh9
-rw-r--r--nixos/release-small.nix1
-rw-r--r--pkgs/applications/science/logic/abc/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix6
-rw-r--r--pkgs/development/compilers/compcert/default.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix4
-rw-r--r--pkgs/development/libraries/fftw/default.nix22
-rw-r--r--pkgs/development/libraries/gdbm/default.nix2
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix4
-rw-r--r--pkgs/development/libraries/libraw/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.0.0-beta-2.nix43
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix3
-rw-r--r--pkgs/development/python-modules/generic/run_setup.py2
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix9
-rw-r--r--pkgs/servers/sql/mariadb/default.nix5
-rw-r--r--pkgs/tools/package-management/nox/default.nix4
-rw-r--r--pkgs/tools/text/diffutils/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix3
-rw-r--r--pkgs/top-level/python-packages.nix56
30 files changed, 192 insertions, 84 deletions
diff --git a/.travis.yml b/.travis.yml
index 77881dbc492c..e1cc9890df25 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,10 +11,10 @@ matrix:
           dist: trusty
           before_script:
               - sudo mount -o remount,exec,size=2G,mode=755 /run/user
-          script: ./maintainers/scripts/travis-nox-review-pr.sh pr
+          script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
         - os: osx
           osx_image: xcode7.3
-          script: ./maintainers/scripts/travis-nox-review-pr.sh pr
+          script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
 git:
     depth: 1
 env:
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md
index 6f5054c177b6..bb1094e2b741 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.md
@@ -748,6 +748,23 @@ in newpkgs.python35.withPackages (ps: [ps.blaze])
 ```
 The requested package `blaze` depends upon `pandas` which itself depends on `scipy`.
 
+### `python setup.py bdist_wheel` cannot create .whl
+
+Executing `python setup.py bdist_wheel` fails with
+```
+ValueError: ZIP does not support timestamps before 1980
+```
+This is because files are included that depend on items in the Nix store which have a timestamp of, that is, it corresponds to January the 1st, 1970 at 00:00:00. And as the error informs you, ZIP does not support that.
+Fortunately `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`. On Nix this value is set to 1. By setting it to a value correspond to 1980 or later it is possible to build wheels.
+
+Use 1980 as timestamp:
+```
+SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel
+```
+or the current time:
+```
+SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel
+```
 
 ### `install_data` / `data_files` problems
 
diff --git a/lib/strings.nix b/lib/strings.nix
index 89169411a021..86af4d438344 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -372,7 +372,12 @@ rec {
        getVersion pkgs.youtube-dl
        => "2016.01.01"
   */
-  getVersion = x: (builtins.parseDrvName (x.name or x)).version;
+  getVersion = x:
+   let
+     parse = drv: (builtins.parseDrvName drv).version;
+   in if isString x
+      then parse x
+      else x.version or (parse x.name);
 
   /* Extract name with version from URL. Ask for separator which is
      supposed to start extension.
diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh
index 13df5087fad5..8ff2258162fb 100755
--- a/maintainers/scripts/travis-nox-review-pr.sh
+++ b/maintainers/scripts/travis-nox-review-pr.sh
@@ -44,6 +44,13 @@ while test -n "$1"; do
             nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR"
             ;;
 
+        nox)
+            echo "=== Fetching Nox from binary cache"
+
+            # build nox silently so it's not in the log
+            nix-build "<nixpkgs>" -A nox
+            ;;
+
         pr)
             if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
                 echo "=== No pull request found"
@@ -55,7 +62,7 @@ while test -n "$1"; do
                     token="--token $GITHUB_TOKEN"
                 fi
 
-                nix-shell --packages nox git --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
+                nix-shell --packages nox --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
             fi
             ;;
 
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index fb5a97f98ab9..f6e7a65fbdea 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -63,7 +63,6 @@ in rec {
       imagemagick
       jdk
       linux
-      mysql51
       mysql55
       nginx
       nodejs
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 236045fa3358..dad1e60cb788 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "abc-verifier-${version}";
-  version = "20150614";
+  version = "20160813";
 
   src = fetchhg {
     url    = "https://bitbucket.org/alanmi/abc";
-    rev    = "38661894bc1287cad9bd35978bd252dbfe3e6c56";
-    sha256 = "04v0hkvj501r10pj3yrqrk2463d1d7lhl8dzfjwkmlbmlmpjlvvv";
+    rev    = "1df0b06d7bf615c50014df0952a61e11891ee306";
+    sha256 = "0i0b9i2gs0y1q8nqnqyzfbff8aiknzja27m383nvccxscvg355z5";
   };
 
   buildInputs = [ readline ];
diff --git a/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix b/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix
index 9c55a6b60e2e..b43dc9c505d1 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix
@@ -1,11 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "3.20";
-  name = "evolution-${major}.4";
+fetchurl: {
+  name = "evolution-3.20.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evolution/${major}/${name}.tar.xz";
-    sha256 = "1g1nai6jz0irz94d06vx8gbwbzdp7r53qjxvjfhdqhlhnhy76a9c";
+    url = mirror://gnome/sources/evolution/3.20/evolution-3.20.5.tar.xz;
+    sha256 = "2e13551ce0996963506f0bdde5e01c3b8aa0622849a272ff12877cd595baeb6e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix
index 1ef58f33c90d..054f340bf42f 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-maps-3.20.1";
+  name = "gnome-maps-3.20.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-maps/3.20/gnome-maps-3.20.1.tar.xz;
-    sha256 = "4874d10a3cfdffd5d1db6084d67b5e8dc8c2db2ff995302b80060ecfc5e99bd5";
+    url = mirror://gnome/sources/gnome-maps/3.20/gnome-maps-3.20.2.tar.xz;
+    sha256 = "e860144795339fdbb2f1239c4db092ad12beb9acaa3f3f8aa1d935c36d86bc3f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix
index c24de8525a87..e8569dc5433a 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-photos-3.20.2";
+  name = "gnome-photos-3.20.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-photos/3.20/gnome-photos-3.20.2.tar.xz;
-    sha256 = "ec6b95ad1c4aeeb065a65d2d48335036c0750761c7f6762bafcf874791272b46";
+    url = mirror://gnome/sources/gnome-photos/3.20/gnome-photos-3.20.3.tar.xz;
+    sha256 = "d1dd8bd8178dd1d0120abd2ff3e959fb1199f4e1751558f925ce7f1278548996";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix
index cdb3dacf7ab5..eaeece5baf20 100644
--- a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix
@@ -1,11 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "3.20";
-  name = "evolution-data-server-${major}.4";
+fetchurl: {
+  name = "evolution-data-server-3.20.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evolution-data-server/${major}/${name}.tar.xz";
-    sha256 = "03h81dnk34b3xf2065rymr1jd7as4dmpd89hyf380c5np36f6l7j";
+    url = mirror://gnome/sources/evolution-data-server/3.20/evolution-data-server-3.20.5.tar.xz;
+    sha256 = "0d1586cd326d997497a2a6fddd939a83892be07cb20f8c88fda5013f8c5bbe7e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix
index a24b0b5b8767..60270be06b7f 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-calculator-3.20.1";
+  name = "gnome-calculator-3.20.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-calculator/3.20/gnome-calculator-3.20.1.tar.xz;
-    sha256 = "02edcf99857599ac10ecd2faaf33ad20a9f11f7c5a89a52ee1b511d99b594b90";
+    url = mirror://gnome/sources/gnome-calculator/3.20/gnome-calculator-3.20.2.tar.xz;
+    sha256 = "2af1c12a12a230f90fc221ff908efd80fe7eebfeaad56cd698c393d2fc34a8fb";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix
index 4c263d9d2d68..088c4127b800 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix
@@ -1,11 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "3.20";
-  name = "gnome-online-accounts-${major}.2";
+fetchurl: {
+  name = "gnome-online-accounts-3.20.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-online-accounts/${major}/${name}.tar.xz";
-    sha256 = "1pf1rn1i7dqll9ph6scg2g281njx5pq6z0wyj9493m474nfmsmab";
+    url = mirror://gnome/sources/gnome-online-accounts/3.20/gnome-online-accounts-3.20.3.tar.xz;
+    sha256 = "094fc04cf3e0b4ace667fce3b5bdcca5093e0c93f9184439e663c69546c1e046";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix
index 4d377903cc1d..ea9378fcd3cc 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-software-3.20.0";
+  name = "gnome-software-3.20.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-software/3.20/gnome-software-3.20.0.tar.xz;
-    sha256 = "0w0bp29fm13a235gq8vylihzjfxx20ri46w4w2syaw0cixxihbix";
+    url = mirror://gnome/sources/gnome-software/3.20/gnome-software-3.20.4.tar.xz;
+    sha256 = "d6a2794348e2c543218e3efb01105a7e6d51e93ad3055a2482e3104ca75345f2";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix b/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix
index b9e1ceeba204..467bb13a74ed 100644
--- a/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "nautilus-3.20.1";
+  name = "nautilus-3.20.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/nautilus/3.20/nautilus-3.20.1.tar.xz;
-    sha256 = "f2a907b994026412a7ed7c8145d4ab4f886ac87e780353b967473305a35e81e8";
+    url = mirror://gnome/sources/nautilus/3.20/nautilus-3.20.2.tar.xz;
+    sha256 = "8d6e679b880dc78c0c2e2dabf6025e6da34ff279dee501f7c75f3649c1a6caae";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix b/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix
index 207917c9772c..3bdd6e27645e 100644
--- a/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "five-or-more-3.20.0";
+  name = "five-or-more-3.20.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/five-or-more/3.20/five-or-more-3.20.0.tar.xz;
-    sha256 = "4290a0e4a1817d76db2f042854efbc580d6ac06f2c42176afac2b412dcd456e0";
+    url = mirror://gnome/sources/five-or-more/3.20/five-or-more-3.20.1.tar.xz;
+    sha256 = "9f6dff43b6511b12ef062f4dc4d9ab8de2579676747f0ead4802e0f166a5e85f";
   };
 }
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 190f2b7a96af..4957706ea0f8 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "2.6";
+  version = "2.7.1";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "05sdxgg2w7ykw6xbcq6dl2kzxdz4qzhjajiawpy6490wqiji7wm1";
+    sha256 = "1vhbs1fmr9x2imqyd6yfvkbz763jhjfm9wk4nizf9rn1cvxrjqa4";
   };
 
   buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir ]);
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index e6051552ab71..8450def08452 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -5,13 +5,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "appstream-glib-0.5.11";
+  name = "appstream-glib-0.5.12";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
-    sha256 = "1rvfncm9z29h70pd718j73cd263g6yyxkxrg7zfzy0gj6wwzvhkh";
+    sha256 = "00b0441f409vzgy0znn42k093w7hwv3495qvsakxnhvk1h1ws23s";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool ];
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 6b92848fd0f7..cf009599665e 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -1,34 +1,24 @@
-{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }:
+{ fetchurl, stdenv, lib, precision ? "double" }:
 
 with lib;
 
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
-let version = "3.3.5-rc1"; in
+let version = "3.3.5"; in
 
 stdenv.mkDerivation rec {
   name = "fftw-${precision}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "FFTW";
-    repo = "fftw3";
-    rev = "fftw-${version}";
-    sha256 = "1gc57xvdqbapq30ylj3fxwkv61la4kzyf7ji0q0xqjwpji2ynqi4";
+  src = fetchurl {
+    url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
+    sha256 = "1kwbx92ps0r7s2mqy7lxbxanslxdzj7dp7r7gmdkzv1j8yqf3kwf";
   };
 
-  nativeBuildInputs = [ ocaml perl indent transfig ghostscript texinfo libtool gettext automake autoconf ];
-
-  # remove the ./configure lines, so we can use nix's configureFlags
-  patchPhase = "sed -e '27,29d' -i bootstrap.sh";
-
-  preConfigurePhases =  "./bootstrap.sh";
-
   outputs = [ "dev" "out" "doc" ]; # it's dev-doc only
   outputBin = "dev"; # fftw-wisdom
 
   configureFlags =
-    [ "--enable-maintainer-mode"
-      "--enable-shared" "--disable-static"
+    [ "--enable-shared" "--disable-static"
       "--enable-threads"
     ]
     ++ optional (precision != "double") "--enable-${precision}"
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index bd5ee16eb673..71b65131015a 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  configureFlags = [ "--enable-libgdbm-compat" ];
+
   meta = with stdenv.lib; {
     description = "GNU dbm key/value database library";
 
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index f66ade28da9d..2a201ed55236 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
-, librsvg, pango, gtk, bzip2, intltool, libtool, automake, autoconf, json_glib }:
+, librsvg, pango, gtk, bzip2, intltool, libtool, automake, autoconf, json_glib , libraw }:
 
 stdenv.mkDerivation rec {
   name = "gegl-0.3.6";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-docs";
 
   buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk bzip2 intltool
-                  autoconf automake libtool which json_glib ];
+                  autoconf automake libtool which json_glib libraw ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index ee842b0c4bdd..0b196cc22e01 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "18fygk896gxbx47nh2rn5jp4skisgkl6pdfjqb7h0zn39hd6b6g5";
   };
 
-  buildInputs = [ lcms2 jasper ];
+  buildInputs = [ jasper ];
+
+  propagatedBuildInputs = [ lcms2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
new file mode 100644
index 000000000000..a06d4cef968a
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub , autoreconfHook, zlib, gmock }:
+
+stdenv.mkDerivation rec {
+  name = "protobuf-${version}";
+
+  version = "3.0.0-beta-2";
+  # make sure you test also -A pythonPackages.protobuf
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "protobuf";
+    rev = "v${version}";
+    sha256 = "0cbr1glgma5vakabsjwcs41pcnn8yphhn037l0zd121zb9gdaqc1";
+  };
+
+  postPatch = ''
+    rm -rf gmock
+    cp -r ${gmock.source} gmock
+    chmod -R a+w gmock
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/google/protobuf/testing/googletest.cc \
+      --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
+  '';
+
+  buildInputs = [ autoreconfHook zlib ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  meta = {
+    description = "Google's data interchange format";
+    longDescription =
+      ''Protocol Buffers are a way of encoding structured data in an efficient
+        yet extensible format. Google uses Protocol Buffers for almost all of
+        its internal RPC protocols and file formats.
+      '';
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    homepage = https://developers.google.com/protocol-buffers/;
+  };
+
+  passthru.version = version;
+}
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
index d4b7c77a5fef..47f66c83ff5d 100644
--- a/pkgs/development/libraries/protobuf/generic.nix
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -25,15 +25,12 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Protocol Buffers - Google's data interchange format";
-
     longDescription =
       '' Protocol Buffers are a way of encoding structured data in an
          efficient yet extensible format.  Google uses Protocol Buffers for
          almost all of its internal RPC protocols and file formats.
       '';
-
     license = "mBSD";
-
     homepage = https://developers.google.com/protocol-buffers/;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/python-modules/generic/run_setup.py b/pkgs/development/python-modules/generic/run_setup.py
index d980ac7d23d4..e3a530eb0cb6 100644
--- a/pkgs/development/python-modules/generic/run_setup.py
+++ b/pkgs/development/python-modules/generic/run_setup.py
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
 import setuptools
 import tokenize
 
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 1987e914ad9a..dc3160af7aae 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "hwdata-0.276";
+stdenv.mkDerivation rec {
+  name = "hwdata-${version}";
+  version = "0.291";
 
   src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-0.276.tar.xz";
-    sha256 = "0pg0ms6kb2mm25mdklsb0xn2spcwi2mhygzc7bkpji72qq8srzsh";
+    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-${version}.tar.xz";
+    sha256 = "121qixrdhdncva1cnj7m7jlqvi1kbj85dpi844jiis3a8hgpzw5a";
   };
 
   preConfigure = "patchShebangs ./configure";
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 1d3b4e92ccea..76a7755f3957 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -32,8 +32,8 @@ common = rec { # attributes common to both builds
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    ncurses openssl zlib pcre jemalloc
-  ] ++ stdenv.lib.optionals stdenv.isLinux [ libaio systemd ]
+    ncurses openssl zlib pcre
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio systemd ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
 
   cmakeFlags = [
@@ -51,6 +51,7 @@ common = rec { # attributes common to both builds
     "-DWITH_PCRE=system"
   ]
     ++ optional stdenv.isDarwin "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
+    ++ optional (!stdenv.isLinux) "-DWITH_JEMALLOC=no" # bad build at least on Darwin
     ;
 
   preConfigure = ''
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 04a31bd30b7c..2dffcef48fbe 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -1,4 +1,4 @@
-{ lib, pythonPackages, fetchurl }:
+{ lib, pythonPackages, fetchurl, git }:
 
 pythonPackages.buildPythonApplication rec {
   name = "nox-${version}";
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "11f6css8rnh7qz55z7i81cnb5h9ys98fqxq3fps3hsh64zlydj52";
   };
 
-  buildInputs = [ pythonPackages.pbr ];
+  buildInputs = [ pythonPackages.pbr git ];
 
   propagatedBuildInputs = with pythonPackages; [
       dogpile_cache
diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix
index 420e0a37ba7e..8b6c5ca5c772 100644
--- a/pkgs/tools/text/diffutils/default.nix
+++ b/pkgs/tools/text/diffutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xz, coreutils ? null }:
 
 stdenv.mkDerivation rec {
-  name = "diffutils-3.3";
+  name = "diffutils-3.4";
 
   src = fetchurl {
     url = "mirror://gnu/diffutils/${name}.tar.xz";
-    sha256 = "1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2";
+    sha256 = "1qlw328qpbss07zrb14ls0rhnhbvxrnssgbmrxxj2gdcy8jw0lyv";
   };
 
   outputs = [ "out" "info" ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c0c95a56c039..42cf49c1143d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4393,6 +4393,7 @@ in
     else {}
   ) // {
     ocamlPackages = ocamlPackages_4_02;
+    coq = coq_8_5;
   });
 
   cryptol = self.haskell.packages.lts.cryptol;
@@ -9080,6 +9081,8 @@ in
 
   protobuf = protobuf2_6;
   protobuf3_0 = lowPrio (callPackage ../development/libraries/protobuf/3.0.nix { });
+  # 3.0.0-beta-2 is only introduced for tensorflow. remove this version when tensorflow is moved to 3.0.
+  protobuf3_0_0b2 = lowPrio (callPackage ../development/libraries/protobuf/3.0.0-beta-2.nix { });
   protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { };
   protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index be4a69ef7b01..c59632776719 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7780,6 +7780,29 @@ in modules // {
     };
   };
 
+  pycallgraph = buildPythonPackage rec {
+    name = "pycallgraph-${version}";
+    version = "1.0.1";
+
+    src = pkgs.fetchurl {
+      url = mirror://pypi/p/pycallgraph/pycallgraph-1.0.1.tar.gz;
+      sha256 = "0w8yr43scnckqcv5nbyd2dq4kpv74ai856lsdsf8iniik07jn9mi";
+    };
+
+    buildInputs = with self; [ pytest ];
+
+    # Tests do not work due to this bug: https://github.com/gak/pycallgraph/issues/118
+    doCheck = false;
+
+    meta = {
+      homepage = http://pycallgraph.slowchop.com;
+      description = "Call graph visualizations for Python applications";
+      maintainers = with maintainers; [ auntie ];
+      license = licenses.gpl2;
+      platform = platforms.all;
+    };
+  };
+
   pycares = buildPythonPackage rec {
     name = "pycares-${version}";
     version = "1.0.0";
@@ -11749,12 +11772,12 @@ in modules // {
   };
 
   ipython = buildPythonPackage rec {
-    version = "5.0.0";
+    version = "5.1.0";
     name = "ipython-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/i/ipython/${name}.tar.gz";
-      sha256 = "7ec0737169c74056c7fc8298246db5478a2d6c90cfd19c3253222112357545df";
+      sha256 = "7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961";
     };
 
     prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -17731,6 +17754,7 @@ in modules // {
 
   protobuf = self.protobuf2_6;
   protobuf3_0 = (self.protobufBuild pkgs.protobuf3_0).override { doCheck = false; };
+  protobuf3_0_0b2 = (self.protobufBuild pkgs.protobuf3_0_0b2).override { doCheck = false; };
   protobuf2_6 = self.protobufBuild pkgs.protobuf2_6;
   protobuf2_5 = self.protobufBuild pkgs.protobuf2_5;
   protobufBuild = protobuf: buildPythonPackage rec {
@@ -24259,11 +24283,11 @@ in modules // {
   };
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-13.1.2";
+    name = "virtualenv-15.0.3";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/v/virtualenv/${name}.tar.gz";
-      sha256 = "1p732accxwqfjbdna39k8w8lp9gyw91vr4kzkhm8mgfxikqqxg5a";
+      sha256 = "6d9c760d3fc5fa0894b0f99b9de82a4647e1164f0b700a7f99055034bf548b1d";
     };
 
     pythonPath = [ self.recursivePthLoader ];
@@ -28825,15 +28849,15 @@ in modules // {
 
   tensorflowNoGpuSupport = buildPythonPackage rec {
     name = "tensorflow";
-    version = "0.8.0";
+    version = "0.9.0";
     format = "wheel";
 
     src = pkgs.fetchurl {
       url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${version}-cp27-none-linux_x86_64.whl";
-      sha256 = "07lb6rknngq9bicd7z1q9caiqxlqn4fdx8q24s3rqvv9wi79szws";
+      sha256 = "15v7iyry8bmp5wcc1rr4bkp80f3887rl99zqf8pys5bad4gldbkh";
     };
 
-    propagatedBuildInputs = with self; [ numpy six protobuf3_0 pkgs.swig ];
+    propagatedBuildInputs = with self; [ numpy six protobuf3_0_0b2 pkgs.swig ];
 
     preFixup = ''
       RPATH="${stdenv.lib.makeLibraryPath [ pkgs.gcc.cc.lib pkgs.zlib ]}"
@@ -28849,6 +28873,24 @@ in modules // {
     };
   };
 
+  tflearn = buildPythonPackage rec {
+    name = "tflearn-0.2.1";
+
+    meta = {
+      description = "Deep learning library featuring a higher-level API for TensorFlow";
+      homepage    = "https://github.com/tflearn/tflearn";
+      license     = licenses.mit;
+      maintainers = with maintainers; [ houqp ];
+    };
+
+    propagatedBuildInputs = with self; [ scipy h5py pillow tensorflow ];
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/t/tflearn/${name}.tar.gz";
+      sha256 = "1n884c4j35409id2bncyj5fvmmfpdqj3pk6wrv0s1znnvs0lkii0";
+    };
+  };
+
   simpleai = buildPythonPackage rec {
      version = "0.7.11";
      name = "simpleai-${version}";