summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/darwin/derez/default.nix34
-rw-r--r--pkgs/os-specific/darwin/rez/default.nix33
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix4
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix8
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix4
-rw-r--r--pkgs/os-specific/linux/i2c-tools/default.nix31
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix11
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix3
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix28
-rw-r--r--pkgs/os-specific/linux/radeontop/default.nix11
-rw-r--r--pkgs/os-specific/linux/read-edid/default.nix25
-rw-r--r--pkgs/os-specific/linux/spl/git.nix6
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix9
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix22
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix5
-rw-r--r--pkgs/os-specific/linux/zfs/git.nix6
-rw-r--r--pkgs/os-specific/linux/zfs/kernel-4.1-compat.patch149
31 files changed, 392 insertions, 79 deletions
diff --git a/pkgs/os-specific/darwin/derez/default.nix b/pkgs/os-specific/darwin/derez/default.nix
new file mode 100644
index 00000000000..f64f05aadf0
--- /dev/null
+++ b/pkgs/os-specific/darwin/derez/default.nix
@@ -0,0 +1,34 @@
+{ stdenv }:
+
+# this tool only exists on darwin
+assert stdenv.isDarwin;
+
+stdenv.mkDerivation {
+  name = "derez";
+
+  src = "/usr/bin/DeRez";
+
+  unpackPhase = "true";
+  configurePhase = "true";
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    ln -s $src "$out/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Decompiles resources";
+    homepage    = "https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/DeRez.1.html";
+    maintainers = [ maintainers.lnl7 ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      The DeRez tool decompiles the resource fork of resourceFile according to the type declarations
+      supplied by the type declaration files. The resource description produced by this decompilation
+      contains the resource definitions (resource and data statements) associated with these type
+      declarations. If for some reason it cannot reproduce the appropriate resource statements, DeRez
+      generates hexadecimal data statements instead.
+    '';
+  };
+}
diff --git a/pkgs/os-specific/darwin/rez/default.nix b/pkgs/os-specific/darwin/rez/default.nix
new file mode 100644
index 00000000000..847dfc6e6f3
--- /dev/null
+++ b/pkgs/os-specific/darwin/rez/default.nix
@@ -0,0 +1,33 @@
+{ stdenv }:
+
+# this tool only exists on darwin
+assert stdenv.isDarwin;
+
+stdenv.mkDerivation {
+  name = "rez";
+
+  src = "/usr/bin/Rez";
+
+  unpackPhase = "true";
+  configurePhase = "true";
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    ln -s $src "$out/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Compiles resources";
+    homepage    = "https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/Rez.1.html";
+    maintainers = [ maintainers.lnl7 ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      The Rez tool compiles the resource fork of a file according to the textual description contained in
+      the resource description files. These resource description files must contain both the type
+      declarations and the resource definitions needed to compile the resources. This data can come
+      directly from the resource description files.
+    '';
+  };
+}
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index 6e8fbdacf84..03c3d5943fe 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -5,11 +5,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.30";
+  name = "bluez-5.31";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "0b1qbnq1xzcdw5rajg9yyg31bf21jnff0n6gnf1snz89bbdllfhy";
+    sha256 = "13w1cdybwyb9pww64hp8dwxqq9zs58wh1mq8sslsknb6b3663dn4";
   };
 
   pythonPath = with pythonPackages;
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index c95532f1360..b12ed2ee6ec 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = "prefix=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://dag.wieers.com/home-made/dstat/;
     description = "Versatile resource statistics tool";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jgeerds ];
   };
 }
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
index e2bcf9837e7..de8ad00acc8 100644
--- a/pkgs/os-specific/linux/eudev/default.nix
+++ b/pkgs/os-specific/linux/eudev/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="eudev";
-    version = "3.0";
+    version = "3.1.1";
     name="${baseName}-${version}";
     url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz";
-    sha256 = "0afva1vh3lwhw9bryh41dxg82kfnxj1ifa91p3gjwffc2fpqmnvl";
+    sha256 = "1r1jbk1fwc4wl0ifm7xzkb2vjd8w1a39hx6mmy4pp4fl2gvcg86k";
   };
   buildInputs = [
     glib pkgconfig gperf utillinux
diff --git a/pkgs/os-specific/linux/i2c-tools/default.nix b/pkgs/os-specific/linux/i2c-tools/default.nix
new file mode 100644
index 00000000000..5cac6069e72
--- /dev/null
+++ b/pkgs/os-specific/linux/i2c-tools/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, perl, read-edid }:
+
+stdenv.mkDerivation rec {
+  name = "i2c-tools-${version}";
+  version = "3.1.1";
+
+  src = fetchurl {
+    url = "http://dl.lm-sensors.org/i2c-tools/releases/${name}.tar.bz2";
+    sha256 = "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l";
+  };
+
+  buildInputs = [ perl ];
+
+  patchPhase = ''
+    substituteInPlace eeprom/decode-edid --replace "/usr/sbin/parse-edid" "${read-edid}/bin/parse-edid"
+    substituteInPlace stub/i2c-stub-from-dump --replace "/sbin/" ""
+  '';
+
+  installPhase = ''
+    make install prefix=$out
+    rm -rf $out/include # Installs include/linux/i2c-dev.h that conflics with kernel headers
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Set of I2C tools for Linux";
+    homepage = http://www.lm-sensors.org/wiki/I2CTools;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 6365e133c10..01e5e941118 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.80";
+  version = "3.10.81";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "09x4931p2s0m7cngw4wcpiij2392js60ivki476pdyndxi0wh2nm";
+    sha256 = "0hza9wsy9x2113crlwygl06lspwlahq09nifnmdacfkqcxp4r3ng";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 2646bf93b0a..e34eccadda6 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.43";
+  version = "3.12.44";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "08nsppn3rpwydkq0pd8k8fgjfm67y2nbbrcz1hri227crxxx13dm";
+    sha256 = "05fyb49ibijq2iv4x25m5a77n8609b4lz8x8n8wfkdywm13479h8";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 66f6d8293ee..e6e7f4130a7 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, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.44";
+  version = "3.14.45";
   # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1kgzvdrxslrmb10cwx64qvzijq41kgiz8qy5xpa858mkynq8ydg8";
+    sha256 = "0jfbwl0daba41cwkn67rk7an9g6cbljxq8wlwnr321mfnd3mnx4c";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index 592086b6547..168bfe5e94c 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.14";
+  version = "3.18.16";
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1xh0vvn1l2g1kkg54f0mg0inbpsiqs24ybgsakksmcpcadjgqk1i";
+    sha256 = "0c2530amgsk29ina9mfvlncki64w0zs16d2k8bghq3fv9k2qv3nr";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index eaf5bfad6d8..a0ba7f46c68 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.107";
+  version = "3.4.108";
   extraMeta.branch = "3.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1y3mxisdcnz3kj416bpnnn9cn3wqqjqvcjadhylc1wypqkpcvphq";
+    sha256 = "0xdycfbn2j398n1763zkhiv08xsya52acic1zign4s315b45pijm";
   };
 
   kernelPatches = args.kernelPatches ++
diff --git a/pkgs/os-specific/linux/kernel/linux-4.0.nix b/pkgs/os-specific/linux/kernel/linux-4.0.nix
index b919fc7d901..89cd34182cf 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.0.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.0.5";
+  version = "4.0.6";
   # Remember to update grsecurity!
   extraMeta.branch = "4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1l9kxicadn980wrypi2qm3nx12g513acvryq58m7a0xjdf6ksjz2";
+    sha256 = "0n0w2k52m3cn286f413jmzwffyk3g28y4n7d41wc93zvgm720lr9";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
new file mode 100644
index 00000000000..baee61940cd
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "4.1";
+  modDirVersion = "4.1.0";
+  extraMeta.branch = "4.1";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
+    sha256 = "17rdly75zh49m6r32yy03xappl7ajcqbznq09pm1q7mcb841zxfa";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 60bc4e51209..ec7e597e871 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1-rc7";
-  modDirVersion = "4.1.0-rc7";
+  version = "4.1-rc8";
+  modDirVersion = "4.1.0-rc8";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "09bxkm0nl9vzlfb14500bl6zjzhgacy7y32b3mw1d9hx62yknk2f";
+    sha256 = "0ia4lajpr3w9iivmwm2d7gqrpv97da5g4j8pkqa7q4mlr86jki2w";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index f622bf9c782..af63b0a5f55 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -65,17 +65,17 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.43";
-      revision  = "201506021902";
+    { kversion  = "3.14.45";
+      revision  = "201506232103";
       branch    = "stable";
-      sha256    = "1b8kp9q9kslxz4adv1h0qahd96wnidpaa3k1mqmcaf8ia1b63dsk";
+      sha256    = "1f4fm7r6pbspdw9l1d1mrjj1jpyh0l2vlq1lnqs54v3xzwr933py";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "4.0.4";
-      revision  = "201506021902";
+    { kversion  = "4.0.6";
+      revision  = "201506232104";
       branch    = "test";
-      sha256    = "03fbx2vmlvh0bng3l4nxkfdxkgl9sgjkmwd0irq2bvb3gwk2bp03";
+      sha256    = "0him41fm0hw857ibvfmvpsrk2a8x492d4cy4hlbqyfk35rcmpfdf";
     };
 
   grsec_fix_path =
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 1d190be71b8..b5559e535ec 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "kmod-20";
+  name = "kmod-21";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "186sz8b82n02yykza6a1q8fk80fl5gx0nr42wpmzjc9w36ia3hc9";
+    sha256 = "1h4m1mkknxcshsz1qbg9riszmynix2ikg7q8inq7bkvlmx4982hn";
   };
 
   # Disable xz/zlib support to prevent needing them in the initrd.
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 228f7b34be0..250baa3fbc2 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }:
 
 let
-  version = "2.02.118";
+  version = "2.02.120";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
-    sha256 = "1ishsibxn1l5fymrrc5fd3z05x1z2zh0y8939wpvwz0qp9rwxazn";
+    sha256 = "06h8csqjy6b0khi73kklkp10j5yq3j1kxklfaf158c80glpx0swd";
   };
 
   configureFlags =
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 8115aa1055b..1c6847cce82 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, docbook2x
-, docbook_xml_dtd_45, systemd
+, docbook_xml_dtd_45, systemd, wrapPython
 , libapparmor ? null, gnutls ? null, libseccomp ? null, cgmanager ? null
-, libnih ? null, dbus ? null, libcap ? null
+, libnih ? null, dbus ? null, libcap ? null, python3 ? null
 }:
 
 let
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     autoreconfHook pkgconfig perl docbook2x systemd
-    libapparmor gnutls libseccomp cgmanager libnih dbus libcap
+    libapparmor gnutls libseccomp cgmanager libnih dbus libcap python3
+    wrapPython
   ];
 
   patches = [ ./support-db2x.patch ];
@@ -49,6 +50,8 @@ stdenv.mkDerivation rec {
     "LXCPATH=\${TMPDIR}/var/lib/lxc"
   ];
 
+  postInstall = "wrapPythonPrograms";
+
   meta = {
     homepage = "http://lxc.sourceforge.net";
     description = "userspace tools for Linux Containers, a lightweight virtualization system";
@@ -63,6 +66,6 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = platforms.linux;
-    maintainers = with maintainers; [ simons wkennington ];
+    maintainers = with maintainers; [ simons wkennington globin ];
   };
 }
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index 1706b8b87fa..63bab2ddd76 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchFromGitHub }:
 
-let version = "119"; in
+let version = "120"; in
 stdenv.mkDerivation {
   name = "mcelog-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "04zm8pa7r6awjgza8m048srvqcyayzdzw93vl8yrjzhh37p5m4gp";
+    sha256 = "1x50g0vrarcv31x4xszcxkpwklkq6mrv2xr1dxbbds26qz8jk11l";
     rev = "v${version}";
     repo = "mcelog";
     owner = "andikleen";
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index a7965a70b1c..042c2225ff3 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -19,6 +19,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ groff ];
 
+  # Attempt removing if building with gcc5 when updating
+  NIX_CFLAGS_COMPILE = "-std=gnu89";
+
   preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile";
 
   # Force mdadm to use /var/run/mdadm.map for its map file (or
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index e660004d172..a1278af8084 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null;
 
 let
 
-  versionNumber = "346.59";
+  versionNumber = "352.21";
 
   # Policy: use the highest stable version as the default (on our master).
   inherit (stdenv.lib) makeLibraryPath;
@@ -28,12 +28,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0a91mmv9846chyx6rbf3hx39gr344cffmgic45a9sf82rky87kv5";
+        sha256 = "1l206091frcpql8ql82i5jkf955wdr56ikh9aprwhqkyyjjq4qv1";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "0rz7pdzdviz1086w8ks6qiv83ah84y13h3051xr1p4wa4kll2yac";
+        sha256 = "1sv495i5s1fd7j4k4yr53xbgc9jind0y74mqivv36p5z6m8z5k6g";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index 9ecc0c5bcb5..7a810e9fff9 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, systemd }:
+{ lib, stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation rec {
-  name = "procps-ng-3.3.10";
+stdenv.mkDerivation {
+  name = "procps-3.3.10";
 
   src = fetchurl {
-    url = "mirror://sourceforge/procps-ng/${name}.tar.xz";
+    url = mirror://sourceforge/procps-ng/procps-ng-3.3.10.tar.xz;
     sha256 = "013z4rzy3p5m1zp6mmynpblv0c6zlcn91pw4k2vymz2djyc6ybm0";
   };
 
-  buildInputs = [ pkgconfig ncurses systemd ];
+  buildInputs = [ ncurses ];
 
   makeFlags = "usrbin_execdir=$(out)/bin";
 
@@ -19,21 +19,13 @@ stdenv.mkDerivation rec {
   };
 
   # Too red
-  configureFlags = [
-    "--disable-modern-top"
-    "--enable-watch8bit"
-    "--with-systemd"
-    "--enable-skill"
-    "--enable-oomem"
-    "--enable-sigwinch"
-  ];
-
-  meta = with stdenv.lib; {
+  configureFlags = [ "--disable-modern-top" ];
+
+  meta = {
     homepage = http://sourceforge.net/projects/procps-ng/;
     description = "Utilities that give information about processes using the /proc filesystem";
     priority = 10; # less than coreutils, which also provides "kill" and "uptime"
-    maintainers = with maintainers; [ wkennington ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
+    license = lib.licenses.gpl2;
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/radeontop/default.nix b/pkgs/os-specific/linux/radeontop/default.nix
index 99100b85cb6..205171ec928 100644
--- a/pkgs/os-specific/linux/radeontop/default.nix
+++ b/pkgs/os-specific/linux/radeontop/default.nix
@@ -1,22 +1,23 @@
 { stdenv, fetchFromGitHub, pkgconfig, gettext, ncurses, libdrm, libpciaccess }:
 
-let version = "2015-05-28"; in
+let version = "2015-06-24"; in
 stdenv.mkDerivation {
   name = "radeontop-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "0s281fblqbvl7vgaqiwh3s16y0bah3z0i1ssf4mbwl2iayj1cliq";
-    rev = "b9428f18ea4631fdd5f9ccee81570aa7ac472c07";
+    sha256 = "06cn7lixxx94c1fki0plg9f4rdy459mgi9yl80m0k1a20jqykz2a";
+    rev = "976cae0be0ffb9142d5e63e435960c6b2bb0eb34";
     repo = "radeontop";
     owner = "clbr";
   };
 
-  buildInputs = [ pkgconfig gettext ncurses libdrm libpciaccess ];
+  buildInputs = [ ncurses libdrm libpciaccess ];
+  nativeBuildInputs = [ pkgconfig gettext ];
 
   enableParallelBuilding = true;
 
   patchPhase = ''
-    substituteInPlace getver.sh --replace ver=unknown ver=${version}-git
+    substituteInPlace getver.sh --replace ver=unknown ver=${version}
   '';
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/os-specific/linux/read-edid/default.nix b/pkgs/os-specific/linux/read-edid/default.nix
new file mode 100644
index 00000000000..fdf2c4c9f12
--- /dev/null
+++ b/pkgs/os-specific/linux/read-edid/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, cmake, libx86 }:
+
+stdenv.mkDerivation rec {
+  name = "read-edid-${version}";
+  version = "3.0.2";
+
+  src = fetchurl {
+    url = "http://www.polypux.org/projects/read-edid/${name}.tar.gz";
+    sha256 = "0vqqmwsgh2gchw7qmpqk6idgzcm5rqf2fab84y7gk42v1x2diin7";
+  };
+
+  buildInputs = [ cmake libx86 ];
+
+  patchPhase = ''
+    substituteInPlace CMakeLists.txt --replace 'COPYING' 'LICENSE'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for reading and parsing EDID data from monitors";
+    homepage = http://www.polypux.org/projects/read-edid/;
+    license = licenses.bsd2; # Quoted: "This is an unofficial license. Let's call it BSD-like."
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix
index 0748da25f16..da9f57824b9 100644
--- a/pkgs/os-specific/linux/spl/git.nix
+++ b/pkgs/os-specific/linux/spl/git.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-04-24";
+  version = "2015-06-10";
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/spl.git;
-    rev = "62e2eb2329d99f7c39bcda47bc9ecb2887608fa5";
-    sha256 = "1i59sps2y0mgm9sj4a0h03xl0hlgiym4637j5j6zc5g125zzcnrd";
+    rev = "2345368646151718fa59986d9e2d9d38bcdecb2c";
+    sha256 = "08k7ahqgqrf9i118mkfxm01h8s607zp8lyvbvm1crii50dwlvl3g";
   };
 
   patches = [ ./const.patch ./install_prefix.patch ];
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 5a7d0700004..9478e07468e 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, cmake, luajit, kernel, zlib}:
+{stdenv, fetchurl, cmake, luajit, kernel, zlib, ncurses}:
 let
   inherit (stdenv.lib) optional optionalString;
   s = rec {
     baseName="sysdig";
-    version = "0.1.99";
+    version = "0.1.101";
     name="${baseName}-${version}";
     url="https://github.com/draios/sysdig/archive/${version}.tar.gz";
-    sha256 = "02faw8s07i7jjydqzqfs0r9lc2qmny3sn26741bz0hmazs9h9w76";
+    sha256 = "1dlx1v7wr0i36sbybr4kj8sziyrfxs4pcn6bnl0ljlb5wndy75b9";
   };
   buildInputs = [
-    cmake zlib luajit
+    cmake zlib luajit ncurses
   ];
 in
 stdenv.mkDerivation {
@@ -22,6 +22,7 @@ stdenv.mkDerivation {
   cmakeFlags = [
     "-DUSE_BUNDLED_LUAJIT=OFF"
     "-DUSE_BUNDLED_ZLIB=OFF"
+    "-DUSE_BUNDLED_NCURSES=OFF"
   ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF";
   preConfigure = ''
     export INSTALL_MOD_PATH="$out"
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index c709880af2d..8f8ed2541af 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     CONFIG_IEEE80211W=y
     CONFIG_TLS=openssl
     CONFIG_TLSV11=y
-    CONFIG_TLSV12=y
+    #CONFIG_TLSV12=y see #8332
     CONFIG_IEEE80211R=y
     CONFIG_DEBUG_SYSLOG=y
     #CONFIG_PRIVSEP=y
@@ -84,6 +84,26 @@ stdenv.mkDerivation rec {
       url = "http://w1.fi/cgit/hostap/patch/?id=8a78e227df1ead19be8e12a4108e448887e64d6f";
       sha256 = "1k2mcq1jv8xzi8061ixcz6j56n4i8wbq0vxcvml204q1syy2ika0";
     })
+    (fetchpatch {
+      url = http://w1.fi/security/2015-4/0001-EAP-pwd-peer-Fix-payload-length-validation-for-Commi.patch;
+      sha256 = "1cg4r638s4m9ar9lmzm534y657ppcm8bl1h363kjnng1zbzh8rfb";
+    })
+    (fetchpatch {
+      url = http://w1.fi/security/2015-4/0002-EAP-pwd-server-Fix-payload-length-validation-for-Com.patch;
+      sha256 = "0ky850rg1k9lwd1p4wzyvl2dpi5g7k1mwx1ndjclp4x7bshb6w79";
+    })
+    (fetchpatch {
+      url = http://w1.fi/security/2015-4/0003-EAP-pwd-peer-Fix-Total-Length-parsing-for-fragment-r.patch;
+      sha256 = "0hicw3vk1khk849xil75ckrg1xzbwcva7g01kp0lvab34dwhryy7";
+    })
+    (fetchpatch {
+      url = http://w1.fi/security/2015-4/0004-EAP-pwd-server-Fix-Total-Length-parsing-for-fragment.patch;
+      sha256 = "18d5r3zbwz96n4zzj9r27cv4kvc09zkj9x0p6qji68h8k2pcazxd";
+    })
+    (fetchpatch {
+      url = http://w1.fi/security/2015-4/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch;
+      sha256 = "1ndzyfpnxpvryiqal4kdic02kg9dgznh65kaqydaqqfj3rbjdqip";
+    })
   ];
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index a3d5aeeb40f..9e475f7aed9 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.29.0";
+  name = "xf86-input-wacom-0.30.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "15lbzjkaf690i69qy0n0ibwczbclqq1nx0418c6a567by5v7wl48";
+    sha256 = "1xa1i2ks00fa20c5dlpqzlapzj638a7qm5c0wqc3qvgwliwy9m4a";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index bd4b0c23c8b..6ed168c70be 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -10,5 +10,8 @@ callPackage ./generic.nix (args // rec {
     sha256 = "15fh1b2rvzvx4j3vgkwrgy2sd553bzwcvk1zai6phjhb6i2rw8v4";
   };
 
-  patches = [ ./nix-build.patch ];
+  patches = [
+    ./nix-build.patch
+    ./kernel-4.1-compat.patch
+  ];
 })
diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix
index 130a02c86e8..c6088595dcf 100644
--- a/pkgs/os-specific/linux/zfs/git.nix
+++ b/pkgs/os-specific/linux/zfs/git.nix
@@ -1,12 +1,12 @@
 { callPackage, stdenv, fetchgit, spl_git, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-05-13";
+  version = "2015-06-22";
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/zfs.git;
-    rev = "7fec46b9d8967109ad289d208e8cf36a0c16e40c";
-    sha256 = "0gvzw6vn7wyq2g9psv0fdars7ssidqc5l85x4yym5niccy1xl437";
+    rev = "72540ea3148a2bc03860d7d59b2b5fdc9a5cdee7";
+    sha256 = "0428xg5whr7y7r6r1jcfk8q944j948vj2nnzwgsx7cgn3n3v1yyn";
   };
 
   patches = [ ./nix-build.patch ];
diff --git a/pkgs/os-specific/linux/zfs/kernel-4.1-compat.patch b/pkgs/os-specific/linux/zfs/kernel-4.1-compat.patch
new file mode 100644
index 00000000000..7e75e843af3
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/kernel-4.1-compat.patch
@@ -0,0 +1,149 @@
+diff --git a/config/kernel-vfs-rw-iterate.m4 b/config/kernel-vfs-rw-iterate.m4
+new file mode 100644
+index 0000000..f8dc422
+--- /dev/null
++++ b/config/kernel-vfs-rw-iterate.m4
+@@ -0,0 +1,27 @@
++dnl #
++dnl # Linux 4.1.x API
++dnl #
++AC_DEFUN([ZFS_AC_KERNEL_VFS_RW_ITERATE],
++	[AC_MSG_CHECKING([whether fops->read/write_iter() are available])
++	ZFS_LINUX_TRY_COMPILE([
++		#include <linux/fs.h>
++
++		ssize_t test_read(struct kiocb *kiocb, struct iov_iter *to)
++		    { return 0; }
++		ssize_t test_write(struct kiocb *kiocb, struct iov_iter *from)
++		    { return 0; }
++
++		static const struct file_operations
++		    fops __attribute__ ((unused)) = {
++		    .read_iter = test_read,
++		    .write_iter = test_write,
++		};
++	],[
++	],[
++		AC_MSG_RESULT(yes)
++		AC_DEFINE(HAVE_VFS_RW_ITERATE, 1,
++			[fops->read/write_iter() are available])
++	],[
++		AC_MSG_RESULT(no)
++	])
++])
+diff --git a/config/kernel.m4 b/config/kernel.m4
+index a9f2f58..fe42e17 100644
+--- a/config/kernel.m4
++++ b/config/kernel.m4
+@@ -96,6 +96,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
+ 	ZFS_AC_KERNEL_5ARG_SGET
+ 	ZFS_AC_KERNEL_LSEEK_EXECUTE
+ 	ZFS_AC_KERNEL_VFS_ITERATE
++	ZFS_AC_KERNEL_VFS_RW_ITERATE
+ 
+ 	AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
+ 		KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
+diff --git a/module/zfs/zpl_file.c b/module/zfs/zpl_file.c
+index 66db113..5471140 100644
+--- a/module/zfs/zpl_file.c
++++ b/module/zfs/zpl_file.c
+@@ -196,8 +196,7 @@ zpl_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
+ static int
+ zpl_aio_fsync(struct kiocb *kiocb, int datasync)
+ {
+-	return (zpl_fsync(kiocb->ki_filp, kiocb->ki_pos,
+-	    kiocb->ki_pos + kiocb->ki_nbytes, datasync));
++	return (zpl_fsync(kiocb->ki_filp, kiocb->ki_pos, -1, datasync));
+ }
+ #else
+ #error "Unsupported fops->fsync() implementation"
+@@ -261,12 +260,11 @@ zpl_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos)
+ }
+ 
+ static ssize_t
+-zpl_aio_read(struct kiocb *kiocb, const struct iovec *iovp,
+-	unsigned long nr_segs, loff_t pos)
++zpl_iter_read_common(struct kiocb *kiocb, const struct iovec *iovp,
++    unsigned long nr_segs, size_t count)
+ {
+ 	cred_t *cr = CRED();
+ 	struct file *filp = kiocb->ki_filp;
+-	size_t count = kiocb->ki_nbytes;
+ 	ssize_t read;
+ 	size_t alloc_size = sizeof (struct iovec) * nr_segs;
+ 	struct iovec *iov_tmp = kmem_alloc(alloc_size, KM_SLEEP);
+@@ -284,6 +282,22 @@ zpl_aio_read(struct kiocb *kiocb, const struct iovec *iovp,
+ 	return (read);
+ }
+ 
++#if defined(HAVE_VFS_RW_ITERATE)
++static ssize_t
++zpl_iter_read(struct kiocb *kiocb, struct iov_iter *to)
++{
++	return (zpl_iter_read_common(kiocb, to->iov, to->nr_segs,
++	    iov_iter_count(to)));
++}
++#else
++static ssize_t
++zpl_aio_read(struct kiocb *kiocb, const struct iovec *iovp,
++    unsigned long nr_segs, loff_t pos)
++{
++	return (zpl_iter_read_common(kiocb, iovp, nr_segs, kiocb->ki_nbytes));
++}
++#endif /* HAVE_VFS_RW_ITERATE */
++
+ static inline ssize_t
+ zpl_write_common_iovec(struct inode *ip, const struct iovec *iovp, size_t count,
+     unsigned long nr_segs, loff_t *ppos, uio_seg_t segment,
+@@ -344,12 +358,11 @@ zpl_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
+ }
+ 
+ static ssize_t
+-zpl_aio_write(struct kiocb *kiocb, const struct iovec *iovp,
+-	unsigned long nr_segs, loff_t pos)
++zpl_iter_write_common(struct kiocb *kiocb, const struct iovec *iovp,
++    unsigned long nr_segs, size_t count)
+ {
+ 	cred_t *cr = CRED();
+ 	struct file *filp = kiocb->ki_filp;
+-	size_t count = kiocb->ki_nbytes;
+ 	ssize_t wrote;
+ 	size_t alloc_size = sizeof (struct iovec) * nr_segs;
+ 	struct iovec *iov_tmp = kmem_alloc(alloc_size, KM_SLEEP);
+@@ -367,6 +380,22 @@ zpl_aio_write(struct kiocb *kiocb, const struct iovec *iovp,
+ 	return (wrote);
+ }
+ 
++#if defined(HAVE_VFS_RW_ITERATE)
++static ssize_t
++zpl_iter_write(struct kiocb *kiocb, struct iov_iter *from)
++{
++	return (zpl_iter_write_common(kiocb, from->iov, from->nr_segs,
++	    iov_iter_count(from)));
++}
++#else
++static ssize_t
++zpl_aio_write(struct kiocb *kiocb, const struct iovec *iovp,
++    unsigned long nr_segs, loff_t pos)
++{
++	return (zpl_iter_write_common(kiocb, iovp, nr_segs, kiocb->ki_nbytes));
++}
++#endif /* HAVE_VFS_RW_ITERATE */
++
+ static loff_t
+ zpl_llseek(struct file *filp, loff_t offset, int whence)
+ {
+@@ -778,8 +807,13 @@ const struct file_operations zpl_file_operations = {
+ 	.llseek		= zpl_llseek,
+ 	.read		= zpl_read,
+ 	.write		= zpl_write,
++#ifdef HAVE_VFS_RW_ITERATE
++	.read_iter	= zpl_iter_read,
++	.write_iter	= zpl_iter_write,
++#else
+ 	.aio_read	= zpl_aio_read,
+ 	.aio_write	= zpl_aio_write,
++#endif
+ 	.mmap		= zpl_mmap,
+ 	.fsync		= zpl_fsync,
+ 	.aio_fsync	= zpl_aio_fsync,