summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-10-02 12:42:23 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-10-02 12:42:23 -0700
commitf61176c5396ed513f3d399f73f38ab78a066667f (patch)
tree80b19d8098b5a1d93c8bca057438b5d0ed35f704
parenta27ca029ee2b39e04d7d2a516a7228f4b62067fb (diff)
parent2ef6508c7f187e1b8433f9936b98b79bee6ed31c (diff)
downloadnixlib-f61176c5396ed513f3d399f73f38ab78a066667f.tar
nixlib-f61176c5396ed513f3d399f73f38ab78a066667f.tar.gz
nixlib-f61176c5396ed513f3d399f73f38ab78a066667f.tar.bz2
nixlib-f61176c5396ed513f3d399f73f38ab78a066667f.tar.lz
nixlib-f61176c5396ed513f3d399f73f38ab78a066667f.tar.xz
nixlib-f61176c5396ed513f3d399f73f38ab78a066667f.tar.zst
nixlib-f61176c5396ed513f3d399f73f38ab78a066667f.zip
Merge pull request #9543 from NixOS/staging.post-15.06
Collection of core package updates with breaking changes
-rw-r--r--doc/haskell-users-guide.md21
-rw-r--r--lib/maintainers.nix2
-rw-r--r--nixos/modules/services/mail/opensmtpd.nix20
-rw-r--r--nixos/modules/services/networking/networkmanager.nix5
-rw-r--r--nixos/modules/tasks/network-interfaces.nix2
-rw-r--r--pkgs/applications/audio/audacity/default.nix8
-rw-r--r--pkgs/applications/audio/jackmix/default.nix35
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix2
-rw-r--r--pkgs/applications/graphics/hugin/default.nix4
-rw-r--r--pkgs/applications/networking/ids/daq/default.nix6
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix12
-rw-r--r--pkgs/applications/networking/iptraf-ng/default.nix44
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-hub/default.nix30
-rw-r--r--pkgs/applications/version-management/subversion/default.nix16
-rw-r--r--pkgs/applications/video/smplayer/default.nix8
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/env.nix7
-rw-r--r--pkgs/data/fonts/symbola/default.nix9
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix7
-rw-r--r--pkgs/development/libraries/glpk/default.nix4
-rw-r--r--pkgs/development/libraries/libdnet/default.nix4
-rw-r--r--pkgs/development/libraries/libunwind/native.nix17
-rw-r--r--pkgs/development/libraries/ncurses/default.nix24
-rw-r--r--pkgs/development/libraries/ncurses/gcc-5.patch46
-rw-r--r--pkgs/development/libraries/neon/default.nix5
-rw-r--r--pkgs/development/libraries/openssl/1.0.2.x.nix84
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/web/iojs/default.nix36
-rw-r--r--pkgs/development/web/nodejs/default-arch.patch24
-rw-r--r--pkgs/development/web/nodejs/default.nix7
-rw-r--r--pkgs/development/web/nodejs/no-xcode.patch21
-rw-r--r--pkgs/development/web/nodejs/pkg-libpath.patch13
-rw-r--r--pkgs/development/web/nodejs/v0_10.nix2
-rw-r--r--pkgs/misc/jackaudio/jack1.nix3
-rw-r--r--pkgs/misc/urbit/default.nix42
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/miraclecast/default.nix26
-rw-r--r--pkgs/os-specific/linux/nvidiabl/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidiabl/linux4compat.patch22
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix3
-rw-r--r--pkgs/os-specific/linux/syslinux/gcc5-fix.patch26
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix3
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix7
-rw-r--r--pkgs/servers/mail/opensmtpd/extras.nix79
-rw-r--r--pkgs/servers/mail/opensmtpd/proc_path.diff76
-rw-r--r--pkgs/stdenv/linux/default.nix9
-rw-r--r--pkgs/tools/filesystems/duff/default.nix19
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix10
-rw-r--r--pkgs/tools/misc/heatseeker/default.nix28
-rw-r--r--pkgs/tools/networking/openssh/default.nix6
-rw-r--r--pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch65
-rw-r--r--pkgs/top-level/all-packages.nix48
-rw-r--r--pkgs/top-level/go-packages.nix20
-rw-r--r--pkgs/top-level/perl-packages.nix10
53 files changed, 653 insertions, 384 deletions
diff --git a/doc/haskell-users-guide.md b/doc/haskell-users-guide.md
index b06a81e5b36a..446f08eb697c 100644
--- a/doc/haskell-users-guide.md
+++ b/doc/haskell-users-guide.md
@@ -666,6 +666,27 @@ to find out the store path of the system's zlib library. Now, you can
    The same thing applies to `cabal configure`, of course, if you're
    building with `cabal-install` instead of Stack.
 
+## Creating statically linked binaries
+
+There are two levels of static linking. The first option is to configure the
+build with the Cabal flag `--disable-executable-dynamic`. In Nix expressions,
+this can be achieved by setting the attribute:
+
+    enableSharedExecutables = false;
+
+That gives you a binary with statically linked Haskell libraries and
+dynamically linked system libraries.
+
+To link both Haskell libraries and system libraries statically, the additional
+flags `--ghc-option=-optl=-static --ghc-option=-optl=-pthread` need to be used.
+In Nix, this is accomplished with:
+
+    configureFlags = [ "--ghc-option=-optl=-static" "--ghc-option=-optl=-pthread" ];
+
+It's important to realize, however, that most system libraries in Nix are built
+as shared libraries only, i.e. there is just no static library available that
+Cabal could link!
+
 
 # Other resources
 
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 121fca951642..071a4d45ba23 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -144,6 +144,7 @@
   jwilberding = "Jordan Wilberding <jwilberding@afiniate.com>";
   jzellner = "Jeff Zellner <jeffz@eml.cc>";
   kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
+  kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
   khumba = "Bryan Gardiner <bog@khumba.net>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
   koral = "Koral <koral@mailoo.org>";
@@ -179,6 +180,7 @@
   meditans = "Carlo Nucera <meditans@gmail.com>";
   meisternu = "Matt Miemiec <meister@krutt.org>";
   michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
+  michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
   mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
   mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix
index a3e50b422920..a1cfd84365a2 100644
--- a/nixos/modules/services/mail/opensmtpd.nix
+++ b/nixos/modules/services/mail/opensmtpd.nix
@@ -46,6 +46,17 @@ in {
           is left empty, the OpenSMTPD server will not start.
         '';
       };
+
+      procPackages = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = ''
+          Packages to search for filters, tables, queues, and schedulers.
+
+          Add OpenSMTPD-extras here if you want to use the filters, etc. from
+          that package.
+        '';
+      };
     };
 
   };
@@ -72,12 +83,19 @@ in {
       };
     };
 
-    systemd.services.opensmtpd = {
+    systemd.services.opensmtpd = let
+      procEnv = pkgs.buildEnv {
+        name = "opensmtpd-procs";
+        paths = [ opensmtpd ] ++ cfg.procPackages;
+        pathsToLink = [ "/libexec/opensmtpd" ];
+      };
+    in {
       wantedBy = [ "multi-user.target" ];
       wants = [ "network.target" ];
       after = [ "network.target" ];
       preStart = "mkdir -p /var/spool";
       serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
+      environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
     };
 
     environment.systemPackages = [ (pkgs.runCommand "opensmtpd-sendmail" {} ''
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index adbc6099c95a..8370eca21e52 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -71,11 +71,10 @@ let
     ${coreutils}/bin/rm -f $tmp $tmp.ns
   '';
 
-  # pre-up and pre-down hooks were added in NM 0.9.10, but we still use 0.9.0
   dispatcherTypesSubdirMap = {
     "basic" = "";
-    /*"pre-up" = "pre-up.d/";
-    "pre-down" = "pre-down.d/";*/
+    "pre-up" = "pre-up.d/";
+    "pre-down" = "pre-down.d/";
   };
 
 in {
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 9ffede48bf52..03e647b1b1e7 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -59,7 +59,7 @@ let
   # place the interface which is named after the device at the beginning.
   wlanListDeviceFirst = device: interfaces:
     if hasAttr device interfaces
-    then [{"${device}"=interfaces.device; _iName=device;}] ++ mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n!=device) interfaces)
+    then mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n==device) interfaces) ++ mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n!=device) interfaces)
     else mapAttrsToList (n: v: v // {_iName = n;}) interfaces;
 
   # udev script that configures a physical wlan device and adds virtual interfaces
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 6f25693f734e..67ec6b5a419e 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib, perl, intltool,
   libogg, libvorbis, libmad, alsaLib, libsndfile, soxr, flac, lame,
-  expat, libid3tag, ffmpeg /*, portaudio - given up fighting their portaudio.patch */
+  expat, libid3tag, ffmpeg, soundtouch /*, portaudio - given up fighting their portaudio.patch */
   }:
 
 stdenv.mkDerivation rec {
@@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
     rm -r lib-src-rm/
   '';
 
+  configureFlags = "--with-libsamplerate";
+
   buildInputs = [
     pkgconfig gettext wxGTK gtk expat alsaLib
     libsndfile soxr libid3tag
-    ffmpeg libmad lame libvorbis flac
-  ]; #ToDo: soundtouch, detach sbsms
+    ffmpeg libmad lame libvorbis flac soundtouch
+  ]; #ToDo: detach sbsms
 
   dontDisableStatic = true;
   doCheck = true;
diff --git a/pkgs/applications/audio/jackmix/default.nix b/pkgs/applications/audio/jackmix/default.nix
new file mode 100644
index 000000000000..8176a3404702
--- /dev/null
+++ b/pkgs/applications/audio/jackmix/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgs, jack ? pkgs.libjack2 }:
+
+stdenv.mkDerivation rec {
+  name = "jackmix-0.5.2";
+  src = fetchurl {
+    url = https://github.com/kampfschlaefer/jackmix/archive/v0.5.2.tar.gz;
+    sha256 = "18f5v7g66mgarhs476frvayhch7fy4nyjf2xivixc061ipn0m82j";
+  };
+
+  buildInputs = [
+    pkgs.pkgconfig
+    pkgs.scons
+    pkgs.kde4.qt4
+    pkgs.lash
+    jack
+  ];
+
+  buildPhase = ''
+    scons
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp jackmix/jackmix $out/bin
+  '';
+
+  meta = {
+    description = "Matrix-Mixer for the Jack-Audio-connection-Kit";
+    homepage = http://www.arnoldarts.de/jackmix/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.kampfschlaefer ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
+
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index ea638de7925d..702911fee744 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -245,7 +245,7 @@ rec {
 
   /* =============== simple script files ==================== */
 
-  # also have a look at enblendenfuse in all-packages.nix
+  # also have a look at enblend-enfuse in all-packages.nix
   exposureBlend = scriptDerivation {
     name = "exposure-blend";
     src = fetchurl {
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index 88912cbda55d..b11ed1a99df7 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,7 +1,7 @@
 { stdenv, cmake, fetchurl, gnumake, pkgconfig
 , boost, gettext, tclap, wxGTK
 , freeglut, glew, libXi, libXmu, mesa
-, autopanosiftc, enblendenfuse, exiv2, ilmbase, lensfun, libpng, libtiff
+, autopanosiftc, enblend-enfuse, exiv2, ilmbase, lensfun, libpng, libtiff
 , openexr, panotools, perlPackages
 }:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   # commandline tools needed by the hugin batch processor
   # you may have to tell hugin (in the preferences) where these binaries reside
-  propagatedUserEnvPackages = [ autopanosiftc enblendenfuse gnumake
+  propagatedUserEnvPackages = [ autopanosiftc enblend-enfuse gnumake
                                 perlPackages.ImageExifTool
                               ];
 
diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix
index c4a82966238a..9339bfef6e03 100644
--- a/pkgs/applications/networking/ids/daq/default.nix
+++ b/pkgs/applications/networking/ids/daq/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, flex, bison, libpcap}:
+{stdenv, fetchurl, flex, bison, libpcap, libdnet, libnfnetlink, libnetfilter_queue}:
 
 stdenv.mkDerivation rec {
   name = "daq-2.0.5";
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "0vdwb0r9kdlgj4g0i0swafbc7qik0zmks17mhqji8cl7hpdva13p";
   };
 
-  buildInputs = [ flex bison libpcap ];
+  buildInputs = [ flex bison libpcap libdnet libnfnetlink libnetfilter_queue];
+
+  configureFlags = "--enable-nfq-module=yes --with-dnet-includes=${libdnet}/includes --with-dnet-libraries=${libdnet}/lib"; 
 
   meta = {
     description = "Data AcQuisition library (DAQ), for packet I/O";
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index ea7e09626994..62c784a7fb79 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
+{stdenv, makeWrapper, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
 
 stdenv.mkDerivation rec {
   version = "2.9.7.2";
@@ -10,7 +10,15 @@ stdenv.mkDerivation rec {
     sha256 = "1gmlrh9ygpd5h6nnrr4090wk5n2yq2yrvwi7q6xbm6lxj4rcamyv";
   };
   
-  buildInputs = [ libpcap pcre libdnet daq zlib flex bison ];
+  buildInputs = [ makeWrapper libpcap pcre libdnet daq zlib flex bison ];
+
+  enableParallelBuilding = true;
+
+  configureFlags = "--disable-static-daq --enable-control-socket --with-daq-includes=${daq}/includes --with-daq-libraries=${daq}/lib --dynamic-preprocessor-lib-dir $out/lib/snort_dynamicpreprocessor/ --dynamic-engine-lib-dir $out/lib/snort_dynamicengine";
+
+  postInstall = ''
+    wrapProgram $out/bin/snort --add-flags "--daq-dir ${daq}/lib/daq"
+  '';
   
   meta = {
     description = "Network intrusion prevention and detection system (IDS/IPS)";
diff --git a/pkgs/applications/networking/iptraf-ng/default.nix b/pkgs/applications/networking/iptraf-ng/default.nix
new file mode 100644
index 000000000000..368d78a36f90
--- /dev/null
+++ b/pkgs/applications/networking/iptraf-ng/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  version = "1.1.4";
+  name = "iptraf-ng-${version}";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/i/p/iptraf-ng/${name}.tar.gz";
+    sha256 = "02gb8z9h2s6s1ybyikywz7jgb1mafdx88hijfasv3khcgkq0q53r";
+  };
+
+  buildInputs = [ ncurses ];
+
+  configurePhase = ''
+    ./configure --prefix=$out/usr --sysconfdir=$out/etc \
+                --localstatedir=$out/var --sbindir=$out/bin
+  '';
+
+  meta = {
+    description = "A console-based network monitoring utility (fork of iptraf)";
+    longDescription = ''
+      IPTraf-ng is a console-based network monitoring utility. IPTraf-ng
+      gathers data like TCP connection packet and byte counts, interface
+      statistics and activity indicators, TCP/UDP traffic breakdowns, and LAN
+      station packet and byte counts. IPTraf-ng features include an IP traffic
+      monitor which shows TCP flag information, packet and byte counts, ICMP
+      details, OSPF packet types, and oversized IP packet warnings; interface
+      statistics showing IP, TCP, UDP, ICMP, non-IP and other IP packet counts,
+      IP checksum errors, interface activity and packet size counts; a TCP and
+      UDP service monitor showing counts of incoming and outgoing packets for
+      common TCP and UDP application ports, a LAN statistics module that
+      discovers active hosts and displays statistics about their activity; TCP,
+      UDP and other protocol display filters so you can view just the traffic
+      you want; logging; support for Ethernet, FDDI, ISDN, SLIP, PPP, and
+      loopback interfaces; and utilization of the built-in raw socket interface
+      of the Linux kernel, so it can be used on a wide variety of supported
+      network cards.
+    '';
+    homepage = https://fedorahosted.org/iptraf-ng/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index e47d2569b109..e657215f2cd5 100644
--- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, docutils, python }:
 
 let version = "0.9.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "git-hub-${version}";
 
   src = fetchFromGitHub {
@@ -11,20 +11,6 @@ stdenv.mkDerivation {
     owner = "sociomantic";
   };
 
-  meta = with stdenv.lib; {
-    inherit version;
-    description = "Git command line interface to GitHub";
-    longDescription = ''
-      A simple command line interface to GitHub, enabling most useful GitHub
-      tasks (like creating and listing pull request or issues) to be accessed
-      directly through the Git command line.
-    '';
-    homepage = https://github.com/sociomantic/git-hub;
-    license = licenses.gpl3Plus;
-    platforms = with platforms; linux;
-    maintainers = with maintainers; [ nckx ];
-  };
-
   buildInputs = [ python ];
   nativeBuildInputs = [ docutils ];
 
@@ -41,4 +27,18 @@ stdenv.mkDerivation {
     # Remove inert ftdetect vim plugin and a README that's a man page subset:
     rm -r $out/share/{doc,vim}
   '';
+
+  meta = with stdenv.lib; {
+    inherit version;
+    inherit (src.meta) homepage;
+    description = "Git command line interface to GitHub";
+    longDescription = ''
+      A simple command line interface to GitHub, enabling most useful GitHub
+      tasks (like creating and listing pull request or issues) to be accessed
+      directly through the Git command line.
+    '';
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
 }
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index db29360c9ecb..f563bebd9db8 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -8,6 +8,7 @@
 , stdenv, fetchurl, apr, aprutil, zlib, sqlite
 , apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
 , sasl ? null, serf ? null
+, branch ? "1.9"
 }:
 
 assert bdbSupport -> aprutil.bdbSupport;
@@ -15,15 +16,26 @@ assert httpServer -> apacheHttpd != null;
 assert pythonBindings -> swig != null && python != null;
 assert javahlBindings -> jdk != null && perl != null;
 
+let
+  config = {
+    "1.9".ver_min = "2";
+    "1.9".sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
+
+    "1.8".ver_min = "14";
+    "1.8".sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
+  };
+in
+assert builtins.hasAttr branch config;
+
 stdenv.mkDerivation (rec {
 
-  version = "1.9.2";
+  version = "${branch}." + config.${branch}.ver_min;
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion/${name}.tar.bz2";
-    sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
+    inherit (config.${branch}) sha1;
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 22935064c4b4..d56ef9649679 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, qt4 }:
+{ stdenv, fetchurl, qt5 }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-14.9.0.6690";
+  name = "smplayer-15.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "0nmw69kg8rqvl9icyx1r1v1pyxg6560363l0kyqyja18j79a3j2y";
+    sha256 = "1yx6kikaj9v5aj8aavvrcklx283wl6wrnpl905hjc7v03kgp1ac5";
   };
 
   patches = [ ./basegui.cpp.patch ];
 
-  buildInputs = [ qt4 ];
+  buildInputs = [ qt5.script ];
 
   preConfigure = ''
     makeFlags="PREFIX=$out"
diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix
index b659655f74b9..a2ac8288e8ec 100644
--- a/pkgs/build-support/build-fhs-chrootenv/env.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/env.nix
@@ -182,6 +182,12 @@ let
   setupLibDirs = if isTargetBuild then setupLibDirs_target
                                   else setupLibDirs_multi;
 
+  setupIncludeDir = ''
+    if [ -x "${staticUsrProfileTarget}/include" ]
+    then
+        ln -s "${staticUsrProfileTarget}/include"
+    fi
+  '';
 
   # the target profile is the actual profile that will be used for the chroot
   setupTargetProfile = ''
@@ -192,6 +198,7 @@ let
     cd usr
     ${linkProfile staticUsrProfileTarget}
     ${setupLibDirs}
+    ${setupIncludeDir}
     cd ..
     rm -rf usr/etc usr/var
   '';
diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix
index 5b2113dc57e8..253fd9cd3e98 100644
--- a/pkgs/data/fonts/symbola/default.nix
+++ b/pkgs/data/fonts/symbola/default.nix
@@ -5,11 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://users.teilar.gr/~g1951d/Symbola.zip";
-    sha256 = "07bczpl3vqdpg2gakfddhzzgpb6v2wpasv7rwqxkyg9yd9lmbr0s";
-  };
-  docs_pdf = fetchurl {
-    url = "http://users.teilar.gr/~g1951d/Symbola.pdf";
-    sha256 = "1zmq1ijl0k5hrc6vpa2xp9n1x2zrrd7ng3jwc9yf0qsi3pmkpk0p";
+    sha256 = "1lfs2j816332ysvpb5ibj2gwpmyqyispqdl7skkshf2gra18hmhd";
   };
 
   buildInputs = [ unzip ];
@@ -24,8 +20,7 @@ stdenv.mkDerivation rec {
 
     mkdir -p "$out/doc/${name}"
     cp -v Symbola.docx "$out/doc/${name}/"
-    cp -v Symbola.htm "$out/doc/${name}/"
-    cp -v "$docs_pdf" "$out/doc/${name}/${docs_pdf.name}"
+    cp -v Symbola.pdf "$out/doc/${name}/"
   '';
 
   meta = {
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
index b4e04f6ec904..3ae74057a54f 100644
--- a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
+++ b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
@@ -20,7 +20,7 @@
 { lib, fetchurl, writeScript, ruby, libxml2, libxslt, python, stdenv, which
 , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
-, cmake, libssh2, openssl, mysql
+, cmake, libssh2, openssl, mysql, darwin
 }:
 
 let
@@ -70,6 +70,7 @@ in
       "--with-exslt-lib=${libxslt}/lib"
       "--with-exslt-include=${libxslt}/include"
     ] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
+    buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
   };
 
   pg = attrs: {
@@ -119,6 +120,10 @@ in
     '';
   };
 
+  unf_ext = attrs: {
+    buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
+  };
+
   xapian-ruby = attrs: {
     # use the system xapian
     buildInputs = [ xapian pkgconfig zlib ];
diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix
index 2b1a5b571ef0..d4ff7d9603f6 100644
--- a/pkgs/development/libraries/glpk/default.nix
+++ b/pkgs/development/libraries/glpk/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "glpk-4.52.1";
+  name = "glpk-4.56";
 
   src = fetchurl {
     url = "mirror://gnu/glpk/${name}.tar.gz";
-    sha256 = "0nz9ngmx23c8gbjr8l8ygnfaanxj2mwbl8awpg630bgrkxdnhc9j";
+    sha256 = "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index 2bdeffb204d8..8911539d7b02 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -10,10 +10,10 @@ stdenv.mkDerivation {
     sha1 = "71302be302e84fc19b559e811951b5d600d976f8";
   };
 
-  configureFlags = [ "--enable-shared" ]; # shared libs required by hyenae
-
   buildInputs = [ automake autoconf libtool ];
 
+  CFLAGS="-fPIC";
+
   # .so endings are missing (quick and dirty fix)
   postInstall = ''
     for i in $out/lib/*; do
diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix
deleted file mode 100644
index 6ce485ecaec0..000000000000
--- a/pkgs/development/libraries/libunwind/native.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv }:
-
-assert stdenv.isDarwin;
-
-stdenv.mkDerivation {
-  name = "libunwind-native";
-
-  unpackPhase = ":";
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib
-  '';
-
-  meta.platforms = stdenv.lib.platforms.darwin;
-}
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index c505d89a6d8f..046c7347f863 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,38 +1,39 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchurl, pkgconfig, libtool
 
 , mouseSupport ? false
 , unicode ? true
 
 , gpm
-
-# Extra Options
-, abiVersion ? "5"
 }:
 
 stdenv.mkDerivation rec {
-  name = "ncurses-5.9";
+  name = "ncurses-6.0";
 
   src = fetchurl {
     url = "mirror://gnu/ncurses/${name}.tar.gz";
-    sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
+    sha256 = "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm";
   };
 
-  # gcc-5.patch should be removed after 5.9
-  patches = [ ./clang.patch ./gcc-5.patch ];
+  patches = [ ./clang.patch ];
 
   configureFlags = [
     "--with-shared"
+    "--with-cxx-shared"
+    "--with-libtool"
     "--without-debug"
+    "--enable-overwrite"  # Needed for proper header installation
     "--enable-pc-files"
     "--enable-symlinks"
   ] ++ lib.optional unicode "--enable-widec";
 
+  nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm;
 
   preConfigure = ''
     configureFlagsArray+=("--includedir=$out/include")
     export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
     mkdir -p "$PKG_CONFIG_LIBDIR"
+    configureFlagsArray+=("--with-pkg-config-libdir=$PKG_CONFIG_LIBDIR")
   '' + lib.optionalString stdenv.isCygwin ''
     sed -i -e 's,LIB_SUFFIX="t,LIB_SUFFIX=",' configure
   '';
@@ -69,7 +70,6 @@ stdenv.mkDerivation rec {
         for dylibtype in so dll dylib; do
           if [ -e "$out/lib/lib''${lib}$suffix.$dylibtype" ]; then
             ln -svf lib''${lib}$suffix.$dylibtype $out/lib/lib$lib$newsuffix.$dylibtype
-            ln -svf lib''${lib}$suffix.$dylibtype.${abiVersion} $out/lib/lib$lib$newsuffix.$dylibtype.${abiVersion}
           fi
         done
         for statictype in a dll.a la; do
@@ -82,10 +82,6 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preFixup = ''
-    rm $out/lib/*.a
-  '';
-
   meta = {
     description = "Free software emulation of curses in SVR4 and more";
 
@@ -112,6 +108,6 @@ stdenv.mkDerivation rec {
 
   passthru = {
     ldflags = "-lncurses";
-    inherit unicode abiVersion;
+    inherit unicode;
   };
 }
diff --git a/pkgs/development/libraries/ncurses/gcc-5.patch b/pkgs/development/libraries/ncurses/gcc-5.patch
deleted file mode 100644
index 2448229b88e1..000000000000
--- a/pkgs/development/libraries/ncurses/gcc-5.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/545114
-
-extracted from the upstream change (which had many unrelated commits in one)
-
-From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
-From: "Thomas E. Dickey" <dickey@invisible-island.net>
-Date: Sun, 7 Dec 2014 03:10:09 +0000
-Subject: [PATCH] ncurses 5.9 - patch 20141206
-
-+ modify MKlib_gen.sh to work around change in development version of
-  gcc introduced here:
-	  https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
-	  https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
-  (reports by Marcus Shawcroft, Maohui Lei).
-
-diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
-index d8cc3c9..b91398c 100755
---- a/ncurses/base/MKlib_gen.sh
-+++ b/ncurses/base/MKlib_gen.sh
-@@ -474,11 +474,22 @@ sed -n -f $ED1 \
- 	-e 's/gen_$//' \
- 	-e 's/  / /g' >>$TMP
- 
-+cat >$ED1 <<EOF
-+s/  / /g
-+s/^ //
-+s/ $//
-+s/P_NCURSES_BOOL/NCURSES_BOOL/g
-+EOF
-+
-+# A patch discussed here:
-+#	https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
-+# introduces spurious #line markers.  Work around that by ignoring the system's
-+# attempt to define "bool" and using our own symbol here.
-+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
-+cat $ED2 >$TMP
-+
- $preprocessor $TMP 2>/dev/null \
--| sed \
--	-e 's/  / /g' \
--	-e 's/^ //' \
--	-e 's/_Bool/NCURSES_BOOL/g' \
-+| sed -f $ED1 \
- | $AWK -f $AW2 \
- | sed -f $ED3 \
- | sed \
diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix
index ffc409d271e0..0ca64c9bb076 100644
--- a/pkgs/development/libraries/neon/default.nix
+++ b/pkgs/development/libraries/neon/default.nix
@@ -14,11 +14,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "neon-0.29.6";
+  version = "0.30.1";
+  name = "neon-${version}";
 
   src = fetchurl {
     url = "http://www.webdav.org/neon/${name}.tar.gz";
-    sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
+    sha256 = "1pawhk02x728xn396a1kcivy9gqm94srmgad6ymr9l0qvk02dih0";
   };
 
   patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
diff --git a/pkgs/development/libraries/openssl/1.0.2.x.nix b/pkgs/development/libraries/openssl/1.0.2.x.nix
deleted file mode 100644
index 28254cb390d4..000000000000
--- a/pkgs/development/libraries/openssl/1.0.2.x.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ stdenv, fetchurl, perl
-, withCryptodev ? false, cryptodevHeaders }:
-
-with stdenv.lib;
-let
-  opensslCrossSystem = attrByPath [ "openssl" "system" ]
-    (throw "openssl needs its platform name cross building" null)
-    stdenv.cross;
-in
-stdenv.mkDerivation rec {
-  name = "openssl-1.0.2d";
-
-  src = fetchurl {
-    urls = [
-      "http://www.openssl.org/source/${name}.tar.gz"
-      "http://openssl.linux-mirror.org/source/${name}.tar.gz"
-    ];
-    sha1 = "d01d17b44663e8ffa6a33a5a30053779d9593c3d";
-  };
-
-  patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
-
-  nativeBuildInputs = [ perl ];
-  buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
-
-  # On x86_64-darwin, "./config" misdetects the system as
-  # "darwin-i386-cc".  So specify the system type explicitly.
-  configureScript =
-    if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
-    else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
-    else "./config";
-
-  configureFlags = [
-    "shared"
-    "--libdir=lib"
-    "--openssldir=etc/ssl"
-  ] ++ stdenv.lib.optionals withCryptodev [
-    "-DHAVE_CRYPTODEV"
-    "-DUSE_CRYPTODEV_DIGESTS"
-  ];
-
-  makeFlags = [
-    "MANDIR=$(out)/share/man"
-  ];
-
-  # Parallel building is broken in OpenSSL.
-  enableParallelBuilding = false;
-
-  postInstall = ''
-    # If we're building dynamic libraries, then don't install static
-    # libraries.
-    if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
-        rm "$out/lib/"*.a
-    fi
-
-    # remove dependency on Perl at runtime
-    rm -r $out/etc/ssl/misc $out/bin/c_rehash
-  '';
-
-  postFixup = ''
-    # Check to make sure we don't depend on perl
-    if grep -r '${perl}' $out; then
-      echo "Found an erroneous dependency on perl ^^^" >&2
-      exit 1
-    fi
-  '';
-
-  crossAttrs = {
-    preConfigure=''
-      # It's configure does not like --build or --host
-      export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
-    '';
-
-    configureScript = "./Configure";
-  };
-
-  meta = {
-    homepage = http://www.openssl.org/;
-    description = "A cryptographic library that implements the SSL and TLS protocols";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    priority = 10; # resolves collision with ‘man-pages’
-  };
-}
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index ca3e7999f9be..31bd7fb2d673 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -8,14 +8,14 @@ let
     stdenv.cross;
 in
 stdenv.mkDerivation rec {
-  name = "openssl-1.0.1p";
+  name = "openssl-1.0.2d";
 
   src = fetchurl {
     urls = [
       "http://www.openssl.org/source/${name}.tar.gz"
       "http://openssl.linux-mirror.org/source/${name}.tar.gz"
     ];
-    sha1 = "9d1977cc89242cd11471269ece2ed4650947c046";
+    sha256 = "671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/web/iojs/default.nix b/pkgs/development/web/iojs/default.nix
new file mode 100644
index 000000000000..a44a6d6c6c4a
--- /dev/null
+++ b/pkgs/development/web/iojs/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, python, utillinux, openssl, http-parser, zlib, libuv }:
+
+let
+  version = "3.1.0";
+  inherit (stdenv.lib) optional maintainers licenses platforms;
+in stdenv.mkDerivation {
+  name = "iojs-${version}";
+
+  src = fetchurl {
+    url = "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
+    sha256 = "15qh5pscg3588hyf4yfhma34gjkg87v5i4xzxj804g6m52m6y727";
+  };
+
+  prePatch = ''
+    sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
+  '';
+
+  configureFlags = [ "--shared-openssl" "--shared-http-parser" "--shared-zlib" "--shared-libuv" ];
+
+  # iojs has --enable-static but no --disable-static. Automatically adding --disable-static
+  # causes configure to fail, so don't add --disable-static.
+  dontDisableStatic = true;
+
+  buildInputs = [ python openssl http-parser zlib libuv ] ++ (optional stdenv.isLinux utillinux);
+  setupHook = ../nodejs/setup-hook.sh;
+
+  passthru.interpreterName = "iojs";
+
+  meta = {
+    description = "A friendly fork of Node.js with an open governance model";
+    homepage = https://iojs.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.havvy ];
+  };
+}
diff --git a/pkgs/development/web/nodejs/default-arch.patch b/pkgs/development/web/nodejs/default-arch.patch
new file mode 100644
index 000000000000..3c7eb1014dee
--- /dev/null
+++ b/pkgs/development/web/nodejs/default-arch.patch
@@ -0,0 +1,24 @@
+diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
+--- a/tools/gyp/pylib/gyp/xcode_emulation.py	2014-01-23 06:05:51.000000000 +0100
++++ b/tools/gyp/pylib/gyp/xcode_emulation.py	2014-02-04 17:49:48.000000000 +0100
+@@ -1018,12 +1033,16 @@
+     # Since the value returned by this function is only used when ARCHS is not
+     # set, then on iOS we return "i386", as the default xcode project generator
+     # does not set ARCHS if it is not set in the .gyp file.
+-    if self.isIOS:
++    
++    try:
++      if self.isIOS:
++        return 'i386'
++      version, build = self._XcodeVersion()
++      if version >= '0500':
++        return 'x86_64'
+       return 'i386'
+-    version, build = self._XcodeVersion()
+-    if version >= '0500':
++    except:
+       return 'x86_64'
+-    return 'i386'
+ 
+ class MacPrefixHeader(object):
+   """A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 440ed7aca924..0f7f56dd5b37 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -38,12 +38,13 @@ in stdenv.mkDerivation {
   dontDisableStatic = true;
   prePatch = ''
     patchShebangs .
+    sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' tools/gyp/pylib/gyp/xcode_emulation.py
   '';
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode.patch ./pkg-libpath.patch ];
 
-  buildInputs = [ python which http-parser zlib libuv openssl python ]
-    ++ (optional stdenv.isLinux utillinux)
+  buildInputs = [ python which zlib libuv openssl python ]
+    ++ optionals stdenv.isLinux [ utillinux http-parser ]
     ++ optionals stdenv.isDarwin [ pkgconfig openssl libtool ];
   setupHook = ./setup-hook.sh;
 
diff --git a/pkgs/development/web/nodejs/no-xcode.patch b/pkgs/development/web/nodejs/no-xcode.patch
index e88168b68a77..244a55e9aebb 100644
--- a/pkgs/development/web/nodejs/no-xcode.patch
+++ b/pkgs/development/web/nodejs/no-xcode.patch
@@ -70,24 +70,3 @@ diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_
  
    def AdjustLibraries(self, libraries, config_name=None):
      """Transforms entries like 'Cocoa.framework' in libraries into entries like
-@@ -1018,12 +1033,16 @@
-     # Since the value returned by this function is only used when ARCHS is not
-     # set, then on iOS we return "i386", as the default xcode project generator
-     # does not set ARCHS if it is not set in the .gyp file.
--    if self.isIOS:
-+    
-+    try:
-+      if self.isIOS:
-+        return 'i386'
-+      version, build = self._XcodeVersion()
-+      if version >= '0500':
-+        return 'x86_64'
-       return 'i386'
--    version, build = self._XcodeVersion()
--    if version >= '0500':
-+    except:
-       return 'x86_64'
--    return 'i386'
- 
- class MacPrefixHeader(object):
-   """A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.
diff --git a/pkgs/development/web/nodejs/pkg-libpath.patch b/pkgs/development/web/nodejs/pkg-libpath.patch
new file mode 100644
index 000000000000..8ad94c0e3e2f
--- /dev/null
+++ b/pkgs/development/web/nodejs/pkg-libpath.patch
@@ -0,0 +1,13 @@
+diff --git a/configure b/configure
+index d199975..66d903b 100755
+--- a/configure
++++ b/configure
+@@ -734,7 +734,7 @@ def configure_library(lib, output):
+     # libpath needs to be provided ahead libraries
+     if pkg_libpath:
+       output['libraries'] += (
+-          filter(None, map(str.strip, pkg_cflags.split('-L'))))
++          pkg_libpath.split())
+ 
+     default_libs = getattr(options, shared_lib + '_libname')
+     default_libs = map('-l{0}'.format, default_libs.split(','))
diff --git a/pkgs/development/web/nodejs/v0_10.nix b/pkgs/development/web/nodejs/v0_10.nix
index bf19ba646fd7..47de2e72d403 100644
--- a/pkgs/development/web/nodejs/v0_10.nix
+++ b/pkgs/development/web/nodejs/v0_10.nix
@@ -42,7 +42,7 @@ in stdenv.mkDerivation {
     patchShebangs .
   '';
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./default-arch.patch ./no-xcode.patch ];
 
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     (cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index 1c5c78548f5b..4250efcb6a29 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ optAlsaLib optDb optLibuuid optLibffado optCelt ];
+  buildInputs = [ optAlsaLib optDb optLibffado optCelt ];
+  propagatedBuildInputs = [ optLibuuid ];
   
   meta = with stdenv.lib; {
     description = "JACK audio connection kit";
diff --git a/pkgs/misc/urbit/default.nix b/pkgs/misc/urbit/default.nix
new file mode 100644
index 000000000000..e4049f07897a
--- /dev/null
+++ b/pkgs/misc/urbit/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchgit, gcc, gmp, libsigsegv, openssl, automake, autoconf, ragel,
+  cmake, re2c, libtool, ncurses, perl, zlib, python }:
+
+stdenv.mkDerivation rec {
+
+  name = "urbit-${version}";
+  version = "2015.09.26";
+
+  src = fetchgit {
+    url = "https://github.com/urbit/urbit.git";
+    rev = "c9592664c797b2dd74f26886528656f8a7058640";
+    sha256 = "0sgrxnmpqh54mgar81wlb6gff8c0pc24p53xwxr448g5shvnzjx9";
+  };
+
+  buildInputs = with stdenv.lib; [
+    gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
+    ncurses perl zlib python
+  ];
+
+  configurePhase = ''
+    :
+  '';
+
+  buildPhase = ''
+    sed -i 's/-lcurses/-lncurses/' Makefile
+    mkdir -p $out
+    cp -r . $out/
+    cd $out
+    make
+  '';
+
+  installPhase = ''
+    :
+  '';
+
+  meta = with stdenv.lib; {
+    description = "an operating function";
+    homepage = http://urbit.org/preview/~2015.9.25/materials;
+    license = licenses.mit;
+    maintainers = with maintainers; [ mudri ];
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 5ea214c9eb35..4a18072d7534 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.53";
+  version = "3.14.54";
   # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0zqaqa7gs895p521c82jggak9zlmiwmkfarh2ykvh423sxjbvs5i";
+    sha256 = "0jjl7xx2mkkhy3yg3mza2h7ysz48qcn0z475jldfw4fh87ajlfig";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/miraclecast/default.nix b/pkgs/os-specific/linux/miraclecast/default.nix
new file mode 100644
index 000000000000..3d5a76144af5
--- /dev/null
+++ b/pkgs/os-specific/linux/miraclecast/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, systemd, glib, readline }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "miraclecast-0.0-git-20151002";
+
+  src = fetchFromGitHub {
+    owner = "albfan";
+    repo = "miraclecast";
+    rev = "30b8c2d22391423f76ba582aaaa1e0936869103a";
+    sha256 = "0i076n76kq64fayc7v06gr1853pk5r6ms86m57vd1xsjd0r9wyxd";
+  };
+
+  # INFO: It is important to list 'systemd' first as for now miraclecast
+  # links against a customized systemd. Otherwise, a systemd package from
+  # a propagatedBuildInput could take precedence.
+  buildInputs = [ systemd autoreconfHook pkgconfig udev glib readline ];
+
+  meta = {
+    homepage = https://github.com/albfan/miraclecast;
+    description = "Connect external monitors via Wi-Fi";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ tstrobel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix
index a5a43926e045..a6797608664f 100644
--- a/pkgs/os-specific/linux/nvidiabl/default.nix
+++ b/pkgs/os-specific/linux/nvidiabl/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1c7ar39wc8jpqh67sw03lwnyp0m9l6dad469ybqrgcywdiwxspwj";
   };
 
+  patches = [ ./linux4compat.patch ];
+
   preConfigure = ''
     sed -i 's|/sbin/depmod|#/sbin/depmod|' Makefile
   '';
diff --git a/pkgs/os-specific/linux/nvidiabl/linux4compat.patch b/pkgs/os-specific/linux/nvidiabl/linux4compat.patch
new file mode 100644
index 000000000000..ad8236a2b630
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidiabl/linux4compat.patch
@@ -0,0 +1,22 @@
+From 2bf6f08b2492cc04a2c39fdcb22a2d0c18963d1c Mon Sep 17 00:00:00 2001
+From: sonic414 <sonic414@gmail.com>
+Date: Tue, 28 Apr 2015 19:30:15 +0530
+Subject: [PATCH] strnicmp to strncasecmp in Linux 4.0.0
+
+---
+ nvidiabl-module.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/nvidiabl-module.c b/nvidiabl-module.c
+index b789ea4..b306579 100644
+--- a/nvidiabl-module.c
++++ b/nvidiabl-module.c
+@@ -214,7 +214,7 @@ static int __init nvidiabl_init(void)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)
+ 	
+ 	for (iii = 0 ; iii < sizeof(backlight_type_ids) ; iii++) {
+-		if (strnicmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
++		if (strncasecmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
+ 			props.type = backlight_type_ids[iii].type;
+ 			printk(KERN_INFO "nvidiabl: backlight type is %s\n", backlight_type_ids[iii].id);
+ 		}
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index 3c01516b0815..93e5d591a9d9 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -8,8 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "03l5iifwlg1wyb4yh98i0b7pd4j55a1c9y74q1frs47a5dnrilr6";
   };
 
-  # gcc5-fix should be in 6.04+, so remove if it fails to apply.
-  patches = [ ./perl-deps.patch ./gcc5-fix.patch ];
+  patches = [ ./perl-deps.patch ];
 
   buildInputs = [ nasm perl libuuid ];
 
diff --git a/pkgs/os-specific/linux/syslinux/gcc5-fix.patch b/pkgs/os-specific/linux/syslinux/gcc5-fix.patch
deleted file mode 100644
index dc44b1880583..000000000000
--- a/pkgs/os-specific/linux/syslinux/gcc5-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/com32/include/menu.h b/com32/include/menu.h
-index bc0182f..b0251e4 100644
---- a/com32/include/menu.h
-+++ b/com32/include/menu.h
-@@ -195,7 +195,7 @@ void local_cursor_enable(bool);
- 
- static inline int my_isspace(char c)
- {
--    return (unsigned char)c <= ' ';
-+    return (unsigned char)c <= ' ' || (unsigned char)c == '\x7f';
- }
- 
- int my_isxdigit(char c);
-diff --git a/com32/menu/readconfig.c b/com32/menu/readconfig.c
-index b7814be..a433fad 100644
---- a/com32/menu/readconfig.c
-+++ b/com32/menu/readconfig.c
-@@ -299,7 +299,7 @@ static char *copy_sysappend_string(char *dst, const char *src)
-     char c;
- 
-     while ((c = *src++)) {
--	if (c <= ' ' && c == '\x7f') {
-+	if (my_isspace(c)) {
- 	    if (!was_space)
- 		*dst++ = '_';
- 	    was_space = true;
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 4c9e0475b94e..b7f70ec3b117 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -3,6 +3,7 @@
 , glib, kbd, libxslt, coreutils, libgcrypt
 , kexectools, libmicrohttpd, linuxHeaders
 , pythonPackages ? null, pythonSupport ? false
+, enableKDbus ? false
 }:
 
 assert stdenv.isLinux;
@@ -60,7 +61,7 @@ stdenv.mkDerivation rec {
       "--with-sysvinit-path="
       "--with-sysvrcnd-path="
       "--with-rc-local-script-path-stop=/etc/halt.local"
-    ];
+    ] ++ stdenv.lib.optional enableKDbus "--enable-kdbus";
 
   preConfigure =
     ''
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index a95a5d81ce95..2fd3f0421b97 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -4,16 +4,18 @@
 
 stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  version = "5.4.5p1";
+  version = "5.7.1p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib openssl db pam ];
 
   src = fetchurl {
     url = "http://www.opensmtpd.org/archives/${name}.tar.gz";
-    sha256 = "15sicrpqsgg72igdckkwpmbgrapcjbfjsdrvm0zl8z13kgp6r4ks";
+    sha256 = "67e9dd9682ca8c181e84e66c76245a4a8f6205834f915a2c021cdfeb22049e3a";
   };
 
+  patches = [ ./proc_path.diff ];
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
@@ -24,6 +26,7 @@ stdenv.mkDerivation rec {
     "--with-privsep-user=smtpd"
     "--with-queue-user=smtpq"
     "--with-ca-file=/etc/ssl/certs/ca-certificates.crt"
+    "--with-libevent-dir=${libevent}"
   ];
 
   installFlags = [
diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix
new file mode 100644
index 000000000000..0123d19bf3fa
--- /dev/null
+++ b/pkgs/servers/mail/opensmtpd/extras.nix
@@ -0,0 +1,79 @@
+{ stdenv, fetchurl, openssl, libevent, libasr,
+  python2, pkgconfig, lua5, perl, mariadb, postgresql, sqlite, hiredis }:
+stdenv.mkDerivation rec {
+  name = "opensmtpd-extras-${version}";
+  version = "5.7.1";
+
+  src = fetchurl {
+    url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
+    sha256 = "1kld4hxgz792s0cb2gl7m2n618ikzqkj88w5dhaxdrxg4x2c4vdm";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl libevent
+    libasr python2 lua5 perl mariadb postgresql sqlite hiredis ];
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-privsep-user=smtpd"
+    "--with-libevent-dir=${libevent}"
+
+    "--with-filter-clamav"
+    "--with-filter-dkim-signer"
+    "--with-filter-dnsbl"
+    "--with-filter-monkey"
+    "--with-filter-pause"
+    "--with-filter-regex"
+    "--with-filter-spamassassin"
+    "--with-filter-stub"
+    "--with-filter-trace"
+    "--with-filter-void"
+    "--with-queue-null"
+    "--with-queue-ram"
+    "--with-queue-stub"
+    "--with-table-ldap"
+    "--with-table-socketmap"
+    "--with-table-passwd"
+    "--with-table-stub"
+    "--with-scheduler-ram"
+    "--with-scheduler-stub"
+
+  ] ++ stdenv.lib.optional (python2 != null) [
+    "--with-python=${python2}"
+    "--with-filter-python"
+    "--with-queue-python"
+    "--with-table-python"
+    "--with-scheduler-python"
+
+  ] ++ stdenv.lib.optional (lua5 != null) [
+    "--with-lua=${pkgconfig}"
+    "--with-filter-lua"
+
+  ] ++ stdenv.lib.optional (perl != null) [
+    "--with-perl=${perl}"
+    "--with-filter-perl"
+
+  ] ++ stdenv.lib.optional (mariadb != null) [
+    "--with-table-mysql"
+
+  ] ++ stdenv.lib.optional (postgresql != null) [
+    "--with-table-postgres"
+
+  ] ++ stdenv.lib.optional (sqlite != null) [
+    "--with-table-sqlite"
+
+  ] ++ stdenv.lib.optional (hiredis != null) [
+    "--with-table-redis"
+  ];
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optional (hiredis != null) [ "-I${hiredis}/include/hiredis" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.opensmtpd.org/;
+    description = "Extra plugins for the OpenSMTPD mail server";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/servers/mail/opensmtpd/proc_path.diff b/pkgs/servers/mail/opensmtpd/proc_path.diff
new file mode 100644
index 000000000000..0e8eac0bb83b
--- /dev/null
+++ b/pkgs/servers/mail/opensmtpd/proc_path.diff
@@ -0,0 +1,76 @@
+diff -Naur opensmtpd-5.7.1p1/smtpd/parse.y opensmtpd-5.7.1p1.patched/smtpd/parse.y
+--- opensmtpd-5.7.1p1/smtpd/parse.y	2015-06-30 10:13:34.000000000 +0200
++++ opensmtpd-5.7.1p1.patched/smtpd/parse.y	2015-09-26 08:41:17.012472516 +0200
+@@ -2519,13 +2519,19 @@
+ {
+ 	struct filter_conf	*f;
+ 	char			*path;
++        const char              *proc_path;
+ 
+ 	if (dict_get(&conf->sc_filters, name)) {
+ 		yyerror("filter \"%s\" already defined", name);
+ 		return (NULL);
+ 	}
+ 
+-	if (asprintf(&path, "%s/filter-%s", PATH_LIBEXEC, prog) == -1) {
++        proc_path = getenv("OPENSMTPD_PROC_PATH");
++        if (proc_path == NULL) {
++                proc_path = PATH_LIBEXEC;
++        }
++
++	if (asprintf(&path, "%s/filter-%s", proc_path, prog) == -1) {
+ 		yyerror("filter \"%s\" asprintf failed", name);
+ 		return (0);
+ 	}
+diff -Naur opensmtpd-5.7.1p1/smtpd/smtpd.c opensmtpd-5.7.1p1.patched/smtpd/smtpd.c
+--- opensmtpd-5.7.1p1/smtpd/smtpd.c	2015-06-30 10:13:34.000000000 +0200
++++ opensmtpd-5.7.1p1.patched/smtpd/smtpd.c	2015-09-26 08:41:16.998472557 +0200
+@@ -854,6 +854,7 @@
+ 	char		path[PATH_MAX];
+ 	char		name[PATH_MAX];
+ 	char		*arg;
++        char            *proc_path;
+ 
+ 	if (strlcpy(name, conf, sizeof(name)) >= sizeof(name)) {
+ 		log_warnx("warn: %s-proc: conf too long", key);
+@@ -864,7 +865,12 @@
+ 	if (arg)
+ 		*arg++ = '\0';
+ 
+-	if (snprintf(path, sizeof(path), PATH_LIBEXEC "/%s-%s", key, name) >=
++        proc_path = getenv("OPENSMTPD_PROC_PATH");
++        if (proc_path == NULL) {
++                proc_path = PATH_LIBEXEC;
++        }
++
++	if (snprintf(path, sizeof(path), "%s/%s-%s", proc_path, key, name) >=
+ 	    (ssize_t)sizeof(path)) {
+ 		log_warn("warn: %s-proc: exec path too long", key);
+ 		return (-1);
+diff -Naur opensmtpd-5.7.1p1/smtpd/table.c opensmtpd-5.7.1p1.patched/smtpd/table.c
+--- opensmtpd-5.7.1p1/smtpd/table.c	2015-06-30 10:13:34.000000000 +0200
++++ opensmtpd-5.7.1p1.patched/smtpd/table.c	2015-09-26 08:41:17.005472536 +0200
+@@ -201,6 +201,7 @@
+ 	struct table_backend	*tb;
+ 	char			 buf[LINE_MAX];
+ 	char			 path[LINE_MAX];
++        const char              *proc_path;
+ 	size_t			 n;
+ 	struct stat		 sb;
+ 
+@@ -215,8 +216,14 @@
+ 	if (name && table_find(name, NULL))
+ 		fatalx("table_create: table \"%s\" already defined", name);
+ 
++        proc_path = getenv("OPENSMTPD_PROC_PATH");
++        if (proc_path == NULL) {
++                proc_path = PATH_LIBEXEC;
++        }
++
+ 	if ((tb = table_backend_lookup(backend)) == NULL) {
+-		if ((size_t)snprintf(path, sizeof(path), PATH_LIBEXEC "/table-%s",
++		if ((size_t)snprintf(path, sizeof(path), "%s/table-%s",
++                    proc_path,
+ 		    backend) >= sizeof(path)) {
+ 			fatalx("table_create: path too long \""
+ 			    PATH_LIBEXEC "/table-%s\"", backend);
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 12fc3fed5a5a..2436181aa7ad 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -210,14 +210,9 @@ rec {
       gmp = pkgs.gmp.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       libmpc = pkgs.libmpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-      isl_0_11 = pkgs.isl_0_11.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-      cloog_0_18_0 = pkgs.cloog_0_18_0.override {
-        stdenv = pkgs.makeStaticLibraries pkgs.stdenv;
-        isl = isl_0_11;
-      };
+      isl_0_14 = pkgs.isl_0_14.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       gccPlain = pkgs.gcc.cc.override {
-        isl = isl_0_11;
-        cloog = cloog_0_18_0;
+        isl = isl_0_14;
       };
     };
     extraBuildInputs = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ];
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 310153341669..1c4d068c4c13 100644
--- a/pkgs/tools/filesystems/duff/default.nix
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -1,12 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gettext }:
 
-let version = "0.5.2"; in
+# The last release (0.5.2) is more than 2 years old and lacks features like -D,
+# limiting its usefulness. Upstream appears comatose if not dead.
+let version = "2014-07-03"; in
 stdenv.mkDerivation {
   name = "duff-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "0yfm910wjj6z0f0cg68x59ykf4ql5m49apzy8sra00f8kv4lpn53";
-    rev = version;
+    sha256 = "1k2dx38pjzc5d624vw1cs5ipj9fprsm5vqv55agksc29m63lswnx";
+    rev = "f26d4837768b062a3f98fa075c791d9c8a0bb75c";
     repo = "duff";
     owner = "elmindreda";
   };
@@ -14,10 +16,6 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ autoreconfHook gettext ];
 
   preAutoreconf = ''
-    # duff is currently badly packaged, requiring us to do extra work here that
-    # should be done upstream. If that is ever fixed, this entire phase can be
-    # removed along with all buildInputs.
-
     # gettexttize rightly refuses to run non-interactively:
     cp ${gettext}/bin/gettextize .
     substituteInPlace gettextize \
@@ -30,14 +28,15 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
+    inherit version;
     description = "Quickly find duplicate files";
-    homepage = http://duff.dreda.org/;
-    license = licenses.zlib;
     longDescription = ''
       Duff is a Unix command-line utility for quickly finding duplicates in
       a given set of files.
     '';
+    homepage = http://duff.dreda.org/;
+    license = licenses.zlib;
+    platforms = platforms.all;
     maintainers = with maintainers; [ nckx ];
-    platforms = with platforms; all;
   };
 }
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 6b65d3df0d3f..c967b73001c7 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl
 , boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
-, pkgconfig, perl }:
+, help2man, pkgconfig, perl }:
 
+let version = "4.1.4"; in
 stdenv.mkDerivation rec {
-  name = "enblend-enfuse-4.1.3";
+  name = "enblend-enfuse-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/enblend/${name}.tar.gz";
-    sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
+    sha256 = "0208x01i129hqylmy6jh3krwdac47mx6fi8xccjm9h35c18c7xl5";
   };
 
   buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
 
-  nativeBuildInputs = [ perl pkgconfig ];
+  nativeBuildInputs = [ help2man perl pkgconfig ];
 
   enableParallelBuilding = true;
 
   meta = {
+    inherit version;
     homepage = http://enblend.sourceforge.net/;
     description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline";
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/tools/misc/heatseeker/default.nix b/pkgs/tools/misc/heatseeker/default.nix
new file mode 100644
index 000000000000..0d85554c347d
--- /dev/null
+++ b/pkgs/tools/misc/heatseeker/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "heatseeker-${version}";
+  version = "1.3.0";
+
+  depsSha256 = "03jap7myf85xgx9270sws8x57nl04a1wx8szrk9qx24s9vnnjcnh";
+
+  src = fetchFromGitHub {
+    owner = "rschmitt";
+    repo = "heatseeker";
+    rev = "v${version}";
+    sha256 = "1xdvwgmh9lwv82hv1qg82bjv2iplnvva6lzbg7dyhbszhv7rhkbl";
+  };
+  
+  # some tests require a tty, this variable turns them off for Travis CI,
+  # which we can also make use of
+  TRAVIS= "true";
+
+  meta = with stdenv.lib; {
+    description = "A general-purpose fuzzy selector";
+    homepage = https://github.com/rschmitt/heatseeker;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ maintainers.michaelpj ];
+  };
+}
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 2004e453a0d9..50d53bdff2cd 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -17,11 +17,11 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "openssh-6.9p1";
+  name = "openssh-7.1p1";
 
   src = fetchurl {
     url = "mirror://openbsd/OpenSSH/portable/${name}.tar.gz";
-    sha256 = "1zkci5nbpb4frmzj2vr3kv9j47x2h72kvybcpr0d8mzk73sls1vf";
+    sha256 = "0a44mnr8bvw41zg83xh4sb55d8nds29j95gxvxk5qg863lnns2pw";
   };
 
   prePatch = optionalString hpnSupport
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ./openssh-6.9p1-security-7.0.patch];
+  patches = [ ./locale_archive.patch ];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ]
     ++ optional withKerberos [ kerberos ];
diff --git a/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch b/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch
deleted file mode 100644
index 02e9eb3a9739..000000000000
--- a/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-http://pkgs.fedoraproject.org/cgit/openssh.git/commit/openssh-6.9p1-security-7.0.patch?h=f22&id=4776fad91e7e1f626f33e8c240d0ccecd663554d
-
-diff --git a/sshpty.c b/sshpty.c
-index 7bb7641..15da8c6 100644
---- a/sshpty.c
-+++ b/sshpty.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: sshpty.c,v 1.29 2014/09/03 18:55:07 djm Exp $ */
-+/* $OpenBSD: sshpty.c,v 1.30 2015/07/30 23:09:15 djm Exp $ */
- /*
-  * Author: Tatu Ylonen <ylo@cs.hut.fi>
-  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-@@ -197,7 +197,7 @@ pty_setowner(struct passwd *pw, const char *tty)
- 	/* Determine the group to make the owner of the tty. */
- 	grp = getgrnam("tty");
- 	gid = (grp != NULL) ? grp->gr_gid : pw->pw_gid;
--	mode = (grp != NULL) ? 0622 : 0600;
-+	mode = (grp != NULL) ? 0620 : 0600;
- 
- 	/*
- 	 * Change owner and mode of the tty as required.
-diff --git a/monitor.c b/monitor.c
-index b410965..f1b873d 100644
---- a/monitor.c
-+++ b/monitor.c
-@@ -1084,9 +1084,7 @@ extern KbdintDevice sshpam_device;
- int
- mm_answer_pam_init_ctx(int sock, Buffer *m)
- {
--
- 	debug3("%s", __func__);
--	authctxt->user = buffer_get_string(m, NULL);
- 	sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
- 	sshpam_authok = NULL;
- 	buffer_clear(m);
-@@ -1166,14 +1166,16 @@ mm_answer_pam_respond(int sock, Buffer *m)
- int
- mm_answer_pam_free_ctx(int sock, Buffer *m)
- {
-+	int r = sshpam_authok != NULL && sshpam_authok == sshpam_ctxt;
- 
- 	debug3("%s", __func__);
- 	(sshpam_device.free_ctx)(sshpam_ctxt);
-+	sshpam_ctxt = sshpam_authok = NULL;
- 	buffer_clear(m);
- 	mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
- 	auth_method = "keyboard-interactive";
- 	auth_submethod = "pam";
--	return (sshpam_authok == sshpam_ctxt);
-+	return r;
- }
- #endif
- 
-diff --git a/monitor_wrap.c b/monitor_wrap.c
-index e6217b3..eac421b 100644
---- a/monitor_wrap.c
-+++ b/monitor_wrap.c
-@@ -614,7 +614,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
- 
- 	debug3("%s", __func__);
- 	buffer_init(&m);
--	buffer_put_cstring(&m, authctxt->user);
- 	mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PAM_INIT_CTX, &m);
- 	debug3("%s: waiting for MONITOR_ANS_PAM_INIT_CTX", __func__);
- 	mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_PAM_INIT_CTX, &m);
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 52f70e97af17..fc17b1322889 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -853,6 +853,8 @@ let
 
   gmic = callPackage ../tools/graphics/gmic { };
 
+  heatseeker = callPackage ../tools/misc/heatseeker { };
+
   mathics = pythonPackages.mathics;
 
   mcrl = callPackage ../tools/misc/mcrl { };
@@ -1368,7 +1370,7 @@ let
 
   emv = callPackage ../tools/misc/emv { };
 
-  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
+  enblend-enfuse = callPackage ../tools/graphics/enblend-enfuse { };
 
   encfs = callPackage ../tools/filesystems/encfs { };
 
@@ -3733,7 +3735,7 @@ let
 
   gambit = callPackage ../development/compilers/gambit { };
 
-  gcc = gcc49;
+  gcc = gcc5;
 
   gcc_multi =
     if system == "x86_64-linux" then lowPrio (
@@ -4985,8 +4987,7 @@ let
     fetchurl = fetchurlBoot;
   };
 
-  # Make perl522 the default once gnulib is updated to support it.
-  perl = perl520;
+  perl = perl522;
 
   php = php56;
 
@@ -5842,7 +5843,7 @@ let
 
   aalib = callPackage ../development/libraries/aalib { };
 
-  accelio = callPackage ../development/libraries/accelio { stdenv = overrideCC stdenv gcc5; };
+  accelio = callPackage ../development/libraries/accelio { };
 
   accountsservice = callPackage ../development/libraries/accountsservice { };
 
@@ -6350,7 +6351,8 @@ let
 
   gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; # required by older GHC versions
   gmp5 = callPackage ../development/libraries/gmp/5.1.x.nix { };
-  gmp = gmp5;
+  gmp6 = callPackage ../development/libraries/gmp/6.x.nix { };
+  gmp = gmp6;
   gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; });
 
   #GMP ex-satellite, so better keep it near gmp
@@ -7404,11 +7406,9 @@ let
   libusbmuxd = callPackage ../development/libraries/libusbmuxd { };
 
   libunwind = if stdenv.isDarwin
-    then libunwindNative
+    then darwin.libunwind
     else callPackage ../development/libraries/libunwind { };
 
-  libunwindNative = callPackage ../development/libraries/libunwind/native.nix {};
-
   libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv {
     automake = automake113x; # fails with 14
     inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
@@ -7782,14 +7782,6 @@ let
     };
   };
 
-  openssl_1_0_2 = callPackage ../development/libraries/openssl/1.0.2.x.nix {
-    fetchurl = fetchurlBoot;
-    cryptodevHeaders = linuxPackages.cryptodev.override {
-      fetchurl = fetchurlBoot;
-      onlyHeaders = true;
-    };
-  };
-
   openwsman = callPackage ../development/libraries/openwsman {};
 
   ortp = callPackage ../development/libraries/ortp { };
@@ -9075,6 +9067,7 @@ let
   openresty = callPackage ../servers/http/openresty { };
 
   opensmtpd = callPackage ../servers/mail/opensmtpd { };
+  opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { };
 
   openxpki = callPackage ../servers/openxpki { };
 
@@ -10020,6 +10013,10 @@ let
 
   mingetty = callPackage ../os-specific/linux/mingetty { };
 
+  miraclecast = callPackage ../os-specific/linux/miraclecast {
+    systemd = systemd.override { enableKDbus = true; };
+  };
+
   module_init_tools = callPackage ../os-specific/linux/module-init-tools { };
 
   aggregateModules = modules:
@@ -10175,7 +10172,13 @@ let
 
   sysklogd = callPackage ../os-specific/linux/sysklogd { };
 
-  syslinux = callPackage ../os-specific/linux/syslinux { };
+  syslinux = callPackage ../os-specific/linux/syslinux {
+    # Using GCC5 with 6.03 creates a broken isolinux.bin
+    # Make sure to test booting the livecd on a bios system
+    # if changing this override.
+    # nixos.tests.bootBiosCdrom is useful for this.
+    stdenv = overrideCC stdenv gcc48;
+  };
 
   sysstat = callPackage ../os-specific/linux/sysstat { };
 
@@ -11789,6 +11792,8 @@ let
 
   iptraf = callPackage ../applications/networking/iptraf { };
 
+  iptraf-ng = callPackage ../applications/networking/iptraf-ng { };
+
   irssi = callPackage ../applications/networking/irc/irssi { };
 
   irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
@@ -11809,6 +11814,9 @@ let
 
   jackmeter = callPackage ../applications/audio/jackmeter { };
 
+  jackmix = callPackage ../applications/audio/jackmix { };
+  jackmix_jack1 = jackmix.override { jack = jack1; };
+
   jalv = callPackage ../applications/audio/jalv { };
 
   jedit = callPackage ../applications/editors/jedit { };
@@ -13937,6 +13945,7 @@ let
         libcanberra = libcanberra_kde;
         boost = boost155;
         kdelibs = kdeApps_15_08.kdelibs;
+        subversionClient = subversionClient.override { branch = "1.8"; };
       }
       ../desktops/kde-4.14;
 
@@ -14964,6 +14973,8 @@ let
 
   tvheadend = callPackage ../servers/tvheadend { };
 
+  urbit = callPackage ../misc/urbit { };
+
   utf8proc = callPackage ../development/libraries/utf8proc { };
 
   vault = goPackages.vault.bin // { outputs = [ "bin" ]; };
@@ -15123,6 +15134,7 @@ aliases = with self; rec {
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
   cool-old-term = cool-retro-term; # added 2015-01-31
   cv = progress; # added 2015-09-06
+  enblendenfuse = enblend-enfuse;	# 2015-09-30
   exfat-utils = exfat;                  # 2015-09-11
   firefoxWrapper = firefox-wrapper;
   fuse_exfat = exfat;                   # 2015-09-11
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
index 2bf0a96a5aa1..ec9ac07fe9ae 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -679,6 +679,26 @@ let
     subPackages = [ "./" ];  # don't try to build test fixtures
   };
 
+  git-lfs = buildFromGitHub {
+    rev = "v1.0.0";
+    owner = "github";
+    repo = "git-lfs";
+    sha256 = "1zlg3rm5yxak6d88brffv1wpj0iq4qgzn6sgg8xn0pbnzxjd1284";
+
+    # Tests fail with 'lfstest-gitserver.go:46: main redeclared in this block'
+    excludedPackages = [ "test" ];
+
+    preBuild = ''
+      pushd go/src/github.com/github/git-lfs
+        go generate ./commands
+      popd
+    '';
+
+    postInstall = ''
+      rm -v $bin/bin/{man,script}
+    '';
+  };
+
   glide = buildFromGitHub {
     rev    = "0.5.0";
     owner  = "Masterminds";
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index ead04c0f088d..1057be798df0 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -715,15 +715,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   Cairo = buildPerlPackage rec {
-    name = "Cairo-1.105";
+    name = "Cairo-1.106";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
-      sha256 = "0im025wy1346w7b7hi6im08bfn6x4ma0cxmjz6xnk8riizm1s84q";
+      sha256 = "1i25kks408c54k2zxskvg54l5k3qadzm8n72ffga9jy7ic0h6j76";
     };
     buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.cairo ];
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
-      description = "Perl interface to the cairo 2d vector graphics library";
+      description = "Perl interface to the cairo 2D vector graphics library";
       maintainers = with maintainers; [ nckx ];
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -4843,10 +4843,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Glib = buildPerlPackage rec {
-    name = "Glib-1.313";
+    name = "Glib-1.314";
     src = fetchurl {
       url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
-      sha256 = "162g342bhzy2ca4xwk63j10q9jycsps0s8l8y8pda70m7zcmr7xj";
+      sha256 = "13lhyksm7fgj6rgrgs06kr0hinbyhiq3lfr6gd2qal1j2w0rwzml";
     };
     buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.glib ];
     meta = {