summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-08-10 22:09:38 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-08-10 22:09:38 +0200
commit947abb08ac0d7c747de0aa4058b3a22a42ca2e9c (patch)
tree6d23f49a3aac0e08d03e29d0d1479372f7ccd4b5 /pkgs
parentf191b658208359cfa9d81532e8d3c41f37004a8c (diff)
parent6f5c6fb6a18083a0d2da8c9b94dd64ed85ed1504 (diff)
Merge branch 'staging'
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/amarok/default.nix4
-rw-r--r--pkgs/applications/gis/grass/default.nix5
-rw-r--r--pkgs/development/compilers/hhvm/default.nix4
-rw-r--r--pkgs/development/compilers/urweb/default.nix8
-rw-r--r--pkgs/development/interpreters/guile/default.nix4
-rw-r--r--pkgs/development/interpreters/php/default.nix2
-rw-r--r--pkgs/development/libraries/fftw/default.nix22
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/libdbi-drivers/default.nix2
-rw-r--r--pkgs/development/libraries/libva/default.nix7
-rw-r--r--pkgs/development/libraries/mesa/default.nix2
-rw-r--r--pkgs/development/libraries/mesa/symlink-drivers.patch6
-rw-r--r--pkgs/development/libraries/opendbx/default.nix9
-rw-r--r--pkgs/development/libraries/qt-3/default.nix2
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix2
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix6
-rw-r--r--pkgs/development/ocaml-modules/mysql/default.nix8
-rw-r--r--pkgs/development/pure-modules/glpk/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix8
-rw-r--r--pkgs/games/zod/default.nix2
-rw-r--r--pkgs/servers/games/ghost-one/default.nix6
-rw-r--r--pkgs/servers/mail/dspam/default.nix2
-rw-r--r--pkgs/servers/mail/opensmtpd/extras.nix2
-rw-r--r--pkgs/servers/mail/postfix/default.nix2
-rw-r--r--pkgs/servers/restund/default.nix2
-rw-r--r--pkgs/servers/sql/mariadb/default.nix200
-rw-r--r--pkgs/servers/sql/mariadb/my_context_asm.patch18
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/perl-packages.nix1
30 files changed, 178 insertions, 172 deletions
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index f709744274447..af796f7490a87 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
 
   buildInputs = [
-    qtscriptgenerator stdenv.cc.libc gettext curl libxml2 mysql.lib
+    qtscriptgenerator stdenv.cc.libc gettext curl libxml2 mysql.server/*libmysqld*/
     taglib taglib_extras loudmouth kdelibs phonon strigi soprano qca2
     libmtp liblastfm libgpod qjson ffmpeg libofa nepomuk_core
     lz4 lzo snappy libaio pcre
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";
 
+  enableParallelBuilding = true;
+
   propagatedUserEnvPkgs = [ qtscriptgenerator ];
 
   meta = {
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index c373f8b9e2723..5773718b0a4c5 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite pkgconfig cairo
-  readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.lib blas ]
+  readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.client blas ]
     ++ (with pythonPackages; [ python dateutil wxPython30 numpy sqlite3 ]);
 
   configureFlags = [
@@ -22,7 +22,8 @@ stdenv.mkDerivation {
     "--with-netcdf"
     "--with-geos"
     "--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/"
-    "--with-mysql" "--with-mysql-includes=${mysql.lib}/include/mysql"
+    # it complains about missing libmysqld but doesn't really seem to need it
+    "--with-mysql" "--with-mysql-includes=${stdenv.lib.getDev mysql.client}/include/mysql"
     "--with-blas"
   ];
 
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index 59fb90d78cdf1..ef4aa44d436a0 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ cmake pkgconfig boost libunwind mariadb libmemcached pcre gdb git perl
+    [ cmake pkgconfig boost libunwind mariadb.client libmemcached pcre gdb git perl
       libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
       oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
       libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml libkrb5
@@ -29,8 +29,6 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false; # occasional build problems;
   dontUseCmakeBuildDir = true;
   NIX_LDFLAGS = "-lpam -L${pam}/lib";
-  MYSQL_INCLUDE_DIR="${mariadb}/include/mysql";
-  MYSQL_DIR=mariadb;
 
   # work around broken build system
   NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype2";
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index d9c448970c974..638b10f76d5d1 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, file, openssl, mlton
+{ stdenv, lib, fetchurl, file, openssl, mlton
 , mysql, postgresql, sqlite
 }:
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65";
   };
 
-  buildInputs = [ openssl mlton mysql postgresql sqlite ];
+  buildInputs = [ openssl mlton mysql.client postgresql sqlite ];
 
   prePatch = ''
     sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure
@@ -21,11 +21,11 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     export PGHEADER="${postgresql}/include/libpq-fe.h";
-    export MSHEADER="${mysql.lib}/include/mysql/mysql.h";
+    export MSHEADER="${lib.getDev mysql.client}/include/mysql/mysql.h";
     export SQHEADER="${sqlite.dev}/include/sqlite3.h";
 
     export CCARGS="-I$out/include \
-                   -L${mysql.lib}/lib/mysql \
+                   -L${lib.getLib mysql.client}/lib/mysql \
                    -L${postgresql.lib}/lib \
                    -L${sqlite.out}/lib";
   '';
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 25fa3d0bc74e4..8679c7122c9ba 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -7,11 +7,11 @@
  else stdenv.mkDerivation)
 
 (rec {
-  name = "guile-2.0.11";
+  name = "guile-2.0.12";
 
   src = fetchurl {
     url = "mirror://gnu/guile/${name}.tar.xz";
-    sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f";
+    sha256 = "1sdpjq0jf1h65w29q0zprj4x6kdp5jskkvbnlwphy9lvdxrqg0fy";
   };
 
   nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index df634147f58d8..3188d94244163 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -107,7 +107,7 @@ let
         };
 
         mysql = {
-          configureFlags = ["--with-mysql=${mysql.lib}"];
+          configureFlags = ["--with-mysql"];
           buildInputs = [ mysql.lib ];
         };
 
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index a7a02521c69c2..6b92848fd0f7e 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -1,24 +1,34 @@
-{ fetchurl, stdenv, lib, precision ? "double" }:
+{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }:
 
 with lib;
 
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
-let version = "3.3.4"; in
+let version = "3.3.5-rc1"; in
 
 stdenv.mkDerivation rec {
   name = "fftw-${precision}-${version}";
 
-  src = fetchurl {
-    url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
-    sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g";
+  src = fetchFromGitHub {
+    owner = "FFTW";
+    repo = "fftw3";
+    rev = "fftw-${version}";
+    sha256 = "1gc57xvdqbapq30ylj3fxwkv61la4kzyf7ji0q0xqjwpji2ynqi4";
   };
 
+  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-shared" "--disable-static"
+    [ "--enable-maintainer-mode"
+      "--enable-shared" "--disable-static"
       "--enable-threads"
     ]
     ++ optional (precision != "double") "--enable-${precision}"
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 0f33f2a5f7fe9..1a5931d9828e2 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -13,7 +13,7 @@ with stdenv.lib;
 
 let
   ver_maj = "3.20";
-  ver_min = "6";
+  ver_min = "8";
   version = "${ver_maj}.${ver_min}";
 in
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-    sha256 = "3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2";
+    sha256 = "9841bd9b4d23c045c474b10fdde9da958af904b63783701e796391d55d4396f3";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix
index f64174778b205..77c09f3ed1583 100644
--- a/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
     "--with-dbi-libdir=${libdbi}/lib"
   ] ++ optionals (libmysql != null) [
     "--with-mysql"
-    "--with-mysql-incdir=${libmysql}/include/mysql"
-    "--with-mysql-libdir=${libmysql}/lib/mysql"
   ] ++ optionals (postgresql != null) [
     "--with-pgsql"
     "--with-pgsql_incdir=${postgresql}/include"
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 1d293f9ffcb8b..44db602f1ebac 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -19,10 +19,9 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
   # TODO: share libs between minimal and !minimal - perhaps just symlink them
 
-  configureFlags = lib.optionals (!minimal) [
-    "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri"
-    "--enable-glx"
-  ];
+  configureFlags =
+    [ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++
+    lib.optionals (!minimal) [ "--enable-glx" ];
 
   installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 5ddc7bf3ddb8f..4ed47f46a3213 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -144,8 +144,6 @@ stdenv.mkDerivation {
 
   '' + /* set the default search path for DRI drivers; used e.g. by X server */ ''
     substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
-  '' + /* move vdpau drivers to $drivers/lib, so they are found */ ''
-    mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau
   '';
   #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM */
 
diff --git a/pkgs/development/libraries/mesa/symlink-drivers.patch b/pkgs/development/libraries/mesa/symlink-drivers.patch
index 6c800e5dfce60..b96e8e0b816e7 100644
--- a/pkgs/development/libraries/mesa/symlink-drivers.patch
+++ b/pkgs/development/libraries/mesa/symlink-drivers.patch
@@ -11,7 +11,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/dri/Makefile.am mesa-11.1.
  install-data-hook:
  	for i in $(TARGET_DRIVERS); do                                  \
 -		ln -f $(DESTDIR)$(dridir)/gallium_dri.so                \
-+		ln -sf $(DESTDIR)$(dridir)/gallium_dri.so               \
++		ln -srf $(DESTDIR)$(dridir)/gallium_dri.so               \
  		      $(DESTDIR)$(dridir)/$${i}_dri.so;                 \
  	done;                                                           \
 -	$(RM) $(DESTDIR)$(dridir)/gallium_dri.*
@@ -36,7 +36,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/vdpau/Makefile.am mesa-11.
  		k=libvdpau_$${i}.$(LIB_EXT);				\
  		l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0;		\
 -		ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
-+		ln -sf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
++		ln -srf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
  		      $${dest_dir}/$${l};				\
  		ln -sf $${l}						\
  		       $${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
@@ -62,7 +62,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/mesa/drivers/dri/Makefile.am mesa-11.1.4/s
  install-data-hook:
  	for i in $(MEGADRIVERS); do \
 -		ln -f $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
-+		ln -sf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
++		ln -srf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
  		      $(DESTDIR)$(dridir)/$$i; \
  	done;
 -	$(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.*
diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix
index 03e7718a3ae46..37afa3fd50704 100644
--- a/pkgs/development/libraries/opendbx/default.nix
+++ b/pkgs/development/libraries/opendbx/default.nix
@@ -1,5 +1,8 @@
 { stdenv, fetchurl, readline, mysql, postgresql, sqlite }:
 
+let
+  inherit (stdenv.lib) getDev getLib;
+in
 stdenv.mkDerivation rec {
   name = "opendbx-1.4.6";
 
@@ -9,10 +12,10 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    export CPPFLAGS="-I${mysql.lib}/include/mysql"
-    export LDFLAGS="-L${mysql.lib}/lib/mysql"
+    export CPPFLAGS="-I${getDev mysql.client}/include/mysql"
+    export LDFLAGS="-L${getLib mysql.client}/lib/mysql -L${getLib postgresql}/lib"
     configureFlagsArray=(--with-backends="mysql pgsql sqlite3")
   '';
 
-  buildInputs = [ readline mysql.lib postgresql sqlite ];
+  buildInputs = [ readline mysql.client postgresql sqlite ];
 }
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index e7b4b907df99e..949f3f5b77863 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
       -I${randrproto}/include" else "-no-xrandr"}
     ${if xineramaSupport then "-xinerama -L${libXinerama.out}/lib -I${libXinerama.dev}/include" else "-no-xinerama"}
     ${if cursorSupport then "-L${libXcursor.out}/lib -I${libXcursor.dev}/include" else ""}
-    ${if mysqlSupport then "-qt-sql-mysql -L${mysql.lib}/lib/mysql -I${mysql.lib}/include/mysql" else ""}
+    ${if mysqlSupport then "-qt-sql-mysql -L${stdenv.lib.getLib mysql.client}/lib/mysql -I${mysql.client}/include/mysql" else ""}
     ${if xftSupport then "-xft
       -L${libXft.out}/lib -I${libXft.dev}/include
       -L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index 80b39bd4cabce..233fdd902541e 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -37,7 +37,7 @@
     };
 
     nativeBuildInputs = [ cmake ];
-    buildInputs = [ unixODBC mariadb ];
+    buildInputs = [ unixODBC mariadb.lib ];
 
     cmakeFlags = [
       "-DMARIADB_INCLUDE_DIR=${mariadb.lib}/include/mysql"
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index e8ec8f2aa241f..abadf07a574a5 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -192,7 +192,7 @@ let lispPackages = rec {
     version = "git-20150514";
     description = "Common Lisp SQL Interface library";
     deps = [uffi];
-    buildInputs = [pkgs.mysql.lib pkgs.zlib];
+    buildInputs = [pkgs.mysql.client pkgs.zlib];
     # Source type: git
     src = pkgs.fetchgit {
       url =
@@ -204,8 +204,8 @@ let lispPackages = rec {
     };
     overrides = x:{
       preConfigure = ''
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.mysql.lib}/include/mysql"
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.mysql.lib}/lib/mysql"
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${stdenv.lib.getDev pkgs.mysql.client}/include/mysql"
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L${stdenv.lib.getLib pkgs.mysql.client}/lib/mysql"
       '';
     };
   };
diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix
index 3131d8212e42c..ce3487a80a0ee 100644
--- a/pkgs/development/ocaml-modules/mysql/default.nix
+++ b/pkgs/development/ocaml-modules/mysql/default.nix
@@ -23,15 +23,11 @@ stdenv.mkDerivation {
      "--libdir=$out/lib/ocaml/${ocaml_version}/site-lib/mysql"
   ];
 
-  buildInputs = [ocaml findlib mysql.lib camlp4 ];
+  buildInputs = [ocaml findlib camlp4 ];
 
   createFindlibDestdir = true;
 
-  propagatedBuildInputs = [ mysql.lib ];
-
-  preConfigure = ''
-    export LDFLAGS="-L${mysql.lib}/lib/mysql"
-  '';
+  propagatedBuildInputs = [ mysql.client ];
 
   buildPhase = ''
     make
diff --git a/pkgs/development/pure-modules/glpk/default.nix b/pkgs/development/pure-modules/glpk/default.nix
index 22d2bc1773808..af13e85663246 100644
--- a/pkgs/development/pure-modules/glpk/default.nix
+++ b/pkgs/development/pure-modules/glpk/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
     preConfigure = ''
       substituteInPlace configure \
-        --replace /usr/include/mysql ${libmysql}/include/mysql
+        --replace /usr/include/mysql ${lib.getDev libmysql}/include/mysql
     '';
     configureFlags = [ "--enable-dl"
                        "--enable-odbc"
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 32e16751395a8..52822178c0237 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -10,8 +10,8 @@ assert wantPS -> (ps != null);
 
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.4";
-  minorVersion = "3";
+  majorVersion = "3.6";
+  minorVersion = "0";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "1yl0z422gr7zfc638chifv343vx0ig5gasvrh7nzf7b15488qgxp";
+    sha256 = "0w3n2i02jpbgai4dxsigm1c1i1qb5v70wyxckzwrxvs0ri0fs1gx";
   };
 
   patches =
@@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
         --subst-var-by glibc_bin ${getBin glibc} \
         --subst-var-by glibc_dev ${getDev glibc} \
         --subst-var-by glibc_lib ${getLib glibc}
+      substituteInPlace Modules/FindCxxTest.cmake \
+        --replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell}
     '';
   configureFlags =
     [ "--docdir=share/doc/${name}"
diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix
index 9975aa1b15b7d..d7a0a62f5bd60 100644
--- a/pkgs/games/zod/default.nix
+++ b/pkgs/games/zod/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysql
     makeWrapper ];
 
-  NIX_LDFLAGS="-L${libmysql}/lib/mysql";
+  NIX_LDFLAGS="-L${stdenv.lib.getLib libmysql}/lib/mysql";
 
   installPhase = ''
     mkdir -p $out/bin $out/share/zod
diff --git a/pkgs/servers/games/ghost-one/default.nix b/pkgs/servers/games/ghost-one/default.nix
index 3c1430157d02c..63a716339237d 100644
--- a/pkgs/servers/games/ghost-one/default.nix
+++ b/pkgs/servers/games/ghost-one/default.nix
@@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2";
   };
 
-  buildInputs = [ unzip gmp zlib bzip2 boost mysql.lib ];
+  buildInputs = [ unzip gmp zlib bzip2 boost mysql.client ];
 
   patchPhase = ''
-    substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" "${mysql.lib}/lib/mysql"
+    substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" \
+      "${stdenv.lib.getLib mysql.client}/lib/mysql"
   '';
 
   buildPhase = ''
@@ -49,5 +50,6 @@ stdenv.mkDerivation rec {
     description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot";
     license = licenses.asl20;
     maintainers = [ maintainers.phreedom ];
+    broken = true; # can't even get downloaded
   };
 }
diff --git a/pkgs/servers/mail/dspam/default.nix b/pkgs/servers/mail/dspam/default.nix
index 1ac47fbf7224c..6f52e62aab755 100644
--- a/pkgs/servers/mail/dspam/default.nix
+++ b/pkgs/servers/mail/dspam/default.nix
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
     "--enable-preferences-extension"
     "--enable-long-usernames"
     "--enable-external-lookup"
-  ] ++ lib.optional withMySQL "--with-mysql-includes=${libmysql}/include/mysql"
+  ] ++ lib.optional withMySQL "--with-mysql-includes=${lib.getDev libmysql}/include/mysql"
     ++ lib.optional withPgSQL "--with-pgsql-libraries=${postgresql.lib}/lib";
 
   # Lots of things are hardwired to paths like sysconfdir. That's why we install with both "prefix" and "DESTDIR"
diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix
index cf93b11ba9aa9..5e5170afbc79c 100644
--- a/pkgs/servers/mail/opensmtpd/extras.nix
+++ b/pkgs/servers/mail/opensmtpd/extras.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl libevent
-    libasr python2 lua5 perl mariadb postgresql sqlite hiredis ];
+    libasr python2 lua5 perl mariadb.client postgresql sqlite hiredis ];
 
   configureFlags = [
     "--sysconfdir=/etc"
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 008c8c90d1bec..99371f41b0f1f 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -11,7 +11,7 @@ let
     "-DHAS_DB_BYPASS_MAKEDEFS_CHECK"
     "-fPIE" "-fstack-protector-all" "--param" "ssp-buffer-size=4" "-O2" "-D_FORTIFY_SOURCE=2"
    ] ++ lib.optional withPgSQL "-DHAS_PGSQL"
-     ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${libmysql}/include/mysql" ]
+     ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${lib.getDev libmysql}/include/mysql" ]
      ++ lib.optional withSQLite "-DHAS_SQLITE");
    auxlibs = lib.concatStringsSep " " ([
      "-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl" "-pie" "-Wl,-z,relro,-z,now"
diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix
index 8a831f7ff6973..acca1af60550a 100644
--- a/pkgs/servers/restund/default.nix
+++ b/pkgs/servers/restund/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
   ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
   ;
-  NIX_LDFLAGS='' -L${mysql.lib}/lib/mysql '';
+  NIX_LDFLAGS='' -L${stdenv.lib.getLib mysql.client}/lib/mysql '';
   meta = {
     homepage = "http://www.creytiv.com/restund.html";
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 902be5322228b..1f9a863bea5b4 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,55 +1,133 @@
-{ stdenv, fetchurl, cmake, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
+{ stdenv, fetchurl, cmake, pkgconfig, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
 , openssl, pcre, boost, judy, bison, libxml2
 , libaio, libevent, groff, jemalloc, cracklib, systemd, numactl, perl
 , fixDarwinDylibNames, cctools, CoreServices
-, makeWrapper
 }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec {
-  name = "mariadb-${version}";
-  version = "10.1.9";
+
+let # in mariadb # spans the whole file
+
+mariadb = everything // {
+  inherit client; # libmysqlclient.so in .out, necessary headers in .dev and utils in .bin
+  server = everything; # a full single-output build, including everything in `client` again
+  lib = client; # compat. with the old mariadb split
+};
+
+
+common = rec { # attributes common to both builds
+  version = "10.1.16";
 
   src = fetchurl {
     url    = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "0471vwg9c5c17m7679krjha16ib6d48fcsphkchb9v9cf8k5i74f";
+    sha256 = "14s3wq1c25n62n75hkixl8n7cni4m73w055nsx4czm655k33bjv7";
   };
 
+  prePatch = ''
+    substituteInPlace cmake/libutils.cmake \
+      --replace /usr/bin/libtool libtool
+    sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
   buildInputs = [
-    cmake ncurses openssl zlib xz lzo lz4 bzip2
-    # temporary due to https://mariadb.atlassian.net/browse/MDEV-9000
-    (if stdenv.is64bit then snappy else null)
-    pcre libxml2 boost judy bison libevent cracklib
-    makeWrapper
+    ncurses openssl zlib pcre
   ] ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio systemd ]
-    ++ stdenv.lib.optionals (stdenv.isLinux && !stdenv.isArm) [ numactl ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch;
-
   cmakeFlags = [
     "-DBUILD_CONFIG=mysql_release"
+    "-DMANUFACTURER=NixOS.org"
     "-DDEFAULT_CHARSET=utf8"
     "-DDEFAULT_COLLATION=utf8_general_ci"
-    "-DENABLED_LOCAL_INFILE=ON"
+    "-DSECURITY_HARDENED=ON"
+
     "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DINSTALL_MYSQLSHAREDIR=share/mysql"
+
+    "-DWITH_ZLIB=system"
+    "-DWITH_SSL=system"
+    "-DWITH_PCRE=system"
+  ]
+    ++ optional stdenv.isDarwin "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
+    ;
+
+  preConfigure = ''
+    cmakeFlags="$cmakeFlags -DINSTALL_INCLUDEDIR=''${!outputDev}/include/mysql"
+  '';
+
+  postInstall = ''
+    rm "$out"/lib/*.a
+    find "''${!outputBin}/bin" -name '*test*' -delete
+  '';
+
+  passthru.mysqlVersion = "5.6";
+
+  meta = with stdenv.lib; {
+    description = "An enhanced, drop-in replacement for MySQL";
+    homepage    = https://mariadb.org/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ thoughtpolice wkennington ];
+    platforms   = platforms.all;
+  };
+};
+
+
+client = stdenv.mkDerivation (common // {
+  name = "mariadb-client-${common.version}";
+
+  outputs = [ "dev" "out" "bin" ];
+
+  propagatedBuildInputs = [ openssl zlib ]; # required from mariadb.pc
+
+  cmakeFlags = common.cmakeFlags ++ [
+    "-DWITHOUT_SERVER=ON"
+  ];
+
+  preConfigure = common.preConfigure + ''
+    cmakeFlags="$cmakeFlags \
+      -DINSTALL_BINDIR=$bin/bin -DINSTALL_SCRIPTDIR=$bin/bin \
+      -DINSTALL_SUPPORTFILESDIR=$bin/share/mysql \
+      -DINSTALL_DOCDIR=$bin/share/doc/mysql -DINSTALL_DOCREADMEDIR=$bin/share/doc/mysql \
+      "
+  '';
+
+  # prevent cycle; it needs to reference $dev
+  postInstall = common.postInstall + ''
+    moveToOutput bin/mysql_config "$dev"
+  '';
+
+  enableParallelBuilding = true; # the client should be OK
+});
+
+
+everything = stdenv.mkDerivation (common // {
+  name = "mariadb-${common.version}";
+
+  nativeBuildInputs = common.nativeBuildInputs ++ [ bison ];
+
+  buildInputs = common.buildInputs ++ [
+    xz lzo lz4 bzip2 snappy
+    libxml2 boost judy libevent cracklib
+  ]
+    ++ optionals (stdenv.isLinux && !stdenv.isArm) [ numactl ]
+    ;
+
+  cmakeFlags = common.cmakeFlags ++ [
     "-DMYSQL_DATADIR=/var/lib/mysql"
     "-DINSTALL_SYSCONFDIR=etc/mysql"
     "-DINSTALL_INFODIR=share/mysql/docs"
     "-DINSTALL_MANDIR=share/man"
     "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
     "-DINSTALL_SCRIPTDIR=bin"
-    "-DINSTALL_INCLUDEDIR=include/mysql"
-    "-DINSTALL_DOCREADMEDIR=share/mysql"
     "-DINSTALL_SUPPORTFILESDIR=share/mysql"
-    "-DINSTALL_MYSQLSHAREDIR=share/mysql"
-    "-DINSTALL_DOCDIR=share/mysql/docs"
+    "-DINSTALL_DOCREADMEDIR=share/doc/mysql"
+    "-DINSTALL_DOCDIR=share/doc/mysql"
     "-DINSTALL_SHAREDIR=share/mysql"
+
+    "-DENABLED_LOCAL_INFILE=ON"
     "-DWITH_READLINE=ON"
-    "-DWITH_ZLIB=system"
-    "-DWITH_SSL=system"
-    "-DWITH_PCRE=system"
-    "-DWITH_EMBEDDED_SERVER=yes"
     "-DWITH_EXTRA_CHARSETS=complex"
     "-DWITH_EMBEDDED_SERVER=ON"
     "-DWITH_ARCHIVE_STORAGE_ENGINE=1"
@@ -58,83 +136,17 @@ stdenv.mkDerivation rec {
     "-DWITH_PARTITION_STORAGE_ENGINE=1"
     "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1"
     "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1"
-    "-DSECURITY_HARDENED=ON"
     "-DWITH_WSREP=ON"
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
     "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1"
     "-DWITHOUT_TOKUDB=1"
-    "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
   ];
 
-  # fails to find lex_token.h sometimes
-  enableParallelBuilding = false;
-
-  outputs = [ "out" "lib" ];
-  setOutputFlags = false;
-  moveToDev = false;
-
-  prePatch = ''
-    substituteInPlace cmake/libutils.cmake \
-      --replace /usr/bin/libtool libtool
-    sed -i "s,SET(DEFAULT_MYSQL_HOME.*$,SET(DEFAULT_MYSQL_HOME /not/a/real/dir),g" CMakeLists.txt
-    sed -i "s,SET(PLUGINDIR.*$,SET(PLUGINDIR $lib/lib/mysql/plugin),g" CMakeLists.txt
-
-    sed -i "s,SET(pkgincludedir.*$,SET(pkgincludedir $lib/include),g" scripts/CMakeLists.txt
-    sed -i "s,SET(pkglibdir.*$,SET(pkglibdir $lib/lib),g" scripts/CMakeLists.txt
-    sed -i "s,SET(pkgplugindir.*$,SET(pkgplugindir $lib/lib/mysql/plugin),g" scripts/CMakeLists.txt
-
-    sed -i "s,set(libdir.*$,SET(libdir $lib/lib),g" storage/mroonga/vendor/groonga/CMakeLists.txt
-    sed -i "s,set(includedir.*$,SET(includedir $lib/include),g" storage/mroonga/vendor/groonga/CMakeLists.txt
-    sed -i "/\"\$[{]CMAKE_INSTALL_PREFIX}\/\$[{]GRN_RELATIVE_PLUGINS_DIR}\"/d" storage/mroonga/vendor/groonga/CMakeLists.txt
-    sed -i "s,set(GRN_PLUGINS_DIR.*$,SET(GRN_PLUGINS_DIR $lib/\$\{GRN_RELATIVE_PLUGINS_DIR}),g" storage/mroonga/vendor/groonga/CMakeLists.txt
-    sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
+  postInstall = common.postInstall + ''
+    rm -r "$out"/{mysql-test,sql-bench,data} # Don't need testing data
+    rm "$out"/share/man/man1/mysql-test-run.pl.1
   '';
+});
 
-  postInstall = ''
-    substituteInPlace $out/bin/mysql_install_db \
-      --replace basedir=\"\" basedir=\"$out\"
-
-    # Wrap mysqld with --basedir, but as last flag
-    wrapProgram $out/bin/mysqld 
-    sed -i "s,\(^exec.*$\),\1 --basedir=$out,g" $out/bin/mysqld
-
-    # Remove superfluous files
-    rm -r $out/mysql-test $out/sql-bench $out/data # Don't need testing data
-    rm $out/share/man/man1/mysql-test-run.pl.1
-    rm $out/bin/rcmysql # Not needed with nixos units
-    rm $out/bin/mysqlbug # Encodes a path to gcc and not really useful
-    find $out/bin -name \*test\* -exec rm {} \;
-
-    # Separate libs and includes into their own derivation
-    mkdir -p $lib
-    mv $out/lib $lib
-    mv $out/include $lib
-
-    # Fix the mysql_config
-    sed -i $out/bin/mysql_config \
-      -e 's,-lz,-L${zlib.out}/lib -lz,g' \
-      -e 's,-lssl,-L${openssl.out}/lib -lssl,g'
-
-    # Add mysql_config to libs since configure scripts use it
-    mkdir -p $lib/bin
-    cp $out/bin/mysql_config $lib/bin
-    sed -i "/\(execdir\|bindir\)/ s,'[^\"']*',$lib/bin,g" $lib/bin/mysql_config
-
-    # Make sure to propagate lib for compatability
-    mkdir -p $out/nix-support
-    echo "$lib" > $out/nix-support/propagated-native-build-inputs
-
-    # Don't install static libraries.
-    rm $lib/lib/libmysqlclient.a $lib/lib/libmysqld.a
-  '';
-
-  passthru.mysqlVersion = "5.6";
+in mariadb
 
-  meta = with stdenv.lib; {
-    description = "An enhanced, drop-in replacement for MySQL";
-    homepage    = https://mariadb.org/;
-    license     = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ thoughtpolice wkennington ];
-    platforms   = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/servers/sql/mariadb/my_context_asm.patch b/pkgs/servers/sql/mariadb/my_context_asm.patch
deleted file mode 100644
index 3a747ed1b03cf..0000000000000
--- a/pkgs/servers/sql/mariadb/my_context_asm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/mysys/my_context.c
-+++ b/mysys/my_context.c
-@@ -206,15 +206,6 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d)
-     (
-      "movq %%rsp, (%[save])\n\t"
-      "movq %[stack], %%rsp\n\t"
--#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER)
--     /*
--       This emits a DWARF DW_CFA_undefined directive to make the return address
--       undefined. This indicates that this is the top of the stack frame, and
--       helps tools that use DWARF stack unwinding to obtain stack traces.
--       (I use numeric constant to avoid a dependency on libdwarf includes).
--     */
--     ".cfi_escape 0x07, 16\n\t"
--#endif
-      "movq %%rbp, 8(%[save])\n\t"
-      "movq %%rbx, 16(%[save])\n\t"
-      "movq %%r12, 24(%[save])\n\t"
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index f2e6117966f0f..5e7010def5413 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -18,11 +18,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.47.1";
+  name = "curl-7.50.1";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "13z9gba3q2ybp50z0gdkzhwcx9m0i7qkvm278yz4pql2jfml7inx";
+    sha256 = "0mjidq4q0hikhis2d35kzkhx6xfcgl875mk5ph5d98fa9kswa4iw";
   };
 
   outputs = [ "dev" "out" "bin" "man" "docdev" ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 857681504b4fd..d6dea925d30b1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10448,7 +10448,7 @@ in
   };
 
   mysql = mariadb;
-  libmysql = mysql.lib;
+  libmysql = mysql.client; # `libmysql` is a slight misnomer ATM
 
   mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
 
@@ -13972,6 +13972,7 @@ in
     youtubeSupport = config.mpv.youtubeSupport or true;
     cacaSupport = config.mpv.cacaSupport or true;
     vaapiSupport = config.mpv.vaapiSupport or false;
+    libva = libva-full;
   };
 
   mpvScripts = {
@@ -14441,6 +14442,7 @@ in
 
   rawtherapee = callPackage ../applications/graphics/rawtherapee {
     fftw = fftwSinglePrec;
+    cmake = cmake-2_8; # problems after 3.4 -> 3.6.0
   };
 
   rcs = callPackage ../applications/version-management/rcs { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index b822e3f0d40d0..899b72d46cf4e 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -14117,6 +14117,7 @@ let self = _self // overrides; _self = with self; {
     preConfigure =
       ''
         substituteInPlace Makefile.PL --replace '"cpp"' '"gcc -E"'
+        substituteInPlace Makefile.PL --replace '_LASTENTRY\z' '_LASTENTRY\z|CURL_DID_MEMORY_FUNC_TYPEDEFS\z'
       '';
     doCheck = false; # performs network access
   };