about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-11-14 12:32:51 -0800
committerWilliam A. Kennington III <william@wkennington.com>2015-11-14 12:32:51 -0800
commit6602f49495c94e8533c8b482698bcf570a8d8933 (patch)
tree07065424002052ed9e726b4feb689697845ff4a7 /pkgs
parente4feccce818416c39c8e86e6f9ac01674ad98c88 (diff)
Revert "Revert "Merge pull request #9543 from NixOS/staging.post-15.06""
This reverts commit 741bf840dad05cd1728481045466811ae8ae8281.

This reverts the fallout from reverting the major changes.
Diffstat (limited to 'pkgs')
-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/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.nix8
-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/neon/default.nix5
-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/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/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/top-level/all-packages.nix27
-rw-r--r--pkgs/top-level/go-packages.nix21
-rw-r--r--pkgs/top-level/perl-packages.nix10
37 files changed, 534 insertions, 135 deletions
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 6f25693f734e0..67ec6b5a419e4 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 0000000000000..8176a34047024
--- /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 ea638de7925d8..702911fee7440 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 88912cbda55dc..b11ed1a99df7d 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 c4a82966238a0..e0c40280bcedb 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/iptraf-ng/default.nix b/pkgs/applications/networking/iptraf-ng/default.nix
new file mode 100644
index 0000000000000..368d78a36f902
--- /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 e47d2569b109d..e657215f2cd51 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 db29360c9ecb1..f563bebd9db83 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 22935064c4b41..d56ef9649679c 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 a8293ea803cc6..634ee0b069271 100644
--- a/pkgs/build-support/build-fhs-chrootenv/env.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/env.nix
@@ -157,11 +157,19 @@ 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 = ''
     mkdir -m0755 usr
     cd usr
     ${setupLibDirs}
+    ${setupIncludeDir}
     for i in bin sbin share include; do
       cp -r "${staticUsrProfileTarget}/$i" $i
     done
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 b4e04f6ec9045..3ae74057a54f7 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 2b1a5b571ef07..d4ff7d9603f6e 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 2bdeffb204d82..8911539d7b021 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 6ce485ecaec0a..0000000000000
--- 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/neon/default.nix b/pkgs/development/libraries/neon/default.nix
index ffc409d271e04..0ca64c9bb0763 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/web/nodejs/default-arch.patch b/pkgs/development/web/nodejs/default-arch.patch
new file mode 100644
index 0000000000000..3c7eb1014deec
--- /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 1bd8dbec1e6ce..2a4a7244d4d60 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 e88168b68a77c..244a55e9aebb2 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 0000000000000..8ad94c0e3e2f2
--- /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 838f1419f2cc4..a5ee621de34a4 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 1c5c78548f5b3..4250efcb6a293 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 0000000000000..e4049f07897a3
--- /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/miraclecast/default.nix b/pkgs/os-specific/linux/miraclecast/default.nix
new file mode 100644
index 0000000000000..3d5a76144af55
--- /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 a5a43926e0459..a6797608664f6 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 0000000000000..ad8236a2b6306
--- /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 0210b23d8b58d..631bee80d948d 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 dc44b18805839..0000000000000
--- 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 b4588e3d17f0a..a78f51ddb36fe 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -4,6 +4,7 @@
 , kexectools, libmicrohttpd, linuxHeaders, libseccomp
 , autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45
 , pythonPackages ? null, pythonSupport ? false
+, enableKDbus ? false
 }:
 
 assert stdenv.isLinux;
@@ -65,7 +66,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 a95a5d81ce95d..2fd3f0421b975 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 0000000000000..0123d19bf3fa1
--- /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 0000000000000..0e8eac0bb83b2
--- /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/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 3101533416690..1c4d068c4c13e 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 6b65d3df0d3f5..c967b73001c74 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 0000000000000..0d85554c347d2
--- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1b9480a264910..2749ba28e8d36 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -848,6 +848,8 @@ let
 
   gmic = callPackage ../tools/graphics/gmic { };
 
+  heatseeker = callPackage ../tools/misc/heatseeker { };
+
   mathics = pythonPackages.mathics;
 
   mcrl = callPackage ../tools/misc/mcrl { };
@@ -1374,7 +1376,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 { };
 
@@ -5066,7 +5068,6 @@ let
     fetchurl = fetchurlBoot;
   };
 
-  # Make perl522 the default once gnulib is updated to support it.
   perl = perl520;
 
   php = php56;
@@ -7534,11 +7535,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;
@@ -9225,6 +9224,7 @@ let
   openresty = callPackage ../servers/http/openresty { };
 
   opensmtpd = callPackage ../servers/mail/opensmtpd { };
+  opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { };
 
   openxpki = callPackage ../servers/openxpki { };
 
@@ -10331,7 +10331,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 { };
 
@@ -11978,6 +11984,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 { };
@@ -11998,6 +12006,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 { };
@@ -14252,6 +14263,7 @@ let
         libcanberra = libcanberra_kde;
         boost = boost155;
         kdelibs = kdeApps_15_08.kdelibs;
+        subversionClient = subversionClient.override { branch = "1.8"; };
       }
       ../desktops/kde-4.14;
 
@@ -15292,6 +15304,8 @@ let
 
   tvheadend = callPackage ../servers/tvheadend { };
 
+  urbit = callPackage ../misc/urbit { };
+
   utf8proc = callPackage ../development/libraries/utf8proc { };
 
   vault = goPackages.vault.bin // { outputs = [ "bin" ]; };
@@ -15455,6 +15469,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 db110d3a1eff9..700a07cb73bba 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -740,6 +740,27 @@ 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 = ''
+      mkdir -p $bin/share
+      mv $bin/bin/{man,script} $bin/share
+    '';
+  };
+
   glide = buildFromGitHub {
     rev    = "0.6.1";
     owner  = "Masterminds";
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index ff569f5e52008..6292fa457f700 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -716,15 +716,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;
     };
@@ -4944,10 +4944,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 = {