From 58246936e4f44c744e08e2386d4c446d18a44b24 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Tue, 31 Dec 2013 21:34:44 -0500
Subject: [PATCH 001/228] platforms.nix: Separate 32-bit and 64-bit PCs

With this, stdenv.platform.kernelArch can be used by the kernel builder
for PC platforms too.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/top-level/all-packages.nix  |  4 +++-
 pkgs/top-level/platforms.nix     | 15 ++++++++++-----
 pkgs/top-level/release-cross.nix |  2 +-
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5695e11e0faa..020d5b3c8e61 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -84,7 +84,9 @@ let
       if system == "armv6l-linux" then platforms.raspberrypi
       else if system == "armv5tel-linux" then platforms.sheevaplug
       else if system == "mips64el-linux" then platforms.fuloong2f_n32
-      else platforms.pc;
+      else if system == "x86_64-linux" then platforms.pc64
+      else if system == "i686-linux" then platforms.pc32
+      else platforms.pcBase;
 
   platform = if platform_ != null then platform_
     else config.platform or platformAuto;
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index d6408286581d..299941790e93 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -1,5 +1,5 @@
 rec {
-  pc = {
+  pcBase = {
     name = "pc";
     uboot = null;
     kernelHeadersBaseConfig = "defconfig";
@@ -7,12 +7,17 @@ rec {
     # Build whatever possible as a module, if not stated in the extra config.
     kernelAutoModules = true;
     kernelTarget = "bzImage";
-    # Currently ignored - it should be set according to 'system' once it is
-    # not ignored. This is for stdenv-updates.
-    kernelArch = "i386";
   };
 
-  pc_simplekernel = pc // {
+  pc64 = pcBase // { kernelArch = "x86_64"; };
+
+  pc32 = pcBase // { kernelArch = "i386"; };
+
+  pc32_simplekernel = pc32 // {
+    kernelAutoModules = false;
+  };
+
+  pc64_simplekernel = pc64 // {
     kernelAutoModules = false;
   };
 
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 3895ee267797..6871567ca8d1 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -192,7 +192,7 @@ let
     arch = "i586";
     float = "hard";
     withTLS = true;
-    platform = pkgs.platforms.pc;
+    platform = pkgs.platforms.pc32;
     libc = "glibc";
     openssl.system = "hurd-x86";  # Nix depends on OpenSSL.
   };

From 008992619f0ca5a61d6cd91394c818c5da345050 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Tue, 31 Dec 2013 22:38:06 -0500
Subject: [PATCH 002/228] linux/manual-config: Cross-compiling support

With this, I was able to successfully compile a defconfig kernel for the
sheevaplug, though I didn't actually try to run it (not having a
sheevaplug myself).

For native compiles, the most significant difference is that the
platform's kernel target is built directly rather than hoping the
default make target will pull it in.

Also some stylistic improvements along the way.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 .../linux/kernel/manual-config.nix            | 47 +++++++++++++------
 pkgs/top-level/all-packages.nix               |  2 +-
 2 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index f097f2562d02..d96c8e5494cf 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,4 +1,4 @@
-{ stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile }:
+{ stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile, ubootChooser }:
 
 let
   inherit (stdenv.lib)
@@ -58,10 +58,10 @@ in
 }:
 
 let
-  installkernel = name: writeTextFile { name = "installkernel"; executable=true; text = ''
-    #!/bin/sh
-    mkdir $4
-    cp -av $2 $4/${name}
+  installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
+    #!${stdenv.shell} -e
+    mkdir -p $4
+    cp -av $2 $4
     cp -av $3 $4
   '';};
 
@@ -72,9 +72,10 @@ let
 
   commonMakeFlags = [
     "O=$(buildRoot)"
-    "INSTALL_PATH=$(out)"
-  ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
-  ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
+  ];
+
+  # Some image types need special install targets (e.g. uImage is installed with make uinstall)
+  installTarget = target: [ (if target == "uImage" then "uinstall" else "install") ];
 
   sourceRoot = stdenv.mkDerivation {
     name = "linux-${version}-source";
@@ -126,16 +127,34 @@ stdenv.mkDerivation {
     runHook postConfigure
   '';
 
-  nativeBuildInputs = [ perl bc nettools ];
+  nativeBuildInputs = [ perl bc nettools ] ++ optional (stdenv.platform.uboot != null)
+    (ubootChooser stdenv.platform.uboot);
 
   makeFlags = commonMakeFlags ++ [
-   "INSTALLKERNEL=${installkernel stdenv.platform.kernelTarget}"
+    "ARCH=${stdenv.platform.kernelArch}"
   ];
 
-  crossAttrs = {
+  buildFlags = [ stdenv.platform.kernelTarget ] ++ optional isModular "modules";
+
+  installFlags = [
+    "INSTALLKERNEL=${installkernel}"
+    "INSTALL_PATH=$(out)"
+  ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
+  ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
+
+  installTargets = installTarget stdenv.platform.kernelTarget;
+
+  crossAttrs = let cp = stdenv.cross.platform; in {
+    buildFlags = [ cp.kernelTarget ] ++ optional isModular "modules";
+
     makeFlags = commonMakeFlags ++ [
-     "INSTALLKERNEL=${installkernel stdenv.cross.platform.kernelTarget}"
+      "ARCH=${cp.kernelArch}"
+      "CROSS_COMPILE=$(crossConfig)-"
     ];
+
+    installTargets = installTarget cp.kernelTarget;
+
+    buildInputs = optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
   };
 
   postInstall = optionalString installsFirmware ''
@@ -143,7 +162,7 @@ stdenv.mkDerivation {
   '' + (if isModular then ''
     make modules_install $makeFlags "''${makeFlagsArray[@]}" \
       $installFlags "''${installFlagsArray[@]}"
-    rm -f $out/lib/modules/${modDirVersion}/build
+    unlink $out/lib/modules/${modDirVersion}/build
     mkdir -p $dev/lib/modules/${modDirVersion}
     mv $out/lib/modules/${modDirVersion}/source $dev/lib/modules/${modDirVersion}/source
     mv $buildRoot $dev/lib/modules/${modDirVersion}/build
@@ -154,7 +173,7 @@ stdenv.mkDerivation {
 
   postFixup = if isModular then ''
     if [ -z "$dontStrip" ]; then
-        find $out -name "*.ko" -print0 | xargs -0 -r strip -S
+        find $out -name "*.ko" -print0 | xargs -0 -r ''${crossConfig+$crossConfig-}strip -S
         # Remove all references to the source directory to avoid unneeded
         # runtime dependencies
         find $out -name "*.ko" -print0 | xargs -0 -r sed -i \
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 020d5b3c8e61..f5c93f37f73e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6952,7 +6952,7 @@ let
 
   # A function to build a manually-configured kernel
   linuxManualConfig = import ../os-specific/linux/kernel/manual-config.nix {
-    inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile;
+    inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile ubootChooser;
   };
 
   keyutils = callPackage ../os-specific/linux/keyutils { };

From fe185f0a180a0482c89e9fe8f573bb2ce158b1fd Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Tue, 31 Dec 2013 22:46:43 -0500
Subject: [PATCH 003/228] manual-config: Always add config query functions

If the config attrset is manually specified, we still want isYes,
isModule, etc. to work. But we let the passed in config attrset take
precedence, if for some reason the caller wants to provide their own
implementation of one or more of these functions.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 .../linux/kernel/manual-config.nix            | 72 +++++++++----------
 1 file changed, 32 insertions(+), 40 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index d96c8e5494cf..3036d8a04b0f 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,45 +1,16 @@
 { stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile, ubootChooser }:
 
 let
-  inherit (stdenv.lib)
-    hasAttr getAttr optionalAttrs optional optionalString maintainers platforms;
-
-  # Function to parse the config file into a nix expression
-  readConfig = configFile:
-    let
-      configAttrs = import "${runCommand "config.nix" {} ''
-        echo "{" > "$out"
-        while IFS='=' read key val; do
-          [ "x''${key#CONFIG_}" != "x$key" ] || continue
-          no_firstquote="''${val#\"}";
-          echo '  "'"$key"'" = "'"''${no_firstquote%\"}"'";' >> "$out"
-        done < "${configFile}"
-        echo "}" >> $out
-      ''}";
-
-      config = configAttrs // rec {
-        attrName = attr: "CONFIG_" + attr;
-
-        isSet = attr: hasAttr (attrName attr) config;
-
-        getValue = attr: if isSet attr then getAttr (attrName attr) config else null;
-
-        isYes = attr: (isSet attr) && ((getValue attr) == "y");
-
-        isNo = attr: (isSet attr) && ((getValue attr) == "n");
-
-        isModule = attr: (isSet attr) && ((getValue attr) == "m");
-
-        isEnabled = attr: (isModule attr) || (isYes attr);
-
-        isDisabled = attr: (!(isSet attr)) || (isNo attr);
-      };
-    in
-      config;
-
-in
-
-{
+  readConfig = configfile: import (runCommand "config.nix" {} ''
+    echo "{" > "$out"
+    while IFS='=' read key val; do
+      [ "x''${key#CONFIG_}" != "x$key" ] || continue
+      no_firstquote="''${val#\"}";
+      echo '  "'"$key"'" = "'"''${no_firstquote%\"}"'";' >> "$out"
+    done < "${configfile}"
+    echo "}" >> $out
+  '').outPath;
+in {
   # The kernel version
   version,
   # The version of the kernel module directory
@@ -52,12 +23,33 @@ in
   configfile,
   # Manually specified nixexpr representing the config
   # If unspecified, this will be autodetected from the .config
-  config ? optionalAttrs allowImportFromDerivation (readConfig configfile),
+  config ? stdenv.lib.optionalAttrs allowImportFromDerivation (readConfig configfile),
   # Whether to utilize the controversial import-from-derivation feature to parse the config
   allowImportFromDerivation ? false
 }:
 
+let config_ = config; in
+
 let
+  inherit (stdenv.lib)
+    hasAttr getAttr optionalAttrs optional optionalString maintainers platforms;
+
+  config = let attrName = attr: "CONFIG_" + attr; in {
+    isSet = attr: hasAttr (attrName attr) config;
+
+    getValue = attr: if config.isSet attr then getAttr (attrName attr) config else null;
+
+    isYes = attr: (config.getValue attr) == "y";
+
+    isNo = attr: (config.getValue attr) == "n";
+
+    isModule = attr: (config.getValue attr) == "m";
+
+    isEnabled = attr: (config.isModule attr) || (config.isYes attr);
+
+    isDisabled = attr: (!(config.isSet attr)) || (config.isNo attr);
+  } // config_;
+
   installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
     #!${stdenv.shell} -e
     mkdir -p $4

From 0c5776bc0fbc7336ca745135e251491409242a8d Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Tue, 31 Dec 2013 22:49:12 -0500
Subject: [PATCH 004/228] manual-config: Patch conf.c for generate-config.pl

This only affects the `oldaskconfig' make target, so it shouldn't really
affect current manual-config users, but it does make it more
straightforward to implement the generic kernel build on top of
manual-config.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/manual-config.nix | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 3036d8a04b0f..66e146799874 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -84,6 +84,10 @@ let
           sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
       done
       sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
+      # Patch kconfig to print "###" after every question so that
+      # generate-config.pl from the generic builder can answer them.
+      # This only affects oldaskconfig.
+      sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
     '';
 
     installPhase = ''

From 784c6d320c6d48989310e5c68f821d10486b4805 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Tue, 31 Dec 2013 22:50:41 -0500
Subject: [PATCH 005/228] manual-config: Put `source' before the version in the
 sourceRoot name

nix's version parsing treats the previous name as a package named
`linux' with version `${version}-source', when we really want a package
named `linux-source' with version `${version}'

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/manual-config.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 66e146799874..3219ef0b002b 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -70,7 +70,7 @@ let
   installTarget = target: [ (if target == "uImage" then "uinstall" else "install") ];
 
   sourceRoot = stdenv.mkDerivation {
-    name = "linux-${version}-source";
+    name = "linux-source-${version}";
 
     inherit src;
 

From a87b1f36e0095956b9b170f2c7071263a36ae155 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Tue, 31 Dec 2013 23:09:42 -0500
Subject: [PATCH 006/228] manual-config: Fully general cross-compiling

In the most general case, the cross and native kernel may differ in
patches and configuration file as well as architecture, kernel target,
etc. It's probably overkill to support that case, but since it was
doable without much duplication and it will make integrating with the
existing cross-compilation support in the generic kernel I decided to
implement it anyway.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 .../linux/kernel/manual-config.nix            | 240 +++++++++---------
 1 file changed, 125 insertions(+), 115 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 3219ef0b002b..9c82aea41aa6 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -19,110 +19,153 @@ in {
   src,
   # Any patches
   kernelPatches ? [],
-  # The kernel .config file
+  # Patches for native compiling only
+  nativeKernelPatches ? [],
+  # Patches for cross compiling only
+  crossKernelPatches ? [],
+  # The native kernel .config file
   configfile,
+  # The cross kernel .config file
+  crossConfigfile ? configfile,
   # Manually specified nixexpr representing the config
   # If unspecified, this will be autodetected from the .config
   config ? stdenv.lib.optionalAttrs allowImportFromDerivation (readConfig configfile),
+  # Cross-compiling config
+  crossConfig ? if allowImportFromDerivation then (readConfig crossConfigfile) else config,
   # Whether to utilize the controversial import-from-derivation feature to parse the config
   allowImportFromDerivation ? false
 }:
 
-let config_ = config; in
-
 let
   inherit (stdenv.lib)
-    hasAttr getAttr optionalAttrs optional optionalString maintainers platforms;
-
-  config = let attrName = attr: "CONFIG_" + attr; in {
-    isSet = attr: hasAttr (attrName attr) config;
-
-    getValue = attr: if config.isSet attr then getAttr (attrName attr) config else null;
-
-    isYes = attr: (config.getValue attr) == "y";
-
-    isNo = attr: (config.getValue attr) == "n";
-
-    isModule = attr: (config.getValue attr) == "m";
-
-    isEnabled = attr: (config.isModule attr) || (config.isYes attr);
-
-    isDisabled = attr: (!(config.isSet attr)) || (config.isNo attr);
-  } // config_;
+    hasAttr getAttr optional optionalString maintainers platforms;
 
   installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
     #!${stdenv.shell} -e
     mkdir -p $4
     cp -av $2 $4
     cp -av $3 $4
-  '';};
-
-  isModular = config.isYes "MODULES";
-
-  installsFirmware = (config.isEnabled "FW_LOADER") &&
-    (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
+  ''; };
 
   commonMakeFlags = [
     "O=$(buildRoot)"
   ];
 
-  # Some image types need special install targets (e.g. uImage is installed with make uinstall)
-  installTarget = target: [ (if target == "uImage" then "uinstall" else "install") ];
+  drvAttrs = config_: platform: kernelPatches: configfile:
+    let
+      config = let attrName = attr: "CONFIG_" + attr; in {
+        isSet = attr: hasAttr (attrName attr) config;
 
-  sourceRoot = stdenv.mkDerivation {
-    name = "linux-source-${version}";
+        getValue = attr: if config.isSet attr then getAttr (attrName attr) config else null;
 
-    inherit src;
+        isYes = attr: (config.getValue attr) == "y";
 
-    patches = map (p: p.patch) kernelPatches;
+        isNo = attr: (config.getValue attr) == "n";
 
-    phases = [ "unpackPhase" "patchPhase" "installPhase" ]; 
+        isModule = attr: (config.getValue attr) == "m";
 
-    prePatch = ''
-      for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
-          echo "stripping FHS paths in \`$mf'..."
-          sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
-      done
-      sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
-      # Patch kconfig to print "###" after every question so that
-      # generate-config.pl from the generic builder can answer them.
-      # This only affects oldaskconfig.
-      sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
-    '';
+        isEnabled = attr: (config.isModule attr) || (config.isYes attr);
 
-    installPhase = ''
-      cd ..
-      mv $sourceRoot $out
-    '';
-  };
+        isDisabled = attr: (!(config.isSet attr)) || (config.isNo attr);
+      } // config_;
+
+      isModular = config.isYes "MODULES";
+
+      installsFirmware = (config.isEnabled "FW_LOADER") &&
+        (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
+
+      sourceRoot = stdenv.mkDerivation {
+        name = "linux-source-${version}";
+
+        inherit src;
+
+        patches = map (p: p.patch) kernelPatches;
+
+        phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+
+        prePatch = ''
+          for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
+              echo "stripping FHS paths in \`$mf'..."
+              sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
+          done
+
+          sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
+
+          # Patch kconfig to print "###" after every question so that
+          # generate-config.pl from the generic builder can answer them.
+          # This only affects oldaskconfig.
+          sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
+        '';
+
+        installPhase = ''
+          cd ..
+          mv $sourceRoot $out
+        '';
+      };
+    in {
+      outputs = if isModular then [ "out" "dev" ] else null;
+
+      passthru = {
+        inherit version modDirVersion config kernelPatches src;
+      };
+
+      inherit sourceRoot;
+
+      unpackPhase = ''
+        mkdir build
+        export buildRoot="$(pwd)/build"
+        cd ${sourceRoot}
+      '';
+
+      configurePhase = ''
+        runHook preConfigure
+        ln -sv ${configfile} $buildRoot/.config
+        make $makeFlags "''${makeFlagsArray[@]}" oldconfig
+        runHook postConfigure
+      '';
+
+      buildFlags = [ stdenv.platform.kernelTarget ] ++ optional isModular "modules";
+
+      installFlags = [
+        "INSTALLKERNEL=${installkernel}"
+        "INSTALL_PATH=$(out)"
+      ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
+      ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
+
+      # Some image types need special install targets (e.g. uImage is installed with make uinstall)
+      installTargets = [ (if platform.kernelTarget == "uImage" then "uinstall" else "install") ];
+
+      postInstall = optionalString installsFirmware ''
+        mkdir -p $out/lib/firmware
+      '' + (if isModular then ''
+        make modules_install $makeFlags "''${makeFlagsArray[@]}" \
+          $installFlags "''${installFlagsArray[@]}"
+        unlink $out/lib/modules/${modDirVersion}/build
+        mkdir -p $dev/lib/modules/${modDirVersion}
+        mv $out/lib/modules/${modDirVersion}/source $dev/lib/modules/${modDirVersion}/source
+        mv $buildRoot $dev/lib/modules/${modDirVersion}/build
+      '' else optionalString installsFirmware ''
+        make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
+          $installFlags "''${installFlagsArray[@]}"
+      '');
+
+      postFixup = if isModular then ''
+        if [ -z "$dontStrip" ]; then
+            find $out -name "*.ko" -print0 | xargs -0 -r ''${crossConfig+$crossConfig-}strip -S
+            # Remove all references to the source directory to avoid unneeded
+            # runtime dependencies
+            find $out -name "*.ko" -print0 | xargs -0 -r sed -i \
+              "s|${sourceRoot}|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${sourceRoot.name}|g"
+        fi
+      '' else null;
+    };
 in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKernelPatches) configfile) // {
   name = "linux-${version}";
 
   enableParallelBuilding = true;
 
-  outputs = if isModular then [ "out" "dev" ] else null;
-
-  passthru = {
-    inherit version modDirVersion config kernelPatches src;
-  };
-
-  inherit sourceRoot;
-
-  unpackPhase = ''
-    mkdir build
-    export buildRoot="$(pwd)/build"
-    cd ${sourceRoot}
-  '';
-
-  configurePhase = ''
-    runHook preConfigure
-    ln -sv ${configfile} $buildRoot/.config
-    make $makeFlags "''${makeFlagsArray[@]}" oldconfig
-    runHook postConfigure
-  '';
-
   nativeBuildInputs = [ perl bc nettools ] ++ optional (stdenv.platform.uboot != null)
     (ubootChooser stdenv.platform.uboot);
 
@@ -130,53 +173,20 @@ stdenv.mkDerivation {
     "ARCH=${stdenv.platform.kernelArch}"
   ];
 
-  buildFlags = [ stdenv.platform.kernelTarget ] ++ optional isModular "modules";
-
-  installFlags = [
-    "INSTALLKERNEL=${installkernel}"
-    "INSTALL_PATH=$(out)"
-  ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
-  ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
-
-  installTargets = installTarget stdenv.platform.kernelTarget;
-
   crossAttrs = let cp = stdenv.cross.platform; in {
-    buildFlags = [ cp.kernelTarget ] ++ optional isModular "modules";
+    (drvAttrs crossConfig cp (kernelPatches ++ crossKernelPatches) crossConfigfile) // {
+      makeFlags = commonMakeFlags ++ [
+        "ARCH=${cp.kernelArch}"
+        "CROSS_COMPILE=$(crossConfig)-"
+      ];
 
-    makeFlags = commonMakeFlags ++ [
-      "ARCH=${cp.kernelArch}"
-      "CROSS_COMPILE=$(crossConfig)-"
-    ];
-
-    installTargets = installTarget cp.kernelTarget;
-
-    buildInputs = optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
+      # !!! uboot has messed up cross-compiling, nativeDrv builds arm tools on x86,
+      # crossDrv builds x86 tools on x86 (but arm uboot). If this is fixed, uboot
+      # can just go into buildInputs (but not nativeBuildInputs since cp.uboot
+      # may be different from stdenv.platform.uboot)
+      buildInputs = optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
   };
 
-  postInstall = optionalString installsFirmware ''
-    mkdir -p $out/lib/firmware
-  '' + (if isModular then ''
-    make modules_install $makeFlags "''${makeFlagsArray[@]}" \
-      $installFlags "''${installFlagsArray[@]}"
-    unlink $out/lib/modules/${modDirVersion}/build
-    mkdir -p $dev/lib/modules/${modDirVersion}
-    mv $out/lib/modules/${modDirVersion}/source $dev/lib/modules/${modDirVersion}/source
-    mv $buildRoot $dev/lib/modules/${modDirVersion}/build
-  '' else optionalString installsFirmware ''
-    make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
-      $installFlags "''${installFlagsArray[@]}"
-  '');
-
-  postFixup = if isModular then ''
-    if [ -z "$dontStrip" ]; then
-        find $out -name "*.ko" -print0 | xargs -0 -r ''${crossConfig+$crossConfig-}strip -S
-        # Remove all references to the source directory to avoid unneeded
-        # runtime dependencies
-        find $out -name "*.ko" -print0 | xargs -0 -r sed -i \
-          "s|${sourceRoot}|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${sourceRoot.name}|g"
-    fi
-  '' else null;
-
   meta = {
     description = "The Linux kernel";
     license = "GPLv2";
@@ -186,4 +196,4 @@ stdenv.mkDerivation {
     ];
     platforms = platforms.linux;
   };
-}
+})

From f95d214cfdf115b9444acc5ce8060a5b1b23ed77 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Wed, 1 Jan 2014 09:21:25 -0500
Subject: [PATCH 007/228] Implement generic kernel build via manual-config

This has three major benefits:

1. We no longer have two kernel build processes to maintain

2. The build process is (IMO) cleaner and cleaves more closely to
upstream. In partuclar, we use make install to install the kernel and
development source/build trees, eliminating the guesswork about which
files to copy.

3. The derivation has multiple outputs: the kernel and modules are in
the default `out' output, while the build and source trees are in a
`dev' output. This makes it possible for the full source and build tree
to be kept (which is expected by out-of-tree modules) without bloating
the closure of the system derivation.

In addition, if a solution for how to handle queries in the presence of
imports from derivations ever makes it into nix, a framework for
querying the full configuration of the kernel in nix expressions is
already in place.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/builder.sh      | 149 -----------------
 .../linux/kernel/generate-config.pl           |   5 +-
 pkgs/os-specific/linux/kernel/generic.nix     | 154 +++++++-----------
 .../linux/kernel/manual-config.nix            |  31 ++--
 pkgs/top-level/all-packages.nix               |  12 +-
 5 files changed, 90 insertions(+), 261 deletions(-)
 delete mode 100644 pkgs/os-specific/linux/kernel/builder.sh

diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh
deleted file mode 100644
index 8fb5e9f91eb4..000000000000
--- a/pkgs/os-specific/linux/kernel/builder.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-source $stdenv/setup
-
-
-makeFlags="ARCH=$arch SHELL=/bin/sh KBUILD_BUILD_VERSION=1-NixOS $makeFlags"
-if [ -n "$crossConfig" ]; then
-  makeFlags="$makeFlags CROSS_COMPILE=$crossConfig-"
-fi
-
-postPatch() {
-    # Makefiles are full of /bin/pwd, /bin/false, /bin/bash, etc.
-    # Patch these away, assuming the tools are in $PATH.
-    for mf in $(find -name Makefile); do
-        echo "stripping FHS paths in \`$mf'..."
-        sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g'
-    done
-}
-
-configurePhase() {
-    if test -n "$preConfigure"; then
-        eval "$preConfigure"
-    fi
-
-    export INSTALL_PATH=$out
-    export INSTALL_MOD_PATH=$out
-
-    # Set our own localversion, if specified.
-    rm -f localversion*
-    if test -n "$localVersion"; then
-        echo "$localVersion" > localversion-nix
-    fi
-
-    # Patch kconfig to print "###" after every question so that
-    # generate-config.pl can answer them.
-    sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
-
-    # Get a basic config file for later refinement with $generateConfig.
-    make $kernelBaseConfig ARCH=$arch
-
-    # Create the config file.
-    echo "generating kernel configuration..."
-    echo "$kernelConfig" > kernel-config
-    DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \
-        perl -w $generateConfig
-}
-
-
-installPhase() {
-
-    mkdir -p $out
-
-    # New kernel versions have a combined tree for i386 and x86_64.
-    archDir=$arch
-    if test -e arch/x86 -a \( "$arch" = i386 -o "$arch" = x86_64 \); then
-        archDir=x86
-    fi
-
-
-    # Copy the bzImage and System.map.
-    cp System.map $out
-    if test "$arch" = um; then
-        mkdir -p $out/bin
-        cp linux $out/bin
-    elif test "$kernelTarget" != "vmlinux"; then
-        # In any case we copy the 'vmlinux' ELF in the next lines
-        cp arch/$archDir/boot/$kernelTarget $out
-    fi
-
-    cp vmlinux $out
-
-    if grep -q "CONFIG_MODULES=y" .config; then
-        # Install the modules in $out/lib/modules.
-        make modules_install \
-            DEPMOD=$kmod/sbin/depmod \
-            $makeFlags "${makeFlagsArray[@]}" \
-            $installFlags "${installFlagsArray[@]}"
-
-        if test -z "$dontStrip"; then
-            # Strip the kernel modules.
-        echo "Stripping kernel modules..."
-        if [ -z "$crossConfig" ]; then
-                find $out -name "*.ko" -print0 | xargs -0 strip -S
-        else
-                find $out -name "*.ko" -print0 | xargs -0 $crossConfig-strip -S
-        fi
-        fi
-
-        # move this to install later on
-        # largely copied from early FC3 kernel spec files
-        version=$(cd $out/lib/modules && ls -d *)
-
-        # remove symlinks and create directories
-        rm -f $out/lib/modules/$version/build
-        rm -f $out/lib/modules/$version/source
-        mkdir $out/lib/modules/$version/build
-
-        # copy config
-        cp .config $out/lib/modules/$version/build/.config
-        ln -s $out/lib/modules/$version/build/.config $out/config
-
-        if test "$arch" != um; then
-            # copy all Makefiles and Kconfig files
-            ln -s $out/lib/modules/$version/build $out/lib/modules/$version/source
-            cp --parents `find  -type f -name Makefile -o -name "Kconfig*"` $out/lib/modules/$version/build
-            cp Module.symvers $out/lib/modules/$version/build
-
-        if test "$dontStrip" = "1"; then
-            # copy any debugging info that can be found
-            cp --parents -rv `find -name \*.debug -o -name debug.a`     \
-               "$out/lib/modules/$version/build"
-        fi
-
-            # weed out unneeded stuff
-            rm -rf $out/lib/modules/$version/build/Documentation
-            rm -rf $out/lib/modules/$version/build/scripts
-            rm -rf $out/lib/modules/$version/build/include
-
-            # copy architecture dependent files
-            cp -a arch/$archDir/scripts $out/lib/modules/$version/build/ || true
-            cp -a arch/$archDir/*lds $out/lib/modules/$version/build/ || true
-            cp -a arch/$archDir/Makefile*.cpu $out/lib/modules/$version/build/arch/$archDir/ || true
-            cp -a --parents arch/$archDir/kernel/asm-offsets.s $out/lib/modules/$version/build/arch/$archDir/kernel/ || true
-
-            # copy scripts
-            rm -f scripts/*.o
-            rm -f scripts/*/*.o
-            cp -a scripts $out/lib/modules/$version/build
-
-            # copy include files
-            includeDir=$out/lib/modules/$version/build/include
-            mkdir -p $includeDir
-            (cd include && cp -a * $includeDir)
-        (cd arch/$archDir/include && cp -a * $includeDir || true)
-        (cd arch/$archDir/include && cp -a asm/* $includeDir/asm/ || true)
-        (cd arch/$archDir/include && cp -a generated/asm/* $includeDir/asm/ || true)
-        (cd arch/$archDir/include/asm/mach-generic && cp -a * $includeDir/ || true)
-            # include files for special arm architectures 
-            if [ "$archDir" == "arm" ]; then
-                cp -a --parents arch/arm/mach-*/include $out/lib/modules/$version/build
-            fi
-        fi
-    fi
-
-    if test -n "$postInstall"; then
-        eval "$postInstall";
-    fi
-}
-
-
-genericBuild
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index 78663098fb31..20abe1015c3f 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -11,6 +11,9 @@
 
 use strict;
 use IPC::Open2;
+use Cwd;
+
+my $wd = getcwd;
 
 my $debug = $ENV{'DEBUG'};
 my $autoModules = $ENV{'AUTO_MODULES'};
@@ -36,7 +39,7 @@ close ANSWERS;
 sub runConfig {
 
     # Run `make config'.
-    my $pid = open2(\*IN, \*OUT, "make config SHELL=bash ARCH=$ENV{ARCH}");
+    my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$wd config SHELL=bash ARCH=$ENV{ARCH}");
 
     # Parse the output, look for questions and then send an
     # appropriate answer.
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 3e1fc920a59b..888dcf1e9a51 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, mktemp, kmod, bc
+{ stdenv, perl, linuxManualConfig
 
 , # The kernel source tarball.
   src
@@ -23,20 +23,7 @@
   # symbolic name and `patch' is the actual patch.  The patch may
   # optionally be compressed with gzip or bzip2.
   kernelPatches ? []
-
-, # Allows you to set your own kernel version suffix (e.g.,
-  # "-my-kernel").
-  localVersion ? ""
-
-, preConfigure ? ""
 , extraMeta ? {}
-, ubootChooser ? null
-, postInstall ? ""
-
-, # After the builder did a 'make all' (kernel + modules)
-  # we force building the target asked: bzImage/zImage/uImage/...
-  postBuild ? "make $makeFlags $kernelTarget; make $makeFlags -C scripts unifdef"
-
 , ...
 }:
 
@@ -52,93 +39,76 @@ let
         map ({extraConfig ? "", ...}: extraConfig) kernelPatches;
     in lib.concatStringsSep "\n" ([baseConfig] ++ configFromPatches);
 
+  configfile = stdenv.mkDerivation {
+    name = "linux-config-${version}";
+
+    generateConfig = ./generate-config.pl;
+
+    kernelConfig = kernelConfigFun config;
+
+    ignoreConfigErrors = stdenv.platform.name != "pc";
+
+    nativeBuildInputs = [ perl ];
+
+    platformName = stdenv.platform.name;
+    kernelBaseConfig = stdenv.platform.kernelBaseConfig;
+    kernelTarget = stdenv.platform.kernelTarget;
+    autoModules = stdenv.platform.kernelAutoModules;
+    arch = stdenv.platform.kernelArch;
+
+    crossAttrs = let
+        cp = stdenv.cross.platform;
+      in {
+        arch = cp.kernelArch;
+        platformName = cp.name;
+        kernelBaseConfig = cp.kernelBaseConfig;
+        kernelTarget = cp.kernelTarget;
+        autoModules = cp.kernelAutoModules;
+
+        # Just ignore all options that don't apply (We are lazy).
+        ignoreConfigErrors = true;
+
+        kernelConfig = kernelConfigFun configCross;
+      };
+    buildCommand = ''
+      # Get a basic config file for later refinement with $generateConfig.
+      make -C ${kernel.sourceRoot} O=$PWD $kernelBaseConfig ARCH=$arch
+
+      # Create the config file.
+      echo "generating kernel configuration..."
+      echo "$kernelConfig" > kernel-config
+      DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \
+           SRC=${kernel.sourceRoot} perl -w $generateConfig
+      mv .config $out
+    '';
+  };
+
+  kernel = linuxManualConfig {
+    inherit version modDirVersion src kernelPatches;
+
+    configfile = configfile.nativeDrv or configfile;
+
+    crossConfigfile = configfile.crossDrv or configfile;
+
+    config = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; };
+
+    crossConfig = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; };
+  };
+
   configWithPlatform = kernelPlatform:
     import ./common-config.nix { inherit stdenv version kernelPlatform extraConfig; };
 
   config = configWithPlatform stdenv.platform;
   configCross = configWithPlatform stdenv.cross.platform;
 
-in
-
-stdenv.mkDerivation {
-  name = "linux-${version}";
-
-  enableParallelBuilding = true;
-
   passthru = {
-    inherit version modDirVersion kernelPatches;
     # Combine the `features' attribute sets of all the kernel patches.
     features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches;
+
+    meta = kernel.meta // extraMeta;
   };
 
-  builder = ./builder.sh;
-
-  generateConfig = ./generate-config.pl;
-
-  inherit preConfigure src kmod localVersion postInstall postBuild;
-
-  patches = map (p: p.patch) kernelPatches;
-
-  kernelConfig = kernelConfigFun config;
-
-  # For UML and non-PC, just ignore all options that don't apply (We are lazy).
-  ignoreConfigErrors = stdenv.platform.name != "pc";
-
-  nativeBuildInputs = [ perl mktemp bc ];
-
-  buildInputs = lib.optional (stdenv.platform.uboot != null)
-    (ubootChooser stdenv.platform.uboot);
-
-  platformName = stdenv.platform.name;
-  kernelBaseConfig = stdenv.platform.kernelBaseConfig;
-  kernelTarget = stdenv.platform.kernelTarget;
-  autoModules = stdenv.platform.kernelAutoModules;
-
-  # Should we trust platform.kernelArch? We can only do
-  # that once we differentiate i686/x86_64 in platforms.
-  arch =
-    if stdenv.system == "i686-linux" then "i386" else
-    if stdenv.system == "x86_64-linux" then "x86_64" else
-    if stdenv.isArm then "arm" else
-    if stdenv.system == "mips64el-linux" then "mips" else
-    abort "Platform ${stdenv.system} is not supported.";
-
-  crossAttrs = let
-      cp = stdenv.cross.platform;
-    in
-      assert cp.name == "sheevaplug" -> cp.uboot != null;
-    {
-      arch = cp.kernelArch;
-      platformName = cp.name;
-      kernelBaseConfig = cp.kernelBaseConfig;
-      kernelTarget = cp.kernelTarget;
-      autoModules = cp.kernelAutoModules;
-
-      # Just ignore all options that don't apply (We are lazy).
-      ignoreConfigErrors = true;
-
-      kernelConfig = kernelConfigFun configCross;
-
-      # The substitution of crossAttrs happens *after* the stdenv cross adapter sets
-      # the parameters for the usual stdenv. Thus, we need to specify
-      # the ".crossDrv" in the buildInputs here.
-      buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
-    };
-
-  meta = {
-    description =
-      "The Linux kernel" +
-      (if kernelPatches == [] then "" else
-        " (with patches: "
-        + lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches))
-        + ")");
-    license = "GPLv2";
-    homepage = http://www.kernel.org/;
-    maintainers = [
-      lib.maintainers.eelco
-      lib.maintainers.chaoflow
-    ];
-    platforms = lib.platforms.linux;
-  } // extraMeta;
-}
+  nativeDrv = lib.addPassthru kernel.nativeDrv passthru;
 
+  crossDrv = lib.addPassthru kernel.crossDrv passthru;
+in if kernel ? crossDrv then nativeDrv // { inherit nativeDrv crossDrv; } else lib.addPassthru kernel passthru
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 9c82aea41aa6..408c79c781af 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -48,7 +48,7 @@ let
   ''; };
 
   commonMakeFlags = [
-    "O=$(buildRoot)"
+    "O=$(buildRoot)" "KBUILD_BUILD_VERSION=1-NixOS"
   ];
 
   drvAttrs = config_: platform: kernelPatches: configfile:
@@ -124,7 +124,7 @@ let
         runHook postConfigure
       '';
 
-      buildFlags = [ stdenv.platform.kernelTarget ] ++ optional isModular "modules";
+      buildFlags = [ platform.kernelTarget ] ++ optional isModular "modules";
 
       installFlags = [
         "INSTALLKERNEL=${installkernel}"
@@ -158,6 +158,21 @@ let
               "s|${sourceRoot}|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${sourceRoot.name}|g"
         fi
       '' else null;
+
+      meta = {
+        description =
+          "The Linux kernel" +
+          (if kernelPatches == [] then "" else
+            " (with patches: "
+            + stdenv.lib.concatStrings (stdenv.lib.intersperse ", " (map (x: x.name) kernelPatches))
+            + ")");
+        license = "GPLv2";
+        homepage = http://www.kernel.org/;
+        maintainers = [
+          maintainers.shlevy
+        ];
+        platforms = platforms.linux;
+      };
     };
 in
 
@@ -173,7 +188,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
     "ARCH=${stdenv.platform.kernelArch}"
   ];
 
-  crossAttrs = let cp = stdenv.cross.platform; in {
+  crossAttrs = let cp = stdenv.cross.platform; in
     (drvAttrs crossConfig cp (kernelPatches ++ crossKernelPatches) crossConfigfile) // {
       makeFlags = commonMakeFlags ++ [
         "ARCH=${cp.kernelArch}"
@@ -186,14 +201,4 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
       # may be different from stdenv.platform.uboot)
       buildInputs = optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
   };
-
-  meta = {
-    description = "The Linux kernel";
-    license = "GPLv2";
-    homepage = http://www.kernel.org/;
-    maintainers = [
-      maintainers.shlevy
-    ];
-    platforms = platforms.linux;
-  };
 })
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f5c93f37f73e..94cbd83f93a2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6704,7 +6704,7 @@ let
   kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
 
   linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [ kernelPatches.sec_perm_2_6_24
         # kernelPatches.aufs3_2
@@ -6754,7 +6754,7 @@ let
   });
 
   linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [ kernelPatches.sec_perm_2_6_24
         # kernelPatches.aufs3_4
@@ -6773,11 +6773,11 @@ let
   });
 
   linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl linuxManualConfig;
   };
 
   linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
@@ -6798,7 +6798,7 @@ let
   });
 
   linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
@@ -6810,7 +6810,7 @@ let
   };
 
   linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24

From 2c38df1c5bd2f79b9c6f28118ae0520fdd95974b Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Wed, 1 Jan 2014 23:56:24 -0500
Subject: [PATCH 008/228] kernel build: limit dev output footprint

This makes the disk usage footprint of building the kernel smaller in 3
ways:

1) There is no separate kernel source derivation
2) Rather than using the entire build tree, only the output of make
modules_prepare is kept in the $dev output (plus the module symbol
versioning file generated during the build)
3) Only the subset of the source tree known to be needed for external
builds is kept in $dev

Note that while 2) is supported by official kernel documentation, I
couldn't find any source describing what we need to keep for 3). I've
started with the bare minimum (the main Makefile is called by the
Makefile generated by make modules_prepare) and we can/should add more
as needed for kernelPackages.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/generic.nix     | 16 +++-
 .../linux/kernel/manual-config.nix            | 83 ++++++++++---------
 2 files changed, 55 insertions(+), 44 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 888dcf1e9a51..5cb6745da122 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -69,18 +69,26 @@ let
         ignoreConfigErrors = true;
 
         kernelConfig = kernelConfigFun configCross;
+
+        inherit (kernel.crossDrv) src patches prePatch preUnpack;
       };
-    buildCommand = ''
+
+    inherit (kernel) src patches prePatch preUnpack;
+
+    buildPhase = ''
+      cd $buildRoot
+
       # Get a basic config file for later refinement with $generateConfig.
-      make -C ${kernel.sourceRoot} O=$PWD $kernelBaseConfig ARCH=$arch
+      make -C ../$sourceRoot O=$PWD $kernelBaseConfig ARCH=$arch
 
       # Create the config file.
       echo "generating kernel configuration..."
       echo "$kernelConfig" > kernel-config
       DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \
-           SRC=${kernel.sourceRoot} perl -w $generateConfig
-      mv .config $out
+           SRC=../$sourceRoot perl -w $generateConfig
     '';
+
+    installPhase = "mv .config $out";
   };
 
   kernel = linuxManualConfig {
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 408c79c781af..c8910f8ed06e 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -48,7 +48,7 @@ let
   ''; };
 
   commonMakeFlags = [
-    "O=$(buildRoot)" "KBUILD_BUILD_VERSION=1-NixOS"
+    "O=$(buildRoot)"
   ];
 
   drvAttrs = config_: platform: kernelPatches: configfile:
@@ -73,48 +73,34 @@ let
 
       installsFirmware = (config.isEnabled "FW_LOADER") &&
         (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
-
-      sourceRoot = stdenv.mkDerivation {
-        name = "linux-source-${version}";
-
-        inherit src;
-
-        patches = map (p: p.patch) kernelPatches;
-
-        phases = [ "unpackPhase" "patchPhase" "installPhase" ];
-
-        prePatch = ''
-          for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
-              echo "stripping FHS paths in \`$mf'..."
-              sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
-          done
-
-          sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
-
-          # Patch kconfig to print "###" after every question so that
-          # generate-config.pl from the generic builder can answer them.
-          # This only affects oldaskconfig.
-          sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
-        '';
-
-        installPhase = ''
-          cd ..
-          mv $sourceRoot $out
-        '';
-      };
     in {
       outputs = if isModular then [ "out" "dev" ] else null;
 
       passthru = {
-        inherit version modDirVersion config kernelPatches src;
+        inherit version modDirVersion config kernelPatches;
       };
 
-      inherit sourceRoot;
+      inherit src;
 
-      unpackPhase = ''
+      preUnpack = ''
         mkdir build
         export buildRoot="$(pwd)/build"
-        cd ${sourceRoot}
+      '';
+
+      patches = map (p: p.patch) kernelPatches;
+
+      prePatch = ''
+        for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do
+            echo "stripping FHS paths in \`$mf'..."
+            sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
+        done
+
+        sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
+
+        # Patch kconfig to print "###" after every question so that
+        # generate-config.pl from the generic builder can answer them.
+        # This only affects oldaskconfig.
+        sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
       '';
 
       configurePhase = ''
@@ -124,7 +110,7 @@ let
         runHook postConfigure
       '';
 
-      buildFlags = [ platform.kernelTarget ] ++ optional isModular "modules";
+      buildFlags = [ "KBUILD_BUILD_VERSION=1-NixOS" platform.kernelTarget ] ++ optional isModular "modules";
 
       installFlags = [
         "INSTALLKERNEL=${installkernel}"
@@ -141,22 +127,39 @@ let
         make modules_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
         unlink $out/lib/modules/${modDirVersion}/build
+        unlink $out/lib/modules/${modDirVersion}/source
+
         mkdir -p $dev/lib/modules/${modDirVersion}
-        mv $out/lib/modules/${modDirVersion}/source $dev/lib/modules/${modDirVersion}/source
+        cd ..
+        mv $sourceRoot $dev/lib/modules/${modDirVersion}/source
+        cd $dev/lib/modules/${modDirVersion}/source
+
+        mv $buildRoot/.config $buildRoot/Module.symvers $TMPDIR
+        rm -fR $buildRoot
+        mkdir $buildRoot
+        mv $TMPDIR/.config $TMPDIR/Module.symvers $buildRoot
+        make modules_prepare $makeFlags "''${makeFlagsArray[@]}"
         mv $buildRoot $dev/lib/modules/${modDirVersion}/build
+
+        # !!! No documentation on how much of the source tree must be kept
+        # If/when kernel builds fail due to missing files, you can undelete
+        # them here
+        ls -A | grep -v Makefile | xargs rm -fR
       '' else optionalString installsFirmware ''
         make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
       '');
 
+      # !!! This leaves references to gcc and kmod in $dev
+      # that we might be able to avoid
       postFixup = if isModular then ''
         if [ -z "$dontStrip" ]; then
             find $out -name "*.ko" -print0 | xargs -0 -r ''${crossConfig+$crossConfig-}strip -S
-            # Remove all references to the source directory to avoid unneeded
-            # runtime dependencies
-            find $out -name "*.ko" -print0 | xargs -0 -r sed -i \
-              "s|${sourceRoot}|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${sourceRoot.name}|g"
         fi
+        # !!! Should this be part of stdenv? Also patchELF should take an argument...
+        prefix=$dev
+        patchELF
+        prefix=$out
       '' else null;
 
       meta = {

From 6b7ede300f0cc64f8e7e1ca279b56bd8a4524d10 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Thu, 2 Jan 2014 00:03:49 -0500
Subject: [PATCH 009/228] systemtap: Remove from linuxPackagesFor

It doesn't seem to depend on the kernel in any way.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/development/tools/profiling/systemtap/default.nix |  4 ++--
 pkgs/top-level/all-packages.nix                        | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index bdd11b88da5b..884091c1636c 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -1,9 +1,9 @@
-{ fetchurl, stdenv, linux, elfutils, latex2html, xmlto, docbook_xml_dtd_412
+{ fetchurl, stdenv, elfutils, latex2html, xmlto, docbook_xml_dtd_412
 , libxml2, docbook_xsl, libxslt, texLive, texLiveExtra, ghostscript, pkgconfig
 , gtkmm, libglademm, boost, perl, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "systemtap-1.2-${linux.version}";
+  name = "systemtap-1.2";
 
   src = fetchurl {
     url = "http://sources.redhat.com/systemtap/ftp/releases/${name}.tar.gz";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 94cbd83f93a2..c595cba8f064 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6910,11 +6910,6 @@ let
       inherit (gnome) libglade;
     };
 
-    systemtap = callPackage ../development/tools/profiling/systemtap {
-      linux = self.kernelDev;
-      inherit (gnome) libglademm;
-    };
-
     tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
     v86d = callPackage ../os-specific/linux/v86d { };
@@ -7115,6 +7110,11 @@ let
 
   systemd = callPackage ../os-specific/linux/systemd { };
 
+  systemtap = callPackage ../development/tools/profiling/systemtap {
+    inherit (gnome) libglademm;
+  };
+
+
   # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get
   # LVM2 working in systemd.
   systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: {

From 5f3a737d79fee244c605e272c0f18a68a74c8d6f Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Sat, 4 Jan 2014 21:39:35 +0800
Subject: [PATCH 010/228] add SuperCollider 3.6.6

---
 .../interpreters/supercollider/default.nix    | 38 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  5 +++
 2 files changed, 43 insertions(+)
 create mode 100644 pkgs/development/interpreters/supercollider/default.nix

diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
new file mode 100644
index 000000000000..77a9392ba8bb
--- /dev/null
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, cmake, pkgconfig
+, jackaudio, libsndfile, fftw, curl
+, libXt, qt
+}:
+
+stdenv.mkDerivation rec {
+  name = "supercollider-3.6.6";
+
+  meta = {
+    description = "Programming language for real time audio synthesis";
+    homepage = "http://supercollider.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/supercollider/Source/3.6/SuperCollider-3.6.6-Source.tar.bz2";
+    sha256 = "11khrv6jchs0vv0lv43am8lp0x1rr3h6l2xj9dmwrxcpdayfbalr";
+  };
+
+  # QGtkStyle unavailable
+  patchPhase = ''
+    substituteInPlace editors/sc-ide/widgets/code_editor/autocompleter.cpp \
+      --replace Q_WS_X11 Q_GTK_STYLE
+  '';
+
+  cmakeFlags = [
+    "-DSC_WII=OFF"
+    "-DSC_EL=OFF"
+  ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [
+    jackaudio libsndfile fftw curl
+    libXt qt
+  ];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b32a57b704ad..74dbda623d25 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3387,6 +3387,11 @@ let
   spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { };
   spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { };
 
+  supercollider = callPackage ../development/interpreters/supercollider {
+    qt = qt4;
+    fftw = fftwSinglePrec;
+  };
+
   sysPerl = callPackage ../development/interpreters/perl/sys-perl { };
 
   tcl = callPackage ../development/interpreters/tcl { };

From 75f97f5299f8b17c96b31f5898dfa2bf393d87dd Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Sun, 5 Jan 2014 02:49:45 +0400
Subject: [PATCH 011/228] Update Octave to 3.8.0

---
 pkgs/development/interpreters/octave/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 428d97eaf794..66543d305217 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -3,13 +3,13 @@ libX11, graphicsmagick, pcre, liblapack, texLive, pkgconfig, mesa, fltk,
 fftw, fftwSinglePrec, zlib, curl, qrupdate }:
 
 let
-  version = "3.6.4";
+  version = "3.8.0";
 in
 stdenv.mkDerivation rec {
   name = "octave-${version}";
   src = fetchurl {
     url = "mirror://gnu/octave/${name}.tar.bz2";
-    sha256 = "0qn9s7jrjmrn6w3rvp8d7vfnymyv0spnxzrp9l7p8p8zb7wms67s";
+    sha256 = "1yclb8p4mcx9xcjajyynxfnc5spw90lp44d84v56ksrlvp3314si";
   };
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11

From a589bfae17b66af41794dc3eca1245aa514d6cac Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sat, 4 Jan 2014 20:57:21 -0500
Subject: [PATCH 012/228] Update and fix kernel packages to new kernel build

In most cases, this just meant changing kernelDev (now removed from
linuxPackagesFor) to kernel.dev. Some packages needed more work (though
whether that was because of my changes or because they were already
broken, I'm not sure). Specifics:

* psmouse-alps builds on 3.4 but not 3.10, as noted in the comments that
  were already there
* blcr builds on 3.4 but not 3.10, as noted in comments that were
  already there
* open-iscsi, ati-drivers, wis-go7007, and openafsClient don't build on
  3.4 or 3.10 on this branch or on master, so they're marked broken
* A version-specific kernelHeaders package was added

The following packages were removed:

* atheros/madwifi is superceded by official ath*k modules
* aufs is no longer used by any of our kernels
* broadcom-sta v6 (which was already packaged) replaces broadcom-sta
* exmap has not been updated since 2011 and doesn't build
* iscis-target has not been updated since 2010 and doesn't build
* iwlwifi is part of mainline now and doesn't build
* nivida-x11-legacy-96 hasn't been updated since 2008 and doesn't build

Everything not specifically mentioned above builds successfully on 3.10.
I haven't yet tested on 3.4, but will before opening a pull request.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 nixos/modules/services/x11/xserver.nix        |  7 --
 .../virtualization/virtualbox/default.nix     |  8 +-
 .../virtualbox/guest-additions/default.nix    |  8 +-
 pkgs/os-specific/linux/acpi-call/default.nix  | 10 +--
 pkgs/os-specific/linux/atheros/0.9.4.nix      | 28 -------
 .../os-specific/linux/ati-drivers/default.nix | 11 +--
 pkgs/os-specific/linux/aufs-util/2.nix        | 41 ----------
 pkgs/os-specific/linux/aufs-util/3.nix        | 40 ----------
 pkgs/os-specific/linux/aufs/2.nix             | 43 ----------
 pkgs/os-specific/linux/aufs/3.nix             | 44 -----------
 pkgs/os-specific/linux/batman-adv/default.nix | 10 +--
 pkgs/os-specific/linux/bbswitch/default.nix   | 12 +--
 pkgs/os-specific/linux/blcr/default.nix       | 12 +--
 .../linux/broadcom-sta-v6/default.nix         | 49 ------------
 .../linux/broadcom-sta-v6/license.patch       | 13 ----
 .../linux/broadcom-sta/default.nix            | 47 ++++++-----
 .../linux/broadcom-sta/license.patch          |  9 ++-
 .../linux/broadcom-sta/linux-2.6.39.patch     | 11 ---
 .../linux/broadcom-sta/linux-3.2.patch        | 13 ----
 .../linux/broadcom-sta/linux-3.4.patch        | 12 ---
 .../linux-recent.patch                        |  0
 .../linux/broadcom-sta/makefile.patch         | 16 ----
 pkgs/os-specific/linux/cryptodev/default.nix  |  8 +-
 pkgs/os-specific/linux/e1000e/default.nix     | 14 ++--
 pkgs/os-specific/linux/exmap/default.nix      | 56 -------------
 pkgs/os-specific/linux/frandom/default.nix    | 10 +--
 .../os-specific/linux/iscsitarget/default.nix | 27 -------
 pkgs/os-specific/linux/iwlwifi/default.nix    | 40 ----------
 .../linux/kernel-headers/default.nix          | 25 ++++++
 .../linux/kernel/manual-config.nix            |  2 +-
 pkgs/os-specific/linux/kernel/patches.nix     | 46 -----------
 pkgs/os-specific/linux/kernel/perf.nix        |  7 +-
 pkgs/os-specific/linux/klibc/default.nix      | 78 +++++++------------
 .../klibc/no-reinstall-kernel-headers.patch   | 11 +++
 .../linux/lttng-modules/default.nix           |  6 +-
 .../os-specific/linux/ndiswrapper/default.nix | 18 ++---
 .../linux/ndiswrapper/no-sbin.patch           | 12 +++
 .../linux/ndiswrapper/prefix.patch            | 66 ----------------
 pkgs/os-specific/linux/netatop/default.nix    | 10 +--
 .../linux/nvidia-x11/builder-legacy.sh        |  7 +-
 .../linux/nvidia-x11/builder-legacy304.sh     |  7 +-
 pkgs/os-specific/linux/nvidia-x11/builder.sh  |  7 +-
 pkgs/os-specific/linux/nvidia-x11/default.nix |  6 +-
 .../linux/nvidia-x11/legacy173.nix            | 12 +--
 .../linux/nvidia-x11/legacy304.nix            |  6 +-
 .../os-specific/linux/nvidia-x11/legacy96.nix | 44 -----------
 pkgs/os-specific/linux/open-iscsi/default.nix | 14 ++--
 .../linux/psmouse-alps/default.nix            | 10 ++-
 pkgs/os-specific/linux/spl/default.nix        | 10 +--
 pkgs/os-specific/linux/tp_smapi/default.nix   | 12 ++-
 pkgs/os-specific/linux/v86d/default.nix       |  7 +-
 pkgs/os-specific/linux/wis-go7007/default.nix | 17 +---
 pkgs/os-specific/linux/zfs/default.nix        | 10 +--
 pkgs/servers/openafs-client/default.nix       |  6 +-
 pkgs/top-level/all-packages.nix               | 44 ++---------
 pkgs/top-level/release-python.nix             |  2 -
 56 files changed, 242 insertions(+), 859 deletions(-)
 delete mode 100644 pkgs/os-specific/linux/atheros/0.9.4.nix
 delete mode 100644 pkgs/os-specific/linux/aufs-util/2.nix
 delete mode 100644 pkgs/os-specific/linux/aufs-util/3.nix
 delete mode 100644 pkgs/os-specific/linux/aufs/2.nix
 delete mode 100644 pkgs/os-specific/linux/aufs/3.nix
 delete mode 100644 pkgs/os-specific/linux/broadcom-sta-v6/default.nix
 delete mode 100644 pkgs/os-specific/linux/broadcom-sta-v6/license.patch
 delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch
 delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch
 delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch
 rename pkgs/os-specific/linux/{broadcom-sta-v6 => broadcom-sta}/linux-recent.patch (100%)
 delete mode 100644 pkgs/os-specific/linux/broadcom-sta/makefile.patch
 delete mode 100644 pkgs/os-specific/linux/exmap/default.nix
 delete mode 100644 pkgs/os-specific/linux/iscsitarget/default.nix
 delete mode 100644 pkgs/os-specific/linux/iwlwifi/default.nix
 create mode 100644 pkgs/os-specific/linux/kernel-headers/default.nix
 create mode 100644 pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch
 create mode 100644 pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
 delete mode 100644 pkgs/os-specific/linux/ndiswrapper/prefix.patch
 delete mode 100644 pkgs/os-specific/linux/nvidia-x11/legacy96.nix

diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 0253c70f2dd4..7fd0ee34a991 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -16,7 +16,6 @@ let
     ati_unfree   = { modules = [ kernelPackages.ati_drivers_x11 ]; driverName = "fglrx"; };
     nouveau       = { modules = [ pkgs.xf86_video_nouveau ]; };
     nvidia       = { modules = [ kernelPackages.nvidia_x11 ]; };
-    nvidiaLegacy96 = { modules = [ kernelPackages.nvidia_x11_legacy96 ]; driverName = "nvidia"; };
     nvidiaLegacy173 = { modules = [ kernelPackages.nvidia_x11_legacy173 ]; driverName = "nvidia"; };
     nvidiaLegacy304 = { modules = [ kernelPackages.nvidia_x11_legacy304 ]; driverName = "nvidia"; };
     unichrome    = { modules = [ pkgs.xorgVideoUnichrome ]; };
@@ -443,7 +442,6 @@ in
 
     boot.extraModulePackages =
       optional (elem "nvidia" driverNames) kernelPackages.nvidia_x11 ++
-      optional (elem "nvidiaLegacy96" driverNames) kernelPackages.nvidia_x11_legacy96 ++
       optional (elem "nvidiaLegacy173" driverNames) kernelPackages.nvidia_x11_legacy173 ++
       optional (elem "nvidiaLegacy304" driverNames) kernelPackages.nvidia_x11_legacy304 ++
       optional (elem "virtualbox" driverNames) kernelPackages.virtualboxGuestAdditions ++
@@ -497,7 +495,6 @@ in
         pkgs.xdg_utils
       ]
       ++ optional (elem "nvidia" driverNames) kernelPackages.nvidia_x11
-      ++ optional (elem "nvidiaLegacy96" driverNames) kernelPackages.nvidia_x11_legacy96
       ++ optional (elem "nvidiaLegacy173" driverNames) kernelPackages.nvidia_x11_legacy173
       ++ optional (elem "nvidiaLegacy304" driverNames) kernelPackages.nvidia_x11_legacy304
       ++ optional (elem "virtualbox" driverNames) xorg.xrefresh
@@ -521,8 +518,6 @@ in
             XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime.
           } // optionalAttrs (elem "nvidia" driverNames) {
             LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11}/lib";
-          } // optionalAttrs (elem "nvidiaLegacy96" driverNames) {
-            LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11_legacy96}/lib";
           } // optionalAttrs (elem "nvidiaLegacy173" driverNames) {
             LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11_legacy173}/lib";
           } // optionalAttrs (elem "nvidiaLegacy304" driverNames) {
@@ -544,8 +539,6 @@ in
                   ${optionalString cfg.driSupport32Bit
                     "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernelDev = null; } } /run/opengl-driver-32"}
                 ''
-              else if elem "nvidiaLegacy96" driverNames then
-                "ln -sf ${kernelPackages.nvidia_x11_legacy96} /run/opengl-driver"
               else if elem "nvidiaLegacy173" driverNames then
                 "ln -sf ${kernelPackages.nvidia_x11_legacy173} /run/opengl-driver"
               else if elem "nvidiaLegacy304" driverNames then
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 652b2ed92c10..2ce134090fe5 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
-, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernelDev, lvm2
+, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
 , which, alsaLib, curl, gawk
 , xorriso, makeself, perl, pkgconfig
 , javaBindings ? false, jdk ? null
@@ -52,7 +52,7 @@ let
   };
 
 in stdenv.mkDerivation {
-  name = "virtualbox-${version}-${kernelDev.version}";
+  name = "virtualbox-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
@@ -61,14 +61,14 @@ in stdenv.mkDerivation {
 
   buildInputs =
     [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
-      libcap glib kernelDev lvm2 python alsaLib curl pam xorriso makeself perl
+      libcap glib lvm2 python alsaLib curl pam xorriso makeself perl
       pkgconfig which libXmu ]
     ++ optional javaBindings jdk
     ++ optional pythonBindings python;
 
   prePatch = ''
     set -x
-    MODULES_BUILD_DIR=`echo ${kernelDev}/lib/modules/*/build`
+    MODULES_BUILD_DIR=`echo ${kernel.dev}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
         -e 's@MKISOFS --version@MKISOFS -version@' \
         -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index de38843c7f1b..805e0b867d97 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, patchelf, cdrkit, kernelDev, which, makeWrapper
+{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
 , xorg, dbus, virtualbox }:
 
 let
@@ -8,14 +8,14 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
+  name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
     sha256 = "f11a7f13dfe7bf9f246fb877144bb467fe6deadcd876568ec79b6ccd3b59d767";
   };
 
-  KERN_DIR = "${kernelDev}/lib/modules/*/build";
+  KERN_DIR = "${kernel.dev}/lib/modules/*/build";
 
   buildInputs = [ patchelf cdrkit makeWrapper dbus ];
 
@@ -115,7 +115,7 @@ stdenv.mkDerivation {
     for i in *
     do
         cd $i
-        kernelVersion=$(cd ${kernelDev}/lib/modules; ls)
+        kernelVersion=$(cd ${kernel.dev}/lib/modules; ls)
         export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
         find . -type f | xargs sed -i -e "s|-o root||g" \
                                       -e "s|-g root||g"
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 9fd8168948d5..2882c804c504 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchgit, kernelDev }:
+{ stdenv, fetchgit, kernel }:
 
 stdenv.mkDerivation {
-  name = "acpi-call-${kernelDev.version}";
+  name = "acpi-call-${kernel.version}";
 
   src = fetchgit {
     url = "git://github.com/mkottman/acpi_call.git";
@@ -12,12 +12,12 @@ stdenv.mkDerivation {
   preBuild = ''
     sed -e 's/break/true/' -i examples/turn_off_gpu.sh
     sed -e 's@/bin/bash@.bin/sh@' -i examples/turn_off_gpu.sh
-    sed -e "s@/lib/modules/\$(.*)@${kernelDev}/lib/modules/${kernelDev.modDirVersion}@" -i Makefile
+    sed -e "s@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@" -i Makefile
   '';
  
   installPhase = ''
-    mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
-    cp acpi_call.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
+    mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
+    cp acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc
     mkdir -p $out/bin
     cp examples/turn_off_gpu.sh $out/bin/test_discrete_video_off.sh
     chmod a+x $out/bin/test_discrete_video_off.sh
diff --git a/pkgs/os-specific/linux/atheros/0.9.4.nix b/pkgs/os-specific/linux/atheros/0.9.4.nix
deleted file mode 100644
index 341bdc3f1bbf..000000000000
--- a/pkgs/os-specific/linux/atheros/0.9.4.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, builderDefs, kernelDev }:
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-		  url = http://downloads.sourceforge.net/madwifi/madwifi-0.9.4.tar.gz;
-		  sha256 = "06jd5b8rfw7rmiva6jgmrb7n26g5plcg9marbnnmg68gbcqbr3xh";
-		};
-
-		buildInputs = [];
-		configureFlags = [];
-		makeFlags = [''KERNELPATH=${kernelDev}/lib/modules/*/build'' ''DESTDIR=$out''];
-	};
-	in with localDefs;
-let 
-postInstall = fullDepEntry (''
-	ln -s $out/usr/local/bin $out/bin
-'') [minInit doMakeInstall];
-in
-stdenv.mkDerivation rec {
-	name = "atheros-0.9.4-${kernelDev.version}";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doMakeInstall 
-			postInstall doForceShare doPropagate]);
-	meta = {
-		description = "Atheros WiFi driver";
-		inherit src;
-	};
-}
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 51430f6e4eb4..1aea10141d53 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelDev, xlibs, which, imake
+{ stdenv, fetchurl, kernel, xlibs, which, imake
 , mesa # for fgl_glxgears
 , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
 , xorg, makeWrapper, glibc, patchelf
@@ -22,9 +22,9 @@
 
 assert stdenv.system == "x86_64-linux";
 
-stdenv.mkDerivation rec {
-  name = "ati-drivers-${version}-${kernel.version}";
-  version = "13.4";
+
+stdenv.mkDerivation {
+  name = "ati-drivers-13.4-${kernel.version}";
 
   builder = ./builder.sh;
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       mesa
     ];
 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   inherit glibc /* glibc only used for setting interpreter */;
 
@@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = [ "x86_64-linux" ];
     hydraPlatforms = [];
+    broken = true;
   };
 
   # moved assertions here because the name is evaluated when the NixOS manual is generated
diff --git a/pkgs/os-specific/linux/aufs-util/2.nix b/pkgs/os-specific/linux/aufs-util/2.nix
deleted file mode 100644
index e4968b920486..000000000000
--- a/pkgs/os-specific/linux/aufs-util/2.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, kernelDev, aufs }:
-
-assert aufs != null;
-
-let version = "20100506"; in
-
-stdenv.mkDerivation {
-  name = "aufs2-util-${version}-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/aufs2-util-git-${version}.tar.bz2";
-    sha256 = "0ly0c3p8fjxqbk8k5rmm1a91wg8wcrvhi1lv4aawalkkk8rqbnwk";
-  };
-
-  buildInputs = [ aufs ];
-
-  makeFlags =
-    [ "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build"
-      "Install=install"
-      "DESTDIR=$(out)"
-    ];
-
-  postInstall =
-    ''
-      mv $out/usr/* $out
-      rmdir $out/usr
-
-      cp aufs.shlib $out/lib/
-
-      substituteInPlace $out/bin/aubrsync \
-        --replace /sbin/mount $out/sbin/mount \
-        --replace /usr/lib/aufs.shlib $out/lib/aufs.shlib
-    '';
-
-  meta = {
-    description = "Utilities for AUFS2";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/aufs-util/3.nix b/pkgs/os-specific/linux/aufs-util/3.nix
deleted file mode 100644
index 9997c2743a50..000000000000
--- a/pkgs/os-specific/linux/aufs-util/3.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchgit, kernelDev, aufs }:
-
-assert aufs != null;
-
-stdenv.mkDerivation {
-  name = "aufs3-util-${aufs.patch.version}-${kernelDev.version}";
-
-  src = fetchgit {
-    url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
-    rev = aufs.patch.utilRev;
-    sha256 = aufs.patch.utilHash;
-  };
-
-  buildInputs = [ aufs ];
-
-  makeFlags =
-    [ "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
-      "Install=install"
-      "DESTDIR=$(out)"
-    ];
-
-  postInstall =
-    ''
-      mv $out/usr/* $out
-      rmdir $out/usr
-
-      cp aufs.shlib $out/lib/
-
-      substituteInPlace $out/bin/aubrsync \
-        --replace /sbin/mount $out/sbin/mount \
-        --replace /usr/lib/aufs.shlib $out/lib/aufs.shlib
-    '';
-
-  meta = {
-    description = "Utilities for AUFS3";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco  ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/aufs/2.nix b/pkgs/os-specific/linux/aufs/2.nix
deleted file mode 100644
index a4a40823f7a2..000000000000
--- a/pkgs/os-specific/linux/aufs/2.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, kernelDev, perl, fetchgit }:
-
-assert kernelDev.features ? aufsBase;
-
-let version = "20100522"; in
-
-stdenv.mkDerivation {
-  name = "aufs2-${version}-${kernelDev.version}";
-
-  src = 
-  if (builtins.lessThan (builtins.compareVersions kernelDev.version "2.6.35") 0) then
-    fetchurl {
-      url = "http://tarballs.nixos.org/aufs2-standalone-git-${version}.tar.bz2";
-      sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6";
-    }
-  else
-    fetchgit {
-      url = "http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git";
-      rev = "d950eef373ff1e0448ad3945b734da6ab050571d";
-      sha256 = "816145b0341bd7862df50c058144cf6ebc25c05d2976f781ff0fe10d4559b853";
-    };
-
-  buildInputs = [ perl ];
-
-  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build";
-
-  installPhase =
-    ''
-      mkdir -p $out/lib/modules/${kernelDev.version}/misc
-      cp aufs.ko $out/lib/modules/${kernelDev.version}/misc
-
-      # Install the headers because aufs2-util requires them.
-      cp -prvd include $out/
-    '';
-
-  meta = {
-    description = "Another Unionfs implementation for Linux (second generation)";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco
-                    stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/aufs/3.nix b/pkgs/os-specific/linux/aufs/3.nix
deleted file mode 100644
index 2f566d3abff7..000000000000
--- a/pkgs/os-specific/linux/aufs/3.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, kernelDev, perl }:
-
-let
-
-  aufsPredicate = x:
-    if x ? features then
-      (if x.features ? aufs3 then x.features.aufs3 else false)
-    else false;
-  featureAbort = abort "This kernel does not have aufs 3 support";
-  patch = stdenv.lib.findFirst aufsPredicate featureAbort kernelDev.kernelPatches;
-
-in
-
-stdenv.mkDerivation {
-  name = "aufs3-${patch.version}-${kernelDev.version}";
-
-  src = patch.patch.src;
-
-  buildInputs = [ perl ];
-
-  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
-
-  NIX_CFLAGS_COMPILE="-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
-
-  installPhase =
-    ''
-      mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
-      cp -v aufs.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
-
-      # Install the headers because aufs3-util requires them.
-      mkdir -p $out/include/linux
-      cp -v usr/include/linux/aufs_type.h $out/include/linux
-    '';
-
-  passthru = { inherit patch; };
-
-  meta = {
-    description = "Another Unionfs implementation for Linux (third generation)";
-    homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco
-                    stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index e4b4d1104b0d..0b7b6a0cafb4 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2013.2.0"; in
+let base = "batman-adv-2013.4.0"; in
 
 stdenv.mkDerivation rec {
-  name = "${base}-${kernelDev.version}";
+  name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha1 = "7d2aff2ad118cbc5452de43f7e9da8374521ec0e";
+    sha1 = "870a85df5410b3b5623be69e75297e642c91a7d4";
   };
 
   preBuild = ''
-    makeFlags="KERNELPATH=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
+    makeFlags="KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," \
       -e /depmod/d Makefile
   '';
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index 675fe7695af9..373f814f6e02 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 let
   baseName = "bbswitch";
   version = "0.7";
-  name = "${baseName}-${version}-${kernelDev.version}";
+  name = "${baseName}-${version}-${kernel.version}";
 
 in
 
@@ -17,13 +17,13 @@ stdenv.mkDerivation {
 
   preBuild = ''
     substituteInPlace Makefile \
-      --replace "\$(shell uname -r)" "${kernelDev.modDirVersion}" \
-      --replace "/lib/modules" "${kernelDev}/lib/modules"
+      --replace "\$(shell uname -r)" "${kernel.modDirVersion}" \
+      --replace "/lib/modules" "${kernel.dev}/lib/modules"
   '';
 
   installPhase = ''
-    ensureDir $out/lib/modules/${kernelDev.modDirVersion}/misc
-    cp bbswitch.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
+    ensureDir $out/lib/modules/${kernel.modDirVersion}/misc
+    cp bbswitch.ko $out/lib/modules/${kernel.modDirVersion}/misc
 
     ensureDir $out/bin
     tee $out/bin/discrete_vga_poweroff << EOF
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index d0d81abb244b..0cc4e3741c26 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, kernelDev, perl, makeWrapper }:
+{ stdenv, fetchurl, kernel, perl, makeWrapper }:
 
 # BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x)
 # BLCR 0.8.5 should works for kernel version up to 3.7.1
 
 assert stdenv.isLinux;
-assert builtins.compareVersions "3.7.2" kernelDev.version == 1;
+assert builtins.compareVersions "3.7.2" kernel.version == 1;
 
 stdenv.mkDerivation {
-  name = "blcr_${kernelDev.version}-0.8.5";
+  name = "blcr_${kernel.version}-0.8.5";
 
   src = fetchurl {
     url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz;
@@ -18,9 +18,9 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     configureFlagsArray=(
-      --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
-      --with-kmod-dir=$out/lib/modules/${kernelDev.modDirVersion}
-      --with-system-map=${kernelDev}/System.map
+      --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
+      --with-kmod-dir=$out/lib/modules/${kernel.modDirVersion}
+      --with-system-map=${kernel}/System.map
     )
   '';
 
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/default.nix b/pkgs/os-specific/linux/broadcom-sta-v6/default.nix
deleted file mode 100644
index db4337c0ff28..000000000000
--- a/pkgs/os-specific/linux/broadcom-sta-v6/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchurl, kernelDev }:
-let
-  version = "6_30_223_141";
-in
-stdenv.mkDerivation {
-  name = "broadcom-sta-${version}-${kernelDev.version}";
-
-  src = if stdenv.system == "i686-linux" then (
-    fetchurl {
-      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-${version}.tar.gz";
-      sha256 = "19wra62dpm0x0byksh871yxr128b4v13kzkzqv56igjfpzv36z6m";
-    } ) else (
-    fetchurl {
-      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-${version}.tar.gz";
-      sha256 = "0jlvch7d3khmmg5kp80x4ka33hidj8yykqjcqq6j56z2g6wb4dsz";
-    }
-  );
-
-  buildInputs = [ kernelDev ];
-  patches = [
-    ./linux-recent.patch
-    ./license.patch
-  ];
-
-  makeFlags = "KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}";
-
-  unpackPhase = ''
-      sourceRoot=broadcom-sta
-      mkdir "$sourceRoot"
-      tar xvf "$src" -C "$sourceRoot"
-  '';
-
-  installPhase =
-    ''
-      binDir="$out/lib/modules/${kernelDev.modDirVersion}/kernel/net/wireless/"
-      docDir="$out/share/doc/broadcom-sta/"
-      mkdir -p "$binDir" "$docDir"
-      cp wl.ko "$binDir"
-      cp lib/LICENSE.txt "$docDir"
-    '';
-
-  meta = {
-    description = "Kernel module driver for some Broadcom's wireless cards";
-    homepage = http://www.broadcom.com/support/802.11/linux_sta.php;
-    license = "unfree-redistributable";
-    maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/license.patch b/pkgs/os-specific/linux/broadcom-sta-v6/license.patch
deleted file mode 100644
index aebb46365195..000000000000
--- a/pkgs/os-specific/linux/broadcom-sta-v6/license.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c
---- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c	2009-04-23 02:48:59.000000000 +0900
-+++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c	2009-05-08 00:48:20.000000000 +0900
-@@ -171,6 +171,8 @@
- static void wl_free_if(wl_info_t *wl, wl_if_t *wlif);
- static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info);
- 
-+MODULE_LICENSE("MIXED/Proprietary");
-+
- #if defined(WL_CONFIG_RFKILL)
- #include <linux/rfkill.h>
- static int wl_init_rfkill(wl_info_t *wl);
-
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 816a099e243c..5955543f8e1e 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -1,38 +1,37 @@
-{ stdenv, fetchurl, kernelDev }:
-
-let version = "5_100_82_112";
-    bits = if stdenv.system == "i686-linux" then "32" else
-      assert stdenv.system == "x86_64-linux"; "64";
+{ stdenv, fetchurl, kernel }:
+let
+  version = "6_30_223_141";
 in
-
 stdenv.mkDerivation {
-  name = "broadcom-sta-${version}-${kernelDev.version}";
+  name = "broadcom-sta-${version}-${kernel.version}";
 
-  src = fetchurl {
-    url = "http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_${bits}-v${version}.tar.gz";
-    sha256 = if bits == "32"
-      then "1rvhw9ngw0djxyyjx5m01c0js89zs3xiwmra03al6f9q7cbf7d45"
-      else "1qsarnry10f5m8a73wbr9cg2ifs00sqg6x0ay59l72vl9hb2zlww";
-  };
+  src = if stdenv.system == "i686-linux" then (
+    fetchurl {
+      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-${version}.tar.gz";
+      sha256 = "19wra62dpm0x0byksh871yxr128b4v13kzkzqv56igjfpzv36z6m";
+    } ) else (
+    fetchurl {
+      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-${version}.tar.gz";
+      sha256 = "0jlvch7d3khmmg5kp80x4ka33hidj8yykqjcqq6j56z2g6wb4dsz";
+    }
+  );
 
-  buildInputs = [ kernelDev ];
-  patches =
-    [ ./makefile.patch ./linux-2.6.39.patch ./linux-3.2.patch
-      ./linux-3.4.patch ./license.patch
-    ];
+  patches = [
+    ./linux-recent.patch
+    ./license.patch
+  ];
 
-  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
+  makeFlags = "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
 
-  unpackPhase =
-    ''
+  unpackPhase = ''
       sourceRoot=broadcom-sta
       mkdir "$sourceRoot"
       tar xvf "$src" -C "$sourceRoot"
-    '';
+  '';
 
   installPhase =
     ''
-      binDir="$out/lib/modules/${kernelDev.modDirVersion}/kernel/net/wireless/"
+      binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
       docDir="$out/share/doc/broadcom-sta/"
       mkdir -p "$binDir" "$docDir"
       cp wl.ko "$binDir"
@@ -43,7 +42,7 @@ stdenv.mkDerivation {
     description = "Kernel module driver for some Broadcom's wireless cards";
     homepage = http://www.broadcom.com/support/802.11/linux_sta.php;
     license = "unfree-redistributable";
-    maintainers = [ stdenv.lib.maintainers.vcunat ];
+    maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/broadcom-sta/license.patch b/pkgs/os-specific/linux/broadcom-sta/license.patch
index b320d977e8b0..aebb46365195 100644
--- a/pkgs/os-specific/linux/broadcom-sta/license.patch
+++ b/pkgs/os-specific/linux/broadcom-sta/license.patch
@@ -1,12 +1,13 @@
 diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c
 --- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c	2009-04-23 02:48:59.000000000 +0900
 +++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c	2009-05-08 00:48:20.000000000 +0900
-@@ -163,6 +163,8 @@
+@@ -171,6 +171,8 @@
  static void wl_free_if(wl_info_t *wl, wl_if_t *wlif);
  static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info);
  
 +MODULE_LICENSE("MIXED/Proprietary");
 +
- static struct pci_device_id wl_id_table[] = {
- 	{ PCI_VENDOR_ID_BROADCOM, 0x4311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 
- 	{ PCI_VENDOR_ID_BROADCOM, 0x4312, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 
+ #if defined(WL_CONFIG_RFKILL)
+ #include <linux/rfkill.h>
+ static int wl_init_rfkill(wl_info_t *wl);
+
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch b/pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch
deleted file mode 100644
index ca07c918c360..000000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-2.6.39.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/src/wl/sys/wl_cfg80211.c
-+++ new/src/wl/sys/wl_cfg80211.c
-@@ -1811,7 +1811,7 @@
- 	notif_bss_info->frame_len = offsetof(struct ieee80211_mgmt, u.beacon.variable) +
- 	                            wl_get_ielen(wl);
- 	freq = ieee80211_channel_to_frequency(notif_bss_info->channel 
--#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
- 		,(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ
- #endif
- 	);
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch b/pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch
deleted file mode 100644
index b491537cb86f..000000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-3.2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur broadcom-sta-5.100.82.112.orig/src/wl/sys/wl_linux.c broadcom-sta-5.100.82.112/src/wl/sys/wl_linux.c
---- broadcom-sta-5.100.82.112.orig/src/wl/sys/wl_linux.c	2011-10-23 01:56:55.000000000 +0900
-+++ broadcom-sta-5.100.82.112/src/wl/sys/wl_linux.c	2011-11-22 00:56:07.021520421 +0900
-@@ -385,7 +385,9 @@
- #endif
- 	.ndo_get_stats = wl_get_stats,
- 	.ndo_set_mac_address = wl_set_mac_address,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
- 	.ndo_set_multicast_list = wl_set_multicast_list,
-+#endif
- 	.ndo_do_ioctl = wl_ioctl
- };
- 
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch b/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch
deleted file mode 100644
index 854131c641b2..000000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- broadcom-sta.orig/src/wl/sys/wl_linux.c
-+++ broadcom-sta.new/src/wl/sys/wl_linux.c
-@@ -40,7 +40,9 @@
- #include <linux/pci_ids.h>
- #define WLC_MAXBSSCFG          1
- 
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
- #include <asm/system.h>
-+#endif
- #include <asm/io.h>
- #include <asm/irq.h>
- #include <asm/pgtable.h>
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/linux-recent.patch b/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
similarity index 100%
rename from pkgs/os-specific/linux/broadcom-sta-v6/linux-recent.patch
rename to pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
diff --git a/pkgs/os-specific/linux/broadcom-sta/makefile.patch b/pkgs/os-specific/linux/broadcom-sta/makefile.patch
deleted file mode 100644
index 6ba8527e2673..000000000000
--- a/pkgs/os-specific/linux/broadcom-sta/makefile.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- src/Makefile	2010-10-08 00:32:59.000000000 +0200
-+++ src/Makefile	2010-11-09 11:06:28.832999850 +0100
-@@ -27,10 +27,10 @@
- EXTRA_LDFLAGS      := $(src)/lib/wlc_hybrid.o_shipped
- 
- all:
--	KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
-+	KBUILD_NOPEDANTIC=1 make -C ${KDIR} M=`pwd`
- 
- clean:
--	KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` clean
-+	KBUILD_NOPEDANTIC=1 make -C ${KDIR} clean
- 
- install:
--	install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko
-+	install -D -m 755 wl.ko $out/lib/modules/${kernelVersion}/kernel/drivers/net/wireless/wl.ko
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
index 7a818530ca2d..022ea648fea3 100644
--- a/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -1,8 +1,8 @@
-{ fetchurl, stdenv, kernelDev, onlyHeaders ? false }:
+{ fetchurl, stdenv, kernel, onlyHeaders ? false }:
 
 stdenv.mkDerivation rec {
   pname = "cryptodev-linux-1.6";
-  name = "${pname}-${kernelDev.version}";
+  name = "${pname}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.gna.org/cryptodev-linux/${pname}.tar.gz";
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
   };
 
   buildPhase = if !onlyHeaders then ''
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       SUBDIRS=`pwd` INSTALL_PATH=$out
   '' else ":";
 
   installPhase = stdenv.lib.optionalString (!onlyHeaders) ''
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
   '' + ''
     mkdir -p $out/include/crypto
diff --git a/pkgs/os-specific/linux/e1000e/default.nix b/pkgs/os-specific/linux/e1000e/default.nix
index e1abeea49b70..db5f88b935fd 100644
--- a/pkgs/os-specific/linux/e1000e/default.nix
+++ b/pkgs/os-specific/linux/e1000e/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 stdenv.mkDerivation {
-  name = "e1000e-1.5.1-${kernelDev.version}";
+  name = "e1000e-2.5.4-${kernel.version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/e1000/e1000e-1.5.1.tar.gz";
-    sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw";
+    url = "mirror://sourceforge/e1000/e1000e-2.5.4.tar.gz";
+    sha256 = "0bmihkc7y37jzwi996ryqblnyflyhhbimbnrnmlk419vxlzg1pzi";
   };
 
-  buildInputs = [ kernelDev ];
-
   configurePhase = ''
     cd src
-    kernel_version=$( cd ${kernelDev}/lib/modules && echo * )
-    sed -i -e 's|/lib/modules|${kernelDev}/lib/modules|' Makefile
+    kernel_version=${kernel.modDirVersion}
+    sed -i -e 's|/lib/modules|${kernel.dev}/lib/modules|' Makefile
     export makeFlags="BUILD_KERNEL=$kernel_version"
   '';
 
diff --git a/pkgs/os-specific/linux/exmap/default.nix b/pkgs/os-specific/linux/exmap/default.nix
deleted file mode 100644
index 1b372ca3dbfc..000000000000
--- a/pkgs/os-specific/linux/exmap/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ fetchurl, stdenv, kernelDev, pkgconfig, gtkmm, boost, pcre }:
-
-stdenv.mkDerivation rec {
-  name = "exmap-0.10-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://www.berthels.co.uk/exmap/download/${name}.tgz";
-    sha256 = "0z00dhl6bdmaz7p9wlvnj0izf0zlrlkv34fz449kxyislpzzxmgn";
-  };
-
-  patchPhase = ''
-    substituteInPlace "kernel/Makefile" \
-      --replace '/lib/modules/$(shell uname -r)/build' \
-                ${kernelDev}/lib/modules/*/build
-
-    # The `proc_root' variable (the root of `/proc') is no longer exported
-    # since 2.6.26.  Fortunately, one can pass `NULL' instead of `&proc_root'.
-    # See http://lkml.org/lkml/2008/3/30/57 .
-    substituteInPlace "kernel/exmap.c" \
-      --replace "&proc_root" "NULL"
-
-    substituteInPlace "src/Makefile" --replace "-Werror" ""
-  '';
-
-  buildInputs = [ kernelDev pkgconfig gtkmm boost pcre ];
-
-  buildPhase = "make build";
-
-  # XXX: The tests can only be run one the `exmap' module is loaded.
-  doCheck = false;
-  #checkPhase = "make test"
-
-  installPhase = ''
-    mkdir -p "$out/share/${name}"
-    cp kernel/*.ko "$out/share/${name}"
-
-    mkdir -p "$out/bin"
-    cp src/{gexmap,exmtool,elftool,showproc} "$out/bin"
-  '';
-
-  meta = {
-    description = "Exmap, a tool showing the physical memory usage of processes";
-
-    longDescription = ''
-      Exmap is a utility which takes a snapshot of how the physical
-      memory and swap space are currently used by all the processes on
-      your system.  It examines which page of memory are shared between
-      which processes, so that it can share the cost of the pages
-      fairly when calculating usage totals.
-    '';
-
-    homepage = http://www.berthels.co.uk/exmap/;
-
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/os-specific/linux/frandom/default.nix b/pkgs/os-specific/linux/frandom/default.nix
index a28ba527218e..419207882f83 100644
--- a/pkgs/os-specific/linux/frandom/default.nix
+++ b/pkgs/os-specific/linux/frandom/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 let baseName = "frandom-1.1";
 in
 
 stdenv.mkDerivation rec {
-  name = "${baseName}-${kernelDev.version}";
+  name = "${baseName}-${kernel.version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/frandom/${baseName}.tar.gz";
@@ -12,14 +12,14 @@ stdenv.mkDerivation rec {
   };
 
   preBuild = ''
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
+    kernelVersion=${kernel.modDirVersion}
     substituteInPlace Makefile \
       --replace "\$(shell uname -r)" "$kernelVersion" \
-      --replace "/lib/modules" "${kernelDev}/lib/modules"
+      --replace "/lib/modules" "${kernel.dev}/lib/modules"
   '';
  
   installPhase = ''
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
+    kernelVersion=${kernel.modDirVersion}
     ensureDir $out/lib/modules/$kernelVersion/misc
     cp frandom.ko $out/lib/modules/$kernelVersion/misc
 
diff --git a/pkgs/os-specific/linux/iscsitarget/default.nix b/pkgs/os-specific/linux/iscsitarget/default.nix
deleted file mode 100644
index e07409aa08d3..000000000000
--- a/pkgs/os-specific/linux/iscsitarget/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, kernelDev, module_init_tools}:
-
-stdenv.mkDerivation rec {
-  name = "iscsitarget-1.4.20.2-${kernelDev.version}";
-  
-  src = fetchurl {
-    url = "mirror://sourceforge/iscsitarget/iscsitarget/1.4.20.2/${name}.tar.gz";
-    sha256 = "126kp0yc7vmvdbaw2xfav89340b0h91dvvyib5qbvyrq40n8wg0g";
-  };
-  
-  KSRC = "${kernelDev}/lib/modules/*/build";
-  
-  DESTDIR = "$(out)";
-  
-  preConfigure = ''
-    export PATH=$PATH:${module_init_tools}/sbin
-    sed -i 's|/usr/|/|' Makefile
-  '';
-  
-  buildInputs = [ module_init_tools ];
-  
-  meta = {
-    description = "iSCSI Enterprise Target (IET), software for building an iSCSI storage system on Linux";
-    license = "GPLv2+";
-    homepage = http://iscsitarget.sourceforge.net;
-  };
-}
diff --git a/pkgs/os-specific/linux/iwlwifi/default.nix b/pkgs/os-specific/linux/iwlwifi/default.nix
deleted file mode 100644
index 1a28720f0042..000000000000
--- a/pkgs/os-specific/linux/iwlwifi/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{stdenv, fetchurl, kernelDev}:
-
-let version = "1.2.25"; in
-
-stdenv.mkDerivation rec {
-  name = "iwlwifi-${version}-${kernelDev.version}";
-
-  src = fetchurl {
-    url = "http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-${version}.tgz";
-    sha256 = "09fjy0swcyd77fdp8x2825wj5cd73hwbzl8mz9sy2ha21p1qwq1d";
-  };
-
-  preBuild = ''
-    substituteInPlace scripts/generate_compatible \
-      --replace '/usr/bin/env /bin/bash' $shell
-    substituteInPlace Makefile \
-      --replace /sbin/depmod true
-
-    # Urgh, we need the complete kernel sources for some header
-    # files.  So unpack the original kernel source tarball and copy
-    # the configured include directory etc. on top of it.
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
-    kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernelDev.src}
-    kernelSource=$(echo $(pwd)/linux-*)
-    cp -prd $kernelBuild/* $kernelSource
-
-    makeFlags=KSRC=$kernelSource
-    make $makeFlags || true
-    make $makeFlags
-
-    installFlags=KMISC=$out/lib/modules/$kernelVersion/misc
-  ''; # */
-
-  meta = {
-    description = "Intel Wireless WiFi Link drivers for Linux";
-    homepage = http://www.intellinuxwireless.org/;
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
new file mode 100644
index 000000000000..e4ce19457058
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, kernel, perl }:
+
+let
+  baseBuildFlags = [ "INSTALL_HDR_PATH=$(out)" "headers_install" ];
+in stdenv.mkDerivation {
+  name = "linux-headers-${kernel.version}";
+
+  inherit (kernel) src patches;
+
+  nativeBuildInputs = [ perl ];
+
+  buildFlags = [ "ARCH=${stdenv.platform.kernelArch}" ] ++ baseBuildFlags;
+
+  crossAttrs = {
+    inherit (kernel.crossDrv) src patches;
+    buildFlags = [ "ARCH=${stdenv.cross.platform.kernelArch}" ] ++ baseBuildFlags;
+  };
+
+  installPhase = ''
+    find $out \( -name ..install.cmd -o -name .install \) -print0 | xargs -0 rm
+  '';
+
+  # Headers shouldn't reference anything else
+  allowedReferences = [];
+}
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index c8910f8ed06e..67e8f0655393 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -144,7 +144,7 @@ let
         # !!! No documentation on how much of the source tree must be kept
         # If/when kernel builds fail due to missing files, you can undelete
         # them here
-        ls -A | grep -v Makefile | xargs rm -fR
+        find -empty -type d -delete
       '' else optionalString installsFirmware ''
         make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index b55312fe5609..efa23f67846b 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -18,24 +18,6 @@ let
       };
     };
 
-  makeAufs3StandalonePatch = {version, rev, sha256}:
-
-    stdenv.mkDerivation {
-      name = "aufs3-standalone-${version}.patch";
-
-      src = fetchgit {
-        url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
-        inherit sha256 rev;
-      };
-
-      phases = [ "unpackPhase" "installPhase" ];
-
-      # Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
-      installPhase = ''
-        cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
-      '';
-    };
-
   makeAppArmorPatch = {apparmor, version}:
     stdenv.mkDerivation {
       name = "apparmor-${version}.patch";
@@ -68,34 +50,6 @@ rec {
       features.secPermPatch = true;
     };
 
-  aufs3_2 = rec {
-    name = "aufs3.2";
-    version = "3.2.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "0bf50c3b82f98e2ddc4c9ba0657f28ebfa8d15cb";
-      sha256 = "bc4b65cb77c62744db251da98488fdf4962f14a144c045cea6cbbbd42718ff89";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
-  aufs3_4 = rec {
-    name = "aufs3.4";
-    version = "3.4.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "2faacd9baffb37df3b9062cc554353eebe68df1e";
-      sha256 = "3ecf97468f5e85970d9fd2bfc61e38c7f5ae2c6dde0045d5a17de085c411d452";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
   no_xsave =
     { name = "no-xsave";
       patch = ./no-xsave.patch;
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 04924f013a45..3fb18a234729 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,13 +1,13 @@
-{ stdenv, kernelDev, elfutils, python, perl, newt, slang, asciidoc, xmlto
+{ stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
 , withGtk ? false, gtk ? null }:
 
 assert withGtk -> gtk != null;
 
 stdenv.mkDerivation {
-  name = "perf-linux-${kernelDev.version}";
+  name = "perf-linux-${kernel.version}";
 
-  inherit (kernelDev) src patches;
+  inherit (kernel) src patches;
 
   preConfigure = ''
     cd tools/perf
@@ -31,6 +31,7 @@ stdenv.mkDerivation {
     propagatedBuildInputs = [ elfutils.crossDrv newt.crossDrv ];
     makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-";
     elfutils = elfutils.crossDrv;
+    inherit (kernel.crossDrv) src patches;
   };
 
   meta = {
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index 97bdd9ebacb2..df44cb68d8bd 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -1,74 +1,48 @@
-{ stdenv, fetchurl, perl, bison, mktemp, linuxHeaders, linuxHeadersCross, kernelDev ? null }:
-
-assert stdenv.isLinux;
+{ stdenv, fetchurl, kernelHeaders, kernel, perl }:
 
 let
-  version = "1.5.24";
-  baseMakeFlags = ["V=1" "prefix=$out" "SHLIBDIR=$out/lib"];
+  version = "2.0.3";
+
+  commonMakeFlags = [
+    "prefix=$(out)"
+    "SHLIBDIR=$(out)/lib"
+  ];
 in
 
 stdenv.mkDerivation {
-  name = "klibc-${version}${stdenv.lib.optionalString (kernelDev != null) "-${kernelDev.version}"}";
+  name = "klibc-${version}-${kernel.version}";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
-    sha256 = "18lm32dlj9k2ky9wwk274zmc3jndgrb41b6qm82g3lza6wlw3yki";
+    url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
+    sha256 = "02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa";
   };
 
-  # Trick to make this build on nix. It expects to have the kernel sources
-  # instead of only the linux kernel headers.
-  # So it cannot run the 'make headers_install' it wants to run.
-  # We don't install the headers, so klibc will not be useful as libc, but
-  # usually in nixpkgs we only use the userspace tools comming with klibc.
-  prePatch = stdenv.lib.optionalString (kernelDev == null) ''
-    sed -i -e /headers_install/d scripts/Kbuild.install
-  '';
-  
-  makeFlags = baseMakeFlags;
+  patches = [ ./no-reinstall-kernel-headers.patch ];
 
-  inherit linuxHeaders;
+  nativeBuildInputs = [ perl ];
+
+  makeFlags = commonMakeFlags ++ [
+    "KLIBCARCH=${stdenv.platform.kernelArch}"
+    "KLIBCKERNELSRC=${kernelHeaders}"
+  ] ++ stdenv.lib.optional (stdenv.platform.kernelArch == "arm") "CONFIG_AEABI=y";
 
   crossAttrs = {
-    makeFlags = baseMakeFlags ++ [ "CROSS_COMPILE=${stdenv.cross.config}-"
-        "KLIBCARCH=${stdenv.cross.arch}" ];
-
-    patchPhase = ''
-      sed -i 's/-fno-pic -mno-abicalls/& -mabi=32/' usr/klibc/arch/mips/MCONFIG
-      sed -i /KLIBCKERNELSRC/d scripts/Kbuild.install
-      # Wrong check for __mips64 in klibc
-      sed -i s/__mips64__/__mips64/ usr/include/fcntl.h
-    '';
-
-    linuxHeaders = linuxHeadersCross;
+    makeFlags = commonMakeFlags ++ [
+      "KLIBCARCH=${stdenv.cross.platform.kernelArch}"
+      "KLIBCKERNELSRC=${kernelHeaders.crossDrv}"
+      "CROSS_COMPILE=${stdenv.cross.config}-"
+    ] ++ stdenv.lib.optional (stdenv.cross.platform.kernelArch == "arm") "CONFIG_AEABI=y";
   };
-  
-  # The AEABI option concerns only arm systems, and does not affect the build for
-  # other systems.
-  preBuild = ''
-    sed -i /CONFIG_AEABI/d defconfig
-    echo "CONFIG_AEABI=y" >> defconfig
-    makeFlags=$(eval "echo $makeFlags")
 
-  '' + (if kernelDev == null then ''
-    mkdir linux
-    cp -prsd $linuxHeaders/include linux/
-    chmod -R u+w linux/include/
-  '' else ''
-    tar xvf ${kernelDev.src}
-    mv linux* linux
-    cd linux
-    ln -sv ${kernelDev}/config .config
-    make prepare
-    cd ..
-  '');
-  
   # Install static binaries as well.
   postInstall = ''
     dir=$out/lib/klibc/bin.static
     mkdir $dir
     cp $(find $(find . -name static) -type f ! -name "*.g" -a ! -name ".*") $dir/
     cp usr/dash/sh $dir/
+
+    for file in ${kernelHeaders}/include/*; do
+      ln -sv $file $out/lib/klibc/include
+    done
   '';
-  
-  nativeBuildInputs = [ perl bison mktemp ];
 }
diff --git a/pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch b/pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch
new file mode 100644
index 000000000000..d3e55fc8731d
--- /dev/null
+++ b/pkgs/os-specific/linux/klibc/no-reinstall-kernel-headers.patch
@@ -0,0 +1,11 @@
+diff -Naur klibc-2.0.3-orig/scripts/Kbuild.install klibc-2.0.3/scripts/Kbuild.install
+--- klibc-2.0.3-orig/scripts/Kbuild.install	2013-12-03 13:53:46.000000000 -0500
++++ klibc-2.0.3/scripts/Kbuild.install	2014-01-04 18:17:09.342609021 -0500
+@@ -95,7 +95,6 @@
+ 	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ 	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+ 	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+-	$(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
+ 	$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+ 	$(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ 	$(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index e58d61e426ba..b9cc34345dff 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, kernelDev }:
+{ stdenv, fetchurl, kernel }:
 
 stdenv.mkDerivation rec {
   pname = "lttng-modules-2.3.0";
-  name = "${pname}-${kernelDev.version}";
+  name = "${pname}-${kernel.version}";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ];
 
   preConfigure = ''
-    export KERNELDIR="${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
+    export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     export INSTALL_MOD_PATH="$out"
   '';
 
diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix
index e2db1a4106ba..f95de4335648 100644
--- a/pkgs/os-specific/linux/ndiswrapper/default.nix
+++ b/pkgs/os-specific/linux/ndiswrapper/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, kernelDev, perl }:
+{ stdenv, fetchurl, kernel, perl, kmod }:
 
 stdenv.mkDerivation {
-  name = "ndiswrapper-1.56-${kernelDev.version}";
+  name = "ndiswrapper-1.59-${kernel.version}";
+
+  patches = [ ./no-sbin.patch ];
 
   # need at least .config and include 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   buildPhase = "
     echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
     echo -n $kernel/lib/modules/*/build > kbuild_path
+    export PATH=${kmod}/sbin:$PATH
     make KBUILD=$(echo \$kernel/lib/modules/*/build);
   ";
 
@@ -23,14 +26,11 @@ stdenv.mkDerivation {
 
   # should we use unstable? 
   src = fetchurl {
-    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.56.tar.gz;
-    sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
+    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.59.tar.gz;
+    sha256 = "1g6lynccyg4m7gd7vhy44pypsn8ifmibq6rqgvc672pwngzx79b6";
   };
 
-  buildInputs = [ kernelDev perl ];
-
-  # this is a patch against svn head, not stable version
-  patches = [./prefix.patch];
+  buildInputs = [ perl ];
 
   meta = { 
     description = "Ndis driver wrapper for the Linux kernel";
diff --git a/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch b/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
new file mode 100644
index 000000000000..cfc048d772bd
--- /dev/null
+++ b/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
@@ -0,0 +1,12 @@
+diff -Naur ndiswrapper-1.59-orig/driver/Makefile ndiswrapper-1.59/driver/Makefile
+--- ndiswrapper-1.59-orig/driver/Makefile	2013-11-28 14:42:35.000000000 -0500
++++ ndiswrapper-1.59/driver/Makefile	2014-01-04 18:31:43.242377375 -0500
+@@ -191,7 +191,7 @@
+ 	rm -rf .tmp_versions
+ 
+ install: config_check $(MODULE)
+-	@/sbin/modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
++	@modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
+ 		{ echo "$(MODULE)" is not for Linux $(KVERS); exit 1; }
+ 	mkdir -p -m 755 $(DESTDIR)$(INST_DIR)
+ 	install -m 0644 $(MODULE) $(DESTDIR)$(INST_DIR)
diff --git a/pkgs/os-specific/linux/ndiswrapper/prefix.patch b/pkgs/os-specific/linux/ndiswrapper/prefix.patch
deleted file mode 100644
index ec77f4cae791..000000000000
--- a/pkgs/os-specific/linux/ndiswrapper/prefix.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -r -u ndiswrapper-1.53/driver/loader.c ndiswrapper-1.53/driver/loader.c
---- ndiswrapper-1.53/driver/loader.c	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/loader.c	2008-06-15 17:05:07.000000000 +0400
-@@ -100,7 +100,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			ERROR("couldn't load driver %s; check system log "
-@@ -262,7 +262,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			ERROR("couldn't load file %s/%s; check system log "
-@@ -698,7 +698,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			TRACE1("couldn't load device %04x:%04x; check system "
-diff -r -u ndiswrapper-1.53/driver/Makefile ndiswrapper-1.53/driver/Makefile
---- ndiswrapper-1.53/driver/Makefile	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/Makefile	2008-06-15 17:03:31.000000000 +0400
-@@ -95,6 +95,10 @@
- EXTRA_CFLAGS += -DWRAP_PREEMPT
- endif
- 
-+ifdef DIST_DESTDIR
-+EXTRA_CFLAGS += -DPREFIX=\"$(DIST_DESTDIR)\"
-+endif
-+
- OBJS = crt.o hal.o iw_ndis.o loader.o ndis.o ntoskernel.o ntoskernel_io.o \
- 	pe_linker.o pnp.o proc.o rtl.o wrapmem.o wrapndis.o wrapper.o
- 
-diff -r -u ndiswrapper-1.53/driver/ndiswrapper.h ndiswrapper-1.53/driver/ndiswrapper.h
---- ndiswrapper-1.53/driver/ndiswrapper.h	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/ndiswrapper.h	2008-06-15 17:06:37.000000000 +0400
-@@ -19,8 +19,17 @@
- #define DRIVER_VERSION "1.53"
- #define UTILS_VERSION "1.9"
- 
-+#ifndef PREFIX
-+#define PREFIX
-+#endif
-+
- #define DRIVER_NAME "ndiswrapper"
--#define DRIVER_CONFIG_DIR "/etc/ndiswrapper"
-+
-+#ifndef DRIVER_CONFIG_DIR
-+#  define DRIVER_CONFIG_DIR PREFIX "/etc/ndiswrapper"
-+#endif
-+
-+#define USERMOD_HELPER PREFIX "/sbin/loadndisdriver"
- 
- #define SSID_MAX_WPA_IE_LEN 40
- #define NDIS_ESSID_MAX_SIZE 32
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index 9a34c503f6d3..a863ee8a4d04 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernelDev, zlib }:
+{ stdenv, fetchurl, kernel, zlib }:
 
 stdenv.mkDerivation {
-  name = "netatop-${kernelDev.version}-0.3";
+  name = "netatop-${kernel.version}-0.3";
 
   src = fetchurl {
     url = http://www.atoptool.nl/download/netatop-0.3.tar.gz;
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     patchShebangs mkversion
-    sed -i -e 's,^KERNDIR.*,KERNDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build,' \
+    sed -i -e 's,^KERNDIR.*,KERNDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build,' \
         */Makefile
-    sed -i -e 's,/lib/modules.*extra,'$out'/lib/modules/${kernelDev.modDirVersion}/extra,' \
+    sed -i -e 's,/lib/modules.*extra,'$out'/lib/modules/${kernel.modDirVersion}/extra,' \
         -e s,/usr,$out, \
         -e /init.d/d \
         -e /depmod/d \
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   preInstall = ''
     ensureDir $out/bin $out/sbin $out/share/man/man{4,8}
-    ensureDir $out/lib/modules/${kernelDev.modDirVersion}/extra
+    ensureDir $out/lib/modules/${kernel.modDirVersion}/extra
   '';
       
   meta = {
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
index 6062566cbfb1..7d39dd311897 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
@@ -29,11 +29,10 @@ buildPhase() {
 
         # Create the module.
         kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        sysSource=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        # Hack necessary to compile on 2.6.28.
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default"
-        make SYSSRC=$sysSrc module
+        make SYSSRC=$sysSource SYSOUT=$sysOut module
         cd ../../..
     fi
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
index bb8beab29c58..7771fb988f58 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
@@ -14,11 +14,10 @@ buildPhase() {
         echo "Building linux driver against kernel: $kernel";
         cd kernel
         kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        # Hack necessary to compile on 2.6.28.
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default -I$sysSrc/include/generated"
-        make SYSSRC=$sysSrc module
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
         cd ..
     fi
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 28e2bd5642c0..51144bc10519 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -16,11 +16,10 @@ buildPhase() {
         echo "Building linux driver against kernel: $kernel";
         cd kernel
         kernelVersion=$(cd $kernel/lib/modules && ls)
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        # Hack necessary to compile on 2.6.28.
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default -I$sysSrc/include/generated"
-        make SYSSRC=$sysSrc module
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
         cd ..
     fi
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 02eb65123d80..c89e5550f3ec 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
 , gtk, atk, pango, glib, gdk_pixbuf
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
@@ -15,7 +15,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
 
   builder = ./builder.sh;
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
 
   inherit versionNumber libsOnly;
 
-  kernel = if libsOnly then null else kernelDev;
+  kernel = if libsOnly then null else kernel.dev;
 
   dontStrip = true;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
index a03e3d4ca7e4..d85c0c1a389f 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
+{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
 
 let 
 
-  versionNumber = "173.14.36";
+  versionNumber = "173.14.39";
 
 in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
+  name = "nvidia-x11-${versionNumber}-${kernel.version}";
   
   builder = ./builder-legacy.sh;
   
@@ -15,16 +15,16 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "19wnikms9wradf1kmaywnp7hykrdm4xqz2ka7az66s3ma096y95c";
+        sha256 = "08xb7s7cxmj4zv4i3645kjhlhhwxiq6km9ixmsw3vv91f7rkb6d0";
       }
     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}-pkg0.run";
-        sha256 = "1xf1w6qvqw0a3vd807hp3cgqmzm1wkpz2by52p0qgpjqld421k2s";
+        sha256 = "1p2ls0xj81l8v4n6dbjj3p5wlw1iyhgzyvqcv4h5fdxhhs2cb3md";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   inherit versionNumber;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
index bd88e847b6ee..0665ff83ea78 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
 , gtk, atk, pango, glib, gdk_pixbuf
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
@@ -11,7 +11,7 @@ with stdenv.lib;
 let versionNumber = "304.117"; in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
 
   builder = ./builder-legacy304.sh;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   inherit versionNumber libsOnly;
 
-  kernel = if libsOnly then null else kernelDev;
+  kernel = if libsOnly then null else kernel.dev;
 
   dontStrip = true;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
deleted file mode 100644
index 32fc3632b05a..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib}:
-
-let 
-
-  versionNumber = "96.43.23";
-
-in
-
-stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
-  
-  builder = ./builder-legacy.sh;
-  
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "0hi10h26l51mknr57zsdg0zaxcqdz1lp3hsz0hi1c1vkpbsavrji";
-      }
-    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}-pkg0.run";
-        sha256 = "09vynha40rsxpklj1m0qjfg853ckdpi9g87h06irikh405x57kzp";
-      }
-    else throw "nvidia-x11 does not support platform ${stdenv.system}";
-
-  kernel = kernelDev;
-
-  inherit versionNumber;
-
-  dontStrip = true;
-
-  glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
-
-  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
-
-  programPath = stdenv.lib.makeLibraryPath [ gtk atk pango glib xlibs.libXv ];
-
-  meta = {
-    homepage = http://www.nvidia.com/object/unix.html;
-    description = "X.org driver and kernel module for Legacy NVIDIA graphics cards";
-    license = "unfree";
-  };
-}
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 60e0e4d189c0..e28593d02522 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, kernelDev}:
-
-stdenv.mkDerivation rec {
-  name = "open-iscsi-2.0-871-${kernelDev.version}";
+{ stdenv, fetchurl, kernel}:
+let
+  pname = "open-iscsi-2.0-871";
+in stdenv.mkDerivation {
+  name = "${pname}-${kernel.version}";
   
   src = fetchurl {
-    url = "http://www.open-iscsi.org/bits/${name}.tar.gz";
+    url = "http://www.open-iscsi.org/bits/${pname}.tar.gz";
     sha256 = "1jvx1agybaj4czhz41bz37as076spicsmlh5pjksvwl2mr38gsmw";
   };
   
-  KSRC = "${kernelDev}/lib/modules/*/build";
+  KSRC = "${kernel.dev}/lib/modules/*/build";
   DESTDIR = "$(out)";
   
   preConfigure = ''
@@ -21,5 +22,6 @@ stdenv.mkDerivation rec {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
     license = "GPLv2+";
     homepage = http://www.open-iscsi.org;
+    broken = true;
   };
 }
diff --git a/pkgs/os-specific/linux/psmouse-alps/default.nix b/pkgs/os-specific/linux/psmouse-alps/default.nix
index 834acd72ef20..65f1a5cf6c61 100644
--- a/pkgs/os-specific/linux/psmouse-alps/default.nix
+++ b/pkgs/os-specific/linux/psmouse-alps/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, kernelDev, zlib }:
+{ stdenv, fetchurl, kernel, zlib }:
 
 /* Only useful for kernels 3.2 to 3.5.
    Fails to build in 3.8.
    3.9 upstream already includes a proper alps driver for this */
 
+assert builtins.compareVersions "3.8" kernel.version == 1;
+
 let
   ver = "1.3";
   bname = "psmouse-alps-${ver}";
 in
 stdenv.mkDerivation {
-  name = "psmouse-alps-${kernelDev.version}-${ver}";
+  name = "psmouse-alps-${kernel.version}-${ver}";
 
   src = fetchurl {
     url = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/at_download/file;
@@ -19,12 +21,12 @@ stdenv.mkDerivation {
 
   buildPhase = ''
     cd src/${bname}/src
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       SUBDIRS=`pwd` INSTALL_PATH=$out
   '';
 
   installPhase = ''
-    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
       INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
   '';
       
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 6a9a4cc963fa..ee264f67127a 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernelDev, perl, autoconf, automake, libtool, coreutils, gawk }:
+{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
 
 stdenv.mkDerivation {
-  name = "spl-0.6.2-${kernelDev.version}";
+  name = "spl-0.6.2-${kernel.version}";
   src = fetchurl {
     url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.2.tar.gz;
     sha256 = "196scl8q0bkkak6m0p1l1fz254cgsizqm73bf9wk3iynamq7qmrw";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   patches = [ ./install_prefix.patch ];
 
-  buildInputs = [ perl kernelDev autoconf automake libtool ];
+  buildInputs = [ perl autoconf automake libtool ];
 
   preConfigure = ''
     ./autogen.sh
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
   '';
 
   configureFlags = ''
-     --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
-     --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
+     --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source
+     --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index 140021605eaf..40d9e7c10682 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -1,23 +1,21 @@
-{stdenv, fetchurl, kernelDev}:
+{stdenv, fetchurl, kernel}:
 
 stdenv.mkDerivation {
-  name = "tp_smapi-0.41-${kernelDev.version}";
+  name = "tp_smapi-0.41-${kernel.version}";
 
   src = fetchurl {
     url = "https://github.com/downloads/evgeni/tp_smapi/tp_smapi-0.41.tar.gz";
     sha256 = "6aef02b92d10360ac9be0db29ae390636be55017990063a092a285c70b54e666";
   };
 
-  buildInputs = [ kernelDev ];
-
   makeFlags = [
-    "KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}"
+    "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}"
     "SHELL=/bin/sh"
   ];
 
   installPhase = ''
-    install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
-    install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
+    install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
+    install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
   '';
 
   dontStrip = true;
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index 4c6045e1a6cb..2ad3087d6a17 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, klibc, kernelDev, withKlibc ? true}:
+{stdenv, fetchurl, klibc, kernel, withKlibc ? true}:
 
 stdenv.mkDerivation rec {
-  name = "v86d-${version}-${kernelDev.version}";
+  name = "v86d-${version}-${kernel.version}";
   version = "0.1.10";
 
   src = fetchurl {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = if withKlibc then [ "--with-klibc" ] else [ "--default" ];
 
   makeFlags = [
-    "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/source"
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
     "DESTDIR=$(out)"
   ];
 
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
     homepage = http://dev.gentoo.org/~spock/projects/uvesafb/;
     license = "BSD";
     platforms = [ "i686-linux" "x86_64-linux" ];
-    broken = true;
   };
 }
 
diff --git a/pkgs/os-specific/linux/wis-go7007/default.nix b/pkgs/os-specific/linux/wis-go7007/default.nix
index 7f27196ba6bd..538686720257 100644
--- a/pkgs/os-specific/linux/wis-go7007/default.nix
+++ b/pkgs/os-specific/linux/wis-go7007/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, kernelDev, ncurses, fxload}:
+{stdenv, fetchurl, kernel, ncurses, fxload}:
 
 let
 
@@ -12,7 +12,7 @@ let
 in   
 
 stdenv.mkDerivation {
-  name = "wis-go7007-0.9.8-${kernelDev.version}";
+  name = "wis-go7007-0.9.8-${kernel.version}";
 
   src = fetchurl {
     url = http://gentoo.osuosl.org/distfiles/wis-go7007-linux-0.9.8.tar.bz2;
@@ -47,16 +47,6 @@ stdenv.mkDerivation {
   '';
 
   preBuild = ''
-    # Urgh, we need the complete kernel sources for some header
-    # files.  So unpack the original kernel source tarball and copy
-    # the configured include directory etc. on top of it.
-    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
-    kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernelDev.src}
-    kernelSource=$(echo $(pwd)/linux-*)
-    cp -prd $kernelBuild/* $kernelSource
-
-    #includeDir=$out/lib/modules/$kernelVersion/source/include/linux
     includeDir=$TMPDIR/scratch
     substituteInPlace Makefile \
         --replace '$(DESTDIR)$(KSRC)/include/linux' $includeDir \
@@ -65,7 +55,7 @@ stdenv.mkDerivation {
     mkdir -p $out/etc/hotplug/usb
     mkdir -p $out/etc/udev/rules.d
  
-    makeFlagsArray=(KERNELSRC=$kernelSource \
+    makeFlagsArray=(KERNELSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source \
         FIRMWARE_DIR=$out/firmware FXLOAD=${fxload}/sbin/fxload \
         DESTDIR=$out SKIP_DEPMOD=1 \
         USE_UDEV=y)
@@ -79,5 +69,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Kernel module for the Micronas GO7007, used in a number of USB TV devices";
     homepage = http://oss.wischip.com/;
+    broken = true;
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 06615d170a17..67ed1312826a 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernelDev, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
 
 stdenv.mkDerivation {
-  name = "zfs-0.6.2-${kernelDev.version}";
+  name = "zfs-0.6.2-${kernel.version}";
 
   src = fetchurl {
     url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.2.tar.gz;
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ];
 
-  buildInputs = [ kernelDev spl perl autoconf automake libtool zlib libuuid coreutils ];
+  buildInputs = [ spl perl autoconf automake libtool zlib libuuid coreutils ];
 
   # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
@@ -28,8 +28,8 @@ stdenv.mkDerivation {
   '';
 
   configureFlags = ''
-    --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
-    --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
+    --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source
+    --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
     --with-spl=${spl}/libexec/spl
   '';
 
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 462ecadd346d..ba0b80fc61e8 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, which, autoconf, automake, flex, yacc,
-  kernelDev, glibc, ncurses, perl, krb5 }:
+  kernel, glibc, ncurses, perl, krb5 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation {
-  name = "openafs-1.6.1-${kernelDev.version}";
+  name = "openafs-1.6.1-${kernel.version}";
 
   src = fetchurl {
     url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2;
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ autoconf automake flex yacc ncurses perl which ];
 
   preConfigure = ''
-    ln -s ${kernelDev}/lib/modules/*/build $TMP/linux
+    ln -s ${kernel.dev}/lib/modules/*/build $TMP/linux
 
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c595cba8f064..56f812136dc6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6707,7 +6707,6 @@ let
     inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_2
       ];
   };
 
@@ -6757,7 +6756,6 @@ let
     inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_4
       ] ++ lib.optionals (platform.kernelArch == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -6831,8 +6829,6 @@ let
   linuxPackagesFor = kernel: self: let callPackage = newScope self; in {
     inherit kernel;
 
-    kernelDev = kernel.dev or kernel;
-
     acpi_call = callPackage ../os-specific/linux/acpi-call {};
 
     batman_adv = callPackage ../os-specific/linux/batman-adv {};
@@ -6841,45 +6837,20 @@ let
 
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
-    aufs =
-      if self.kernel.features ? aufs2 then
-        callPackage ../os-specific/linux/aufs/2.nix { }
-      else if self.kernel.features ? aufs3 then
-        callPackage ../os-specific/linux/aufs/3.nix { }
-      else null;
-
-    aufs_util =
-      if self.kernel.features ? aufs2 then
-        callPackage ../os-specific/linux/aufs-util/2.nix { }
-      else if self.kernel.features ? aufs3 then
-        callPackage ../os-specific/linux/aufs-util/3.nix { }
-      else null;
-
     blcr = callPackage ../os-specific/linux/blcr { };
 
     cryptodev = callPackage ../os-specific/linux/cryptodev { };
 
     e1000e = callPackage ../os-specific/linux/e1000e {};
 
-    exmap = callPackage ../os-specific/linux/exmap { };
-
     frandom = callPackage ../os-specific/linux/frandom { };
 
-    iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
-
-    iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
-
     lttngModules = callPackage ../os-specific/linux/lttng-modules { };
 
-    atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
-
     broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
 
-    broadcom_sta6 = callPackage ../os-specific/linux/broadcom-sta-v6/default.nix { };
-
     nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
 
-    nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
     nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
     nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
 
@@ -6889,9 +6860,9 @@ let
 
     wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
 
-    klibc = callPackage ../os-specific/linux/klibc {
-      linuxHeaders = glibc.kernelHeaders;
-    };
+    kernelHeaders = callPackage ../os-specific/linux/kernel-headers { };
+
+    klibc = callPackage ../os-specific/linux/klibc { };
 
     /* compiles but has to be integrated into the kernel somehow
        Let's have it uncommented and finish it..
@@ -6906,10 +6877,6 @@ let
 
     spl = callPackage ../os-specific/linux/spl/default.nix { };
 
-    sysprof = callPackage ../development/tools/profiling/sysprof {
-      inherit (gnome) libglade;
-    };
-
     tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
     v86d = callPackage ../os-specific/linux/v86d { };
@@ -7098,6 +7065,10 @@ let
 
   sysfsutils = callPackage ../os-specific/linux/sysfsutils { };
 
+  sysprof = callPackage ../development/tools/profiling/sysprof {
+    inherit (gnome) libglade;
+  };
+
   # Provided with sysfsutils.
   libsysfs = sysfsutils;
   systool = sysfsutils;
@@ -7114,7 +7085,6 @@ let
     inherit (gnome) libglademm;
   };
 
-
   # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get
   # LVM2 working in systemd.
   systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: {
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index ef7b1da92ab6..74778c57fe82 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -1082,8 +1082,6 @@ let
     acpi_call = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     atheros = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     ati_drivers_x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    aufs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    aufs_util = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     bbswitch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     broadcom_sta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     cryptodev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };

From a4d4ddb8ef92c9ac2bbd037715514ed30230deb4 Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Sun, 5 Jan 2014 08:15:21 +0200
Subject: [PATCH 013/228] youtubeDL: update from 2013.12.20 to 2014.01.03

---
 pkgs/tools/misc/youtube-dl/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index eb6baf41fe47..40e6f3322cd9 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, zip }:
 
 let
-  version = "2013.12.20";
+  version = "2014.01.03";
 in
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "0cqr0rpa247gfk5fg65sj94x4d9a1s85343gnqmc763h5h8v50zb";
+    sha256 = "01zg3a0jx89vikwxnhchjydamb2k724mxnpzs5hbavgfyklkb7xd";
   };
 
   buildInputs = [ python ];

From ac2035287fbec30d92165fd3839d1bf71b8edd47 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 06:55:47 -0500
Subject: [PATCH 014/228] Greatly reduce kernel closure size

Based on access analysis with strace, I determined an essentially
minimal required set of files from the kernel source that was needed to
build all current kernel packages on 3.10, which ultimately resulted in
keeping 30M of source. Generalizing from that minimal set, which
required ad-hoc specifications of which headers outside of include/ and
arch/*/include and which files in the scripts/ directory should be kept,
to a policy of keeping all non-arch-specific headers that aren't part of
the drivers/ directory and the entire scripts/ directory added an
additional 17M, but there was nothing in the analysis that indicated
that that ad-hoc specification was at all complete so I think the extra
hit is worth the likely greater compatibility.

For reference, we now keep:

* All headers that are NOT in arch/${notTargetArch}/include or drivers/
* The scripts/ directory
* Makefile
* arch/${targetArch}/Makefile

IMO the most likely cause of future problems are the headers in
drivers/, but hopefully they won't actually be needed as they add 50M
Ideally kernel packages would only use include and
arch/${targetArch}/include, but alas this is observably not the case.

master:
  * $out
    * size: 234M
    * references-closure: linux-headers, glibc, attr, acl, zlib, gcc,
      coreutils, perl, bash
merge-kernel-builds:
  * $out
    * size: 152M
    * references-closure: none
  * $dev
    * size: 57M
    * references-closure: linux-headers, glibc, zlib, gcc

So even with the non-minimal set we still beat out master. Keeping the
drivers headers would make us only slightly bigger.

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/generic.nix     | 10 ++++-
 .../linux/kernel/manual-config.nix            | 43 ++++++++++++++-----
 2 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 5cb6745da122..42ec3de93691 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -70,10 +70,16 @@ let
 
         kernelConfig = kernelConfigFun configCross;
 
-        inherit (kernel.crossDrv) src patches prePatch preUnpack;
+        inherit (kernel.crossDrv) src patches preUnpack;
       };
 
-    inherit (kernel) src patches prePatch preUnpack;
+    prePatch = kernel.prePatch + ''
+      # Patch kconfig to print "###" after every question so that
+      # generate-config.pl from the generic builder can answer them.
+      sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
+    '';
+
+    inherit (kernel) src patches preUnpack;
 
     buildPhase = ''
       cd $buildRoot
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 67e8f0655393..206f95661e8e 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -49,6 +49,7 @@ let
 
   commonMakeFlags = [
     "O=$(buildRoot)"
+    "DEPMOD=${kmod}/bin/depmod"
   ];
 
   drvAttrs = config_: platform: kernelPatches: configfile:
@@ -94,13 +95,6 @@ let
             echo "stripping FHS paths in \`$mf'..."
             sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
         done
-
-        sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
-
-        # Patch kconfig to print "###" after every question so that
-        # generate-config.pl from the generic builder can answer them.
-        # This only affects oldaskconfig.
-        sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
       '';
 
       configurePhase = ''
@@ -142,15 +136,44 @@ let
         mv $buildRoot $dev/lib/modules/${modDirVersion}/build
 
         # !!! No documentation on how much of the source tree must be kept
-        # If/when kernel builds fail due to missing files, you can undelete
-        # them here
+        # If/when kernel builds fail due to missing files, you can add
+        # them here. Note that we may see packages requiring headers
+        # from drivers/ in the future; it adds 50M to keep all of its
+        # headers on 3.10 though.
+
+        chmod +w -R ../source
+        arch=`cd $dev/lib/modules/${modDirVersion}/build/arch; ls`
+
+        # Remove unusued arches
+        mv arch/$arch .
+        rm -fR arch
+        mkdir arch
+        mv $arch arch
+
+        # Remove all driver-specific code (50M of which is headers)
+        rm -fR drivers
+
+        # Keep all headers
+        find .  -type f -name '*.h' -print0 | xargs -0 chmod -w
+
+        # Keep root and arch-specific Makefiles
+        chmod -w Makefile
+        chmod -w arch/$arch/Makefile
+
+        # Keep whole scripts dir
+        chmod -w -R scripts
+
+        # Delete everything not kept
+        find . -type f -perm -u=w -print0 | xargs -0 rm
+
+        # Delete empty directories
         find -empty -type d -delete
       '' else optionalString installsFirmware ''
         make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
       '');
 
-      # !!! This leaves references to gcc and kmod in $dev
+      # !!! This leaves references to gcc in $dev
       # that we might be able to avoid
       postFixup = if isModular then ''
         if [ -z "$dontStrip" ]; then

From 010e63c69d4e240d01e319af392fbf6b03cf7490 Mon Sep 17 00:00:00 2001
From: Ian-Woo Kim <ianwookim@gmail.com>
Date: Wed, 1 Jan 2014 09:35:31 +0100
Subject: [PATCH 015/228] poppler-glib.pc has ${includedir}/poppler in cflags
 (needed for dependent pkgs)

Cf. #1458.
---
 .../development/libraries/poppler/default.nix |  2 +-
 .../libraries/poppler/poppler-glib.patch      | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/development/libraries/poppler/poppler-glib.patch

diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 0db3722e6aaa..1f1ab5d72823 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -32,7 +32,7 @@ let
 
     cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";
 
-    patches = [ ./datadir_env.patch ];
+    patches = [ ./datadir_env.patch ./poppler-glib.patch ];
 
     # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files
     # such as `../../../test/unittestcases/UseNone.pdf'.
diff --git a/pkgs/development/libraries/poppler/poppler-glib.patch b/pkgs/development/libraries/poppler/poppler-glib.patch
new file mode 100644
index 000000000000..09f5a145b847
--- /dev/null
+++ b/pkgs/development/libraries/poppler/poppler-glib.patch
@@ -0,0 +1,19 @@
+diff -rupN a/poppler-glib.pc.cmake b/poppler-glib.pc.cmake
+--- a/poppler-glib.pc.cmake	2013-08-17 01:20:41.000000001 +0200
++++ b/poppler-glib.pc.cmake	2014-01-01 09:30:50.000000001 +0100
+@@ -10,4 +10,4 @@ Requires: glib-2.0 >= @GLIB_REQUIRED@ go
+ @PC_REQUIRES_PRIVATE@
+ 
+ Libs: -L${libdir} -lpoppler-glib
+-Cflags: -I${includedir}/poppler/glib
++Cflags: -I${includedir}/poppler/glib -I${includedir}/poppler
+diff -rupN a/poppler-glib.pc.in b/poppler-glib.pc.in
+--- a/poppler-glib.pc.in	2013-08-17 01:20:41.000000001 +0200
++++ b/poppler-glib.pc.in	2014-01-01 09:27:17.000000001 +0100
+@@ -10,4 +10,5 @@ Requires: glib-2.0 >= @GLIB_REQUIRED@ go
+ @PC_REQUIRES_PRIVATE@
+ 
+ Libs: -L${libdir} -lpoppler-glib
+-Cflags: -I${includedir}/poppler/glib
++Cflags: -I${includedir}/poppler/glib -I${includedir}/poppler
++

From 4dad238bab263f1d0866d052857e4abd820ece0b Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Sun, 5 Jan 2014 16:33:07 +0400
Subject: [PATCH 016/228] Fix forced CPU choice according to current openblas
 documentation

---
 pkgs/development/libraries/science/math/openblas/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 4d30671c4880..5ceedd674f53 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
 
-  target = if cpu == "i686" then "P6" else 
+  target = if cpu == "i686" then "P2" else 
     if cpu == "x86_64" then "CORE2" else
      # allow autodetect
       "";

From f4ce59cee0d3a5ecf0c026f054db0a51879a04e9 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 07:38:39 -0500
Subject: [PATCH 017/228] Remove non-kernel-specific klibc derivation

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix | 2 +-
 pkgs/top-level/all-packages.nix                    | 4 ----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
index 9b2949e3e368..aeea4b53c15c 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
@@ -83,7 +83,7 @@ let
   isl = pkgs.isl.crossDrv;
   mpc = pkgs.mpc.crossDrv;
   binutils = pkgs.binutils.crossDrv;
-  klibc = pkgs.klibc.crossDrv;
+  klibc = pkgs.linuxPackages.klibc.crossDrv;
 
 in
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6846af91de6f..30aa8dbbc40f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6940,10 +6940,6 @@ let
 
   lsiutil = callPackage ../os-specific/linux/lsiutil { };
 
-  klibc = callPackage ../os-specific/linux/klibc {
-    linuxHeaders = glibc.kernelHeaders;
-  };
-
   klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
 
   kmod = callPackage ../os-specific/linux/kmod { };

From ef930ced6432f7b055456c8249dace1b80f7e8d0 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 07:45:14 -0500
Subject: [PATCH 018/228] klibcShrunk should be a kernelPackage

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/top-level/all-packages.nix | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 30aa8dbbc40f..f35bb9b642a1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6869,6 +6869,9 @@ let
 
     klibc = callPackage ../os-specific/linux/klibc { };
 
+    klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
+
+
     /* compiles but has to be integrated into the kernel somehow
        Let's have it uncommented and finish it..
     */
@@ -6940,8 +6943,6 @@ let
 
   lsiutil = callPackage ../os-specific/linux/lsiutil { };
 
-  klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
-
   kmod = callPackage ../os-specific/linux/kmod { };
 
   kvm = qemu_kvm;

From 1d11a242b3b6ecc7698483891f4c8b72124bf148 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 08:11:18 -0500
Subject: [PATCH 019/228] Fix tarball

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/top-level/all-packages.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f35bb9b642a1..4b76f4b02368 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6761,7 +6761,7 @@ let
     inherit fetchurl stdenv perl linuxManualConfig;
     kernelPatches =
       [ kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+      ] ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
       ];
@@ -6784,7 +6784,7 @@ let
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+      ] ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
@@ -6805,7 +6805,7 @@ let
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+      ] ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
@@ -6817,7 +6817,7 @@ let
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
+      ] ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32

From a6f9ad96ee7a895dd0dd4e853c224cfbad35151b Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Tue, 31 Dec 2013 18:46:02 -0600
Subject: [PATCH 020/228] texlive-core: bump to version 20131219

---
 pkgs/tools/typesetting/tex/texlive/default.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 47421185d8ac..b5e3c981e1cc 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -6,13 +6,13 @@ rec {
   };
 
   texmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20131112.orig.tar.xz;
-    sha256 = "1zak95xh35bnzr3hjrjaxg0yisyw8g3xcym0ywsspc4dxpn1qgk1";
+    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20131219.orig.tar.xz;
+    sha256 = "1kcfw6n9rv3wznyqkvkad60p1zljbn1cw2jhajzcrn8m39y0ad3x";
   };
 
   langTexmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131112.orig.tar.xz;
-    sha256 = "003rj7pv38lgmggya2nbzcyfdx5d4wa7h1h4xh7iivsxja7z4m1d";
+    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131219.orig.tar.xz;
+    sha256 = "139hb91ks62q56dnnrzhcxmm2wpz0b40ka7smaqgw86r002albb0";
   };
 
   passthru = { inherit texmfSrc langTexmfSrc; };

From 522a835743064e353f13d31d7cc5ffc8158cbecb Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Tue, 31 Dec 2013 18:46:21 -0600
Subject: [PATCH 021/228] texlive-extra: bump to version 20131219

---
 pkgs/tools/typesetting/tex/texlive/extra.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
index ab8046fcc967..c6624e469e5d 100644
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ b/pkgs/tools/typesetting/tex/texlive/extra.nix
@@ -2,8 +2,8 @@ args: with args;
 rec {
   name = "texlive-extra-2013";
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131112.orig.tar.xz;
-    sha256 = "0qpiig9sz8wx3dhy1jha7rkxrhvpf2cmfx424h68s3ql05nnw65i";
+    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131219.orig.tar.xz;
+    sha256 = "09iijzq0y5kq16f3lv2jrln190ldbbzywpwr33hrmnw5yp3izmrh";
   };
 
   buildInputs = [texLive xz];

From 17d02b49e31c96600aada208f5ca68c191d58956 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Tue, 31 Dec 2013 18:46:48 -0600
Subject: [PATCH 022/228] texlive-beamer: bump to version 3.24

---
 pkgs/tools/typesetting/tex/texlive/beamer.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index bf9079ab1046..4cb03e7d2c54 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "texlive-beamer-2012";
+  name = "texlive-beamer-2013";
   src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.10.orig.tar.gz;
-    sha256 = "1vk7nr1lxinyj941nz5xzcpzircd60s8sgmq7jd2gqmf5ynd27nx";
+    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.24.orig.tar.gz;
+    sha256 = "0rzjlbs67kzmvlh7lwga4yxgddvrvfkkhhx1ajdn4lqy2w9zxiv8";
   };
 
   buildInputs = [texLive];

From eb1e109b517ceda881d11e75b6c2184e3d255c90 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Tue, 31 Dec 2013 07:50:53 -0600
Subject: [PATCH 023/228] ffmpeg: add configurable

---
 .../libraries/ffmpeg/configurable.nix         | 94 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 +
 2 files changed, 96 insertions(+)
 create mode 100644 pkgs/development/libraries/ffmpeg/configurable.nix

diff --git a/pkgs/development/libraries/ffmpeg/configurable.nix b/pkgs/development/libraries/ffmpeg/configurable.nix
new file mode 100644
index 000000000000..e1eda8a4315d
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/configurable.nix
@@ -0,0 +1,94 @@
+{ stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
+, lame, speex, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
+, libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
+, freetype, fontconfig
+}:
+
+stdenv.mkDerivation rec {
+  name = "ffmpeg-2.1.1";
+
+  src = fetchurl {
+    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "1qnspbpwa6cflsb6mkm84ay4nfx60ism6d7lgvnasidck9dmxydy";
+  };
+
+  mp3Support = config.ffmpeg.mp3 or true;
+  speexSupport = config.ffmpeg.speex or true;
+  theoraSupport = config.ffmpeg.theora or true;
+  vorbisSupport = config.ffmpeg.vorbis or true;
+  vpxSupport = config.ffmpeg.vpx or false;
+  x264Support = config.ffmpeg.x264 or true;
+  xvidSupport = config.ffmpeg.xvid or true;
+  opusSupport = config.ffmpeg.opus or true;
+  vdpauSupport = config.ffmpeg.vdpau or true;
+  vaapiSupport = config.ffmpeg.vaapi or true;
+  faacSupport = config.ffmpeg.faac or false;
+  dc1394Support = config.ffmpeg.dc1394 or false;
+  x11grabSupport = config.ffmpeg.x11grab or false;
+  playSupport = config.ffmpeg.play or true;
+  freetypeSupport = config.ffmpeg.freetype or true;
+
+  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
+  # the resulting library is GPL'ed, so it can only be used in GPL'ed
+  # applications.
+  configureFlags = [
+    "--enable-gpl"
+    "--enable-postproc"
+    "--enable-swscale"
+    "--enable-shared"
+    "--enable-avresample"
+    "--enable-runtime-cpudetect"
+  ]
+    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
+    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
+    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
+    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
+    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
+    ++ stdenv.lib.optional x264Support "--enable-libx264"
+    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional opusSupport "--enable-libopus"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
+    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
+    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
+    ++ stdenv.lib.optional playSupport "--enable-ffplay"
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig";
+
+  buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
+    ++ stdenv.lib.optional mp3Support lame
+    ++ stdenv.lib.optional speexSupport speex
+    ++ stdenv.lib.optional theoraSupport libtheora
+    ++ stdenv.lib.optional vorbisSupport libvorbis
+    ++ stdenv.lib.optional vpxSupport libvpx
+    ++ stdenv.lib.optional x264Support x264
+    ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional opusSupport libopus
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional vaapiSupport libva
+    ++ stdenv.lib.optional faacSupport faac
+    ++ stdenv.lib.optional dc1394Support libdc1394
+    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
+    ++ stdenv.lib.optional playSupport SDL
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ];
+
+  enableParallelBuilding = true;
+
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  passthru = {
+    inherit vdpauSupport;
+  };
+
+  meta = {
+    homepage = http://www.ffmpeg.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4b76f4b02368..1fa003adcd07 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4184,6 +4184,8 @@ let
 
   ffmpeg = ffmpeg_2;
 
+  ffmpeg_configurable = callPackage ../development/libraries/ffmpeg/configurable.nix { };
+
   ffms = callPackage ../development/libraries/ffms { };
 
   fftw = callPackage ../development/libraries/fftw { };

From e548166c446b3873b696a0861b57aefab9396c7c Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Thu, 2 Jan 2014 15:11:02 -0600
Subject: [PATCH 024/228] add fdk-aac-0.1.3

---
 .../development/libraries/fdk-aac/default.nix | 19 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 21 insertions(+)
 create mode 100644 pkgs/development/libraries/fdk-aac/default.nix

diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix
new file mode 100644
index 000000000000..a9c8b19dc501
--- /dev/null
+++ b/pkgs/development/libraries/fdk-aac/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+let version = "0.1.3";
+in
+stdenv.mkDerivation {
+  name = "fdk-aac-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/opencore-amr/fdk-aac/fdk-aac-${version}.tar.gz";
+    sha256 = "138c1l6c571289czihk0vlcfbla7qlac2jd5yyps5dyg08l8gjx9";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A high-quality implementation of the AAC codec from Android";
+    homepage = "http://sourceforge.net/projects/opencore-amr/";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1fa003adcd07..6fbc1086bd17 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -913,6 +913,8 @@ let
 
   lprof = callPackage ../tools/graphics/lprof { };
 
+  fdk_aac = callPackage ../development/libraries/fdk-aac { };
+
   flvtool2 = callPackage ../tools/video/flvtool2 { };
 
   fontforge = lowPrio (callPackage ../tools/misc/fontforge { });

From 90c99bab599649001487523e8451dd95840db318 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Thu, 2 Jan 2014 15:57:28 -0600
Subject: [PATCH 025/228] ffmpeg: make fdk-aac support configurable

---
 pkgs/development/libraries/ffmpeg/2.x.nix          |  9 +++++++--
 pkgs/development/libraries/ffmpeg/configurable.nix | 10 +++++++---
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 475da7c4c643..25f5578ca06b 100644
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -14,6 +14,7 @@
 , x11grabSupport ? false, libXext ? null, libXfixes ? null
 , playSupport ? true, SDL ? null
 , freetypeSupport ? true, freetype ? null, fontconfig ? null
+, fdkAACSupport ? false, fdk_aac ? null
 }:
 
 assert speexSupport -> speex != null;
@@ -29,6 +30,7 @@ assert faacSupport -> faac != null;
 assert x11grabSupport -> libXext != null && libXfixes != null;
 assert playSupport -> SDL != null;
 assert freetypeSupport -> freetype != null;
+assert fdkAACSupport -> fdk_aac != null;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-2.1.1";
@@ -62,7 +64,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
     ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
     ++ stdenv.lib.optional playSupport "--enable-ffplay"
-    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig";
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
+    ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree";
 
   buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
     ++ stdenv.lib.optional mp3Support lame
@@ -79,7 +82,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional dc1394Support libdc1394
     ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
     ++ stdenv.lib.optional playSupport SDL
-    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ];
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
+    ++ stdenv.lib.optional fdkAACSupport fdk_aac;
 
   enableParallelBuilding = true;
 
@@ -100,5 +104,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/configurable.nix b/pkgs/development/libraries/ffmpeg/configurable.nix
index e1eda8a4315d..90f8f9299e75 100644
--- a/pkgs/development/libraries/ffmpeg/configurable.nix
+++ b/pkgs/development/libraries/ffmpeg/configurable.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
 , lame, speex, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
 , libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
-, freetype, fontconfig
+, freetype, fontconfig, fdk_aac
 }:
 
 stdenv.mkDerivation rec {
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   vdpauSupport = config.ffmpeg.vdpau or true;
   vaapiSupport = config.ffmpeg.vaapi or true;
   faacSupport = config.ffmpeg.faac or false;
+  fdkAACSupport = config.ffmpeg.fdk or false;
   dc1394Support = config.ffmpeg.dc1394 or false;
   x11grabSupport = config.ffmpeg.x11grab or false;
   playSupport = config.ffmpeg.play or true;
@@ -52,7 +53,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
     ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
     ++ stdenv.lib.optional playSupport "--enable-ffplay"
-    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig";
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
+    ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree";
 
   buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
     ++ stdenv.lib.optional mp3Support lame
@@ -69,7 +71,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional dc1394Support libdc1394
     ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
     ++ stdenv.lib.optional playSupport SDL
-    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ];
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
+    ++ stdenv.lib.optional fdkAACSupport fdk_aac;
 
   enableParallelBuilding = true;
 
@@ -90,5 +93,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
   };
 }

From adb57a0cc48a31b4994dd9efa83a9ce2d192eaa5 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 10:31:16 -0500
Subject: [PATCH 026/228] kernel: Fix depmod references

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/manual-config.nix | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 206f95661e8e..861779d9f056 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -49,7 +49,6 @@ let
 
   commonMakeFlags = [
     "O=$(buildRoot)"
-    "DEPMOD=${kmod}/bin/depmod"
   ];
 
   drvAttrs = config_: platform: kernelPatches: configfile:
@@ -95,6 +94,7 @@ let
             echo "stripping FHS paths in \`$mf'..."
             sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
         done
+        sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
       '';
 
       configurePhase = ''
@@ -168,6 +168,9 @@ let
 
         # Delete empty directories
         find -empty -type d -delete
+
+        # Remove reference to kmod
+        sed -i Makefile -e 's|= ${kmod}/sbin/depmod|= depmod|'
       '' else optionalString installsFirmware ''
         make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"

From b10fe8ae3f92e99bbc110e178df125a6ef686497 Mon Sep 17 00:00:00 2001
From: Moritz Heidkamp <moritz@twoticketsplease.de>
Date: Sun, 5 Jan 2014 17:38:14 +0000
Subject: [PATCH 027/228] stumpwm: Copy stumpish to bin/, add contrib/
 directory.

---
 pkgs/development/lisp-modules/stumpwm/default.nix | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/lisp-modules/stumpwm/default.nix b/pkgs/development/lisp-modules/stumpwm/default.nix
index f6ef41dda1da..57939526f565 100644
--- a/pkgs/development/lisp-modules/stumpwm/default.nix
+++ b/pkgs/development/lisp-modules/stumpwm/default.nix
@@ -19,14 +19,17 @@ buildLispPackage rec {
       ${x.deployConfigScript}
       export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD/"
       ./autogen.sh 
-      configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) "
+      configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) --with-contrib-dir=$out/lib/common-lisp/stumpwm/contrib/"
     '';
-    installPhase=x.installPhase + ''
+    installPhase = with pkgs; x.installPhase + ''
       make install 
 
       if [ "$NIX_LISP" = "sbcl" ]; then
         wrapProgram "$out"/bin/stumpwm --set SBCL_HOME "${clwrapper.lisp}/lib/sbcl"
       fi;
+
+      mv $out/lib/common-lisp/stumpwm/contrib/stumpish $out/bin/stumpish
+      wrapProgram "$out"/bin/stumpish --prefix PATH : "${xlibs.xprop}/bin:${coreutils}/bin:${gnugrep}/bin:${gnused}/bin:${rlwrap}/bin:${ncurses}/bin"
     '';
     postInstall = ''false'';
   };

From 886a675f79f7f9c08163e062df0a47ebdce00190 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 13:15:03 -0500
Subject: [PATCH 028/228] Fix extra kernelDev reference

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 nixos/modules/services/x11/xserver.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 7fd0ee34a991..60ed165d7ba1 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -537,7 +537,7 @@ in
                 ''
                   ln -sf ${kernelPackages.nvidia_x11} /run/opengl-driver
                   ${optionalString cfg.driSupport32Bit
-                    "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernelDev = null; } } /run/opengl-driver-32"}
+                    "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernel = null; } } /run/opengl-driver-32"}
                 ''
               else if elem "nvidiaLegacy173" driverNames then
                 "ln -sf ${kernelPackages.nvidia_x11_legacy173} /run/opengl-driver"
@@ -545,7 +545,7 @@ in
                 ''
                   ln -sf ${kernelPackages.nvidia_x11_legacy304} /run/opengl-driver
                   ${optionalString cfg.driSupport32Bit
-                    "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11_legacy304.override { libsOnly = true; kernelDev = null; } } /run/opengl-driver-32"}
+                    "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11_legacy304.override { libsOnly = true; kernel = null; } } /run/opengl-driver-32"}
                 ''
               else if elem "ati_unfree" driverNames then
                 "ln -sf ${kernelPackages.ati_drivers_x11} /run/opengl-driver"

From b0000b29af32686ac43b5c7ade948632959a7f72 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 15:53:39 -0500
Subject: [PATCH 029/228] gummiboot module: Don't use obsolete environment.nix
 option

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 nixos/modules/system/boot/loader/gummiboot/gummiboot.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
index 9193cd3bc533..7edc30776379 100644
--- a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
+++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
@@ -14,7 +14,7 @@ let
 
     inherit (pkgs) python gummiboot;
 
-    inherit (config.environment) nix;
+    nix = config.nix.package;
 
     inherit (cfg) timeout;
 

From 053e029ee6b5d3ec4f14df0f0e4ea88f425075f6 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sun, 5 Jan 2014 16:07:32 -0500
Subject: [PATCH 030/228] Some arches have multiple Makefiles

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/os-specific/linux/kernel/manual-config.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 861779d9f056..b387efd5c410 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -158,7 +158,7 @@ let
 
         # Keep root and arch-specific Makefiles
         chmod -w Makefile
-        chmod -w arch/$arch/Makefile
+        chmod -w arch/$arch/Makefile*
 
         # Keep whole scripts dir
         chmod -w -R scripts

From 14eba9f3f9231a4a4656e66826bc5fdeb9224bc1 Mon Sep 17 00:00:00 2001
From: Tomasz Kontusz <tomasz.kontusz@gmail.com>
Date: Sun, 5 Jan 2014 19:50:03 +0100
Subject: [PATCH 031/228] Bump libwnck3 and pygobject3, and enable
 introspection

---
 pkgs/development/libraries/libwnck/3.x.nix           | 10 +++++-----
 .../libwnck/install_introspection_to_prefix.patch    | 12 ++++++++++++
 pkgs/development/python-modules/pygobject/3.nix      | 12 +++++-------
 3 files changed, 22 insertions(+), 12 deletions(-)
 create mode 100644 pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch

diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 17393fab0745..6c6c0812c43c 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -1,15 +1,15 @@
 {stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool}:
 
 stdenv.mkDerivation {
-  name = "libwnck-3.2.1";
+  name = "libwnck-3.4.7";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libwnck/3.2/libwnck-3.2.1.tar.xz;
-    sha256 = "1nm34rpr0n559x1ba4kmxbhqclvvnlz0g8xqbbj709q9irnmifpa";
+    url = mirror://gnome/sources/libwnck/3.4/libwnck-3.4.7.tar.xz;
+    sha256 = "d48ac9c7f50c0d563097f63d07bcc83744c7d92a1b4ef65e5faeab32b5ccb723";
   };
 
+  patches = [ ./install_introspection_to_prefix.patch ];
+
   buildInputs = [ pkgconfig intltool ];
   propagatedBuildInputs = [ libX11 gtk3 ];
-
-  configureFlags = [ "--disable-introspection" ];
 }
diff --git a/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch b/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch
new file mode 100644
index 000000000000..1bcf4a12ea31
--- /dev/null
+++ b/pkgs/development/libraries/libwnck/install_introspection_to_prefix.patch
@@ -0,0 +1,12 @@
+--- libwnck-3.4.7/configure	2013-08-20 14:46:14.000000000 +0000
++++ libwnck-3.4.7-fix/configure	2014-01-05 17:18:56.665427787 +0000
+@@ -16150,7 +16150,7 @@ $as_echo "$found_introspection" >&6; }
+        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
++       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index ffbe906a9007..903db3e252cc 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -1,14 +1,12 @@
 { stdenv, fetchurl, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo }:
  
 stdenv.mkDerivation rec {
-  name = "pygobject-3.0.4";
-   
-  src = fetchurl {
-    url = "mirror://gnome/sources/pygobject/3.0/${name}.tar.xz";
-    sha256 = "f457b1d7f6b8bfa727593c3696d2b405da66b4a8d34cd7d3362ebda1221f0661";
-  };
+  name = "pygobject-3.10.2";
 
-  configureFlags = "--disable-introspection";
+  src = fetchurl {
+    url = "mirror://gnome/sources/pygobject/3.10/${name}.tar.xz";
+    sha256 = "75608f2c4052f0277508fc79debef026d9e84cb9261de2b922387c093d32c326";
+  };
 
   buildInputs = [ python pkgconfig glib gobjectIntrospection pycairo cairo ];
 

From a504b97e3e02f9a19cc45724709b9c4d71e3f2b8 Mon Sep 17 00:00:00 2001
From: Tomasz Kontusz <tomasz.kontusz@gmail.com>
Date: Sun, 5 Jan 2014 12:55:34 +0100
Subject: [PATCH 032/228] Add d-feet, a DBus debugger

---
 .../development/tools/misc/d-feet/default.nix | 43 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  5 +++
 2 files changed, 48 insertions(+)
 create mode 100644 pkgs/development/tools/misc/d-feet/default.nix

diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
new file mode 100644
index 000000000000..b6a7920c5ba8
--- /dev/null
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
+, pango, gdk_pixbuf, atk, pep8, python, makeWrapper
+, pygobject3, gobjectIntrospection, libwnck3
+, gnome_icon_theme }:
+
+let
+  version = "${major}.8";
+  major = "0.3";
+in
+
+stdenv.mkDerivation rec {
+  name = "d-feet-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
+    sha256 = "e8423feb18fdff9b1465bf8442b78994ba13c12f8fa3b08e6a2f05768b4feee5";
+  };
+
+  buildInputs = [
+    pkgconfig libxml2 itstool intltool glib gtk3 pep8 python
+    makeWrapper pygobject3 libwnck3
+  ];
+
+  postInstall =
+    ''
+      wrapProgram $out/bin/d-feet \
+        --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
+        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+        --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \
+        --prefix XDG_DATA_DIRS : "${gnome_icon_theme}/share:$out/share"
+    '';
+
+  meta = {
+    description = "D-Feet is an easy to use D-Bus debugger";
+
+    longDescription = ''
+      D-Feet can be used to inspect D-Bus interfaces of running programs
+      and invoke methods on those interfaces.
+    '';
+
+    homepage = https://wiki.gnome.org/action/show/Apps/DFeet;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4b76f4b02368..6dc2ce8d9e5f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3613,6 +3613,11 @@ let
 
   dejagnu = callPackage ../development/tools/misc/dejagnu { };
 
+  dfeet = callPackage ../development/tools/misc/d-feet {
+    inherit (pythonPackages) pep8;
+    inherit (gnome3) gnome_icon_theme;
+  };
+
   ddd = callPackage ../development/tools/misc/ddd { };
 
   distcc = callPackage ../development/tools/misc/distcc { };

From fc55c71fb8048bed7a4a8ba4f51d8e4690e46669 Mon Sep 17 00:00:00 2001
From: Tomasz Kontusz <tomasz.kontusz@gmail.com>
Date: Mon, 6 Jan 2014 00:48:23 +0100
Subject: [PATCH 033/228] Add platforms and maintainers to d-feet.

---
 lib/maintainers.nix                            | 1 +
 pkgs/development/tools/misc/d-feet/default.nix | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 285197e381df..9f8406259780 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -31,6 +31,7 @@
   iyzsong = "Song Wenwu <iyzsong@gmail.com>";
   jcumming = "Jack Cummings <jack@mudshark.org>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
+  ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
   lovek323 = "Jason O'Conal <jason@oconal.id.au>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index b6a7920c5ba8..d4847afc786b 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -39,5 +39,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = https://wiki.gnome.org/action/show/Apps/DFeet;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ktosiek ];
   };
 }

From 27425f638d6a8c71749271d1222a9026e64e3e3d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:20:06 +0100
Subject: [PATCH 034/228] haskell-wai-handler-fastcgi: re-generate with
 cabal2nix

---
 .../libraries/haskell/wai-handler-fastcgi/default.nix  | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
index feb186209b7b..6612003fa2e6 100644
--- a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
@@ -1,14 +1,14 @@
-{ cabal, wai, waiExtra, fcgi }:
+{ cabal, fcgi, wai, waiExtra }:
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-fastcgi";
   version = "2.0.0";
   sha256 = "1pqiqx1wq2iv705f8bd4sxmjmmkkxiw4g6a9dpwnawwb5n0d88nl";
-  buildDepends = [
-    wai waiExtra fcgi
-  ];
+  buildDepends = [ wai waiExtra ];
+  extraLibraries = [ fcgi ];
   meta = {
-    description = "A WAI handler that out to the libfcgi C library";
+    homepage = "http://www.yesodweb.com/book/web-application-interface";
+    description = "Wai handler to fastcgi";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };

From 75090c7c862c4ebbfe69cd3fde578fad78d15318 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:12 +0100
Subject: [PATCH 035/228] haskell-git-annex: update to version 5.20131230

---
 .../version-management/git-and-tools/git-annex/default.nix   | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index b023ac5d160b..640309a384ba 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -14,8 +14,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20131221";
-  sha256 = "1gkb8fc0fjjn0rigajgliqy381pmkpx4ha1rx65dcw15rqnrawb3";
+  version = "5.20131230";
+  sha256 = "174ywjvgqx9yy2larlsrzxdhxx5arhfwwpf8j9m45h5hwy8nn6ma";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -42,7 +42,6 @@ cabal.mkDerivation (self: {
                     -fDNS
                     -fProduction
                     -fTDFA";
-  doCheck = false;
   installPhase = ''
     export HOME="$NIX_BUILD_TOP/tmp"
     mkdir "$HOME"

From 74c4d15bf22e25a14f5088cd1a20e4dc3da6c08d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:12 +0100
Subject: [PATCH 036/228] haskell-elm-server: update to version 0.10.1

---
 pkgs/development/compilers/elm/elm-server.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/compilers/elm/elm-server.nix b/pkgs/development/compilers/elm/elm-server.nix
index 56924d589f4d..760a6f072de1 100644
--- a/pkgs/development/compilers/elm/elm-server.nix
+++ b/pkgs/development/compilers/elm/elm-server.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "elm-server";
-  version = "0.9.0.2";
-  sha256 = "0g362llb7jkwz8xhyhhsc8hz0vj7s7bgfz1az5qfh1cm4h8nynwr";
+  version = "0.10.1";
+  sha256 = "0rh01jm9h9zbslnzy6xg7bin76gdmypannh3ly40azplw9xmf2dn";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [

From 1eb504e5424e5fa787ba7bdc77c19b8afa9f7be1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 037/228] haskell-DRBG: update to version 0.5.2

---
 pkgs/development/libraries/haskell/DRBG/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/DRBG/default.nix b/pkgs/development/libraries/haskell/DRBG/default.nix
index 0d479b815153..81f0455bd5a5 100644
--- a/pkgs/development/libraries/haskell/DRBG/default.nix
+++ b/pkgs/development/libraries/haskell/DRBG/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "DRBG";
-  version = "0.5.1";
-  sha256 = "0mqgll5rf0h0yrdng1w9i8pis4yv9f4qffkh4c0g1ng5lxa9l747";
+  version = "0.5.2";
+  sha256 = "0c8w8h2mxpk2avj6321q9a1smzp970cyn87aj98vn8dln7h9cqsi";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [

From fa203c0673543d416583560678756f6ab7fc8081 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 038/228] haskell-cassava: update to version 0.3.0.0

---
 pkgs/development/libraries/haskell/cassava/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
index 822cd41e4daf..0d4022062934 100644
--- a/pkgs/development/libraries/haskell/cassava/default.nix
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cassava";
-  version = "0.2.2.0";
-  sha256 = "0jv8lb9z7yf8rddyac0frsw4d1gchrgx8l9rryhl88gs7jss7dh7";
+  version = "0.3.0.0";
+  sha256 = "0s297664if9zp2y441jihcrmdfgdicjgncyx0rpddlr789vkbs9s";
   buildDepends = [
     attoparsec blazeBuilder deepseq text unorderedContainers vector
   ];

From c7358d64a810ee64b37496473c588b00dbe1bddd Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 039/228] haskell-errors: update to version 1.4.5

---
 pkgs/development/libraries/haskell/errors/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/errors/default.nix b/pkgs/development/libraries/haskell/errors/default.nix
index 1b091d871bb8..5e55f3a6d59c 100644
--- a/pkgs/development/libraries/haskell/errors/default.nix
+++ b/pkgs/development/libraries/haskell/errors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "errors";
-  version = "1.4.4";
-  sha256 = "1mhh5xna5nppqg8aw93iil7nsnpx5j6r21a12bx4mmip8nzr6480";
+  version = "1.4.5";
+  sha256 = "16m4psk1150319bd2hrswpp2h90l1hhh7w13arfhy4ylh8vscm4q";
   buildDepends = [ either safe transformers ];
   jailbreak = true;
   meta = {

From 6851ccd5295ea78bdd20e450bfc8e67b12f9ca37 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 040/228] haskell-foldl: update to version 1.0.1

---
 pkgs/development/libraries/haskell/foldl/default.nix | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
index 44312abb35be..efc0aa61d3d3 100644
--- a/pkgs/development/libraries/haskell/foldl/default.nix
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -1,9 +1,10 @@
-{ cabal }:
+{ cabal, text }:
 
 cabal.mkDerivation (self: {
   pname = "foldl";
-  version = "1.0.0";
-  sha256 = "0r9lkyw33231nfl9ly25hk2i7k3c8ssmng473xvk76zkcrksj131";
+  version = "1.0.1";
+  sha256 = "194dkpjh0964cmh4mg35qffkg8dx8d821aj8k6khb40fq5s8smjy";
+  buildDepends = [ text ];
   meta = {
     description = "Composable, streaming, and efficient left folds";
     license = self.stdenv.lib.licenses.bsd3;

From 7a3ed91a65236b773568d6a443f2bd1a9d78e4c1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 041/228] haskell-hslua: update to version 0.3.10

---
 pkgs/development/libraries/haskell/hslua/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hslua/default.nix b/pkgs/development/libraries/haskell/hslua/default.nix
index 3d1505a7e805..a0b336f24f39 100644
--- a/pkgs/development/libraries/haskell/hslua/default.nix
+++ b/pkgs/development/libraries/haskell/hslua/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hslua";
-  version = "0.3.9";
-  sha256 = "0rs9hfc1k7wihgvp6vizccwppv5nd9mszp7a2y7pwjrprapwj07c";
+  version = "0.3.10";
+  sha256 = "1d79sp9xmzbq74jk7kj81j0z4vm813fkkxkpbyzg07x649i6q0v2";
   buildDepends = [ mtl ];
   pkgconfigDepends = [ lua ];
   configureFlags = "-fsystem-lua";

From 4f78ed6da73b3682cc96a412dc12c2a14615f826 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 042/228] haskell-liblastfm: update to version 0.3.2.0

---
 pkgs/development/libraries/haskell/liblastfm/default.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/libraries/haskell/liblastfm/default.nix b/pkgs/development/libraries/haskell/liblastfm/default.nix
index 83f87f7c8b5d..1103651f0d0c 100644
--- a/pkgs/development/libraries/haskell/liblastfm/default.nix
+++ b/pkgs/development/libraries/haskell/liblastfm/default.nix
@@ -1,14 +1,14 @@
 { cabal, aeson, cereal, contravariant, cryptoApi, httpConduit
-, httpTypes, network, pureMD5, semigroups, text, void
+, httpTypes, network, pureMD5, semigroups, tagged, text, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "liblastfm";
-  version = "0.3.0.0";
-  sha256 = "131p51yi17qfgk8h5b0rx2jyl37w4spafxmlcws1s5pk6bwy75jf";
+  version = "0.3.2.0";
+  sha256 = "09xsjkwknfvdd3zb7a1qbch45ri6knkn33wl6xbi48sw5i79lxnv";
   buildDepends = [
     aeson cereal contravariant cryptoApi httpConduit httpTypes network
-    pureMD5 semigroups text void
+    pureMD5 semigroups tagged text void
   ];
   meta = {
     description = "Lastfm API interface";

From f77b9da1843849a4ee9ec138c3e32de06aedfea5 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 043/228] haskell-mmorph: update to version 1.0.1

---
 pkgs/development/libraries/haskell/mmorph/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/mmorph/default.nix b/pkgs/development/libraries/haskell/mmorph/default.nix
index c4379499fad9..702aca476fd0 100644
--- a/pkgs/development/libraries/haskell/mmorph/default.nix
+++ b/pkgs/development/libraries/haskell/mmorph/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mmorph";
-  version = "1.0.0";
-  sha256 = "10r8frcn6ar56n1vxy8rkys8j52f8xkqan8qxqanka1150k6khqk";
+  version = "1.0.1";
+  sha256 = "15a4isvxb4my72hzndgfy66792r9fpkn9vnmr2fnv9d9vl058y14";
   buildDepends = [ transformers ];
   meta = {
     description = "Monad morphisms";

From 0d06ef978fc2441d8d5f934fe241855882234b6d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 044/228] haskell-persistent-template: update to version 1.3.1

---
 .../libraries/haskell/persistent-template/default.nix     | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index b004a18af154..60ae9a40ca36 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -4,13 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.3.0";
-  sha256 = "0amg5xncxgpc19yhj3gi7ldw126dy725pxj7kp43lbgggap0yfv9";
+  version = "1.3.1";
+  sha256 = "148gznxqzd5743l0r3pc9g14gvanxpl6nfla2lhb2xsa162b2hjx";
   buildDepends = [
     aeson monadControl monadLogger persistent text transformers
     unorderedContainers
   ];
-  testDepends = [ aeson hspec persistent QuickCheck text ];
+  testDepends = [
+    aeson hspec persistent QuickCheck text transformers
+  ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
     description = "Type-safe, non-relational, multi-backend persistence";

From 822c755ea938f70d929b436880280d91a01de569 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:21:13 +0100
Subject: [PATCH 045/228] haskell-smtp-mail: update to version 0.1.4.4

---
 pkgs/development/libraries/haskell/smtp-mail/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/smtp-mail/default.nix b/pkgs/development/libraries/haskell/smtp-mail/default.nix
index e07ed9e236b3..814a89f70c2c 100644
--- a/pkgs/development/libraries/haskell/smtp-mail/default.nix
+++ b/pkgs/development/libraries/haskell/smtp-mail/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "smtp-mail";
-  version = "0.1.4.3";
-  sha256 = "0kpm42n7s3rvkn9i3s8wvkdrq2d85qy422y6p2r4s7nivh6sx1dk";
+  version = "0.1.4.4";
+  sha256 = "055b736sr9w4dxf1p5xjfsisqxk49kz4d3hyqwgdvi8zzvi31vp6";
   buildDepends = [
     base16Bytestring base64Bytestring cryptohash filepath mimeMail
     network text

From a397d62d312ab1cc8c8e84efb27ebdcfe754644b Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:22:06 +0100
Subject: [PATCH 046/228] haskell-text: update to version 1.0.0.1

---
 .../libraries/haskell/text/{1.0.0.0.nix => 1.0.0.1.nix}     | 4 ++--
 pkgs/top-level/haskell-packages.nix                         | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
 rename pkgs/development/libraries/haskell/text/{1.0.0.0.nix => 1.0.0.1.nix} (87%)

diff --git a/pkgs/development/libraries/haskell/text/1.0.0.0.nix b/pkgs/development/libraries/haskell/text/1.0.0.1.nix
similarity index 87%
rename from pkgs/development/libraries/haskell/text/1.0.0.0.nix
rename to pkgs/development/libraries/haskell/text/1.0.0.1.nix
index fe740864970b..31fb2eff8580 100644
--- a/pkgs/development/libraries/haskell/text/1.0.0.0.nix
+++ b/pkgs/development/libraries/haskell/text/1.0.0.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "text";
-  version = "1.0.0.0";
-  sha256 = "13i7xn5xl8lc5hcd08i4n0qp9rx51588jnjn4c68gp87vw1gwvjn";
+  version = "1.0.0.1";
+  sha256 = "1bcwsib0iw88lkg2dyxf030wsm48q311qm4pjqhgjqr5wjvlqdj3";
   buildDepends = [ deepseq ];
   testDepends = [
     deepseq HUnit QuickCheck random testFramework testFrameworkHunit
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 47350533aeab..0544665b59e3 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -167,7 +167,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     split        = self.split_0_2_2;
     stm          = self.stm_2_4_2;
     syb          = self.syb_0_4_1;
-    text         = self.text_1_0_0_0;
+    text         = self.text_1_0_0_1;
     transformers = self.transformers_0_3_0_0;   # this has become a core package in GHC 7.7
     unorderedContainers = self.unorderedContainers_0_2_3_3;
     vector       = self.vector_0_10_9_1;
@@ -2206,8 +2206,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {};
   text_0_11_2_3 = callPackage ../development/libraries/haskell/text/0.11.2.3.nix {};
   text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {};
-  text_1_0_0_0 = callPackage ../development/libraries/haskell/text/1.0.0.0.nix {};
-  text = self.text_1_0_0_0;
+  text_1_0_0_1 = callPackage ../development/libraries/haskell/text/1.0.0.1.nix {};
+  text = self.text_1_0_0_1;
 
   textFormat = callPackage ../development/libraries/haskell/text-format {};
 

From de9ff84ca0d0a6c0197f1521d9d177863493828e Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:23:25 +0100
Subject: [PATCH 047/228] haskell-network: update to version 2.4.2.2

---
 .../libraries/haskell/network/{2.4.2.1.nix => 2.4.2.2.nix}  | 4 ++--
 pkgs/top-level/haskell-packages.nix                         | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
 rename pkgs/development/libraries/haskell/network/{2.4.2.1.nix => 2.4.2.2.nix} (85%)

diff --git a/pkgs/development/libraries/haskell/network/2.4.2.1.nix b/pkgs/development/libraries/haskell/network/2.4.2.2.nix
similarity index 85%
rename from pkgs/development/libraries/haskell/network/2.4.2.1.nix
rename to pkgs/development/libraries/haskell/network/2.4.2.2.nix
index 33a79a7eccf0..390529b6a761 100644
--- a/pkgs/development/libraries/haskell/network/2.4.2.1.nix
+++ b/pkgs/development/libraries/haskell/network/2.4.2.2.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.4.2.1";
-  sha256 = "1rm8zlpy6738wxagk1xmlvawn807cd4xf2fn0hgjqj12scviz60p";
+  version = "2.4.2.2";
+  sha256 = "0bxfy6irh5050ykhwfwzl5fnqi74j7x6k4ni7ahw2zwjy3qafc5x";
   buildDepends = [ parsec ];
   testDepends = [
     HUnit testFramework testFrameworkHunit testFrameworkQuickcheck2
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 0544665b59e3..ea2f73234952 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -154,7 +154,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     HTTP         = self.HTTP_4000_2_10;
     HUnit        = self.HUnit_1_2_5_2;
     mtl          = self.mtl_2_1_2;
-    network      = self.network_2_4_2_1;
+    network      = self.network_2_4_2_2;
     OpenGL       = self.OpenGL_2_9_1_0;
     OpenGLRaw    = self.OpenGLRaw_1_4_0_0;
     parallel     = self.parallel_3_2_0_4;
@@ -1641,8 +1641,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
   network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
   network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {};
-  network_2_4_2_1 = callPackage ../development/libraries/haskell/network/2.4.2.1.nix {};
-  network = self.network_2_4_2_1;
+  network_2_4_2_2 = callPackage ../development/libraries/haskell/network/2.4.2.2.nix {};
+  network = self.network_2_4_2_2;
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
   networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {};

From d8dc14c8d7d825f746cf7082ac90fe1b2ab36fc1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:24:07 +0100
Subject: [PATCH 048/228] haskell-diagrams-contrib: update to version 1.1

---
 pkgs/development/libraries/haskell/diagrams/contrib.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix
index 672cd60e7a57..60a0e729725b 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-contrib";
-  version = "1.0.0.1";
-  sha256 = "0h0rgy2wlmqicrq4zqr1pdff7b7l7ylm1z82iy3adxf38ca2r6y2";
+  version = "1.1";
+  sha256 = "1f2rcqmcf94ykas4qjfcksh89z2p0hr4s1zkcx0izphrazjyj9gq";
   buildDepends = [
     arithmoi circlePacking colour dataDefault dataDefaultClass
     diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec

From d91b03e9a8b68e1533197ae54c10551e4af7be68 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:24:07 +0100
Subject: [PATCH 049/228] haskell-diagrams: update to version 1.0.0.1

---
 pkgs/development/libraries/haskell/diagrams/diagrams.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/diagrams/diagrams.nix b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
index e6590ecc2dda..7a0cd53218de 100644
--- a/pkgs/development/libraries/haskell/diagrams/diagrams.nix
+++ b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams";
-  version = "1.0";
-  sha256 = "0l7d8l06g6nn6bkkwdn8ra9ir1dnqj6qsgdzd9jk78dqq5ihp7bg";
+  version = "1.0.0.1";
+  sha256 = "0nlh4n5ykymjkyi9n0r5l1caq1f26mijw7smnj78mv3d40qcrnv1";
   buildDepends = [
     diagramsContrib diagramsCore diagramsLib diagramsSvg
   ];

From 75b08cc83033540f6e22bd4eb1dcbe09896464ce Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:24:07 +0100
Subject: [PATCH 050/228] haskell-force-layout: update to version 0.3

---
 .../libraries/haskell/force-layout/default.nix         | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix
index a0816b5e7aa4..6c1082b0f4b3 100644
--- a/pkgs/development/libraries/haskell/force-layout/default.nix
+++ b/pkgs/development/libraries/haskell/force-layout/default.nix
@@ -1,10 +1,12 @@
-{ cabal, lens, newtype, vectorSpace, vectorSpacePoints }:
+{ cabal, dataDefaultClass, lens, vectorSpace, vectorSpacePoints }:
 
 cabal.mkDerivation (self: {
   pname = "force-layout";
-  version = "0.2.0.1";
-  sha256 = "1fvkfgjwsh0cr6ay4djxc8wg0vqfw2vcq3clqjz0zi8zyyjpv8rx";
-  buildDepends = [ lens newtype vectorSpace vectorSpacePoints ];
+  version = "0.3";
+  sha256 = "1v4jgh08ppvfxc8w13wc9iiwk5hh2q9n7m5xb9vl59bmxdx81kai";
+  buildDepends = [
+    dataDefaultClass lens vectorSpace vectorSpacePoints
+  ];
   meta = {
     description = "Simple force-directed layout";
     license = self.stdenv.lib.licenses.bsd3;

From 713633f051c89234375c1f35c640047e5bc3beca Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 2 Jan 2014 00:24:07 +0100
Subject: [PATCH 051/228] haskell-hoogle: update to version 4.2.27

---
 .../development/libraries/haskell/hoogle/default.nix | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
index b461b5a1fd41..b30b4b6f3faf 100644
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ b/pkgs/development/libraries/haskell/hoogle/default.nix
@@ -1,22 +1,22 @@
 { cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
 , cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
-, parsec, random, safe, tagsoup, text, time, transformers, uniplate
-, wai, warp
+, parsec, random, safe, shake, tagsoup, text, time, transformers
+, uniplate, wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "hoogle";
-  version = "4.2.26";
-  sha256 = "07nc58vqdj5x3h6d7z8ilbff0pkqd3r7g789xyaalnh6wjkd7380";
+  version = "4.2.27";
+  sha256 = "0a92bcvgkk58yrsvkfrdk64qc0hhxgkyjpv39nmy8vf10ihg7wqn";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
-    deepseq filepath haskellSrcExts httpTypes parsec random safe
+    deepseq filepath haskellSrcExts httpTypes parsec random safe shake
     tagsoup text time transformers uniplate wai warp
   ];
   testDepends = [ filepath ];
-  doCheck = false;
+  testTarget = "--test-option=--no-net";
   meta = {
     homepage = "http://www.haskell.org/hoogle/";
     description = "Haskell API Search";

From 3eeae1c4df2d9446cc38e81d1c1f54b3e5f4c0f9 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 11:56:20 +0100
Subject: [PATCH 052/228] haskell-boomerang: update to version 1.4.1

---
 pkgs/development/libraries/haskell/boomerang/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/boomerang/default.nix b/pkgs/development/libraries/haskell/boomerang/default.nix
index 3e65c0a2dd4a..af0dbd338989 100644
--- a/pkgs/development/libraries/haskell/boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/boomerang/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "boomerang";
-  version = "1.4.0";
-  sha256 = "1z6sx2r886jms59ah31is0fqkwix2kwxmpnrc6bb2r6xazznxfc9";
+  version = "1.4.1";
+  sha256 = "0pmaysp6vw6cnxh3px47pwflm4fc83idld09bpnfnh2jkscp630a";
   buildDepends = [ mtl text ];
   meta = {
     description = "Library for invertible parsing and printing";

From 9ea0efdebea488f1038d6f7a3ccb3d8f18a9e4ed Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 11:56:20 +0100
Subject: [PATCH 053/228] haskell-cipher-aes128: update to version 0.6

---
 .../libraries/haskell/cipher-aes128/default.nix           | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/haskell/cipher-aes128/default.nix b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
index c8be6bcb0dcf..0f82286d81ff 100644
--- a/pkgs/development/libraries/haskell/cipher-aes128/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
@@ -2,12 +2,14 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes128";
-  version = "0.5";
-  sha256 = "14rwnz0nwmy1zch1ywjxf2fgfs1xj84l4n785rhb6npmx6k7rmqd";
+  version = "0.6";
+  sha256 = "1zpxg14csb52rjsvvfcyhpl9yfyidx73zxpdsipxvb1w26p8sl7y";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [ cereal cryptoApi tagged ];
   meta = {
     homepage = "https://github.com/TomMD/cipher-aes128";
-    description = "AES128 using AES-NI when available";
+    description = "AES and common modes using AES-NI when available";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };

From 117fcf801b6cd1292f1050b824c97a70a7435320 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 11:56:20 +0100
Subject: [PATCH 054/228] haskell-crypto-api: update to version 0.13

---
 pkgs/development/libraries/haskell/crypto-api/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/crypto-api/default.nix b/pkgs/development/libraries/haskell/crypto-api/default.nix
index aa786fa97840..5741d4b3c2e7 100644
--- a/pkgs/development/libraries/haskell/crypto-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-api/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-api";
-  version = "0.12.2.2";
-  sha256 = "0qmv8vizrbjs3k2f78r6ykyilps4zp7xxpzdxw7rngh154wqgv1k";
+  version = "0.13";
+  sha256 = "00zw9cymjhsdiy2p4prjvmmy7xnk12qggdpvxrp0hjnwlakfvyb2";
   buildDepends = [ cereal entropy tagged transformers ];
   meta = {
     homepage = "https://github.com/TomMD/crypto-api";

From c126096e46981a4817ec100ed7dd1340abe5d792 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 11:56:20 +0100
Subject: [PATCH 055/228] haskell-persistent-sqlite: update to version 1.3.0.1

---
 .../libraries/haskell/persistent-sqlite/default.nix           | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index 33cb2e0340a1..fc59c2477edd 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-sqlite";
-  version = "1.3.0";
-  sha256 = "04h0k3zf1jpa8y37naqjmh38jx32y61mg22rsmqjjpz1b0m0pwgb";
+  version = "1.3.0.1";
+  sha256 = "0nfih7g32pmh0hq798r4mxkkrp2zjkqb38zwhdyrdbszk6ryzx9l";
   buildDepends = [
     aeson conduit monadControl monadLogger persistent text transformers
   ];

From 18914b931eb849e04d18b111be3792affaf92c8f Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 11:56:20 +0100
Subject: [PATCH 056/228] haskell-web-routes-boomerang: update to version
 0.28.1

---
 .../libraries/haskell/web-routes-boomerang/default.nix        | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
index 602d95f45df5..ee6c19b0d930 100644
--- a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "web-routes-boomerang";
-  version = "0.28.0";
-  sha256 = "1xp8p0fkwirrpssb9lnxl7fmlmrql28r2ywaa99gw9cdqxifzbbl";
+  version = "0.28.1";
+  sha256 = "1a655d73fr7b9k033wyqgc8waq7ii3s5rh0w3nkb1phxl9ldg0pi";
   buildDepends = [ boomerang mtl parsec text webRoutes ];
   meta = {
     description = "Library for maintaining correctness and composability of URLs within an application";

From 3394e55f60cb7d610ce58d6e7ca889d2cc69aa84 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 11:56:20 +0100
Subject: [PATCH 057/228] haskell-web-routes: update to version 0.27.4

---
 pkgs/development/libraries/haskell/web-routes/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
index ce767e7b5f5b..76fbf12540af 100644
--- a/pkgs/development/libraries/haskell/web-routes/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "web-routes";
-  version = "0.27.3";
-  sha256 = "06a3b88gzbn7dr7hff2fjy1q7sxc479ha4g1wqsbjrb2ajrp376q";
+  version = "0.27.4";
+  sha256 = "1n9gdaxzy22m3fmrq3j1jkm16c4wvffjbh19xckfpva53zdhsal4";
   buildDepends = [
     blazeBuilder httpTypes mtl parsec split text utf8String
   ];

From ca6c0433123ff45c0b97f550e8f808a05ee31f6b Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 12:46:36 +0100
Subject: [PATCH 058/228] haskell-crypto-conduit: jailbreak for recent versions
 of crypto-api

---
 pkgs/development/libraries/haskell/crypto-conduit/default.nix | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pkgs/development/libraries/haskell/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
index 1dc356b7f465..4450c3f4c617 100644
--- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
@@ -11,6 +11,9 @@ cabal.mkDerivation (self: {
     cereal conduit cryptoApi cryptocipher cryptohashCryptoapi hspec
     skein transformers
   ];
+  patchPhase = ''
+    sed -i -e 's|crypto-api >=.*|crypto-api|' crypto-conduit.cabal
+  '';
   jailbreak = true;
   doCheck = false;
   meta = {

From c70c8a7158bf998a780ffc56bc37b69fcaaba415 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 3 Jan 2014 14:45:00 +0100
Subject: [PATCH 059/228] git-annex: try to fix test suite

---
 .../version-management/git-and-tools/git-annex/default.nix    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 640309a384ba..97de155df42f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -42,11 +42,11 @@ cabal.mkDerivation (self: {
                     -fDNS
                     -fProduction
                     -fTDFA";
-  installPhase = ''
+  preConfigure = ''
     export HOME="$NIX_BUILD_TOP/tmp"
     mkdir "$HOME"
-    ./Setup install
   '';
+  installPhase = "./Setup install";
   checkPhase = ''
     cp dist/build/git-annex/git-annex git-annex
     ./git-annex test

From ad8974fc539ea952d101ef0b0151270c24fe7201 Mon Sep 17 00:00:00 2001
From: Sander van der Burg <sander@conference-compass.com>
Date: Mon, 6 Jan 2014 14:12:37 +0100
Subject: [PATCH 060/228] Disable test for setuptools on darwin, and add darwin
 to supported platforms for serf. This should make nodejs working on darwin
 again

---
 pkgs/development/libraries/serf/default.nix            | 2 +-
 pkgs/development/python-modules/setuptools/default.nix | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
index 8a7592547c20..e758fe34c362 100644
--- a/pkgs/development/libraries/serf/default.nix
+++ b/pkgs/development/libraries/serf/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation {
     description = "HTTP client library based on APR";
     license = stdenv.lib.licenses.asl20 ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 952cbe1ff4d6..8ddf0e9329f6 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       wrapPythonPrograms
     '';
 
-  doCheck = true;
+  doCheck = stdenv.system != "x86_64-darwin";
 
   checkPhase = ''
     ${python}/bin/${python.executable} setup.py test

From 7f8b47b60df1ec0185b2a87b108b2e60cf0a74ce Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Mon, 6 Jan 2014 15:17:32 +0200
Subject: [PATCH 061/228] youtubeDL: update from 2014.01.03 to 2014.01.05.6

---
 pkgs/tools/misc/youtube-dl/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 40e6f3322cd9..50ea0c71fc52 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, zip }:
 
 let
-  version = "2014.01.03";
+  version = "2014.01.05.6";
 in
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "01zg3a0jx89vikwxnhchjydamb2k724mxnpzs5hbavgfyklkb7xd";
+    sha256 = "1whfcvsb0fffky8nqzc6y3jm7wn9gyv5yjyi6bj15gi4c7qrcscb";
   };
 
   buildInputs = [ python ];

From e6dae5d7f43087c78bdc5569b36da65207fd057e Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Mon, 6 Jan 2014 08:20:22 -0500
Subject: [PATCH 062/228] Add fetchbower function to go along with bower2nix

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/build-support/fetchbower/default.nix  |   9 ++
 pkgs/top-level/all-packages.nix            |   5 +
 pkgs/top-level/node-packages-generated.nix | 173 +++++++++++++--------
 pkgs/top-level/node-packages.json          |   1 +
 4 files changed, 125 insertions(+), 63 deletions(-)
 create mode 100644 pkgs/build-support/fetchbower/default.nix

diff --git a/pkgs/build-support/fetchbower/default.nix b/pkgs/build-support/fetchbower/default.nix
new file mode 100644
index 000000000000..11af6dbedf13
--- /dev/null
+++ b/pkgs/build-support/fetchbower/default.nix
@@ -0,0 +1,9 @@
+{ stdenv, fetch-bower, git }: name: version: target: outputHash: stdenv.mkDerivation {
+  name = "${name}-${version}";
+  realBuilder = "${fetch-bower}/bin/fetch-bower";
+  args = [ name version target ];
+  outputHashMode = "recursive";
+  outputHashAlgo = "sha256";
+  inherit outputHash;
+  PATH = "${git}/bin";
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4b76f4b02368..c7ea2f5fffe5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -282,6 +282,11 @@ let
     vs = vs90wrapper;
   };
 
+  fetchbower = import ../build-support/fetchbower {
+    inherit stdenv git;
+    inherit (nodePackages) fetch-bower;
+  };
+
   fetchbzr = import ../build-support/fetchbzr {
     inherit stdenv bazaar;
   };
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 671ea62785c3..1bd2a89d72a0 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1158,14 +1158,14 @@
     passthru.names = [ "bower-registry-client" ];
   };
   by-spec."bower2nix"."*" =
-    self.by-version."bower2nix"."1.0.1";
-  by-version."bower2nix"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bower2nix-1.0.1";
+    self.by-version."bower2nix"."2.0.0";
+  by-version."bower2nix"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bower2nix-2.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-1.0.1.tgz";
-        name = "bower2nix-1.0.1.tgz";
-        sha1 = "104417d000e525d5e4beb58ee5220e0e07cf378f";
+        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.0.0.tgz";
+        name = "bower2nix-2.0.0.tgz";
+        sha1 = "27aaeb3681e2707327a7fcfef985faf19b7f7a5e";
       })
     ];
     buildInputs =
@@ -1180,12 +1180,13 @@
       self.by-version."argparse"."0.1.15"
       self.by-version."clone"."0.1.11"
       self.by-version."semver"."2.2.1"
+      self.by-version."fetch-bower"."2.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower2nix" ];
   };
-  "bower2nix" = self.by-version."bower2nix"."1.0.1";
+  "bower2nix" = self.by-version."bower2nix"."2.0.0";
   by-spec."broadway"."0.2.9" =
     self.by-version."broadway"."0.2.9";
   by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
@@ -1844,14 +1845,14 @@
     passthru.names = [ "class-extend" ];
   };
   by-spec."clean-css"."2.0.x" =
-    self.by-version."clean-css"."2.0.5";
-  by-version."clean-css"."2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.0.5";
+    self.by-version."clean-css"."2.0.6";
+  by-version."clean-css"."2.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.0.5.tgz";
-        name = "clean-css-2.0.5.tgz";
-        sha1 = "e693ca07bdbc69883665db6f8444d1af0442bbe3";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.0.6.tgz";
+        name = "clean-css-2.0.6.tgz";
+        sha1 = "89f98241ec4026500db7ea3b2e725f9ffaa01ed3";
       })
     ];
     buildInputs =
@@ -1864,7 +1865,7 @@
     passthru.names = [ "clean-css" ];
   };
   by-spec."clean-css"."~2.0.0" =
-    self.by-version."clean-css"."2.0.5";
+    self.by-version."clean-css"."2.0.6";
   by-spec."cli"."0.4.x" =
     self.by-version."cli"."0.4.5";
   by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage {
@@ -4144,7 +4145,7 @@
     buildInputs =
       (self.nativeDeps."everyauth" or []);
     deps = [
-      self.by-version."oauth"."0.9.10"
+      self.by-version."oauth"."0.9.11"
       self.by-version."request"."2.9.203"
       self.by-version."connect"."2.3.9"
       self.by-version."openid"."0.5.5"
@@ -4511,6 +4512,32 @@
     ];
     passthru.names = [ "faye-websocket" ];
   };
+  by-spec."fetch-bower"."*" =
+    self.by-version."fetch-bower"."2.0.0";
+  by-version."fetch-bower"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fetch-bower-2.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fetch-bower/-/fetch-bower-2.0.0.tgz";
+        name = "fetch-bower-2.0.0.tgz";
+        sha1 = "c027feb75a512001d1287bbfb3ffaafba67eb92f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fetch-bower" or []);
+    deps = [
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-logger"."0.2.1"
+      self.by-version."bower"."1.2.8"
+      self.by-version."glob"."3.2.7"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "fetch-bower" ];
+  };
+  "fetch-bower" = self.by-version."fetch-bower"."2.0.0";
+  by-spec."fetch-bower".">=2 <3" =
+    self.by-version."fetch-bower"."2.0.0";
   by-spec."file-utils"."~0.1.1" =
     self.by-version."file-utils"."0.1.5";
   by-version."file-utils"."0.1.5" = lib.makeOverridable self.buildNodePackage {
@@ -5175,7 +5202,7 @@
     ];
     peerDependencies = [
       self.by-version."generator-karma"."0.6.0"
-      self.by-version."yo"."1.1.0"
+      self.by-version."yo"."1.1.1"
     ];
     passthru.names = [ "generator-angular" ];
   };
@@ -5197,7 +5224,7 @@
       self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.by-version."yo"."1.1.0"
+      self.by-version."yo"."1.1.1"
     ];
     passthru.names = [ "generator-karma" ];
   };
@@ -5218,7 +5245,7 @@
       self.by-version."yeoman-generator"."0.14.2"
     ];
     peerDependencies = [
-      self.by-version."yo"."1.1.0"
+      self.by-version."yo"."1.1.1"
     ];
     passthru.names = [ "generator-mocha" ];
   };
@@ -5240,7 +5267,7 @@
       self.by-version."cheerio"."0.12.4"
     ];
     peerDependencies = [
-      self.by-version."yo"."1.1.0"
+      self.by-version."yo"."1.1.1"
       self.by-version."generator-mocha"."0.1.3"
     ];
     passthru.names = [ "generator-webapp" ];
@@ -5372,6 +5399,8 @@
     self.by-version."glob"."3.2.7";
   by-spec."glob".">= 3.1.4" =
     self.by-version."glob"."3.2.7";
+  by-spec."glob".">=3.2.7 <4" =
+    self.by-version."glob"."3.2.7";
   by-spec."glob"."~3.1.21" =
     self.by-version."glob"."3.1.21";
   by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
@@ -5614,7 +5643,7 @@
     buildInputs =
       (self.nativeDeps."grunt-contrib-cssmin" or []);
     deps = [
-      self.by-version."clean-css"."2.0.5"
+      self.by-version."clean-css"."2.0.6"
       self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
@@ -5637,7 +5666,7 @@
     buildInputs =
       (self.nativeDeps."grunt-contrib-jshint" or []);
     deps = [
-      self.by-version."jshint"."2.4.0"
+      self.by-version."jshint"."2.4.1"
     ];
     peerDependencies = [
       self.by-version."grunt"."0.4.2"
@@ -5796,7 +5825,7 @@
     deps = [
       self.by-version."coffee-script"."1.6.3"
       self.by-version."jade"."1.0.2"
-      self.by-version."q"."0.9.7"
+      self.by-version."q"."1.0.0"
       self.by-version."xml2js"."0.4.1"
       self.by-version."msgpack"."0.2.1"
     ];
@@ -7110,14 +7139,14 @@
   by-spec."jsesc"."~0.4.3" =
     self.by-version."jsesc"."0.4.3";
   by-spec."jshint"."*" =
-    self.by-version."jshint"."2.4.0";
-  by-version."jshint"."2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.4.0";
+    self.by-version."jshint"."2.4.1";
+  by-version."jshint"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.4.0.tgz";
-        name = "jshint-2.4.0.tgz";
-        sha1 = "31717646cee2137cdd7f1b773c3fce58f4d99fc5";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.4.1.tgz";
+        name = "jshint-2.4.1.tgz";
+        sha1 = "833f361a56577b80816b64f18434cce3b3942591";
       })
     ];
     buildInputs =
@@ -7134,9 +7163,9 @@
     ];
     passthru.names = [ "jshint" ];
   };
-  "jshint" = self.by-version."jshint"."2.4.0";
+  "jshint" = self.by-version."jshint"."2.4.1";
   by-spec."jshint"."~2.4.0" =
-    self.by-version."jshint"."2.4.0";
+    self.by-version."jshint"."2.4.1";
   by-spec."json-schema"."0.2.2" =
     self.by-version."json-schema"."0.2.2";
   by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -7698,7 +7727,7 @@
       self.by-version."mime"."1.2.11"
       self.by-version."request"."2.30.0"
       self.by-version."mkdirp"."0.3.5"
-      self.by-version."clean-css"."2.0.5"
+      self.by-version."clean-css"."2.0.6"
       self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
@@ -9691,7 +9720,7 @@
       (self.nativeDeps."nodemailer" or []);
     deps = [
       self.by-version."mailcomposer"."0.2.7"
-      self.by-version."simplesmtp"."0.3.16"
+      self.by-version."simplesmtp"."0.3.18"
       self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
@@ -9699,26 +9728,27 @@
     passthru.names = [ "nodemailer" ];
   };
   by-spec."nodemon"."*" =
-    self.by-version."nodemon"."1.0.2";
-  by-version."nodemon"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "nodemon-1.0.2";
+    self.by-version."nodemon"."1.0.5";
+  by-version."nodemon"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "nodemon-1.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nodemon/-/nodemon-1.0.2.tgz";
-        name = "nodemon-1.0.2.tgz";
-        sha1 = "f934df2f87a1b4718c283615d1f4f985b852e28e";
+        url = "http://registry.npmjs.org/nodemon/-/nodemon-1.0.5.tgz";
+        name = "nodemon-1.0.5.tgz";
+        sha1 = "795f57d018791bae6988b9e34b34bb4a11c84d21";
       })
     ];
     buildInputs =
       (self.nativeDeps."nodemon" or []);
     deps = [
       self.by-version."update-notifier"."0.1.7"
+      self.by-version."minimatch"."0.2.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
   };
-  "nodemon" = self.by-version."nodemon"."1.0.2";
+  "nodemon" = self.by-version."nodemon"."1.0.5";
   by-spec."nomnom"."1.6.x" =
     self.by-version."nomnom"."1.6.2";
   by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
@@ -9788,9 +9818,9 @@
     name = "nopt-1.0.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+        url = "https://github.com/Filirom1/nopt/tarball/master#pull-request-in-progress";
         name = "nopt-1.0.10.tgz";
-        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+        sha256 = "94daa53a0ab7668be12931b7b551c924c913d1efef7f2a05e60704c9b90a7bad";
       })
     ];
     buildInputs =
@@ -10132,14 +10162,14 @@
     passthru.names = [ "nssocket" ];
   };
   by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
-    self.by-version."oauth"."0.9.10";
-  by-version."oauth"."0.9.10" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-0.9.10";
+    self.by-version."oauth"."0.9.11";
+  by-version."oauth"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-0.9.11";
     src = [
       (fetchurl {
         url = "https://github.com/ciaranj/node-oauth/tarball/master";
-        name = "oauth-0.9.10.tgz";
-        sha256 = "c0c59efccbd34819ed51e912bc74b872e812a0157784dc8604434378a14cf64a";
+        name = "oauth-0.9.11.tgz";
+        sha256 = "ea86c233c1a77e52a97107b40978a909a99dd59c4751e7f4d342274c1d6a55a4";
       })
     ];
     buildInputs =
@@ -10988,6 +11018,25 @@
   by-spec."punycode"."~1.2.3" =
     self.by-version."punycode"."1.2.3";
   by-spec."q".">= 0.0.1" =
+    self.by-version."q"."1.0.0";
+  by-version."q"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "q-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/q/-/q-1.0.0.tgz";
+        name = "q-1.0.0.tgz";
+        sha1 = "dc1f92c4587be54f7853b29dc28e6d243a88498d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."q" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "q" ];
+  };
+  by-spec."q"."~0.9.2" =
     self.by-version."q"."0.9.7";
   by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
     name = "q-0.9.7";
@@ -11006,8 +11055,6 @@
     ];
     passthru.names = [ "q" ];
   };
-  by-spec."q"."~0.9.2" =
-    self.by-version."q"."0.9.7";
   by-spec."q"."~0.9.6" =
     self.by-version."q"."0.9.7";
   by-spec."q"."~0.9.7" =
@@ -12671,14 +12718,14 @@
     passthru.names = [ "simple-lru-cache" ];
   };
   by-spec."simplesmtp".">= 0.1.22" =
-    self.by-version."simplesmtp"."0.3.16";
-  by-version."simplesmtp"."0.3.16" = lib.makeOverridable self.buildNodePackage {
-    name = "simplesmtp-0.3.16";
+    self.by-version."simplesmtp"."0.3.18";
+  by-version."simplesmtp"."0.3.18" = lib.makeOverridable self.buildNodePackage {
+    name = "simplesmtp-0.3.18";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.16.tgz";
-        name = "simplesmtp-0.3.16.tgz";
-        sha1 = "c82ab64b957a5f979b10b96787094e3612877814";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.18.tgz";
+        name = "simplesmtp-0.3.18.tgz";
+        sha1 = "54493d7d5b59b23b061b981655be8d001167a978";
       })
     ];
     buildInputs =
@@ -15294,14 +15341,14 @@
     passthru.names = [ "yeoman-generator" ];
   };
   by-spec."yo"."*" =
-    self.by-version."yo"."1.1.0";
-  by-version."yo"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.1.0";
+    self.by-version."yo"."1.1.1";
+  by-version."yo"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "yo-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.1.0.tgz";
-        name = "yo-1.1.0.tgz";
-        sha1 = "4bc08291932442d1a3ad1e531702b1a76cdf2a16";
+        url = "http://registry.npmjs.org/yo/-/yo-1.1.1.tgz";
+        name = "yo-1.1.1.tgz";
+        sha1 = "9c26dfef997c6114272c8b3980c6b02256e874d0";
       })
     ];
     buildInputs =
@@ -15325,11 +15372,11 @@
     ];
     passthru.names = [ "yo" ];
   };
-  "yo" = self.by-version."yo"."1.1.0";
+  "yo" = self.by-version."yo"."1.1.1";
   by-spec."yo".">=1.0.0" =
-    self.by-version."yo"."1.1.0";
+    self.by-version."yo"."1.1.1";
   by-spec."yo".">=1.0.0-rc.1.1" =
-    self.by-version."yo"."1.1.0";
+    self.by-version."yo"."1.1.1";
   by-spec."zeparser"."0.0.5" =
     self.by-version."zeparser"."0.0.5";
   by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1d1abbc9ba28..c58d2dae9676 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -113,4 +113,5 @@
 , "node-protobuf"
 , "rethinkdb"
 , "bower2nix"
+, "fetch-bower"
 ]

From bfcce3d429257fe3c133eebecc682dd4b52abd55 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Mon, 6 Jan 2014 08:44:22 -0500
Subject: [PATCH 063/228] Update bower2nix

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/top-level/node-packages-generated.nix | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 1bd2a89d72a0..ccd1bdd6f52b 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1158,14 +1158,14 @@
     passthru.names = [ "bower-registry-client" ];
   };
   by-spec."bower2nix"."*" =
-    self.by-version."bower2nix"."2.0.0";
-  by-version."bower2nix"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower2nix-2.0.0";
+    self.by-version."bower2nix"."2.0.1";
+  by-version."bower2nix"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bower2nix-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.0.0.tgz";
-        name = "bower2nix-2.0.0.tgz";
-        sha1 = "27aaeb3681e2707327a7fcfef985faf19b7f7a5e";
+        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.0.1.tgz";
+        name = "bower2nix-2.0.1.tgz";
+        sha1 = "f800cedca4d89e275913fcecf900e1f1032598cf";
       })
     ];
     buildInputs =
@@ -1174,9 +1174,6 @@
       self.by-version."temp"."0.6.0"
       self.by-version."fs.extra"."1.2.1"
       self.by-version."bower-json"."0.4.0"
-      self.by-version."bower-endpoint-parser"."0.2.1"
-      self.by-version."bower-logger"."0.2.1"
-      self.by-version."bower"."1.2.8"
       self.by-version."argparse"."0.1.15"
       self.by-version."clone"."0.1.11"
       self.by-version."semver"."2.2.1"
@@ -1186,7 +1183,7 @@
     ];
     passthru.names = [ "bower2nix" ];
   };
-  "bower2nix" = self.by-version."bower2nix"."2.0.0";
+  "bower2nix" = self.by-version."bower2nix"."2.0.1";
   by-spec."broadway"."0.2.9" =
     self.by-version."broadway"."0.2.9";
   by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {

From 3abcd7e268d4b86bde9690661e73c10dfca11719 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Mon, 6 Jan 2014 15:51:00 +0100
Subject: [PATCH 064/228] debian: Update to 7.3

---
 pkgs/build-support/vm/default.nix | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 0296c434d6f6..4c97da91fd1f 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1467,22 +1467,22 @@ rec {
     debian70x86_64 = debian7x86_64;
 
     debian7i386 = {
-      name = "debian-7.2-wheezy-i386";
-      fullName = "Debian 7.2 Wheezy (i386)";
+      name = "debian-7.3-wheezy-i386";
+      fullName = "Debian 7.3 Wheezy (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
-        sha256 = "2e80242e323f233c40b3020b0f1a57d12df8a120ee82af88ff7032ba4688f97d";
+        sha256 = "037637520ce371a50beb5446fd27a731f30b51bc362c2f4a5dcfce9c7e30ffb6";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian7x86_64 = {
-      name = "debian-7.2-wheezy-amd64";
-      fullName = "Debian 7.2 Wheezy (amd64)";
+      name = "debian-7.3-wheezy-amd64";
+      fullName = "Debian 7.3 Wheezy (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
-        sha256 = "adfc4cd3d3b855c73c9e2e12163a33c193f98c9bad25765080fa6136378a6e3b";
+        sha256 = "c2ed55a2a263d482826c934b97ad910984fa5695ab1c480841741b828d0590a5";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;

From 3e376d5780d2f6d7f8a31df95d7cd94d47394108 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:11 +0100
Subject: [PATCH 065/228] haskell-MonadCatchIO-mtl: update to version 0.3.1.0

---
 .../libraries/haskell/MonadCatchIO-mtl/default.nix        | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
index 9b044f6dbab5..dfaa69bca93f 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
@@ -1,10 +1,10 @@
-{ cabal, extensibleExceptions, mtl }:
+{ cabal, extensibleExceptions, MonadCatchIOTransformers }:
 
 cabal.mkDerivation (self: {
   pname = "MonadCatchIO-mtl";
-  version = "0.3.0.5";
-  sha256 = "01c2xif4aly2lmg2qkri791ignq3r2qg4xbc8m06cdm6gh5a2dqp";
-  buildDepends = [ extensibleExceptions mtl ];
+  version = "0.3.1.0";
+  sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq";
+  buildDepends = [ extensibleExceptions MonadCatchIOTransformers ];
   meta = {
     homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";
     description = "Monad-transformer version of the Control.Exception module";

From b5b91ffb4cdf0af18bc99b32a6eb55b99a662e3e Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:11 +0100
Subject: [PATCH 066/228] haskell-SHA: update to version 1.6.2.1

---
 pkgs/development/libraries/haskell/SHA/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index 343412700842..c2cbe154424a 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "SHA";
-  version = "1.6.1";
-  sha256 = "1v3a2skkbr64y7x1aqpq1qz03isc42l9hd1viqcsv4qlld595fgx";
+  version = "1.6.2.1";
+  sha256 = "0knzwqgwshr9b0rf8mf6xmgp3qxv4yavg0zy9xz4zmgm5319mvla";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary ];

From 745263c23ea1432037283edbd4c9385d4efe4d12 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 067/228] haskell-aeson-pretty: update to version 0.7.1

---
 pkgs/development/libraries/haskell/aeson-pretty/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/aeson-pretty/default.nix b/pkgs/development/libraries/haskell/aeson-pretty/default.nix
index d51274c83e94..1b568541a133 100644
--- a/pkgs/development/libraries/haskell/aeson-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-pretty/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson-pretty";
-  version = "0.7";
-  sha256 = "0zkqs3f4mr0v0j582h9ssq7dxgfkk59s7y66b640hc4zf0b5p7g7";
+  version = "0.7.1";
+  sha256 = "0gmm1kmdbanfyfdyij1gnazycp1x9703qfa5hgrz39j9046zg3y6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [

From bf481b776d2453fd3da4d7eb620a0fffb47b074f Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 068/228] haskell-charset: update to version 0.3.6

---
 pkgs/development/libraries/haskell/charset/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/charset/default.nix b/pkgs/development/libraries/haskell/charset/default.nix
index 829c35b75632..6907a33744ff 100644
--- a/pkgs/development/libraries/haskell/charset/default.nix
+++ b/pkgs/development/libraries/haskell/charset/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "charset";
-  version = "0.3.5.1";
-  sha256 = "0bf9s5r2j9bkwmjxzvj5c2c7bhnf5gyh2kkx67lmy8xqalfxgmwn";
+  version = "0.3.6";
+  sha256 = "1g8m8nd5f100jlhvs6hbny96wy8iaggmp1lv36a5jxc54gmyxjd1";
   buildDepends = [ semigroups unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/charset";

From b723b25d348952e5e4b2752f5b451c1a3ff0deb1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 069/228] haskell-hakyll: update to version 4.4.3.0

---
 pkgs/development/libraries/haskell/hakyll/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index f7f318e502aa..75153a3ddb07 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.4.2.0";
-  sha256 = "10rkqnrj9gi4h25wfh1w4giqiir2d63vb85ysbxpc97rkbz3fwsg";
+  version = "4.4.3.0";
+  sha256 = "1ngjzqgyhdfkzikyg6cicqdb6cpw2bbfr4g73vgmzlg8spy1cyg5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [

From b1c03d12533bde8f7f90b9e5e6b4586deaea8cf1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 070/228] haskell-happstack-server: update to version 7.3.2

---
 .../libraries/haskell/happstack/happstack-server.nix          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index e12d848f00f9..88651c62b590 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.3.1";
-  sha256 = "0yk4ylyyc8pz7j5lxibah356f986w932ncxp4y612rqcd0abzrq4";
+  version = "7.3.2";
+  sha256 = "11wnnadxy1j786p81nkvd28vgpjjhm1amy34k5r0ynz0nkanfp3z";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network parsec sendfile syb systemFilepath

From 62c6fc26a73af832bb9d1d2a9df2d473859df2a4 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 071/228] haskell-hoogle: update to version 4.2.28

---
 pkgs/development/libraries/haskell/hoogle/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
index b30b4b6f3faf..7744a705efc3 100644
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ b/pkgs/development/libraries/haskell/hoogle/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hoogle";
-  version = "4.2.27";
-  sha256 = "0a92bcvgkk58yrsvkfrdk64qc0hhxgkyjpv39nmy8vf10ihg7wqn";
+  version = "4.2.28";
+  sha256 = "0dd8qsspbcb76ld9v61x2jjsyxakrasww69gzzprb4dxzm58lsid";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [

From 84c9d666991c5fc9b6ab4216776acb9902b25860 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 072/228] haskell-lifted-async: update to version 0.1.1

---
 .../libraries/haskell/lifted-async/default.nix        | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/pkgs/development/libraries/haskell/lifted-async/default.nix b/pkgs/development/libraries/haskell/lifted-async/default.nix
index fa48f289a4ca..9eab08955f57 100644
--- a/pkgs/development/libraries/haskell/lifted-async/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-async/default.nix
@@ -1,15 +1,14 @@
-{ cabal, async, HUnit, liftedBase, monadControl, mtl, testFramework
-, testFrameworkHunit, testFrameworkTh, transformersBase
+{ cabal, async, HUnit, liftedBase, monadControl, mtl, tasty
+, tastyHunit, tastyTh, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "lifted-async";
-  version = "0.1.0.1";
-  sha256 = "03b89cixfin7ksdjh12g0pfrmgzw9mnx6nyvywv3rjc1sra3b8f0";
+  version = "0.1.1";
+  sha256 = "0hkqiplnvy14m881n4bzamvy1432bxy4k1j4rwl824w5fn2h5i74";
   buildDepends = [ async liftedBase monadControl transformersBase ];
   testDepends = [
-    HUnit liftedBase monadControl mtl testFramework testFrameworkHunit
-    testFrameworkTh
+    async HUnit liftedBase monadControl mtl tasty tastyHunit tastyTh
   ];
   meta = {
     homepage = "https://github.com/maoe/lifted-async";

From c836b940379c7401600bf6018de0b1b762527ed1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 073/228] haskell-mueval: update to version 0.9.1.1

---
 pkgs/development/libraries/haskell/mueval/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/haskell/mueval/default.nix b/pkgs/development/libraries/haskell/mueval/default.nix
index f4b3b4a78edb..06d2f58ce171 100644
--- a/pkgs/development/libraries/haskell/mueval/default.nix
+++ b/pkgs/development/libraries/haskell/mueval/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mueval";
-  version = "0.9.1";
-  sha256 = "1f668z7rpdj2m239f5i54v7kd7wsvx3qvvhwyiavf28cmk32mxpq";
+  version = "0.9.1.1";
+  sha256 = "0p9qf8lb3c1y87qpl9b4n6v6bjrb9fw3yfg4p7niqdz31454d2pz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -13,7 +13,7 @@ cabal.mkDerivation (self: {
     utf8String
   ];
   meta = {
-    homepage = "http://code.haskell.org/mubot/";
+    homepage = "https://github.com/gwern/mueval";
     description = "Safely evaluate pure Haskell expressions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;

From 150981ec0e250ce7671acc66b09025101a9c9896 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:12 +0100
Subject: [PATCH 074/228] haskell-pipes: update to version 4.0.2

---
 pkgs/development/libraries/haskell/pipes/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index d9d923987090..766393d7b45e 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes";
-  version = "4.0.1";
-  sha256 = "0q2i58w4nlf23di6rjrv543nmj5d5nkz29q9aciw89zx5x5m22h9";
+  version = "4.0.2";
+  sha256 = "18hcpklryyq9f6iwycxzi3sd6gyd9h0gy0ckg4rl7rhgy73hzgcz";
   buildDepends = [ mmorph mtl transformers void ];
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers

From dea19765d2f85a98af558e2c8962547420cb69df Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:13 +0100
Subject: [PATCH 075/228] haskell-scientific: update to version 0.2.0.1

---
 pkgs/development/libraries/haskell/scientific/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/scientific/default.nix b/pkgs/development/libraries/haskell/scientific/default.nix
index 8494168df15d..646687af96a1 100644
--- a/pkgs/development/libraries/haskell/scientific/default.nix
+++ b/pkgs/development/libraries/haskell/scientific/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "scientific";
-  version = "0.1.0.1";
-  sha256 = "0s401gxwap4xwz9rxypc76rs5w344s3an45295ybf3id6yal5140";
+  version = "0.2.0.1";
+  sha256 = "0xwxds884pqywjbc4j6qkx27nbi64sihig8ps9v884sk08021wrp";
   buildDepends = [ deepseq hashable text ];
   testDepends = [ smallcheck tasty tastySmallcheck text ];
   doCheck = false;

From 97776ee7d3a279056c789b629b956274dcfc9e21 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:13 +0100
Subject: [PATCH 076/228] haskell-shake: update to version 0.11

---
 pkgs/development/libraries/haskell/shake/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index 91897bd5a66f..411140459ed7 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.10.10";
-  sha256 = "0xj5r0rj0ybhll9zymipkj338axv11klbpxirdbpdqjh1iaa9yl7";
+  version = "0.11";
+  sha256 = "0w0m94ahr2pzgrknk023vpabjydaj2ir8372rca3b4xik6idaag2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [

From 0cf499828f047a386d6a315222b7e5d479f59494 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Mon, 6 Jan 2014 12:21:13 +0100
Subject: [PATCH 077/228] haskell-threads: update to version 0.5.1.0

---
 pkgs/development/libraries/haskell/threads/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
index 0683ba62d4b0..e360e98b8eb0 100644
--- a/pkgs/development/libraries/haskell/threads/default.nix
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threads";
-  version = "0.5.0.3";
-  sha256 = "1da5p65qf1w746flqnl7pxd05pdh8psi6psi0zsqqxmiykw4zvrf";
+  version = "0.5.1.0";
+  sha256 = "077gcnzpy7bjx1rkyl9nriywfiisx0vhmdapl94fl01ira7cm700";
   buildDepends = [ baseUnicodeSymbols stm ];
   testDepends = [
     baseUnicodeSymbols concurrentExtra HUnit stm testFramework

From 72feb8e011a68524fa1c59e2a096fff122efa9f7 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Mon, 6 Jan 2014 17:42:32 +0100
Subject: [PATCH 078/228] nss: Update to 3.15.3.1

http://www.mozilla.org/security/announce/2013/mfsa2013-117.html
---
 pkgs/development/libraries/nss/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 66e98a9d961f..64c07d9cb2e2 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -17,11 +17,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.15.3";
+  version = "3.15.3.1";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_3_RTM/src/${name}.tar.gz";
-    sha1 = "1d0f6707eda35f6c7be92fe2b0537dc090a8f203";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_3_1_RTM/src/${name}.tar.gz";
+    sha1 = "4e0f81a1f770447dc5440201a579151b601463e2";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];

From 9d3d42406ba9919b67a7d7f8172afc454b040ee3 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Mon, 6 Jan 2014 17:48:39 +0100
Subject: [PATCH 079/228] samba: Update to 3.6.22

CVE-2012-6150, CVE-2013-4408.
---
 pkgs/servers/samba/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index 5ef4ac5140ee..cacc614e08c4 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -18,11 +18,11 @@
 assert useKerberos -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "samba-3.6.20";
+  name = "samba-3.6.22";
 
   src = fetchurl {
     url = "http://us3.samba.org/samba/ftp/stable/${name}.tar.gz";
-    sha256 = "03rs02743slfbfws9rl053z5m520rbd31z9qr76r1j06bjkdmdaz";
+    sha256 = "1sny3irf1p4fjli5qa29swr3l217grg90cva35rmay48fw7g5g9h";
   };
 
   buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]

From 847a310c6731d0539b112a2a5084ef3e84c3ce0b Mon Sep 17 00:00:00 2001
From: Matthew Sackman <matthew@rabbitmq.com>
Date: Mon, 6 Jan 2014 17:46:00 +0000
Subject: [PATCH 080/228] Bump LXC to 1.0.0.beta1

Tested locally. Builds and works for me.
---
 pkgs/os-specific/linux/lxc/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 5a9b3587870f..01fd04e2ad6e 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lxc-1.0.0.alpha1-92-g8111adf";
+  name = "lxc-1.0.0.beta1";
 
   src = fetchurl {
     url = "http://github.com/lxc/lxc/archive/${name}.tar.gz";
-    sha256 = "05hjrn79wyjnm4ynf8y0j7pk2hwfrzp4dzwynxq4z2wxlc1ficd5";
+    sha256 = "1ee177c4d2ba5f9cb33c1b36f3c2160ca0b00c9fa527fc53a9c5868345306f03";
   };
 
   buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ];

From 31887d4c1370d94f93439f26d6e001454919d8f7 Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Mon, 6 Jan 2014 13:25:20 -0500
Subject: [PATCH 081/228] Update node packages

Signed-off-by: Shea Levy <shea@shealevy.com>
---
 pkgs/top-level/node-packages-generated.nix | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index ccd1bdd6f52b..e58e26f7a881 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1158,14 +1158,14 @@
     passthru.names = [ "bower-registry-client" ];
   };
   by-spec."bower2nix"."*" =
-    self.by-version."bower2nix"."2.0.1";
-  by-version."bower2nix"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bower2nix-2.0.1";
+    self.by-version."bower2nix"."3.0.0";
+  by-version."bower2nix"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bower2nix-3.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.0.1.tgz";
-        name = "bower2nix-2.0.1.tgz";
-        sha1 = "f800cedca4d89e275913fcecf900e1f1032598cf";
+        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-3.0.0.tgz";
+        name = "bower2nix-3.0.0.tgz";
+        sha1 = "afe3c676baff67b86e06f5514a325be45b317184";
       })
     ];
     buildInputs =
@@ -1183,7 +1183,7 @@
     ];
     passthru.names = [ "bower2nix" ];
   };
-  "bower2nix" = self.by-version."bower2nix"."2.0.1";
+  "bower2nix" = self.by-version."bower2nix"."3.0.0";
   by-spec."broadway"."0.2.9" =
     self.by-version."broadway"."0.2.9";
   by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {

From b93e6efbf406017898c4f22a9bf8646ed751af3b Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Tue, 7 Jan 2014 01:00:03 +0400
Subject: [PATCH 082/228] Skip Octave tests for now

---
 pkgs/development/interpreters/octave/default.nix | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 66543d305217..19b22314279c 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
     graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
     fftw fftwSinglePrec qrupdate ];
 
-  doCheck = true;
+  # there is a mysterious sh: command not found
+  doCheck = false;
 
   /* The build failed with a missing libranlib.la in hydra,
      but worked on my computer. I think they have concurrency problems */

From 8fad5a72ecf312729e5a130326fe0b71663d7904 Mon Sep 17 00:00:00 2001
From: Mathijs Kwik <mathijs@bluescreen303.nl>
Date: Mon, 6 Jan 2014 12:19:13 +0100
Subject: [PATCH 083/228] add emacs/idris-mode

---
 .../editors/emacs-modes/idris/default.nix     | 30 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 32 insertions(+)
 create mode 100644 pkgs/applications/editors/emacs-modes/idris/default.nix

diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix
new file mode 100644
index 000000000000..7bd39cd2b4e0
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/idris/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, emacs }:
+
+stdenv.mkDerivation rec {
+  name = "idris-mode-20140106";
+
+  src = fetchgit {
+    url = https://github.com/idris-hackers/idris-mode.git;
+    rev = "47df65dd5b554c1d7cf70a07c3bd06d80867f870";
+    sha256 = "55df66d1bace134bea83f0547e01daf068fc96dc080cf88ea8945ddcb2d08ea4";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Emacs major mode for Idris";
+    homepage = https://github.com/idris-hackers/idris-modehttps://github.com/idris-hackers/idris-mode;
+    license = "GPLv3";
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c7ea2f5fffe5..caceedece2aa 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7773,6 +7773,8 @@ let
 
     gist = callPackage ../applications/editors/emacs-modes/gist { };
 
+    idris = callPackage ../applications/editors/emacs-modes/idris { };
+
     jade = callPackage ../applications/editors/emacs-modes/jade { };
 
     jdee = callPackage ../applications/editors/emacs-modes/jdee {

From 0cbc292e1c5d803a1d3314bfb37bb08ecd06cf20 Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Tue, 7 Jan 2014 12:01:21 +0400
Subject: [PATCH 084/228] Skip Octave test result copying, too, for now

---
 pkgs/development/interpreters/octave/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 19b22314279c..ca9a00eab1c2 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   # Keep a copy of the octave tests detailed results in the output
   # derivation, because someone may care
   postInstall = ''
-    cp test/fntests.log $out/share/octave/${name}-fntests.log
+    cp test/fntests.log $out/share/octave/${name}-fntests.log || true
   '';
 
   passthru = {

From 4262c4bb9d5dcf712959de3ce0f579f870db5860 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Tue, 7 Jan 2014 17:31:52 +0800
Subject: [PATCH 085/228] vala: update to 0.23.1, remove old versions

set license to lgpl2Plus
add myself to maintainers
and some cleanup
---
 pkgs/development/compilers/vala/15.2.nix    | 24 -----------
 pkgs/development/compilers/vala/16.1.nix    | 24 -----------
 pkgs/development/compilers/vala/default.nix | 48 ++++++++++-----------
 pkgs/top-level/all-packages.nix             |  8 +---
 pkgs/top-level/release-python.nix           |  2 -
 5 files changed, 25 insertions(+), 81 deletions(-)
 delete mode 100644 pkgs/development/compilers/vala/15.2.nix
 delete mode 100644 pkgs/development/compilers/vala/16.1.nix

diff --git a/pkgs/development/compilers/vala/15.2.nix b/pkgs/development/compilers/vala/15.2.nix
deleted file mode 100644
index 529ccea6bc80..000000000000
--- a/pkgs/development/compilers/vala/15.2.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
-
-stdenv.mkDerivation rec {
-
-  version = "0.15.2";
-  name = "vala-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/vala/0.15/${name}.tar.xz";
-    sha256 = "0g71zq6dpqrw2f40wfzdf18fdw41ymr17laqniy2kr622hkxdi8w";
-  };
-
-  nativeBuildInputs = [ yacc flex pkgconfig xz ];
-
-  buildInputs = [ glib ];
-
-  meta = {
-    description = "Compiler for the GObject type system";
-    homepage = "http://live.gnome.org/Vala";
-    license = "free-copyleft";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
-  };
-}
diff --git a/pkgs/development/compilers/vala/16.1.nix b/pkgs/development/compilers/vala/16.1.nix
deleted file mode 100644
index f054c59d2e4b..000000000000
--- a/pkgs/development/compilers/vala/16.1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
-
-stdenv.mkDerivation rec {
-
-  version = "0.16.1";
-  name = "vala-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/vala/0.16/${name}.tar.xz";
-    sha256 = "1n708n9ixyy9qrzyv1wf4ybvcclx43ib9ki028wwpvkz6kv8zqlb";
-  };
-
-  nativeBuildInputs = [ yacc flex pkgconfig xz ];
-
-  buildInputs = [ glib ];
-
-  meta = {
-    description = "Compiler for the GObject type system";
-    homepage = "http://live.gnome.org/Vala";
-    license = "free-copyleft";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
-  };
-}
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 9af30230757e..ae0692801437 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -1,31 +1,31 @@
-{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, dbus, dbus_tools
-, libiconvOrEmpty, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt
+, glib, libiconvOrEmpty, libintlOrEmpty
+}:
 
+let
+  major = "0.23";
+  minor = "1";
+  sha256 = "1m8f2d01r4jqp266mk29qsl68lzh7c258cqd5zzbpbryxszlzdfj";
+in
 stdenv.mkDerivation rec {
-  p_name  = "vala";
-  ver_maj = "0.19";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${p_name}/${ver_maj}/${name}.tar.xz";
-    sha256 = "1vn524hcnaggz8zx49mvf7p4z1mscrlj2syg7jjhph8nak5wi0bp";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  postPatch = "patchShebangs .";
-
-  nativeBuildInputs = [ yacc flex pkgconfig ];
-
-  buildInputs = [ glib ] ++ libiconvOrEmpty ++ libintlOrEmpty
-    ++ stdenv.lib.optional doCheck [ dbus dbus_tools ];
-
-  doCheck = false; # problems when launching dbus tests
+  name = "vala-${major}.${minor}";
 
   meta = {
-    description = "Compiler for the GObject type system";
+    description = "Compiler for GObject type system";
     homepage = "http://live.gnome.org/Vala";
-    license = "free-copyleft";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
+    license = stdenv.lib.licenses.gpl21Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ antono iyzsong ];
   };
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
+    inherit sha256;
+  };
+
+  nativeBuildInputs = [ pkgconfig flex bison libxslt ];
+
+  buildInputs = [ glib ]
+    ++ libiconvOrEmpty
+    ++ libintlOrEmpty;
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4b76f4b02368..abbb46b46b1d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3128,13 +3128,7 @@ let
 
   urweb = callPackage ../development/compilers/urweb { };
 
-  vala = vala19;
-
-  vala15 = callPackage ../development/compilers/vala/15.2.nix { };
-
-  vala16 = callPackage ../development/compilers/vala/16.1.nix { };
-
-  vala19 = callPackage ../development/compilers/vala/default.nix { };
+  vala = callPackage ../development/compilers/vala/default.nix { };
 
   visualcpp = callPackage ../development/compilers/visual-c++ { };
 
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 74778c57fe82..b56c7af6e037 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -1697,8 +1697,6 @@ let
   v8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   vacuum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   vala = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vala15 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  vala16 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   valgrind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   valkyrie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   vde2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };

From 7a61edec6b166ef75166a05a46bb763c312bd3fc Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Tue, 7 Jan 2014 18:06:36 +0800
Subject: [PATCH 086/228] vala: fix typo in license

---
 pkgs/development/compilers/vala/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index ae0692801437..95c37edb09a2 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Compiler for GObject type system";
     homepage = "http://live.gnome.org/Vala";
-    license = stdenv.lib.licenses.gpl21Plus;
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ antono iyzsong ];
   };

From c3db56527dccbf57c704351595c05e642dd0cf5b Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 7 Jan 2014 11:00:31 +0100
Subject: [PATCH 087/228] linux: Update to 3.4.75

---
 pkgs/os-specific/linux/kernel/linux-3.4.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 46a87e65c502..423e419a5aa0 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.74";
+  version = "3.4.75";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "189b7391shzsf0383c3yqf8wy9w82wkzfqmqzxkm77312px1b2yb";
+    sha256 = "15i9gr66nbjvjjv9hwkvii307rn62627dq3pcp1j3zl472n302qr";
   };
 
   features.iwlwifi = true;

From 0d54426794f8d78790da71f7f2253404b23f52d9 Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Tue, 7 Jan 2014 13:11:32 +0100
Subject: [PATCH 088/228] Add zabbix 2.2.1

---
 pkgs/servers/monitoring/zabbix/2.2.nix | 88 ++++++++++++++++++++++++++
 pkgs/top-level/all-packages.nix        |  1 +
 2 files changed, 89 insertions(+)
 create mode 100644 pkgs/servers/monitoring/zabbix/2.2.nix

diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix
new file mode 100644
index 000000000000..ca36684a8c2d
--- /dev/null
+++ b/pkgs/servers/monitoring/zabbix/2.2.nix
@@ -0,0 +1,88 @@
+{ stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext
+, enableJabber ? false, minmay ? null }:
+
+assert enableJabber -> minmay != null;
+
+let
+
+  version = "2.2.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
+    sha256 = "1yy7jbbnpr7qkvzqcspybdkmaz50v2hsa9kvg4lzjysjzg7f9j99";
+  };
+
+  preConfigure =
+    ''
+      substituteInPlace ./configure \
+        --replace " -static" "" \
+        ${stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
+          --replace /usr/include/iconv.h ${stdenv.gcc.libc}/include/iconv.h
+        ''}
+    '';
+
+in
+
+{
+  recurseForDerivations = true;
+
+  server = stdenv.mkDerivation {
+    name = "zabbix-${version}";
+
+    inherit src preConfigure;
+
+    configureFlags = [
+      "--enable-agent"
+      "--enable-server"
+      "--with-postgresql"
+      "--with-libcurl"
+      "--with-gettext"
+    ] ++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}";
+
+    postPatch = ''
+      sed -i -e 's/iksemel/minmay/g' configure src/libs/zbxmedia/jabber.c
+      sed -i \
+        -e '/^static ikstransport/,/}/d' \
+        -e 's/iks_connect_with\(.*\), &zbx_iks_transport/mmay_connect_via\1/' \
+        -e 's/iks/mmay/g' -e 's/IKS/MMAY/g' src/libs/zbxmedia/jabber.c
+    '';
+
+    buildInputs = [ pkgconfig postgresql curl openssl zlib ];
+
+    postInstall =
+      ''
+        mkdir -p $out/share/zabbix
+        cp -prvd frontends/php $out/share/zabbix/php
+        mkdir -p $out/share/zabbix/db/data
+        cp -prvd database/postgresql/data.sql $out/share/zabbix/db/data/data.sql
+        cp -prvd database/postgresql/images.sql $out/share/zabbix/db/data/images_pgsql.sql
+        mkdir -p $out/share/zabbix/db/schema
+        cp -prvd database/postgresql/schema.sql $out/share/zabbix/db/schema/postgresql.sql
+      '';
+
+    meta = {
+      description = "An enterprise-class open source distributed monitoring solution";
+      homepage = http://www.zabbix.com/;
+      license = "GPL";
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+  agent = stdenv.mkDerivation {
+    name = "zabbix-agent-${version}";
+
+    inherit src preConfigure;
+
+    configureFlags = "--enable-agent";
+
+    meta = {
+      description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
+      homepage = http://www.zabbix.com/;
+      license = "GPL";
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    };
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index caceedece2aa..d66773d9d33a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6495,6 +6495,7 @@ let
   });
 
   zabbix20 = callPackage ../servers/monitoring/zabbix/2.0.nix { };
+  zabbix22 = callPackage ../servers/monitoring/zabbix/2.2.nix { };
 
 
   ### OS-SPECIFIC

From 2f11bc495b50c36c1984f334df6867c1b9200a91 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 7 Jan 2014 13:37:51 +0100
Subject: [PATCH 089/228] Hide nodePackages from nix-env

Many nodePackages have identical names as "normal" packages (e.g.,
swig, redis, tar) which is obviously bad.  So don't make nix-env
recursive into nodePackages.

A better solution would be to have node packages have a "node-"
prefix, similar to Perl and Python packages.
---
 pkgs/top-level/all-packages.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d66773d9d33a..d35430d161be 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1237,11 +1237,11 @@ let
 
   nodejs = callPackage ../development/web/nodejs {};
 
-  nodePackages = recurseIntoAttrs (import ./node-packages.nix {
+  nodePackages = import ./node-packages.nix {
     inherit pkgs stdenv nodejs fetchurl fetchgit;
     neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux;
     self = pkgs.nodePackages;
-  });
+  };
 
   ldapvi = callPackage ../tools/misc/ldapvi { };
 

From 20ab97773653893a60f7e8dce43cd39f637c3d4b Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 7 Jan 2014 15:36:00 +0100
Subject: [PATCH 090/228] ffmpeg: configurable.nix -> 2.x.nix

---
 pkgs/development/libraries/ffmpeg/2.x.nix     | 53 ++++------
 .../libraries/ffmpeg/configurable.nix         | 98 -------------------
 pkgs/top-level/all-packages.nix               |  3 -
 3 files changed, 21 insertions(+), 133 deletions(-)
 delete mode 100644 pkgs/development/libraries/ffmpeg/configurable.nix

diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 25f5578ca06b..90f8f9299e75 100644
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -1,37 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, opusSupport ? true, libopus ? null
-, vdpauSupport ? true, libvdpau ? null
-, vaapiSupport ? true, libva ? null
-, faacSupport ? false, faac ? null
-, dc1394Support ? false, libdc1394 ? null
-, x11grabSupport ? false, libXext ? null, libXfixes ? null
-, playSupport ? true, SDL ? null
-, freetypeSupport ? true, freetype ? null, fontconfig ? null
-, fdkAACSupport ? false, fdk_aac ? null
+{ stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
+, lame, speex, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
+, libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
+, freetype, fontconfig, fdk_aac
 }:
 
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert opusSupport -> libopus != null;
-assert vdpauSupport -> libvdpau != null;
-assert vaapiSupport -> libva != null;
-assert faacSupport -> faac != null;
-assert x11grabSupport -> libXext != null && libXfixes != null;
-assert playSupport -> SDL != null;
-assert freetypeSupport -> freetype != null;
-assert fdkAACSupport -> fdk_aac != null;
-
 stdenv.mkDerivation rec {
   name = "ffmpeg-2.1.1";
 
@@ -40,6 +12,23 @@ stdenv.mkDerivation rec {
     sha256 = "1qnspbpwa6cflsb6mkm84ay4nfx60ism6d7lgvnasidck9dmxydy";
   };
 
+  mp3Support = config.ffmpeg.mp3 or true;
+  speexSupport = config.ffmpeg.speex or true;
+  theoraSupport = config.ffmpeg.theora or true;
+  vorbisSupport = config.ffmpeg.vorbis or true;
+  vpxSupport = config.ffmpeg.vpx or false;
+  x264Support = config.ffmpeg.x264 or true;
+  xvidSupport = config.ffmpeg.xvid or true;
+  opusSupport = config.ffmpeg.opus or true;
+  vdpauSupport = config.ffmpeg.vdpau or true;
+  vaapiSupport = config.ffmpeg.vaapi or true;
+  faacSupport = config.ffmpeg.faac or false;
+  fdkAACSupport = config.ffmpeg.fdk or false;
+  dc1394Support = config.ffmpeg.dc1394 or false;
+  x11grabSupport = config.ffmpeg.x11grab or false;
+  playSupport = config.ffmpeg.play or true;
+  freetypeSupport = config.ffmpeg.freetype or true;
+
   # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
   # the resulting library is GPL'ed, so it can only be used in GPL'ed
   # applications.
diff --git a/pkgs/development/libraries/ffmpeg/configurable.nix b/pkgs/development/libraries/ffmpeg/configurable.nix
deleted file mode 100644
index 90f8f9299e75..000000000000
--- a/pkgs/development/libraries/ffmpeg/configurable.nix
+++ /dev/null
@@ -1,98 +0,0 @@
-{ stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
-, lame, speex, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
-, libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
-, freetype, fontconfig, fdk_aac
-}:
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-2.1.1";
-
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "1qnspbpwa6cflsb6mkm84ay4nfx60ism6d7lgvnasidck9dmxydy";
-  };
-
-  mp3Support = config.ffmpeg.mp3 or true;
-  speexSupport = config.ffmpeg.speex or true;
-  theoraSupport = config.ffmpeg.theora or true;
-  vorbisSupport = config.ffmpeg.vorbis or true;
-  vpxSupport = config.ffmpeg.vpx or false;
-  x264Support = config.ffmpeg.x264 or true;
-  xvidSupport = config.ffmpeg.xvid or true;
-  opusSupport = config.ffmpeg.opus or true;
-  vdpauSupport = config.ffmpeg.vdpau or true;
-  vaapiSupport = config.ffmpeg.vaapi or true;
-  faacSupport = config.ffmpeg.faac or false;
-  fdkAACSupport = config.ffmpeg.fdk or false;
-  dc1394Support = config.ffmpeg.dc1394 or false;
-  x11grabSupport = config.ffmpeg.x11grab or false;
-  playSupport = config.ffmpeg.play or true;
-  freetypeSupport = config.ffmpeg.freetype or true;
-
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--enable-shared"
-    "--enable-avresample"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional opusSupport "--enable-libopus"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
-    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
-    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
-    ++ stdenv.lib.optional playSupport "--enable-ffplay"
-    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
-    ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree";
-
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional opusSupport libopus
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional vaapiSupport libva
-    ++ stdenv.lib.optional faacSupport faac
-    ++ stdenv.lib.optional dc1394Support libdc1394
-    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
-    ++ stdenv.lib.optional playSupport SDL
-    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
-    ++ stdenv.lib.optional fdkAACSupport fdk_aac;
-
-  enableParallelBuilding = true;
-
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  passthru = {
-    inherit vdpauSupport;
-  };
-
-  meta = {
-    homepage = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-    license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c2e56dfd3364..e3806622cdb7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4190,14 +4190,11 @@ let
   };
 
   ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix {
-    vpxSupport = !stdenv.isMips;
     texinfo = texinfo5;
   };
 
   ffmpeg = ffmpeg_2;
 
-  ffmpeg_configurable = callPackage ../development/libraries/ffmpeg/configurable.nix { };
-
   ffms = callPackage ../development/libraries/ffms { };
 
   fftw = callPackage ../development/libraries/fftw { };

From e01af040ed970371d0e0342dc89a9a5525fdef52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= <vcunat@gmail.com>
Date: Tue, 7 Jan 2014 17:50:01 +0100
Subject: [PATCH 091/228] xorg.libXfont: bugfix update, CVE-2013-6462

This lib is deprecated and almost unused, but still...
---
 pkgs/servers/x11/xorg/default.nix       | 6 +++---
 pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 1be17e623f7d..a663f1435a3e 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -680,11 +680,11 @@ let
   })) // {inherit fixesproto libX11 xextproto xproto ;};
 
   libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) {
-    name = "libXfont-1.4.6";
+    name = "libXfont-1.4.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont-1.4.6.tar.bz2;
-      sha256 = "17vy2p8myxx8644yd05qsl2qvv9m3mhdbniw87mcw5ywai2zxjyh";
+      url = mirror://xorg/individual/lib/libXfont-1.4.7.tar.bz2;
+      sha256 = "0hqm3nainxpc0922i4zbwzc768f69zkdf1gvkjqrdlim31aa6vni";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
   })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 4cf9c0362e0f..3814400c6675 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -65,7 +65,7 @@ mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.2.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2
-mirror://xorg/individual/lib/libXfont-1.4.6.tar.bz2
+mirror://xorg/individual/lib/libXfont-1.4.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.2.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2

From 37e6b8ec80935108ae8ab9b35f99c2587aeb32ca Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Tue, 7 Jan 2014 22:02:01 +0400
Subject: [PATCH 092/228] A larger Octave build with GUI

---
 .../interpreters/octave/default.nix           | 21 +++++++++++++++----
 pkgs/top-level/all-packages.nix               |  9 ++++++++
 2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index ca9a00eab1c2..eb7e925561c8 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,6 +1,9 @@
 {stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull,
-libX11, graphicsmagick, pcre, liblapack, texLive, pkgconfig, mesa, fltk,
-fftw, fftwSinglePrec, zlib, curl, qrupdate }:
+libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk,
+fftw, fftwSinglePrec, zlib, curl, qrupdate
+, qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
+, suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null
+}:
 
 let
   version = "3.8.0";
@@ -14,7 +17,17 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11
     graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
-    fftw fftwSinglePrec qrupdate ];
+    fftw fftwSinglePrec qrupdate ]
+    ++ (stdenv.lib.optional (qt != null) qt)
+    ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
+    ++ (stdenv.lib.optional (llvm != null) llvm)
+    ++ (stdenv.lib.optional (hdf5 != null) hdf5)
+    ++ (stdenv.lib.optional (glpk != null) glpk)
+    ++ (stdenv.lib.optional (suitesparse != null) suitesparse)
+    ++ (stdenv.lib.optional (openjdk != null) openjdk)
+    ++ (stdenv.lib.optional (gnuplot != null) gnuplot)
+    ++ (stdenv.lib.optional (python != null) python)
+    ;
 
   # there is a mysterious sh: command not found
   doCheck = false;
@@ -39,7 +52,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://octave.org/;
     license = "GPLv3+";
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [viric raskin];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e3806622cdb7..92668c9fff49 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3274,7 +3274,16 @@ let
 
   octave = callPackage ../development/interpreters/octave {
     fltk = fltk13;
+    qt = null;
+    ghostscript = null;
+    llvm = null;
+    hdf5 = null;
+    glpk = null;
+    suitesparse = null;
+    openjdk = null;
+    gnuplot = null;
   };
+  octaveFull = (lowPrio (callPackage ../development/interpreters/octave { }));
 
   # mercurial (hg) bleeding edge version
   octaveHG = callPackage ../development/interpreters/octave/hg.nix { };

From 0e3591941c47888490edb284f4ac9fcfb6d590a7 Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Tue, 7 Jan 2014 23:50:10 +0400
Subject: [PATCH 093/228] Fix Octave-full evaluation

---
 pkgs/top-level/all-packages.nix | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 92668c9fff49..e71799f49ccb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3283,7 +3283,9 @@ let
     openjdk = null;
     gnuplot = null;
   };
-  octaveFull = (lowPrio (callPackage ../development/interpreters/octave { }));
+  octaveFull = (lowPrio (callPackage ../development/interpreters/octave { 
+    fltk = fltk13;
+  }));
 
   # mercurial (hg) bleeding edge version
   octaveHG = callPackage ../development/interpreters/octave/hg.nix { };

From 0266ac9c30b747ed4523d4680f4983906a17b385 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 13:16:08 +0100
Subject: [PATCH 094/228] apache-httpd-2.4: revert "enable building the
 'event'-based mpm worker"

Commit 0c3d910cd027a926ffc8538ea60cf2da099d7808 didn't have any effect.
The 'event' MPM module isn't built because our version of APR is too old.
---
 pkgs/servers/http/apache-httpd/2.4.nix | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index c6d0b3ad73b0..2bbe9798de46 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -36,7 +36,6 @@ stdenv.mkDerivation rec {
     --with-pcre=${pcre}
     --disable-maintainer-mode
     --disable-debugger-mode
-    --enable-mpm=event
     --enable-mods-shared=all
     --enable-mpms-shared=all
     --enable-cern-meta

From 16ce061e113a22d0c25e1578c3d74df96b1bd190 Mon Sep 17 00:00:00 2001
From: Rickard Nilsson <rickynils@gmail.com>
Date: Wed, 8 Jan 2014 15:29:38 +0100
Subject: [PATCH 095/228] tailor: Add extra source URL

---
 pkgs/applications/version-management/tailor/default.nix | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/pkgs/applications/version-management/tailor/default.nix b/pkgs/applications/version-management/tailor/default.nix
index 54529503d82a..f8937f39e769 100644
--- a/pkgs/applications/version-management/tailor/default.nix
+++ b/pkgs/applications/version-management/tailor/default.nix
@@ -2,7 +2,10 @@ args : with args;
 let version = if args ? version then args.version else "0.9.35"; in
 rec {
   src = fetchurl {
-    url = "http://darcs.arstecnica.it/tailor/tailor-${version}.tar.gz";
+    urls = [
+      "http://darcs.arstecnica.it/tailor/tailor-${version}.tar.gz"
+      "http://pkgs.fedoraproject.org/repo/pkgs/tailor/tailor-${version}.tar.gz/58a6bc1c1d922b0b1e4579c6440448d1/tailor-${version}.tar.gz"
+    ];
     sha256 = "061acapxxn5ab3ipb5nd3nm8pk2xj67bi83jrfd6lqq3273fmdjh";
   };
 

From 3a6254f3f715cf76d74f547171cd82e4f35eb4d7 Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Wed, 8 Jan 2014 16:05:08 +0100
Subject: [PATCH 096/228] mc: update from 4.8.0 to 4.8.11

---
 pkgs/tools/misc/mc/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index cc8fbacca6fc..88194ec0fdf3 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -2,11 +2,11 @@
 , libX11, libICE, perl, zip, unzip, gettext, slang}:
 
 stdenv.mkDerivation rec {
-  name = "mc-4.8.0";
+  name = "mc-4.8.11";
   
   src = fetchurl {
-    url = http://www.midnight-commander.org/downloads/mc-4.8.0.tar.bz2;
-    sha256 = "dbf077b318c13fc6d465dc67bd43958f067b9ff7e21041975bd14927dfa31b52";
+    url = http://www.midnight-commander.org/downloads/mc-4.8.11.tar.bz2;
+    sha256 = "1yjm6rp9h3491mar7vdw88mgvydmz7zdj97mmjkqyf5bidx4w2hf";
   };
   
   buildInputs = [ pkgconfig perl glib gpm slang zip unzip file gettext libX11 libICE e2fsprogs ];

From e148a016f553c149ccdd78ea15743869abe56cfe Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Wed, 8 Jan 2014 16:17:32 +0100
Subject: [PATCH 097/228] xlibs.xf86videointel: update from 2.21.9 to 2.21.15

---
 pkgs/servers/x11/xorg/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index a663f1435a3e..b19f26cc12d4 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1510,11 +1510,11 @@ let
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) {
-    name = "xf86-video-intel-2.21.9";
+    name = "xf86-video-intel-2.21.15";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.21.9.tar.bz2;
-      sha256 = "12gigzpgbrz6g2gf4q5nj2sqmjw8fczbh79dlpx898llwk4wnn8k";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2;
+      sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx";
     };
     buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ];
   })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;};

From e8a9e30cc7b57465a40ad2957b90389d258892fa Mon Sep 17 00:00:00 2001
From: Evgeny Egorochkin <phreedom@yandex.ru>
Date: Wed, 8 Jan 2014 18:06:18 +0200
Subject: [PATCH 098/228] Add meta.branch to some packages

---
 pkgs/development/libraries/zeromq/2.x.nix | 1 +
 pkgs/development/libraries/zeromq/3.x.nix | 1 +
 pkgs/servers/monitoring/zabbix/2.0.nix    | 3 +++
 pkgs/servers/monitoring/zabbix/2.2.nix    | 3 +++
 4 files changed, 8 insertions(+)

diff --git a/pkgs/development/libraries/zeromq/2.x.nix b/pkgs/development/libraries/zeromq/2.x.nix
index 06beb9254f95..67b1151dc849 100644
--- a/pkgs/development/libraries/zeromq/2.x.nix
+++ b/pkgs/development/libraries/zeromq/2.x.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libuuid ];
 
   meta = {
+    branch = "2";
     homepage = "http://www.zeromq.org";
     description = "The Intelligent Transport Layer";
   };
diff --git a/pkgs/development/libraries/zeromq/3.x.nix b/pkgs/development/libraries/zeromq/3.x.nix
index fbb3b5ad74f7..6ee49cb5082e 100644
--- a/pkgs/development/libraries/zeromq/3.x.nix
+++ b/pkgs/development/libraries/zeromq/3.x.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libuuid ];
 
   meta = {
+    branch = "3";
     homepage = "http://www.zeromq.org";
     description = "The Intelligent Transport Layer";
   };
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index c9976581a519..cc05730cee5f 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -6,6 +6,7 @@ assert enableJabber -> minmay != null;
 let
 
   version = "2.0.10";
+  branch = "2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
@@ -61,6 +62,7 @@ in
       '';
 
     meta = {
+      inherit branch;
       description = "An enterprise-class open source distributed monitoring solution";
       homepage = http://www.zabbix.com/;
       license = "GPL";
@@ -77,6 +79,7 @@ in
     configureFlags = "--enable-agent";
 
     meta = {
+      inherit branch;
       description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
       homepage = http://www.zabbix.com/;
       license = "GPL";
diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix
index ca36684a8c2d..71d4a963d7ad 100644
--- a/pkgs/servers/monitoring/zabbix/2.2.nix
+++ b/pkgs/servers/monitoring/zabbix/2.2.nix
@@ -6,6 +6,7 @@ assert enableJabber -> minmay != null;
 let
 
   version = "2.2.1";
+  branch = "2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
@@ -61,6 +62,7 @@ in
       '';
 
     meta = {
+      inherit branch;
       description = "An enterprise-class open source distributed monitoring solution";
       homepage = http://www.zabbix.com/;
       license = "GPL";
@@ -77,6 +79,7 @@ in
     configureFlags = "--enable-agent";
 
     meta = {
+      inherit branch;
       description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
       homepage = http://www.zabbix.com/;
       license = "GPL";

From ef7bd2ed86cf15e50757ca2eb83132b05896849a Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Wed, 8 Jan 2014 20:26:31 +0400
Subject: [PATCH 099/228] Pass correct Qt version to octaveFull for GUI

---
 pkgs/top-level/all-packages.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e71799f49ccb..cf6c255fa41b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3285,6 +3285,7 @@ let
   };
   octaveFull = (lowPrio (callPackage ../development/interpreters/octave { 
     fltk = fltk13;
+    qt = qt4;
   }));
 
   # mercurial (hg) bleeding edge version

From 398ae63aa6c4cb4f8ec3253d990cd9f6d602ae2c Mon Sep 17 00:00:00 2001
From: Ian-Woo Kim <ianwookim@gmail.com>
Date: Sun, 5 Jan 2014 15:52:12 +0100
Subject: [PATCH 100/228] haskell-poppler package is added.

---
 lib/maintainers.nix                           |  1 +
 .../libraries/haskell/poppler/default.nix     | 19 +++++++++++++++++++
 pkgs/top-level/haskell-packages.nix           |  5 +++++
 3 files changed, 25 insertions(+)
 create mode 100644 pkgs/development/libraries/haskell/poppler/default.nix

diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 9f8406259780..f81bebd9f89a 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -27,6 +27,7 @@
   garbas = "Rok Garbas <rok@garbas.si>";
   goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
   guibert = "David Guibert <david.guibert@gmail.com>";
+  ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
   iElectric = "Domen Kozar <domen@dev.si>";
   iyzsong = "Song Wenwu <iyzsong@gmail.com>";
   jcumming = "Jack Cummings <jack@mudshark.org>";
diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix
new file mode 100644
index 000000000000..5240eb3a0fc9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/poppler/default.nix
@@ -0,0 +1,19 @@
+{ cabal, cairo, glib, gtk, gtk2hsBuildtools, libc, mtl, popplerGlib, pkgconfig }:
+
+cabal.mkDerivation (self: {
+  pname = "poppler";
+  version = "0.12.2.2";
+  sha256 = "1ln5akiarv1ng5gjrzf8bnkm556xzl50m209qvi5nk98g7fyhqs7";
+  buildDepends = [ cairo glib gtk mtl ];
+  buildTools = [ gtk2hsBuildtools ];
+  extraLibraries = [ libc pkgconfig ];
+  pkgconfigDepends = [ glib gtk popplerGlib ];
+  #jailbreak = true;
+  meta = {
+    homepage = "http://www.haskell.org/gtk2hs";
+    description = "Binding to the Poppler";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index ea2f73234952..b045e63e6ba4 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1799,6 +1799,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   pop3client = callPackage ../development/libraries/haskell/pop3-client {};
 
+  poppler = callPackage ../development/libraries/haskell/poppler {
+    popplerGlib = pkgs.poppler.poppler_glib;
+    libc = pkgs.stdenv.gcc.libc;
+  };
+
   postgresqlLibpq = callPackage ../development/libraries/haskell/postgresql-libpq {
     inherit (pkgs) postgresql;
   };

From eed630797e6938006ff74e55a67fc2555c596a57 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 17:31:53 +0100
Subject: [PATCH 101/228] haskell-poppler: re-generate expression with
 cabal2nix

---
 .../development/libraries/haskell/poppler/default.nix | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix
index 5240eb3a0fc9..5af2ead5e8e0 100644
--- a/pkgs/development/libraries/haskell/poppler/default.nix
+++ b/pkgs/development/libraries/haskell/poppler/default.nix
@@ -1,4 +1,6 @@
-{ cabal, cairo, glib, gtk, gtk2hsBuildtools, libc, mtl, popplerGlib, pkgconfig }:
+{ cabal, cairo, gdk_pixbuf, glib, gtk, gtk2hsBuildtools, libc, mtl
+, pango, popplerGlib
+}:
 
 cabal.mkDerivation (self: {
   pname = "poppler";
@@ -6,11 +8,10 @@ cabal.mkDerivation (self: {
   sha256 = "1ln5akiarv1ng5gjrzf8bnkm556xzl50m209qvi5nk98g7fyhqs7";
   buildDepends = [ cairo glib gtk mtl ];
   buildTools = [ gtk2hsBuildtools ];
-  extraLibraries = [ libc pkgconfig ];
-  pkgconfigDepends = [ glib gtk popplerGlib ];
-  #jailbreak = true;
+  extraLibraries = [ libc ];
+  pkgconfigDepends = [ cairo gdk_pixbuf glib gtk pango popplerGlib ];
   meta = {
-    homepage = "http://www.haskell.org/gtk2hs";
+    homepage = "http://www.haskell.org/gtk2hs/";
     description = "Binding to the Poppler";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;

From 3ba75f925deff6b85db1fa2d2f2b7a2a00c9653e Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Wed, 8 Jan 2014 18:43:39 +0100
Subject: [PATCH 102/228] nodejs: update from 0.10.22 to 0.10.24

---
 pkgs/development/web/nodejs/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index ae990ca32459..7c10bcb51dec 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -6,7 +6,7 @@ let
     ln -sv /usr/sbin/dtrace $out/bin
   '';
 
-  version = "0.10.22";
+  version = "0.10.24";
 
   # !!! Should we also do shared libuv?
   deps = {
@@ -27,7 +27,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha1 = "d7c6a39dfa714eae1f8da7a00c9a07efd74a03b3";
+    sha256 = "0yip81va8nd3kzj64385avcx7ck13a2xcdj3amzwnhk830rxf331";
   };
 
   configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);

From a5882db8005f6688cab42e7c740bd1de8e7f5e86 Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Wed, 8 Jan 2014 18:49:49 +0100
Subject: [PATCH 103/228] cryptsetup: update from 1.6.2 to 1.6.3

---
 pkgs/os-specific/linux/cryptsetup/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 93f62ab7e0a9..0f4a1b6985ef 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "cryptsetup-1.6.2";
+  name = "cryptsetup-1.6.3";
 
   src = fetchurl {
     url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "16hh7v8bsqy0i1wlaj03kwqjv3liffkvg06lk75lng9hk00kywhm";
+    sha256 = "1n1qk5chyjspbiianrdb55fhb4wl0vfyqz2br05vfb24v4qlgbx2";
   };
 
   configureFlags = [ "--enable-cryptsetup-reencrypt" ]

From eddb74a5cf5d550be85e85c49d1885e7fadd9c62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= <benno.fuenfstueck@gmail.com>
Date: Sat, 4 Jan 2014 23:46:05 +0100
Subject: [PATCH 104/228] New expressions: yi, yi contrib and dependencies

---
 pkgs/applications/editors/yi/yi-contrib.nix   | 14 +++++++
 pkgs/applications/editors/yi/yi.nix           | 38 +++++++++++++++++++
 .../haskell/concreteTyperep/default.nix       | 18 +++++++++
 .../data-accessor/data-accessor-mtl.nix       | 14 +++++++
 .../libraries/haskell/pointedlist/default.nix | 13 +++++++
 pkgs/top-level/haskell-packages.nix           | 10 +++++
 6 files changed, 107 insertions(+)
 create mode 100644 pkgs/applications/editors/yi/yi-contrib.nix
 create mode 100644 pkgs/applications/editors/yi/yi.nix
 create mode 100644 pkgs/development/libraries/haskell/concreteTyperep/default.nix
 create mode 100644 pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix
 create mode 100644 pkgs/development/libraries/haskell/pointedlist/default.nix

diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix
new file mode 100644
index 000000000000..e2fadcca345d
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-contrib.nix
@@ -0,0 +1,14 @@
+{ cabal, dataAccessor, filepath, mtl, split, yi }:
+
+cabal.mkDerivation (self: {
+  pname = "yi-contrib";
+  version = "0.7.0";
+  sha256 = "12x9ps5yrszr8dlj15kmsm9myq3gzd9x9nacvl3x6cq91wk53mzj";
+  buildDepends = [ dataAccessor filepath mtl split yi ];
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Yi";
+    description = "Add-ons to Yi, the Haskell-Scriptable Editor";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
new file mode 100644
index 000000000000..01ddd5a9d8e5
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -0,0 +1,38 @@
+{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
+, dataAccessor, dataAccessorMtl, dataAccessorTemplate, derive, Diff
+, dlist, dyre, filepath, fingertree, ghcPaths, hashable, hint
+, HUnit, mtl, parsec, pointedlist, pureMD5, QuickCheck, random
+, regexBase, regexTdfa, split, testFramework, testFrameworkHunit
+, time, uniplate, unixCompat, unorderedContainers, utf8String, vty
+, pango, gtk, gio, glib, cairo
+, xdgBasedir
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yi";
+  version = "0.7.0";
+  sha256 = "0mzcjgp12k5mxb37r6chxsk726b1qxds49ch656bpgrg7n22w2j1";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary Cabal cautiousFile concreteTyperep dataAccessor
+    dataAccessorMtl dataAccessorTemplate derive Diff dlist dyre
+    filepath fingertree ghcPaths hashable hint mtl parsec pointedlist
+    pureMD5 QuickCheck random regexBase regexTdfa split time uniplate
+    unixCompat unorderedContainers utf8String vty xdgBasedir pango gtk
+    gio glib cairo
+  ];
+  testDepends = [
+    filepath HUnit QuickCheck testFramework testFrameworkHunit
+  ];
+  buildTools = [ alex ];
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Yi";
+    description = "The Haskell-Scriptable Editor";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+  configureFlags="-fpango";
+  jailbreak=true;
+  doCheck=false; # Tests fail in version on hackage because files are missing
+})
diff --git a/pkgs/development/libraries/haskell/concreteTyperep/default.nix b/pkgs/development/libraries/haskell/concreteTyperep/default.nix
new file mode 100644
index 000000000000..20894b844ac6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/concreteTyperep/default.nix
@@ -0,0 +1,18 @@
+{ cabal, binary, hashable, QuickCheck, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "concrete-typerep";
+  version = "0.1.0.2";
+  sha256 = "07wy8drg4723zdy2172jrcvd5ir2c4ggcfz1n33jhm9iv3cl2app";
+  buildDepends = [ binary hashable ];
+  testDepends = [
+    binary hashable QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  meta = {
+    description = "Binary and Hashable instances for TypeRep";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix
new file mode 100644
index 000000000000..ce550d02beb5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-mtl.nix
@@ -0,0 +1,14 @@
+{ cabal, dataAccessor, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "data-accessor-mtl";
+  version = "0.2.0.3";
+  sha256 = "1aksmm4ykb96khgq5y4vd40zbn4c73hgl21xvyc295cwxsyrbvbk";
+  buildDepends = [ dataAccessor mtl ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Record_access";
+    description = "Use Accessor to access state in mtl State monad class";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pointedlist/default.nix b/pkgs/development/libraries/haskell/pointedlist/default.nix
new file mode 100644
index 000000000000..881beafaca0f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pointedlist/default.nix
@@ -0,0 +1,13 @@
+{ cabal, binary, derive }:
+
+cabal.mkDerivation (self: {
+  pname = "pointedlist";
+  version = "0.6";
+  sha256 = "16sfw77w46f7rjd1lpdfzi1bdgf81siy2sj71xqkqbsz6cvkjakg";
+  buildDepends = [ binary derive ];
+  meta = {
+    description = "A zipper-like comonad which works as a list, tracking a position";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b045e63e6ba4..7db34335bf4b 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -767,6 +767,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   concatenative = callPackage ../development/libraries/haskell/concatenative {};
 
+  concreteTyperep = callPackage ../development/libraries/haskell/concreteTyperep {};
+
   conduit = callPackage ../development/libraries/haskell/conduit {};
 
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
@@ -841,6 +843,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   dataAccessorTransformers = callPackage ../development/libraries/haskell/data-accessor/data-accessor-transformers.nix {};
 
+  dataAccessorMtl = callPackage ../development/libraries/haskell/data-accessor/data-accessor-mtl.nix {};
+
   dataBinaryIeee754 = callPackage ../development/libraries/haskell/data-binary-ieee754 {};
 
   dataDefault = callPackage ../development/libraries/haskell/data-default {};
@@ -1795,6 +1799,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   pointed = callPackage ../development/libraries/haskell/pointed {};
 
+  pointedlist = callPackage ../development/libraries/haskell/pointedlist {};
+
   poolConduit = callPackage ../development/libraries/haskell/pool-conduit {};
 
   pop3client = callPackage ../development/libraries/haskell/pop3-client {};
@@ -2604,6 +2610,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     QuickCheck = self.QuickCheck2;
   };
 
+  yi = callPackage ../applications/editors/yi/yi.nix {};
+  
+  yiContrib = callPackage ../applications/editors/yi/yi-contrib.nix {};
+
   xmobar = callPackage ../applications/misc/xmobar {};
 
   xmonad = callPackage ../applications/window-managers/xmonad {};

From 55e1937573d3f85a736b862b72f71906be449350 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:42 +0100
Subject: [PATCH 105/228] haskell-pretty-show: update to version 1.6.5

---
 .../libraries/haskell/pretty-show/{1.6.3.nix => 1.6.5.nix}    | 4 ++--
 pkgs/top-level/haskell-packages.nix                           | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
 rename pkgs/development/libraries/haskell/pretty-show/{1.6.3.nix => 1.6.5.nix} (86%)

diff --git a/pkgs/development/libraries/haskell/pretty-show/1.6.3.nix b/pkgs/development/libraries/haskell/pretty-show/1.6.5.nix
similarity index 86%
rename from pkgs/development/libraries/haskell/pretty-show/1.6.3.nix
rename to pkgs/development/libraries/haskell/pretty-show/1.6.5.nix
index 6979213cc297..60a191da2511 100644
--- a/pkgs/development/libraries/haskell/pretty-show/1.6.3.nix
+++ b/pkgs/development/libraries/haskell/pretty-show/1.6.5.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pretty-show";
-  version = "1.6.3";
-  sha256 = "161zhbsqa86s1gqa7ss8pimw2msdlvgjlldh6ryizc17579dfcfw";
+  version = "1.6.5";
+  sha256 = "0yn20gh2xwzvfwb9fdzxqqbbb6vvd4rlv5ancw4vc8p2kgfhwxf3";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath haskellLexer ];
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 7db34335bf4b..02d55a1b6d54 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1821,10 +1821,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   prettyclass = callPackage ../development/libraries/haskell/prettyclass {};
 
   prettyShow_1_2 = callPackage ../development/libraries/haskell/pretty-show/1.2.nix {};
-  prettyShow_1_6_3 = callPackage ../development/libraries/haskell/pretty-show/1.6.3.nix {
+  prettyShow_1_6_5 = callPackage ../development/libraries/haskell/pretty-show/1.6.5.nix {
     happy = self.happy_1_19_2;
   };
-  prettyShow = self.prettyShow_1_6_3;
+  prettyShow = self.prettyShow_1_6_5;
 
   punycode = callPackage ../development/libraries/haskell/punycode {};
 

From 6750feec2c717723734922e332accdcb45e16ded Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:49 +0100
Subject: [PATCH 106/228] haskell-git-annex: update to version 5.20140107

---
 .../version-management/git-and-tools/git-annex/default.nix    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 97de155df42f..5be6faa321e3 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -14,8 +14,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20131230";
-  sha256 = "174ywjvgqx9yy2larlsrzxdhxx5arhfwwpf8j9m45h5hwy8nn6ma";
+  version = "5.20140107";
+  sha256 = "094jqnx37r6pjsicxmfc67hqh7gps5yqbq4qpl6labk80h63ric9";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [

From 22e399082c653b2f5e7a9ca6ad0d81178fac0ac5 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:49 +0100
Subject: [PATCH 107/228] haskell-cipher-aes128: update to version 0.6.1

---
 pkgs/development/libraries/haskell/cipher-aes128/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/cipher-aes128/default.nix b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
index 0f82286d81ff..0ccecef6f07f 100644
--- a/pkgs/development/libraries/haskell/cipher-aes128/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes128";
-  version = "0.6";
-  sha256 = "1zpxg14csb52rjsvvfcyhpl9yfyidx73zxpdsipxvb1w26p8sl7y";
+  version = "0.6.1";
+  sha256 = "0alvsz6l3ihjbl2ygml6k117j4z3485d7ny6cjv1cz3by688s76g";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cereal cryptoApi tagged ];

From 5fe6b28e58c9958418d33f616c3b691dbaf5d4c8 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:49 +0100
Subject: [PATCH 108/228] haskell-fast-logger: update to version 2.1.1

---
 pkgs/development/libraries/haskell/fast-logger/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix
index 77ecd7110592..657307cded18 100644
--- a/pkgs/development/libraries/haskell/fast-logger/default.nix
+++ b/pkgs/development/libraries/haskell/fast-logger/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fast-logger";
-  version = "2.1.0";
-  sha256 = "116xdk455vlgyj3ck3bpzyavbfwq9asj2hlyjazb8vb1f9byxxkf";
+  version = "2.1.1";
+  sha256 = "1ifpar9g12cv458j0mwqh2dwa7y2h5rna4628lz8majx2477r3c1";
   buildDepends = [ blazeBuilder filepath text ];
   testDepends = [ hspec ];
   meta = {

From e2fc7b12d5db078020ea1e8e1a2e07fc7628ef4d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:49 +0100
Subject: [PATCH 109/228] haskell-highlighting-kate: update to version 0.5.6

---
 .../libraries/haskell/highlighting-kate/default.nix           | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 9049664f3048..f991bb585862 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.5.1";
-  sha256 = "173g7dss3v3acbn6b5ajmc1n1v4wx2395cckw8n61myl7mzzbrry";
+  version = "0.5.6";
+  sha256 = "1nd1ima3x7bb3lhkpzfw1qbl8g8mwp1ixk2w7nf2p1200c5zs49d";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];

From ef33fbad4d59daf46ca03ab66d02b78a0205fa1f Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:49 +0100
Subject: [PATCH 110/228] haskell-hxt: update to version 9.3.1.3

---
 pkgs/development/libraries/haskell/hxt/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 071471d906e2..820a6549d348 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.2";
-  sha256 = "0v4j9z65sbjs44n1ijy14f0l2swva6jqz89x2ibf89q8bx36sj6n";
+  version = "9.3.1.3";
+  sha256 = "1ynca1d0wzql3vny9wxi47bim64h1l56gdamwkfhh4snajqkamwd";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec

From b96626a22ee0c7faf485d2b2ba56c9b7245679cc Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 111/228] haskell-idna: update to version 0.3.0

---
 pkgs/development/libraries/haskell/idna/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/idna/default.nix b/pkgs/development/libraries/haskell/idna/default.nix
index 1d5bc92bf6f1..125083de890d 100644
--- a/pkgs/development/libraries/haskell/idna/default.nix
+++ b/pkgs/development/libraries/haskell/idna/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "idna";
-  version = "0.2";
-  sha256 = "0gl1mn2fjyxdpzl024imspf7hk4xvj9r8mvisqnlkdsng8i5jnyz";
+  version = "0.3.0";
+  sha256 = "04w2mp9wa4mzdz4njx47j081jia8y000b46cw8vmx44fx8gv1zwp";
   buildDepends = [ punycode stringprep text ];
   meta = {
     description = "Implements IDNA (RFC 3490)";

From 4512d1defb4f07494ca20c3928d24e12e4cd6ec3 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 112/228] haskell-stringprep: update to version 1.0.0

---
 .../libraries/haskell/stringprep/default.nix         | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/libraries/haskell/stringprep/default.nix b/pkgs/development/libraries/haskell/stringprep/default.nix
index f1654751f753..3fbdf196d5e5 100644
--- a/pkgs/development/libraries/haskell/stringprep/default.nix
+++ b/pkgs/development/libraries/haskell/stringprep/default.nix
@@ -1,10 +1,14 @@
-{ cabal, ranges, text, textIcu }:
+{ cabal, QuickCheck, tasty, tastyQuickcheck, tastyTh, text, textIcu
+}:
 
 cabal.mkDerivation (self: {
   pname = "stringprep";
-  version = "0.1.5";
-  sha256 = "1a25b18kd1zx06gi677g3xvsm49izhhf26z2dfljkjfykf05kqmp";
-  buildDepends = [ ranges text textIcu ];
+  version = "1.0.0";
+  sha256 = "0ha4cvzdppd514xh9315v3nvrn1q4xd74gifdqpszw98hj2mw0b0";
+  buildDepends = [ text textIcu ];
+  testDepends = [
+    QuickCheck tasty tastyQuickcheck tastyTh text textIcu
+  ];
   meta = {
     description = "Implements the \"StringPrep\" algorithm";
     license = self.stdenv.lib.licenses.bsd3;

From c3dfa9a3347dd67f8d1bcdcdcec10857cb140c1c Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 113/228] haskell-system-fileio: update to version 0.3.12

---
 pkgs/development/libraries/haskell/system-fileio/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index f61dedb7b8c5..d2c402138868 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "system-fileio";
-  version = "0.3.11";
-  sha256 = "0hnjrzhzbqx9l93c8dnl5b54f72ki584cn3jh8m6z56x2lrs24zb";
+  version = "0.3.12";
+  sha256 = "0mfkny5fwksrwkvz59f5xnb7b47rmm4cbiygmri5wklnc3vdn0hs";
   buildDepends = [ systemFilepath text time ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";

From f3306304625cc4e0d8c6bbe2f93422cbb7ccb24e Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 114/228] haskell-system-filepath: update to version 0.4.9

---
 .../development/libraries/haskell/system-filepath/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index 84ca453c6c16..2e060e252dd9 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "system-filepath";
-  version = "0.4.8";
-  sha256 = "15x0yxakqqrdqvghr0l4pzvy5a68xxdv1c75d3qwx604665j3xkw";
+  version = "0.4.9";
+  sha256 = "0qxbibq6lj7gyw62crp774pv2a8cm83rllw5yjjsg372nk4m1is0";
   buildDepends = [ deepseq text ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";

From 29216b8a0361919c15f219ec206e66734044055d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 115/228] haskell-texmath: update to version 0.6.6

---
 pkgs/development/libraries/haskell/texmath/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index a129ae46a35a..8dd3f5c6fc96 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.6.5.2";
-  sha256 = "1pvaf40avjx43ydhi9n6vkkjw9gk5apws4bgqqq2g601kvmi163l";
+  version = "0.6.6";
+  sha256 = "0mbimlvqsfx6w4dvilidy5cd9732kf6bnfnn6n7rnmq88avxxnmc";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ pandocTypes parsec syb xml ];

From a5d15540de8fc822808c2e350a10be8ebcf391d0 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 116/228] haskell-th-lift: update to version 0.6.1

---
 pkgs/development/libraries/haskell/th-lift/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/th-lift/default.nix b/pkgs/development/libraries/haskell/th-lift/default.nix
index c10feac4ba68..04c8b0bd51a0 100644
--- a/pkgs/development/libraries/haskell/th-lift/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "th-lift";
-  version = "0.6";
-  sha256 = "0nsxrmilp2g0nx4s9iigj2llza6phphcfr4j9gvmqmx6kf2z9vns";
+  version = "0.6.1";
+  sha256 = "0m1ips0n06jnjr5lssq7x4jaa5878sw03l8iaprya37bnkxxak5d";
   meta = {
     description = "Derive Template Haskell's Lift class for datatypes";
     license = "unknown";

From 2cf90950c077702a39104bc85e548e5e47795d42 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 12:31:50 +0100
Subject: [PATCH 117/228] haskell-threads: update to version 0.5.1.1

---
 pkgs/development/libraries/haskell/threads/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
index e360e98b8eb0..932ef113fa70 100644
--- a/pkgs/development/libraries/haskell/threads/default.nix
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threads";
-  version = "0.5.1.0";
-  sha256 = "077gcnzpy7bjx1rkyl9nriywfiisx0vhmdapl94fl01ira7cm700";
+  version = "0.5.1.1";
+  sha256 = "196yjkq7wgjcck9wqj4f3x3k47ls9yiay3k6d8k7kzixc2xc621z";
   buildDepends = [ baseUnicodeSymbols stm ];
   testDepends = [
     baseUnicodeSymbols concurrentExtra HUnit stm testFramework

From 8c3498d0322e10a25694cdaaee000eeebe903a5d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Jan 2014 16:51:24 +0100
Subject: [PATCH 118/228] haskell-RSA: disable the test suite (which runs for
 >1 hour)

https://github.com/GaloisInc/RSA/issues/9
---
 pkgs/development/libraries/haskell/RSA/default.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/development/libraries/haskell/RSA/default.nix b/pkgs/development/libraries/haskell/RSA/default.nix
index 9ac3036ffb51..883e7767c6d3 100644
--- a/pkgs/development/libraries/haskell/RSA/default.nix
+++ b/pkgs/development/libraries/haskell/RSA/default.nix
@@ -14,6 +14,7 @@ cabal.mkDerivation (self: {
     binary cryptoApi cryptoPubkeyTypes DRBG pureMD5 QuickCheck SHA
     tagged testFramework testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
     license = self.stdenv.lib.licenses.bsd3;

From e49656fcf7293017fb7fb4ff223154dc906d084e Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Thu, 9 Jan 2014 07:09:12 +0200
Subject: [PATCH 119/228] youtubeDL: update from 2014.01.05.6 to 2014.01.07.5

---
 pkgs/tools/misc/youtube-dl/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 50ea0c71fc52..f39aa90b8947 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, zip }:
 
 let
-  version = "2014.01.05.6";
+  version = "2014.01.07.5";
 in
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1whfcvsb0fffky8nqzc6y3jm7wn9gyv5yjyi6bj15gi4c7qrcscb";
+    sha256 = "04b05wn0irx1h91zys8cwk56nwwd3nx7il6ydrcikyndv2vniz0m";
   };
 
   buildInputs = [ python ];

From d805a2b01dfc00e3c0598192ca081484ae387b9a Mon Sep 17 00:00:00 2001
From: Rok Garbas <rok@garbas.si>
Date: Thu, 9 Jan 2014 09:49:07 +0100
Subject: [PATCH 120/228] notmuch: update to 0.17

---
 pkgs/applications/networking/mailreaders/notmuch/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 5797354d33bd..3c7cfde231ab 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.16";
+  name = "notmuch-0.17";
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "0i7k85lfp9l0grmq7cvai2f3pw15jcrhcp96mmamr15y2pn2syg7";
+    sha256 = "15dypk2damyvxgfc8dy6iiky1ayxnj5samd4v300pi9nwpky05fj";
   };
 
   buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ];

From b9dbfe7feba501dfe61ea1670bcdf274e9ca66f0 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Wed, 8 Jan 2014 18:28:40 +0100
Subject: [PATCH 121/228] nix: Backport bug fix to check NAR integrity

---
 pkgs/tools/package-management/nix/default.nix      |  2 ++
 pkgs/tools/package-management/nix/hash-check.patch | 14 ++++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 pkgs/tools/package-management/nix/hash-check.patch

diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 9b0b8b3f24e8..b02d80078aae 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "31d15f99b2405924a4be278334cc973a71999303631e6798c1d294db9be4bf84";
   };
 
+  patches = [ ./hash-check.patch ];
+
   nativeBuildInputs = [ perl pkgconfig ];
 
   buildInputs = [ curl openssl boehmgc sqlite ];
diff --git a/pkgs/tools/package-management/nix/hash-check.patch b/pkgs/tools/package-management/nix/hash-check.patch
new file mode 100644
index 000000000000..421ebb70a4f8
--- /dev/null
+++ b/pkgs/tools/package-management/nix/hash-check.patch
@@ -0,0 +1,14 @@
+commit 11cb4bfb257f18c906ef1d6f14ed450be8fa49fe upstream
+
+diff --git a/src/libstore/build.cc b/src/libstore/build.cc
+index dcd7343..4329d9a 100644
+--- a/src/libstore/build.cc
++++ b/src/libstore/build.cc
+@@ -2749,6 +2749,7 @@ void SubstitutionGoal::finished()
+     logPipe.readSide.close();
+ 
+     /* Get the hash info from stdout. */
++    string dummy = readLine(outPipe.readSide);
+     string expectedHashStr = statusOk(status) ? readLine(outPipe.readSide) : "";
+     outPipe.readSide.close();
+

From 9afd64fba884300cbb19894ff25a188f8cf674ca Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Thu, 9 Jan 2014 13:16:39 +0100
Subject: [PATCH 122/228] nixUnstable: Update to 1.7pre3319_f4013b6

---
 pkgs/tools/package-management/nix/unstable.nix | 6 +++---
 pkgs/top-level/all-packages.nix                | 3 ---
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 7bdc8d1aefb6..aad734cd6196 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.7pre3267_2d9bb56";
+  name = "nix-1.7pre3319_f4013b6";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/6611474/download/5/${name}.tar.xz";
-    sha256 = "f62b48910651c4651cd4473a0bb433d65cf60c93c0f80d589b26fec52b3b82b3";
+    url = "http://hydra.nixos.org/build/7848540/download/5/${name}.tar.xz";
+    sha256 = "0f9095aabe3399436a75162c046fdc1e4d0c1e9a98f7d8ffcd3d910b19c8c265";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 298944cdd05c..517260948698 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10200,13 +10200,10 @@ let
     stateDir = config.nix.stateDir or "/nix/var";
   };
 
-  nixUnstable = nixStable;
-  /*
   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
     storeDir = config.nix.storeDir or "/nix/store";
     stateDir = config.nix.stateDir or "/nix/var";
   };
-  */
 
   nixops = callPackage ../tools/package-management/nixops { };
 

From 93d73aec51e03b9927e1cf3c6251e8736a5b9b40 Mon Sep 17 00:00:00 2001
From: Moritz Ulrich <moritz@tarn-vedra.de>
Date: Fri, 10 Jan 2014 00:38:32 +0000
Subject: [PATCH 123/228] ledger3: Update to latest git (3b5f496536).

---
 pkgs/applications/office/ledger/3.0.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix
index ecc9f3895027..1afa3a979e37 100644
--- a/pkgs/applications/office/ledger/3.0.nix
+++ b/pkgs/applications/office/ledger/3.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python, texinfo }:
 
 let
-  rev = "8d38060968";
+  rev = "3b5f496536";
 in
 stdenv.mkDerivation {
   name = "ledger3-2013.12.${rev}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "https://github.com/ledger/ledger.git";
     inherit rev;
-    sha256 = "e100f28d18e1804fc8aa8b0141cc33d6d95bbe329e803ba887622ac5f8d3d972";
+    sha256 = "0r36zsdsyy6aylfcwyqra4796y4abi3b27wv5fvk3g2bmyzqzx4j";
   };
 
   buildInputs = [ cmake boost gmp mpfr libedit python texinfo ];

From 094947ba7312a56eea2595dbd91f0186e23779ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 13:45:12 +0100
Subject: [PATCH 124/228] gnome_themes_standard: bump to 3.10.0 and move into
 gnome3 attrset

---
 .../core}/gnome-themes-standard/default.nix       | 15 ++++++++++-----
 pkgs/desktops/gnome-3/default.nix                 |  2 ++
 pkgs/top-level/all-packages.nix                   |  2 +-
 3 files changed, 13 insertions(+), 6 deletions(-)
 rename pkgs/{misc/themes => desktops/gnome-3/core}/gnome-themes-standard/default.nix (58%)

diff --git a/pkgs/misc/themes/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
similarity index 58%
rename from pkgs/misc/themes/gnome-themes-standard/default.nix
rename to pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
index f52b94138a48..8faae4d21486 100644
--- a/pkgs/misc/themes/gnome-themes-standard/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
-stdenv.mkDerivation {
-  name = "gnome-themes-standard";
+
+stdenv.mkDerivation rec {
+  name = "gnome-themes-standard-3.10.0";
   src = fetchurl {
-    url = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/3.7/gnome-themes-standard-3.7.92.tar.xz";
-    sha256 = "0a1ed83c07f57b5b45b8f3817ca0ca14feecb56de505243c086fb306c88da8de";
+    url = "mirror://gnome/sources/gnome-themes-standard/3.10/${name}.tar.xz";
+    sha256 = "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41";
   };
   
   buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
@@ -12,4 +13,8 @@ stdenv.mkDerivation {
     cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > loaders.cache
     export GDK_PIXBUF_MODULE_FILE=`readlink -e loaders.cache`
   '';
-}
\ No newline at end of file
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index d214a44aa0a4..5fa285ea3bd3 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -33,6 +33,8 @@ rec {
 
   gnome_terminal = callPackage ./core/gnome-terminal { };
 
+  gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
+
   gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
 
   gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 517260948698..a144ecdb48bd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9826,7 +9826,7 @@ let
 
   gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { };
 
-  gnome_themes_standard = callPackage ../misc/themes/gnome-themes-standard { };
+  gnome_themes_standard = gnome3.gnome_themes_standard;
 
   mate-icon-theme = callPackage ../misc/themes/mate-icon-theme { };
 

From 9e486d9f3fa1144c665f3a25c18a6f8a542d0f6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 13:52:36 +0100
Subject: [PATCH 125/228] Add gnome3.libpeas

---
 .../desktops/gnome-3/core/libpeas/default.nix | 22 +++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix             |  2 ++
 2 files changed, 24 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/libpeas/default.nix

diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/core/libpeas/default.nix
new file mode 100644
index 000000000000..e2f9522046bd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libpeas/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, intltool, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "libpeas-${version}";
+  version = "1.9.0";
+
+  buildInputs = with gnome3; [ intltool pkgconfig glib gobjectIntrospection gtk3 ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/eog/1.9/${name}.tar.xz";
+    sha256 = "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0";
+  };
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 5fa285ea3bd3..6d201759029e 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -41,6 +41,8 @@ rec {
 
   libcroco = callPackage ./core/libcroco {};
 
+  libpeas = callPackage ./core/libpeas {};
+
   libgweather = callPackage ./core/libgweather { };
 
   vte = callPackage ./core/vte { };

From 73252021bb50772d9215f8894d6df1520de9ff7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:07:34 +0100
Subject: [PATCH 126/228] icon-naming-utils: add librsvg dependency and
 meta.platforms

---
 pkgs/development/tools/misc/icon-naming-utils/default.nix | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/tools/misc/icon-naming-utils/default.nix b/pkgs/development/tools/misc/icon-naming-utils/default.nix
index 7a03eb7b1280..7f8dafad4af5 100644
--- a/pkgs/development/tools/misc/icon-naming-utils/default.nix
+++ b/pkgs/development/tools/misc/icon-naming-utils/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl, XMLSimple}:
+{stdenv, fetchurl, perl, XMLSimple, librsvg}:
 
 stdenv.mkDerivation rec {
   name = "icon-naming-utils-0.8.90";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "071fj2jm5kydlz02ic5sylhmw6h2p3cgrm3gwdfabinqkqcv4jh4";
   };
   
-  buildInputs = [perl XMLSimple];
+  buildInputs = [perl XMLSimple librsvg];
 
   postInstall =
     ''
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
           --replace '/bin/perl' '/bin/perl -I${XMLSimple}/lib/perl5/site_perl'
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://tango.freedesktop.org/Standard_Icon_Naming_Specification;
+    platforms = platforms.linux;
   };
 }

From a19c59a63fde8b15d167618637b1f1caf6a24398 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:10:43 +0100
Subject: [PATCH 127/228] Add gnome3.gtksourceview

---
 pkgs/desktops/gnome-3/default.nix             |  1 +
 .../gnome-3/desktop/gtksourceview/default.nix | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix

diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 6d201759029e..48983f4a4019 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -56,6 +56,7 @@ rec {
 
   gnome_desktop = callPackage ./desktop/gnome-desktop { };
 
+  gtksourceview = callPackage ./desktop/gtksourceview { };
 
   # Removed from recent GNOME releases, but still required
   scrollkeeper = callPackage ./desktop/scrollkeeper { };
diff --git a/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix
new file mode 100644
index 000000000000..900bb2c922bb
--- /dev/null
+++ b/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
+, libxml2Python, perl, intltool, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "gtksourceview-${version}";
+  version = "3.10.1";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gtksourceview/3.10/gtksourceview-${version}.tar.xz";
+    sha256 = "008bzfr1s6ywpj8c8qx7495lz9g0ziccwbxg88s0l4dl6bw49piq";
+  };
+
+  buildInputs = [ pkgconfig atk cairo glib gtk3 pango
+                  libxml2Python perl intltool gettext ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}

From 5f9b57deb0a12168a47d76e461363ab011d715c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:13:07 +0100
Subject: [PATCH 128/228] gnome3.libcroco: add platforms

---
 pkgs/desktops/gnome-3/core/libcroco/default.nix | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pkgs/desktops/gnome-3/core/libcroco/default.nix b/pkgs/desktops/gnome-3/core/libcroco/default.nix
index 2cf785b8cca7..e5f6a0aa9b8b 100644
--- a/pkgs/desktops/gnome-3/core/libcroco/default.nix
+++ b/pkgs/desktops/gnome-3/core/libcroco/default.nix
@@ -11,4 +11,8 @@ stdenv.mkDerivation rec {
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
 
   buildInputs = [ pkgconfig libxml2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }

From 00ff5466d3408efba24e02b54d74b1da53409c81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:14:06 +0100
Subject: [PATCH 129/228] gnome3.gnome-desktop: 3.5 -> 3.11

---
 .../gnome-3/desktop/gnome-desktop/default.nix | 22 +++++++++++++------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
index 1f0b6c2a971d..c7326b552fd5 100644
--- a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
@@ -1,20 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3
-, intltool, gnome_doc_utils }:
+{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
+, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
+, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
 
-  majorVersion = "3.5";
-  minorVersion = "3";
+  majorVersion = "3.11";
+  minorVersion = "2";
   name = "gnome-desktop-${majorVersion}.${minorVersion}";
 
+  # this should probably be setuphook for glib
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
   enableParallelBuilding = true;
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
-    sha256 = "1nrqcp1p5cxhfjjy5hjpvkqmzsgl2353a08fg0b11c932v95bsba";
+    sha256 = "0vsxgp77s0pmcq177lz310ync4c1n7cwb63163zm5g5xw69qc5d7";
   };
 
   configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11
-                  gnome3.gtk gnome3.glib intltool gnome_doc_utils ];
+  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
+                  gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }

From c83b582c7b2a4eff6148e68645fc55993e037fc5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:15:18 +0100
Subject: [PATCH 130/228] gnome3.gsettings_desktop_schemas: 3.6 -> 3.10, add
 gobjectIntrospection

---
 .../gnome-3/core/gsettings-desktop-schemas/default.nix    | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
index 9c13539a1cc6..13f357db29af 100644
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
   # just for passthru
 , gtk3, gsettings_desktop_schemas }:
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "3.6";
+  versionMajor = "3.10";
   versionMinor = "1";
   moduleName   = "gsettings-desktop-schemas";
 
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "1rk71q2rky9nzy0zb5jsvxa62vhg7dk65kdgdifq8s761797ga6r";
+    sha256 = "04b8wy10l6pzs5928gnzaia73dz5fjlcdy39xi3mf50ajv27h8s5";
   };
 
-  buildInputs = [ glib ];
+  buildInputs = [ glib gobjectIntrospection ];
 
   nativeBuildInputs = [ pkgconfig intltool ];
 

From c210ed0712c5b5decdfd942d8b99497fcc623e6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:17:01 +0100
Subject: [PATCH 131/228] gnome3.gnome-icon-theme: 3.6 -> 3.10, add platforms

---
 .../desktops/gnome-3/core/gnome-icon-theme/default.nix | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
index 303bcd2208ce..474a2ccb9a45 100644
--- a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
@@ -1,12 +1,16 @@
 { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-icon-theme-3.6.2";
+  name = "gnome-icon-theme-3.10.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-icon-theme/3.6/${name}.tar.xz";
-    sha256 = "0i8hkx2c1g5ckrvbkvs9n47i8fby8p9xs6p5l0mxdx9aq4smak9i";
+    url = "mirror://gnome/sources/gnome-icon-theme/3.10/${name}.tar.xz";
+    sha256 = "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66";
   };
 
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }

From 523aa4338bed9c49e1a1fa1a7cfb5472d756c042 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:18:58 +0100
Subject: [PATCH 132/228] libgit2: add threadsafe

---
 pkgs/development/libraries/git2/default.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 3c4c2703d6f4..abb782641dde 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1iyncz8fqazw683dxjls3lf5pw3f5ma8kachkvjz7dsq57wxllbj";
   };
 
+  cmakeFlags = "-DTHREADSAFE=ON";
+
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ zlib ];
 

From 6cada7f0c178b7d266c194de847ac00197c305fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:19:28 +0100
Subject: [PATCH 133/228] gnome3.evince: 3.6 -> 3.11

---
 pkgs/desktops/gnome-3/core/evince/default.nix | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index b4e2171dd38d..7199a5ca0010 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,17 +1,17 @@
 { fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
 , glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
 , itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
-, poppler, ghostscriptX, djvulibre, libspectre
+, poppler, ghostscriptX, djvulibre, libspectre, libsecret
 , makeWrapper #, python /*just for tests*/
 , recentListSize ? null # 5 is not enough, allow passing a different number
 }:
 
 stdenv.mkDerivation rec {
-  name = "evince-3.6.1";
+  name = "evince-3.11.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evince/3.6/${name}.tar.xz";
-    sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
+    url = "mirror://gnome/sources/evince/3.11/${name}.tar.xz";
+    sha256 = "0qflxvvvqn1khyk93isjhp6v719pvmn3vpfxnrsh63f1a6h0j5r8";
   };
 
   buildInputs = [
@@ -19,9 +19,10 @@ stdenv.mkDerivation rec {
     glib gtk3 pango atk gdk_pixbuf
     itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
     poppler ghostscriptX djvulibre libspectre
-    makeWrapper
+    makeWrapper libsecret
   ];
 
+
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   configureFlags = [
@@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
     # by `g_file_info_get_content_type ()'.
     wrapProgram "$out/bin/evince" \
       --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
-  '' + gsettings_desktop_schemas.doCompileSchemas;
+  '';
   doCheck = false; # would need pythonPackages.dogTail, which is missing
 
   meta = {

From 2a1ecded4df6f722745ec39ca0837023670b0cac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:21:36 +0100
Subject: [PATCH 134/228] Add gtkspell3

---
 pkgs/development/libraries/gtkspell/3.nix | 18 ++++++++++++++++++
 pkgs/top-level/all-packages.nix           |  2 ++
 2 files changed, 20 insertions(+)
 create mode 100644 pkgs/development/libraries/gtkspell/3.nix

diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
new file mode 100644
index 000000000000..54023f29a07f
--- /dev/null
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant, intltool}:
+
+stdenv.mkDerivation rec {
+  name = "gtkspell-${version}";
+  version = "3.0.4";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.gz";
+    sha256 = "19z48gfbraasrxai7qdkxxvky0kwifkkzqz0jqcskhcr1ikqxgzs";
+  };
+  
+  buildInputs = [ aspell pkgconfig gtk3 enchant intltool ];
+  propagatedBuildInputs = [ enchant ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a144ecdb48bd..9fbc04fa49ba 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4544,6 +4544,8 @@ let
 
   gtkspell = callPackage ../development/libraries/gtkspell { };
 
+  gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
+
   gts = callPackage ../development/libraries/gts { };
 
   gvfs = callPackage ../development/libraries/gvfs { };

From 527aadf5ee20316875ddaf50c657b1d3377d657b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 14:28:16 +0100
Subject: [PATCH 135/228] add gnome.eog: GNOME Image Viewer

---
 pkgs/desktops/gnome-3/core/eog/default.nix | 28 ++++++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix          |  2 ++
 2 files changed, 30 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/eog/default.nix

diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
new file mode 100644
index 000000000000..4e148f46bd8e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
+, shared_mime_info, makeWrapper, librsvg, libexif }:
+
+
+stdenv.mkDerivation rec {
+  name = "eog-3.11.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/eog/3.11/${name}.tar.xz";
+    sha256 = "0arad1jzp7hwwxq1s1913j07z8flvdkvvwcbvsrjls3gp5s6lgsw";
+  };
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
+      gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/eog" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/EyeOfGnome; 
+    platforms = platforms.linux;
+    description = "GNOME image viewer";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 48983f4a4019..ccd52d21d441 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -39,6 +39,8 @@ rec {
 
   gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; };
 
+  eog = callPackage ./core/eog { };
+
   libcroco = callPackage ./core/libcroco {};
 
   libpeas = callPackage ./core/libpeas {};

From d33e5eadd0542a0d85e3ec3af6c97da9e41f1852 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 17:21:19 +0100
Subject: [PATCH 136/228] Add gnome3.nautilus and remove gnome2.nautilus
 (didn't compile)

Some icons are still missing (and theme), didn't find a way to fix that.
---
 pkgs/desktops/gnome-2/default.nix             |  2 --
 .../gnome-2/desktop/nautilus/default.nix      | 10 -------
 .../gnome-3/core/nautilus/default.nix         | 27 +++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix             |  2 ++
 pkgs/development/libraries/exempi/default.nix | 19 +++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 6 files changed, 50 insertions(+), 12 deletions(-)
 delete mode 100644 pkgs/desktops/gnome-2/desktop/nautilus/default.nix
 create mode 100644 pkgs/desktops/gnome-3/core/nautilus/default.nix
 create mode 100644 pkgs/development/libraries/exempi/default.nix

diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index c2e1c062e9e3..e839d793365d 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -105,8 +105,6 @@ let overridden = set // overrides; set = with overridden; {
 
   gtksourceview = callPackage ./desktop/gtksourceview { };
 
-  nautilus = callPackage ./desktop/nautilus { };
-
   gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { };
 
   vte = callPackage ./desktop/vte { };
diff --git a/pkgs/desktops/gnome-2/desktop/nautilus/default.nix b/pkgs/desktops/gnome-2/desktop/nautilus/default.nix
deleted file mode 100644
index 3765e6112d68..000000000000
--- a/pkgs/desktops/gnome-2/desktop/nautilus/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif, gtk, gnome_desktop, libunique, intltool, GConf}:
-
-stdenv.mkDerivation {
-  name = "nautilus-2.28.0";
-  src = fetchurl {
-    url = mirror://gnome/sources/nautilus/2.28/nautilus-2.28.0.tar.bz2;
-    sha256 = "0wmskjxf231r2vra22zy02561gh5q10pj3lhzya13dvlliyv4q9p";
-  };
-  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk gnome_desktop libunique intltool GConf ];
-}
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
new file mode 100644
index 000000000000..551b9db1246b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
+, gtk, gnome3, libunique, intltool, gobjectIntrospection
+, libnotify, makeWrapper, exempi }:
+
+stdenv.mkDerivation rec {
+  name = "nautilus-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/nautilus/3.10/${name}.tar.xz";
+    sha256 = "09y7dxaw4bjgan3q10azky0h6kndqv2lfn75iip12zchf2hk59gn";
+  };
+
+  configureFlags = [ "--enable-tracker=no" ];
+
+  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi 
+                  gnome3.gnome_desktop gnome3.gsettings_desktop_schemas libnotify makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/nautilus" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index ccd52d21d441..27d3e41e98dd 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -47,6 +47,8 @@ rec {
 
   libgweather = callPackage ./core/libgweather { };
 
+  nautilus = callPackage ./core/nautilus { };
+
   vte = callPackage ./core/vte { };
 
   zenity = callPackage ./core/zenity { };
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
new file mode 100644
index 000000000000..991c3e2fa4c0
--- /dev/null
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, expat, zlib, boost }:
+
+stdenv.mkDerivation rec {
+  name = "exempi-2.2.1";
+
+  src = fetchurl {
+    url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
+    sha256 = "00d6gycl0wcyd3c71y0jp033a64z203rq0p0y07aig0s0j0477kc";
+  };
+
+  configureFlags = [ "--with-boost=${boost}" ];
+
+  buildInputs = [ expat zlib boost ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9fbc04fa49ba..e612e05bfdd1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -876,6 +876,8 @@ let
 
   evtest = callPackage ../applications/misc/evtest { };
 
+  exempi = callPackage ../development/libraries/exempi { };
+
   exif = callPackage ../tools/graphics/exif { };
 
   exiftags = callPackage ../tools/graphics/exiftags { };

From e8416dbe403dc67d13a3ab415bcb33374900eb62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 18:31:27 +0100
Subject: [PATCH 137/228] Add gnome3.file-roller

---
 pkgs/desktops/gnome-3/default.nix             |  2 ++
 .../gnome-3/desktop/file-roller/default.nix   | 29 +++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/desktop/file-roller/default.nix

diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 27d3e41e98dd..07096c5620d0 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -56,6 +56,8 @@ rec {
 
 #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
 
+  file-roller = callPackage ./desktop/file-roller { };
+
   gnome_dictionary = callPackage ./desktop/gnome-dictionary { };
 
   gnome_desktop = callPackage ./desktop/gnome-desktop { };
diff --git a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix
new file mode 100644
index 000000000000..0f48103c93d4
--- /dev/null
+++ b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
+, attr, bzip2, acl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "file-roller-${version}";
+
+  majVersion = "3.10";
+  version = "${majVersion}.2.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz";
+    sha256 = "14374z1yfbjlgpl4k1ih8b35x8kzvh99y22rwwkc2wfz0d0i1qgx";
+  };
+
+  # TODO: support nautilus
+  # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
+
+  buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
+                  attr bzip2 acl makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/file-roller" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}

From 5040ae0ccfe01e2094e3909bdf59662240d60391 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 18:31:48 +0100
Subject: [PATCH 138/228] fix typo in gnome3.libpeas

---
 pkgs/desktops/gnome-3/core/libpeas/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/core/libpeas/default.nix
index e2f9522046bd..eeec43a1b65f 100644
--- a/pkgs/desktops/gnome-3/core/libpeas/default.nix
+++ b/pkgs/desktops/gnome-3/core/libpeas/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   buildInputs = with gnome3; [ intltool pkgconfig glib gobjectIntrospection gtk3 ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/eog/1.9/${name}.tar.xz";
+    url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz";
     sha256 = "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0";
   };
 

From bc6e2e9c36520047ac56d13d8edb0968dd08b967 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Thu, 9 Jan 2014 21:44:21 +0100
Subject: [PATCH 139/228] remove pointless passthru meta

---
 pkgs/desktops/gnome-3/misc/goffice/default.nix | 1 -
 pkgs/os-specific/linux/libsepol/default.nix    | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/pkgs/desktops/gnome-3/misc/goffice/default.nix b/pkgs/desktops/gnome-3/misc/goffice/default.nix
index d708ab92113a..51d259314a7a 100644
--- a/pkgs/desktops/gnome-3/misc/goffice/default.nix
+++ b/pkgs/desktops/gnome-3/misc/goffice/default.nix
@@ -29,5 +29,4 @@ stdenv.mkDerivation rec {
 
     platforms = stdenv.lib.platforms.gnu;
   };
-  passthru = { inherit meta; };
 }
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index 793137aa21a4..f878d2844964 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     ln -s libsepol.so.1 $out/lib/libsepol.so
   '';
 
-  passthru = { inherit se_release se_url meta; };
+  passthru = { inherit se_release se_url; };
 
   meta = with stdenv.lib; {
     homepage = http://userspace.selinuxproject.org;

From 3154c378adf52814a1ced111fcea30e5737d0c3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:09:26 +0100
Subject: [PATCH 140/228] gnome3: build packages on linux platform

---
 .../gnome-3/core/at-spi2-atk/default.nix       |  4 ++++
 .../gnome-3/core/at-spi2-core/default.nix      |  4 ++++
 pkgs/desktops/gnome-3/core/evince/default.nix  |  3 ++-
 pkgs/desktops/gnome-3/core/gconf/default.nix   |  3 ++-
 pkgs/desktops/gnome-3/core/gcr/default.nix     |  6 +++++-
 .../gnome-3/core/gnome-keyring/default.nix     |  4 ++++
 .../gnome-3/core/libgweather/default.nix       |  4 ++++
 .../gnome-3/desktop/rarian/default.nix         |  5 +++++
 .../gnome-3/desktop/scrollkeeper/default.nix   | 18 ------------------
 9 files changed, 30 insertions(+), 21 deletions(-)
 delete mode 100644 pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix

diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
index aaea1b2e9661..742036f16b3f 100644
--- a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
+++ b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
@@ -14,4 +14,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
                   intltool dbus_glib at_spi2_core libSM ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
index 30b2367a5e90..2c401856b7f0 100644
--- a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
+++ b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation (rec {
 
   # ToDo: on non-NixOS we create a symlink from there?
   configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
   // stdenv.lib.optionalAttrs stdenv.isDarwin {
     NIX_LDFLAGS = "-lintl";
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 7199a5ca0010..dde3d807093f 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   '';
   doCheck = false; # would need pythonPackages.dogTail, which is missing
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnome.org/projects/evince/;
     description = "GNOME's document viewer";
 
@@ -61,5 +61,6 @@ stdenv.mkDerivation rec {
     '';
 
     license = "GPLv2+";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/core/gconf/default.nix
index 9ca9c227d586..23e65ff6bfac 100644
--- a/pkgs/desktops/gnome-3/core/gconf/default.nix
+++ b/pkgs/desktops/gnome-3/core/gconf/default.nix
@@ -22,8 +22,9 @@ stdenv.mkDerivation rec {
 
   # ToDo: ldap reported as not found but afterwards reported as supported
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/gconf/;
     description = "A system for storing application preferences";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index 44053b88fbc7..6fdc75eff35c 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -14,7 +14,11 @@ stdenv.mkDerivation rec {
     libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk
   ];
 
-  configureFlags = "--disable-introspection";
+  configureFlags = [ "--disable-introspection" ];
 
   #doCheck = true;
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 9e08c6fa6631..8fba20d31a94 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -23,4 +23,8 @@ stdenv.mkDerivation rec {
     "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
     "--with-pkcs11-modules=$$out/lib/pkcs11/"
   ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 78ae94c1a33a..02760c94aee6 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -11,4 +11,8 @@ stdenv.mkDerivation rec {
   configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else "";
   propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
   nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/desktop/rarian/default.nix
index 77a2b710f447..a1b38b21869a 100644
--- a/pkgs/desktops/gnome-3/desktop/rarian/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/rarian/default.nix
@@ -6,6 +6,11 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
     sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
   };
+
   buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
   configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix
deleted file mode 100644
index 97dcbf4e0041..000000000000
--- a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
-
-stdenv.mkDerivation {
-  name = "scrollkeeper-0.3.14";
-  src = fetchurl {
-    url = mirror://gnome/sources/scrollkeeper/0.3/scrollkeeper-0.3.14.tar.bz2;
-    sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc";
-  };
-
-  # The fuloong2f is not supported by scrollkeeper-0.3.14 config.guess
-  preConfigure = "
-    substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog
-    cp ${automake}/share/automake*/config.{sub,guess} .
-  ";
-
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-}

From 3187ee05598498dee3f4b6a4543356b8c260c34d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:10:03 +0100
Subject: [PATCH 141/228] gnome3.gconf: 3.2.5 -> 3.2.6

---
 pkgs/desktops/gnome-3/core/gconf/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/core/gconf/default.nix
index 23e65ff6bfac..fc7471019bdf 100644
--- a/pkgs/desktops/gnome-3/core/gconf/default.nix
+++ b/pkgs/desktops/gnome-3/core/gconf/default.nix
@@ -4,7 +4,7 @@
 stdenv.mkDerivation rec {
 
   versionMajor = "3.2";
-  versionMinor = "5";
+  versionMinor = "6";
   moduleName   = "GConf";
 
   origName = "${moduleName}-${versionMajor}.${versionMinor}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
-    sha256 = "1ijqks0jxc4dyfxg4vnbqds4aj6miyahlsmlqlkf2bi1798akpjd";
+    sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
   };
 
   buildInputs = [ libxml2 polkit gtk orbit ];

From d56b0542e0c51a73f4d5989ccfab05ac033fd313 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:11:03 +0100
Subject: [PATCH 142/228] gnome3.gcr: 3.6.3 -> 3.10.1

---
 pkgs/desktops/gnome-3/core/gcr/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index 6fdc75eff35c..7b7588b95284 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -2,11 +2,11 @@
 , libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }:
 
 stdenv.mkDerivation rec {
-  name = "gcr-3.6.2";
+  name = "gcr-3.10.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gcr/3.6/${name}.tar.xz";
-    sha256 = "16xyqxv2hxl3a4m8ahilqcf1ps58w1ijh8dav1l5nqz36ljdn2gp";
+    url = "mirror://gnome/sources/gcr/3.10/${name}.tar.xz";
+    sha256 = "0nv470a8cvw4rw49hf5aqvll1rpkacmsr3pj8s1l205yaid4yvq0";
   };
 
   buildInputs = [

From 54084b9a36f4637b6b36adfae023cfa3812916f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:11:38 +0100
Subject: [PATCH 143/228] gnome3.gnome_keyring: 3.6.3 -> 3.10.1

---
 .../gnome-3/core/gnome-keyring/default.nix        | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 8fba20d31a94..14f0110e374d 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -1,12 +1,13 @@
-{stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib
-, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit }:
+{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
+, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit
+, docbook_xsl_ns, docbook_xsl }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-keyring-3.6.3";
+  name = "gnome-keyring-3.10.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-keyring/3.6/${name}.tar.xz";
-    sha256 = "0la107v75vh8v165lk391xg820h8hxa209766wr98pm22qzkl5g0";
+    url = "mirror://gnome/sources/gnome-keyring/3.10/${name}.tar.xz";
+    sha256 = "1y6v2p14jx5h6yh14c53pd8r0r5zbmcgw8v4nxvf94kd9jliy00q";
   };
 
   buildInputs = [
@@ -14,9 +15,9 @@ stdenv.mkDerivation rec {
     pango gcr gdk_pixbuf atk p11_kit
   ];
 
-  propagatedBuildInputs = [ glib libtasn1 ];
+  propagatedBuildInputs = [ glib libtasn1 libxslt ];
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
 
   configureFlags = [
     "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path

From 84b9a032906c60d74e38eff8f62f1ac6fae1aba1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:13:17 +0100
Subject: [PATCH 144/228] gnome3.gnome-terminal: 3.4.1.1 -> 3.10.2

---
 .../gnome-3/core/gnome-terminal/default.nix   | 21 ++++++++++++-------
 pkgs/desktops/gnome-3/core/vte/default.nix    |  6 +++---
 pkgs/desktops/gnome-3/core/zenity/default.nix | 13 +++++++-----
 3 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 41fdcc8086b1..281f985c1211 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,20 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, gconf }:
+{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
+, gnome_doc_utils, intltool, libX11, which, gconf, libuuid
+, desktop_file_utils, itstool, ncurses }:
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "3.4";
-  versionMinor = "1.1";
+  versionMajor = "3.10";
+  versionMinor = "2";
 
   name = "gnome-terminal-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
-    sha256 = "1p9zqjmkxryf2kyghhhwwpsh4kd8y1jzzwc9zxghmpxszi9a5m0l";
+    sha256 = "04yrk9531f373nl64jx3pczsnq7a56mj3n436jbhjp74kp12fa70";
   };
 
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte gconf ];
+  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte
+                  gnome3.dconf gnome3.gconf itstool ncurses ];
 
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index ffc3aab87064..b0e522c0f299 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -3,15 +3,15 @@
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "0.32";
-  versionMinor = "2";
+  versionMajor = "0.34";
+  versionMinor = "9";
   moduleName   = "vte";
   
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "0sj837b9ib36gx00hzdinv23f7w91fd5mcw1p6wdi053yxqw17nn";
+    sha256 = "1q93dsxg56f57mxblmh8kn4v9kyc643j2pjf1j3mn2kxypnwaf3g";
   };
 
   buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++
diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix
index 18b91d4f61e8..366088c67291 100644
--- a/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ b/pkgs/desktops/gnome-3/core/zenity/default.nix
@@ -1,20 +1,23 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which }:
+, gnome_doc_utils, intltool, libX11, which, itstool }:
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "3.4";
+  versionMajor = "3.8";
   versionMinor = "0";
 
   name = "zenity-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
-    sha256 = "1bqbfcvd3kj2xk15fvbcdaqvyg9qvymlhn8cwvg5m6v4gicniw2w";
+    sha256 = "0gsnwvhsqqba5i6d4jh86j29q4q18hmvhj9c1v76vwlj2nvz1ywl";
   };
 
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 ];
+  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }

From c41f1ae7d4fc1238f8c8145a70738533ae786f5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:13:37 +0100
Subject: [PATCH 145/228] gnome3.libgweather: 3.6.2 -> 3.10.1

---
 pkgs/desktops/gnome-3/core/libgweather/default.nix | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 02760c94aee6..62ae59643650 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -2,12 +2,15 @@
 , pango, gdk_pixbuf, atk }:
 
 stdenv.mkDerivation rec {
-  name = "libgweather-3.6.2";
+  name = "libgweather-3.10.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgweather/3.6/${name}.tar.xz";
-    sha256 = "1c50m0zrnfh4g58rzf33dfw8ggslj38c61p8a75905bmj3rfyahg";
+    url = "mirror://gnome/sources/libgweather/3.10/${name}.tar.xz";
+    sha256 = "1iyg0l90m14iw0ksjbmrrhb5fqn0y7x5f726y56gxd4qcxgpi3mf";
   };
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
   configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else "";
   propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
   nativeBuildInputs = [ pkgconfig intltool ];

From 401dcc67154389795de0a27c5593150ed5cb41ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:16:07 +0100
Subject: [PATCH 146/228] Add gnome3.dconf

---
 pkgs/desktops/gnome-3/core/dconf/default.nix | 19 +++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix            |  2 ++
 2 files changed, 21 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/dconf/default.nix

diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix
new file mode 100644
index 000000000000..4ee8143bb2b9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/dconf/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
+, libxml2, intltool, docbook_xsl_ns, docbook_xsl }:
+
+stdenv.mkDerivation rec {
+  name = "dconf-${version}";
+  version = "0.18.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/dconf/0.18/${name}.tar.xz";
+    sha256 = "0mf921pnkhs8xn1dr2wxfq277vjsbkpl9cccv0gaz4460z31p6qh";
+  };
+
+  buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
+                  intltool docbook_xsl docbook_xsl_ns ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 07096c5620d0..f9f9fa67d8ea 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -18,6 +18,8 @@ rec {
 
   at_spi2_core = callPackage ./core/at-spi2-core { };
 
+  dconf = callPackage ./core/dconf { };
+
   evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
 
   gconf = callPackage ./core/gconf { };

From c3f148b3a8fc567f0ee2c616bcfc570645675558 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:17:04 +0100
Subject: [PATCH 147/228] gnome3.gnome-dictionary: 3.5.2 -> 3.10.0

---
 pkgs/desktops/gnome-3/default.nix                 |  2 +-
 .../gnome-3/desktop/gnome-dictionary/default.nix  | 15 ++++++++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index f9f9fa67d8ea..7154fab994c1 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -47,7 +47,7 @@ rec {
 
   libpeas = callPackage ./core/libpeas {};
 
-  libgweather = callPackage ./core/libgweather { };
+  libgweather = callPackage ./core/libgweather { libsoup = pkgs.libsoup_2_44; };
 
   nautilus = callPackage ./core/nautilus { };
 
diff --git a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
index 7a1ab5b1505a..3e952f99eb01 100644
--- a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
@@ -1,15 +1,20 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which
-, libxml2, libxslt }:
+, libxml2, libxslt, itstool }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.2";
+  version = "3.10.0";
   name = "gnome-dictionary-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-dictionary/3.5/${name}.tar.xz";
-    sha256 = "1cq32csxn27vir5nlixx337ym2nal9ykq3s1j7yynh2adh4m0jil";
+    url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz";
+    sha256 = "1mqf6ln0cgrw12n9fg81sjbhavrgzvvq7fy3gl55il7pa3z612r5";
   };
 
   buildInputs = [ gnome3.gtk ];
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt gnome3.scrollkeeper ];
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt itstool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
 }

From 9de85d7a420d8a0f73daf95982215881b2e1a0de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:17:35 +0100
Subject: [PATCH 148/228] remove gnome3.scrollkeeper (obsolete)

---
 pkgs/desktops/gnome-3/default.nix | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 7154fab994c1..9c8ae89d195e 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -66,9 +66,6 @@ rec {
 
   gtksourceview = callPackage ./desktop/gtksourceview { };
 
-  # Removed from recent GNOME releases, but still required
-  scrollkeeper = callPackage ./desktop/scrollkeeper { };
-
   # scrollkeeper replacement
   rarian = callPackage ./desktop/rarian { };
 

From ed57d5d1de267ceb8b11d510edb94ac4ecd9b67b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 01:17:54 +0100
Subject: [PATCH 149/228] p11-kit: 0.7 -> 0.20.1

---
 pkgs/development/libraries/p11-kit/default.nix | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 8366636a2513..67be64921e75 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, libiconv, pkgconfig, libffi, libtasn1 }:
 
 stdenv.mkDerivation rec {
-  name = "p11-kit-0.7";
+  name = "p11-kit-0.20.1";
 
   src = fetchurl {
     url = "${meta.homepage}releases/${name}.tar.gz";
-    sha256 = "1vj86kc7ir1djlb5akrr3w4x4k7h34pq2l4abwgqmcwxbm4j0lln";
+    sha256 = "0lsaxd1rg74ax1vkclq7r52b43rhy14mn5i14xqvb8dzlgq4hiaj";
   };
 
   postInstall = "rm -frv $out/share/gtk-doc";
 
+  configureFlags = "--without-libtasn1";
+
+  buildInputs = [ libiconv pkgconfig libffi libtasn1 ];
+
   meta = {
     homepage = http://p11-glue.freedesktop.org/;
     platforms = stdenv.lib.platforms.all;

From 0745e34ddf96c9a146dcf976044953af4871c8d5 Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Wed, 8 Jan 2014 18:56:32 +0100
Subject: [PATCH 150/228] Update libmicrohttpd to 0.9.33. CVE-2013-7038,
 CVE-2013-7039

---
 pkgs/development/libraries/libmicrohttpd/default.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 9ad9f944b4af..3354161baef0 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, curl}:
+{stdenv, fetchurl, curl, libgcrypt}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.24";
+  name = "libmicrohttpd-0.9.33";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "0cp2ac6wbk493zslbvbmb5z96h18k496f9id8d2ji7hbdrwzfk6h";
+    sha256 = "0nfm3h7mfb03hf4kfyap8dr35shm6sppsq6da03853sljy27wn6r";
   };
 
-  buildInputs = [ curl ];
+  buildInputs = [ curl libgcrypt ];
 
   preCheck =
     # Since `localhost' can't be resolved in a chroot, work around it.

From f85b57b2fcf6a7c6ffc08c7bf8af570315849e9d Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Wed, 8 Jan 2014 19:02:21 +0100
Subject: [PATCH 151/228] libupnp: update from 1.6.6 to 1.6.19, potentially
 fixes CVE-2012-5958, CVE-2012-5959, CVE-2012-5960

---
 pkgs/development/libraries/pupnp/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index f78a6073b713..c5e26c1dfad5 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libupnp-1.6.6";
+  name = "libupnp-1.6.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/pupnp/${name}.tar.bz2";
-    sha256 = "1cxvn0v8lcc5p70jc3j50a7rm12am6xr0l2fibi8075jqazcmmsq";
+    sha256 = "0amjv4lypvclmi4vim2qdyw5xa6v4x50zjgf682vahqjc0wjn55k";
   };
 
   meta = {

From f512614a10018188e52a1d8de717639163434b40 Mon Sep 17 00:00:00 2001
From: Nixpkgs Monitor <none@none>
Date: Wed, 8 Jan 2014 19:08:27 +0100
Subject: [PATCH 152/228] wireshark: update from 1.10.3 to 1.10.5, potentially
 fixes CVE-2013-7112, CVE-2013-7113, CVE-2013-7114

---
 pkgs/applications/networking/sniffers/wireshark/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index a5ca5e7b488f..a57ea9389c6f 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -2,14 +2,14 @@
 , geoip, heimdal, lua5, gtk, makeDesktopItem
 }:
 
-let version = "1.10.3"; in
+let version = "1.10.5"; in
 
 stdenv.mkDerivation {
   name = "wireshark-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
-    sha256 = "1329zph63z5mcij9lp111bh6b2w88z3d40gvjld2rjmhmqv1nr61";
+    sha256 = "1xa1l6z8n1gwnyv5mq4zmyr0afy6s0qpl9wqflg3ipbkjpd908d0";
   };
 
   buildInputs =

From fd0b94dd6a0296503ce2761fa8a4f99a9c52305b Mon Sep 17 00:00:00 2001
From: Evgeny Egorochkin <phreedom@yandex.ru>
Date: Fri, 10 Jan 2014 10:16:41 +0200
Subject: [PATCH 153/228] Remove "v" prefix from package versions to make them
 machine-readable

---
 pkgs/tools/misc/grc/default.nix         |  4 ++--
 pkgs/tools/security/aespipe/default.nix |  4 ++--
 pkgs/top-level/perl-packages.nix        | 12 ++++++------
 pkgs/top-level/python-packages.nix      |  4 ++--
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index cd3ea6eda6f0..035924408189 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   version = "1.4";
-  name    = "grc_${version}";
+  name    = "grc-${version}";
 
   src = fetchurl {
-    url    = "http://korpus.juls.savba.sk/~garabik/software/grc/${name}.tar.gz";
+    url    = "http://korpus.juls.savba.sk/~garabik/software/grc/grc_${version}.tar.gz";
     sha256 = "1l7lskxfjk32kkv4aaqw5qcxvh972nab3x2jzy67m1aa0zpcbzdv";
   };
 
diff --git a/pkgs/tools/security/aespipe/default.nix b/pkgs/tools/security/aespipe/default.nix
index 9e4b8d12712a..96de0e0fbe4a 100644
--- a/pkgs/tools/security/aespipe/default.nix
+++ b/pkgs/tools/security/aespipe/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "aespipe-${version}";
-  version = "v2.4c";
+  version = "2.4c";
 
   src = fetchurl {
-    url = "mirror://sourceforge/loop-aes/aespipe/${name}.tar.bz2";
+    url = "mirror://sourceforge/loop-aes/aespipe/aespipe-v${version}.tar.bz2";
     sha256 = "0pl49jnjczjvfxwm9lw576qsjm1lxh8gc4g776l904cixaz90096";
   };
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index fa8df33edf3b..ef2372b50125 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6185,9 +6185,9 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetSNMP = buildPerlPackage rec {
-    name = "Net-SNMP-v6.0.1";
+    name = "Net-SNMP-6.0.1";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DT/DTOWN/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz";
       sha256 = "0hdpn1cw52x8cw24m9ayzpf4rwarm0khygn1sv3wvwxkrg0pphql";
     };
     doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799
@@ -7590,7 +7590,7 @@ let self = _self // overrides; _self = with self; {
   };
 
   SVK = buildPerlPackage {
-    name = "SVK-v2.0.2";
+    name = "SVK-2.0.2";
     src = fetchurl {
       url = mirror://cpan/authors/id/C/CL/CLKAO/SVK-v2.0.2.tar.gz;
       sha256 = "0c4m2q7cvzwh9kk1nc1vd8lkxx2kss5nd4k20dpkal4c7735jns0";
@@ -8680,9 +8680,9 @@ let self = _self // overrides; _self = with self; {
   };
 
   TextRecordParser = buildPerlPackage rec {
-    name = "Text-RecordParser-v1.5.0";
+    name = "Text-RecordParser-1.5.0";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/K/KC/KCLARK/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-v1.5.0.tar.gz";
       sha256 = "0zlwpayjnpjani3v3hgi77207i3n5fppcxww20chdldx98dkj7jm";
     };
 
@@ -8743,7 +8743,7 @@ let self = _self // overrides; _self = with self; {
   };
 
   TestTrap = buildPerlPackage {
-    name = "Test-Trap-v0.2.2";
+    name = "Test-Trap-0.2.2";
     src = fetchurl {
       url = mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.2.2.tar.gz;
       sha256 = "1ci5ag9pm850ww55n2929skvw3avy6xcrwmmi2yyn0hifxx9dybs";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ee19aa850d39..331978e9c9d5 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5225,11 +5225,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pymacs = pkgs.stdenv.mkDerivation rec {
-    version = "v0.25";
+    version = "0.25";
     name = "Pymacs-${version}";
 
     src = fetchurl {
-      url = "https://github.com/pinard/Pymacs/tarball/${version}";
+      url = "https://github.com/pinard/Pymacs/tarball/v${version}";
       name = "${name}.tar.gz";
       sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i";
     };

From 97d7c0abe592140e0a9663dfaf2f94ea1a63e4e3 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Mon, 23 Dec 2013 23:21:43 +0800
Subject: [PATCH 154/228] gstreamer-0.10:  move to gstreamer/legacy

---
 .../gstreamer/{ => legacy}/gnonlin/default.nix |  0
 .../{ => legacy}/gst-ffmpeg/default.nix        |  0
 .../{ => legacy}/gst-plugins-bad/default.nix   |  0
 .../{ => legacy}/gst-plugins-base/default.nix  |  0
 .../{ => legacy}/gst-plugins-good/default.nix  |  0
 .../{ => legacy}/gst-plugins-good/v4l.patch    |  0
 .../{ => legacy}/gst-plugins-ugly/default.nix  |  0
 .../{ => legacy}/gst-python/default.nix        |  0
 .../{ => legacy}/gstreamer/default.nix         |  0
 .../{ => legacy}/gstreamer/setup-hook.sh       |  0
 .../{ => legacy}/qt-gstreamer/boost1.48.patch  |  0
 .../{ => legacy}/qt-gstreamer/default.nix      |  0
 pkgs/top-level/all-packages.nix                | 18 +++++++++---------
 13 files changed, 9 insertions(+), 9 deletions(-)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gnonlin/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-ffmpeg/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-plugins-bad/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-plugins-base/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-plugins-good/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-plugins-good/v4l.patch (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-plugins-ugly/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gst-python/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gstreamer/default.nix (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/gstreamer/setup-hook.sh (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/qt-gstreamer/boost1.48.patch (100%)
 rename pkgs/development/libraries/gstreamer/{ => legacy}/qt-gstreamer/default.nix (100%)

diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gnonlin/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-bad/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-plugins-bad/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-good/v4l.patch b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-plugins-good/v4l.patch
rename to pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-ugly/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-plugins-ugly/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gst-python/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gst-python/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gstreamer/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/setup-hook.sh b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
similarity index 100%
rename from pkgs/development/libraries/gstreamer/gstreamer/setup-hook.sh
rename to pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch
similarity index 100%
rename from pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch
rename to pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
similarity index 100%
rename from pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
rename to pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 298944cdd05c..51deb230dc06 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4408,29 +4408,29 @@ let
     gstFfmpeg = pkgs.gst_ffmpeg;
   };
 
-  gstreamer = callPackage ../development/libraries/gstreamer/gstreamer {};
+  gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer {};
 
-  gst_plugins_base = callPackage ../development/libraries/gstreamer/gst-plugins-base {};
+  gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {};
 
-  gst_plugins_good = callPackage ../development/libraries/gstreamer/gst-plugins-good {};
+  gst_plugins_good = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-good {};
 
-  gst_plugins_bad = callPackage ../development/libraries/gstreamer/gst-plugins-bad {};
+  gst_plugins_bad = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-bad {};
 
-  gst_plugins_ugly = callPackage ../development/libraries/gstreamer/gst-plugins-ugly {};
+  gst_plugins_ugly = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-ugly {};
 
-  gst_ffmpeg = callPackage ../development/libraries/gstreamer/gst-ffmpeg {
+  gst_ffmpeg = callPackage ../development/libraries/gstreamer/legacy/gst-ffmpeg {
     ffmpeg = ffmpeg_0_10;
   };
 
-  gst_python = callPackage ../development/libraries/gstreamer/gst-python {};
+  gst_python = callPackage ../development/libraries/gstreamer/legacy/gst-python {};
 
-  gnonlin = callPackage ../development/libraries/gstreamer/gnonlin {};
+  gnonlin = callPackage ../development/libraries/gstreamer/legacy/gnonlin {};
 
   gusb = callPackage ../development/libraries/gusb {
     inherit (gnome) gtkdoc;
   };
 
-  qt_gstreamer = callPackage ../development/libraries/gstreamer/qt-gstreamer {};
+  qt_gstreamer = callPackage ../development/libraries/gstreamer/legacy/qt-gstreamer {};
 
   gnet = callPackage ../development/libraries/gnet { };
 

From 7a74215face789c9e8b287373f9155840122a236 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Mon, 23 Dec 2013 23:36:37 +0800
Subject: [PATCH 155/228] add gstreamer 1.2.1

---
 .../libraries/gstreamer/bad/default.nix       | 33 +++++++++++++++++++
 .../libraries/gstreamer/base/default.nix      | 31 +++++++++++++++++
 .../libraries/gstreamer/core/default.nix      | 25 ++++++++++++++
 .../libraries/gstreamer/default.nix           | 15 +++++++++
 .../libraries/gstreamer/good/default.nix      | 32 ++++++++++++++++++
 .../libraries/gstreamer/libav/default.nix     | 24 ++++++++++++++
 .../libraries/gstreamer/ugly/default.nix      | 28 ++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 8 files changed, 190 insertions(+)
 create mode 100644 pkgs/development/libraries/gstreamer/bad/default.nix
 create mode 100644 pkgs/development/libraries/gstreamer/base/default.nix
 create mode 100644 pkgs/development/libraries/gstreamer/core/default.nix
 create mode 100644 pkgs/development/libraries/gstreamer/default.nix
 create mode 100644 pkgs/development/libraries/gstreamer/good/default.nix
 create mode 100644 pkgs/development/libraries/gstreamer/libav/default.nix
 create mode 100644 pkgs/development/libraries/gstreamer/ugly/default.nix

diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
new file mode 100644
index 000000000000..02f1cf89a5fd
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc
+, faac, faad2, libass, libkate, libmms
+, libmodplug, mpeg2dec, mpg123 
+, openjpeg, libopus, librsvg
+, timidity, libvdpau, wayland
+, libwebp, xvidcore
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-bad-1.2.1";
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
+    sha256 = "f33e7c81fcb742fe50b73ad87ef8a4baa7d6b59c5002a10bf63c8dee22404929";
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc
+    faac faad2 libass libkate libmms
+    libmodplug mpeg2dec mpg123 
+    openjpeg libopus librsvg
+    timidity libvdpau wayland
+    libwebp xvidcore
+  ];
+}
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
new file mode 100644
index 000000000000..fa5e7696c1ac
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, python, gstreamer, gobjectIntrospection
+, orc, alsaLib, libXv, pango, libtheora
+, cdparanoia, libvisual
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-base-1.2.1";
+
+  meta = {
+    description = "Base plugins and helper libraries";
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
+    sha256 = "de2444a5c150d4e4b680364d7c0414cd8b015d95b305ff65d65a17683379532f";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig python gobjectIntrospection
+  ];
+
+  buildInputs = [
+    orc alsaLib libXv pango libtheora
+    cdparanoia libvisual
+  ];
+
+  propagatedBuildInputs = [ gstreamer ];
+}
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
new file mode 100644
index 000000000000..6c33b91d6ee6
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
+, glib 
+}:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-1.2.1";
+
+  meta = {
+    description = "Open source multimedia framework";
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
+    sha256 = "a4523d2471bca6cd0059a32e3b042f50faa4dadc6439852af8b43ca3f17d1fc9";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig perl bison flex python gobjectIntrospection
+  ];
+
+  propagatedBuildInputs = [ glib ];
+}
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
new file mode 100644
index 000000000000..1d02e6459ab2
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -0,0 +1,15 @@
+{ callPackage }:
+
+rec {
+  gstreamer = callPackage ./core { };
+
+  gst-plugins-base = callPackage ./base { inherit gstreamer; };
+
+  gst-plugins-good = callPackage ./good { inherit gst-plugins-base; };
+
+  gst-plugins-bad = callPackage ./bad { inherit gst-plugins-base; };
+
+  gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base; };
+
+  gst-libav = callPackage ./libav { inherit gst-plugins-base; };
+}
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
new file mode 100644
index 000000000000..75af280b0afc
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, python
+, gst-plugins-base, orc, bzip2
+, libv4l, libdv, libavc1394, libiec61883
+, libvpx, speex, flac, taglib
+, cairo, gdk_pixbuf, aalib, libcaca
+, libsoup, pulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-good-1.2.1";
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
+    sha256 = "660fa02dbe01086fcf702d87acc0ba5dde2559d6a11ecf438874afe504c50517";
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc bzip2
+    libv4l libdv libavc1394 libiec61883
+    libvpx speex flac taglib
+    cairo gdk_pixbuf aalib libcaca
+    libsoup pulseaudio
+  ];
+}
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
new file mode 100644
index 000000000000..72556d968029
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, python, yasm
+, gst-plugins-base, bzip2
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-libav-1.2.1";
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
+    sha256 = "fd152b7aec56ae76ad58b9759913a8bfe1792bdf64f260d0acaba75b75076676";
+  };
+
+  nativeBuildInputs = [ pkgconfig python yasm ];
+
+  buildInputs = [
+    gst-plugins-base bzip2
+  ];
+}
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
new file mode 100644
index 000000000000..60bf519a76c7
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, python
+, gst-plugins-base, orc
+, a52dec, libcdio, libdvdread
+, lame, libmad, libmpeg2, x264
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-ugly-1.2.1";
+
+  meta = {
+    homepage = "http://gstreamer.freedesktop.org";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
+    sha256 = "35ae5d45de54827604e24f57f54ab30a5ab2245b4c4120977273eb11d19c2395";
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc
+    a52dec libcdio libdvdread
+    lame libmad libmpeg2 x264
+  ];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 51deb230dc06..81fd038ff463 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4399,6 +4399,8 @@ let
   mpfr = callPackage ../development/libraries/mpfr { };
   mpfr_3_1_2 = callPackage ../development/libraries/mpfr/3.1.2.nix { };
 
+  gst_all_1 = callPackage ../development/libraries/gstreamer { };
+
   gst_all = {
     inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer;
     gstPluginsBase = pkgs.gst_plugins_base;

From 0596f3074bb27f1473b3a2b0492ce9143fc308c8 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Tue, 24 Dec 2013 12:43:57 +0800
Subject: [PATCH 156/228] add parole 0.5.4

---
 pkgs/desktops/xfce/applications/parole.nix | 43 ++++++++++++++++++++++
 pkgs/desktops/xfce/default.nix             |  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 pkgs/desktops/xfce/applications/parole.nix

diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix
new file mode 100644
index 000000000000..c1a4ecd787d8
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/parole.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
+, gtk, dbus_glib, libxfce4ui, libxfce4util, xfconf
+, taglib, libnotify
+, withGstPlugins ? true
+}:
+
+stdenv.mkDerivation rec {
+  p_name  = "parole";
+  ver_maj = "0.5";
+  ver_min = "4";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1hxzqg9dfghrhvmnnccwwa4278fh2awkcqy89sla05m08mxvvx60";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  buildInputs = [
+    makeWrapper gst_all_1.gst-plugins-base
+    gtk dbus_glib libxfce4ui libxfce4util xfconf
+    taglib libnotify
+  ];
+
+  configureFlags = [ "--with-gstreamer=1.0" ];
+
+  postInstall = stdenv.lib.optionalString withGstPlugins ''
+    wrapProgram "$out/bin/parole" --prefix \
+      GST_PLUGIN_PATH ":" ${stdenv.lib.concatStringsSep ":"
+        (map (s: s+"/lib/gstreamer-1.0") (with gst_all_1; [
+          gst-plugins-base gst-plugins-good
+          gst-plugins-bad gst-plugins-ugly
+          gst-libav
+        ])) }
+  '';
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
+    description = "Modern simple media player";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index ede7ffb6c49c..b9c84cf95e28 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -41,6 +41,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
 
   gigolo          = callPackage ./applications/gigolo.nix { };
   mousepad        = callPackage ./applications/mousepad.nix { };
+  parole          = callPackage ./applications/parole.nix { };
   ristretto       = callPackage ./applications/ristretto.nix { };
   terminal        = xfce4terminal; # it has changed its name
   xfce4mixer      = callPackage ./applications/xfce4-mixer.nix { };

From 9a3e183080e0dee9ad9b4d55ddc4aaffba395436 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Thu, 2 Jan 2014 10:33:36 +0800
Subject: [PATCH 157/228] gstreamer: update to 1.2.2, add myself as maintainer

---
 pkgs/development/libraries/gstreamer/bad/default.nix   | 5 +++--
 pkgs/development/libraries/gstreamer/base/default.nix  | 5 +++--
 pkgs/development/libraries/gstreamer/core/default.nix  | 5 +++--
 pkgs/development/libraries/gstreamer/good/default.nix  | 5 +++--
 pkgs/development/libraries/gstreamer/libav/default.nix | 5 +++--
 pkgs/development/libraries/gstreamer/ugly/default.nix  | 5 +++--
 6 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 02f1cf89a5fd..f05408767a74 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -7,17 +7,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.2.1";
+  name = "gst-plugins-bad-1.2.2";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "f33e7c81fcb742fe50b73ad87ef8a4baa7d6b59c5002a10bf63c8dee22404929";
+    sha256 = "63e78db11b482d0529a0bde01e2ac23fd32c7cb99a5508b53ee4ca1051871b2c";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index fa5e7696c1ac..01a75ce52112 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,18 +4,19 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.2.1";
+  name = "gst-plugins-base-1.2.2";
 
   meta = {
     description = "Base plugins and helper libraries";
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "de2444a5c150d4e4b680364d7c0414cd8b015d95b305ff65d65a17683379532f";
+    sha256 = "fa90cf21eac0a77f9393100356aef99ae42072c31dc218d3ae2e7f86cd5ced69";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 6c33b91d6ee6..5e7548627fe2 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -3,18 +3,19 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.2.1";
+  name = "gstreamer-1.2.2";
 
   meta = {
     description = "Open source multimedia framework";
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "a4523d2471bca6cd0059a32e3b042f50faa4dadc6439852af8b43ca3f17d1fc9";
+    sha256 = "b9f12137ab663edc6c37429b38ca7911074b9c2a829267fe855d4e57d916a0b6";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 75af280b0afc..616f63d7da7f 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -7,17 +7,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.2.1";
+  name = "gst-plugins-good-1.2.2";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "660fa02dbe01086fcf702d87acc0ba5dde2559d6a11ecf438874afe504c50517";
+    sha256 = "6c090f00e8e4588f12807bd9fbb06a03b84a512c93e84d928123ee4a42228a81";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 72556d968029..956058227877 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -3,17 +3,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.2.1";
+  name = "gst-libav-1.2.2";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "fd152b7aec56ae76ad58b9759913a8bfe1792bdf64f260d0acaba75b75076676";
+    sha256 = "585eb7971006100ad771a852e07bd2f3e23bcc6eb0b1253a40b5a0e40e4e7418";
   };
 
   nativeBuildInputs = [ pkgconfig python yasm ];
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 60bf519a76c7..8dafbf013f37 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,17 +5,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.2.1";
+  name = "gst-plugins-ugly-1.2.2";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "35ae5d45de54827604e24f57f54ab30a5ab2245b4c4120977273eb11d19c2395";
+    sha256 = "4b6aac272a5be0d68f365ef6fba0f829fc5c1d1d601bb4dd9e85f5289b2b56c3";
   };
 
   nativeBuildInputs = [ pkgconfig python ];

From 7e67caa06c8219c34973744e907b140c0d1f3721 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Thu, 2 Jan 2014 21:28:40 +0800
Subject: [PATCH 158/228] gst-libav: add withSystemLibav option

---
 .../libraries/gstreamer/libav/default.nix     | 20 ++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 956058227877..d539811462cc 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -1,7 +1,10 @@
 { stdenv, fetchurl, pkgconfig, python, yasm
-, gst-plugins-base, bzip2
+, gst-plugins-base, orc, bzip2
+, withSystemLibav ? false, libav ? null
 }:
 
+assert withSystemLibav -> libav != null;
+
 stdenv.mkDerivation rec {
   name = "gst-libav-1.2.2";
 
@@ -17,9 +20,16 @@ stdenv.mkDerivation rec {
     sha256 = "585eb7971006100ad771a852e07bd2f3e23bcc6eb0b1253a40b5a0e40e4e7418";
   };
 
-  nativeBuildInputs = [ pkgconfig python yasm ];
+  configureFlags = stdenv.lib.optionalString withSystemLibav
+    "--with-system-libav";
 
-  buildInputs = [
-    gst-plugins-base bzip2
-  ];
+  nativeBuildInputs = with stdenv.lib;
+    [ pkgconfig python ]
+    ++ optional (!withSystemLibav) yasm
+    ;
+
+  buildInputs = with stdenv.lib;
+    [ gst-plugins-base orc bzip2 ]
+    ++ optional withSystemLibav libav
+    ;
 }

From 640e13ce1333fb33be02931299f99ab98ab56b93 Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Fri, 10 Jan 2014 20:56:18 +0800
Subject: [PATCH 159/228] gst-plugins-bad: build with gnutls to add fragmented
 plugin

---
 pkgs/development/libraries/gstreamer/bad/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index f05408767a74..81207155625a 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -3,7 +3,7 @@
 , libmodplug, mpeg2dec, mpg123 
 , openjpeg, libopus, librsvg
 , timidity, libvdpau, wayland
-, libwebp, xvidcore
+, libwebp, xvidcore, gnutls
 }:
 
 stdenv.mkDerivation rec {
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     libmodplug mpeg2dec mpg123 
     openjpeg libopus librsvg
     timidity libvdpau wayland
-    libwebp xvidcore
+    libwebp xvidcore gnutls
   ];
 }

From 153b4ccf7148aaaa3761f546d43743775ea143ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Fri, 10 Jan 2014 16:15:21 +0100
Subject: [PATCH 160/228] Add gitg: Gnome GUI for git

---
 pkgs/desktops/gnome-3/core/libgee/default.nix | 18 +++++++
 .../core/libgee/fix_introspection_paths.patch | 13 +++++
 pkgs/desktops/gnome-3/default.nix             |  5 ++
 pkgs/desktops/gnome-3/misc/gitg/default.nix   | 50 +++++++++++++++++++
 .../gnome-3/misc/libgit2-glib/default.nix     | 21 ++++++++
 pkgs/top-level/all-packages.nix               |  2 +
 6 files changed, 109 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/libgee/default.nix
 create mode 100644 pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch
 create mode 100644 pkgs/desktops/gnome-3/misc/gitg/default.nix
 create mode 100644 pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix

diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix
new file mode 100644
index 000000000000..2775e87720cc
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libgee/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "libgee-0.13.4";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/libgee/0.13/${name}.tar.xz";
+    sha256 = "1gzyx8gy5m6r8km3xbb1kszz0v3p9vsbzwb78pf3fw122gwbjj4k";
+  };
+
+  patches = [ ./fix_introspection_paths.patch ];
+
+  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch
new file mode 100644
index 000000000000..67003f451645
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch
@@ -0,0 +1,13 @@
+--- fix_introspection_paths.patch/configure	2014-01-07 17:43:53.521339338 +0000
++++ fix_introspection_paths.patch/configure-fix	2014-01-07 17:45:11.068635069 +0000
+@@ -12085,8 +12085,8 @@
+        INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
++       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 9c8ae89d195e..082d5c0e88b1 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -45,6 +45,8 @@ rec {
 
   libcroco = callPackage ./core/libcroco {};
 
+  libgee = callPackage ./core/libgee { };
+
   libpeas = callPackage ./core/libpeas {};
 
   libgweather = callPackage ./core/libgweather { libsoup = pkgs.libsoup_2_44; };
@@ -74,4 +76,7 @@ rec {
 
   goffice = callPackage ./misc/goffice { };
 
+  gitg = callPackage ./misc/gitg { };
+
+  libgit2-glib = callPackage ./misc/libgit2-glib { automake = pkgs.automake111x; };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix
new file mode 100644
index 000000000000..629ff4a77002
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
+, json_glib, webkitgtk,  makeWrapper, libpeas, bash, gobjectIntrospection
+, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib }:
+
+# TODO: icons and theme still does not work
+# use packaged gnome3.gnome_icon_theme_symbolic 
+
+stdenv.mkDerivation rec {
+  name = "gitg-0.3.2";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gitg/0.3/${name}.tar.xz";
+    sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp";
+  };
+
+  configureFlags = [ "--disable-static" ];
+
+  preCheck = ''
+    substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
+  '';
+  doCheck = true;
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  propagatedUserEnvPkgs = [ shared_mime_info
+                            gnome3.gnome_themes_standard ];
+
+  buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
+                  libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview
+                  gobjectIntrospection makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/gitg" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/gitg/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
+    description = "GNOME GUI client to view git repositories";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
new file mode 100644
index 000000000000..12d37ab5db50
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, which, gnome3, autoconf, automake, libtool, pkgconfig
+, gtk_doc, gobjectIntrospection, libgit2, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libgit2-glib-${version}";
+  version = "0.0.10";
+
+  src = fetchurl {
+    url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
+    sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs";
+  };
+
+  configureScript = "sh ./autogen.sh";
+
+  buildInputs = [ which gnome3.gnome_common autoconf automake libtool
+                  pkgconfig gtk_doc gobjectIntrospection libgit2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e612e05bfdd1..f9db2276f874 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8045,6 +8045,8 @@ let
     python = python27;
   };
 
+  inherit (gnome3) gitg;
+
   giv = callPackage ../applications/graphics/giv {
     pcre = pcre.override { unicodeSupport = true; };
   };

From 4fa90144af9cddc85ba48040a2a12a9c2b2418c6 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 10 Jan 2014 17:17:24 -0600
Subject: [PATCH 161/228] darcsver: Upgrade from 1.7.2 -> 1.7.4

---
 pkgs/top-level/python-packages.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 331978e9c9d5..b7e5589fd438 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1249,11 +1249,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
   darcsver = buildPythonPackage (rec {
-    name = "darcsver-1.7.2";
+    name = "darcsver-1.7.4";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz";
-      md5 = "94ca7e8c9ea0f69c0f3fc6f9fc88f65a";
+      sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6";
     };
 
     buildInputs = [ pythonPackages.mock ];

From 888c0116de8840ccaaae9d86e6584a8e737720f4 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 10 Jan 2014 17:18:21 -0600
Subject: [PATCH 162/228] pycryptopp: Upgrade from 0.5.29 ->
 0.6.0.1206569328141510525648634803928199668821045408958

---
 pkgs/top-level/python-packages.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b7e5589fd438..4b7b1232a3ab 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4765,11 +4765,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pycryptopp = buildPythonPackage (rec {
-    name = "pycryptopp-0.5.29";
+    name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz";
-      sha256 = "d504775b73d30fb05a3237f83c4e9e1ff3312cbba90a4a23e6cbb7d32219502b";
+      sha256 = "0n90h1yg7bfvlbhnc54xb6dbqm286ykaksyg04kxlhyjgf8mhq8i";
     };
 
     # Prefer crypto++ library from the Nix store over the one that's included

From 6b8aaab78a99de2935b91f292bf797e276e04345 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 10 Jan 2014 17:19:18 -0600
Subject: [PATCH 163/228] twisted: Upgrade from 10.2.0 -> 13.2.0

---
 pkgs/top-level/python-packages.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4b7b1232a3ab..7d6e867388f4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6784,11 +6784,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
   twisted = buildPythonPackage rec {
-    name = "twisted-10.2.0";
+    name = "twisted-13.2.0";
 
     src = fetchurl {
-      url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
-      sha256 = "110c30z622jn14yany1sxfaqj5qx20n9rc9zqacxlwma30fdcbjn";
+      url = "https://pypi.python.org/packages/source/T/Twisted/Twisted-13.2.0.tar.bz2";
+      sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89";
     };
 
     propagatedBuildInputs = [ zope_interface ];
@@ -6809,7 +6809,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
         and licensed under the MIT license.
       '';
 
-      license = "MIT";
+      license = pkgs.lib.licenses.mit;
 
       maintainers = [ ];
     };

From f9c97afff87421e8370b2d5ac3cf4a911c96e441 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 10 Jan 2014 17:19:44 -0600
Subject: [PATCH 164/228] zfec: Upgrade from 1.4.7 -> 1.4.24

---
 pkgs/top-level/python-packages.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 7d6e867388f4..8426581cf18d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7222,11 +7222,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   zfec = buildPythonPackage (rec {
-    name = "zfec-1.4.7";
+    name = "zfec-1.4.24";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz";
-      sha256 = "3335c9054f45e2c59188400e892634b68761b29d06f3cafe525c60484902d379";
+      sha256 = "1ks94zlpy7n8sb8380gf90gx85qy0p9073wi1wngg6mccxp9xsg3";
     };
 
     buildInputs = [ setuptoolsDarcs ];

From 42229f1040079c959ea47ed4232b008bf1e7b6db Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Thu, 9 Jan 2014 23:11:22 -0600
Subject: [PATCH 165/228] nix-prefetch-git: Convert relative submodule URLS to
 absolute URLS

nix-prefetch-git does not convert relative submodule urls into absolute
urls based on the parent's origin. This patch adds support for
repositories which are using the relative url syntax.
---
 pkgs/build-support/fetchgit/nix-prefetch-git | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 0afae009dc57..8d0de055c756 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -148,6 +148,12 @@ init_submodules(){
             git config -f .gitmodules --get-regexp submodule\.[^.]*\.path |
             sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
         local url=$(git config -f .gitmodules --get ${name}.url);
+
+        # Get Absolute URL if we have a relative URL
+        if ! echo "$url" | grep '^[a-zA-Z]\+://' >/dev/null 2>&1; then
+          url="$(git config --get remote.origin.url)/$url"
+        fi
+
         clone "$dir" "$url" "$hash" "";
     done;
 }

From c916c9bc2a9a9beb1192a6a36d94f49a97f84df3 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 10 Jan 2014 18:48:12 -0600
Subject: [PATCH 166/228] pysqlite: Upgrade from 2.5.5 -> 2.6.3

---
 pkgs/top-level/python-packages.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 8426581cf18d..cf8d970dfd0e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5329,11 +5329,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pysqlite = buildPythonPackage (rec {
-    name = "pysqlite-2.5.5";
+    name = "pysqlite-2.6.3";
 
     src = fetchurl {
-      url = "http://pysqlite.googlecode.com/files/${name}.tar.gz";
-      sha256 = "ef7ca7f44893790e1a7084b10ea083770e138689406fddc7076d12d6bff4d44f";
+      url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz";
+      sha256 = "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y";
     };
 
     # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files

From 268ffe1144eb0207fa22a230e1393bfee41eb6b4 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 10 Jan 2014 17:21:45 -0600
Subject: [PATCH 167/228] tahoe-lafs: Upgrade from 1.9.2 -> 1.10.0

Remove patches which do not apply to the newer version.
---
 .../networking/p2p/tahoe-lafs/default.nix     | 35 ++++---------------
 pkgs/top-level/all-packages.nix               |  2 +-
 2 files changed, 8 insertions(+), 29 deletions(-)

diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 38adea8af8f9..8796dbd076e7 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, lib, unzip, buildPythonPackage, twisted, foolscap, nevow
-, simplejson, zfec, pycryptopp, pysqlite, darcsver, setuptoolsTrial
+, simplejson, zfec, pycryptopp, sqlite3, darcsver, setuptoolsTrial
 , setuptoolsDarcs, numpy, nettools, pycrypto, pyasn1, mock }:
 
 # FAILURES: The "running build_ext" phase fails to compile Twisted
@@ -8,34 +8,18 @@
 # some loss of functionality because of it.
 
 let
-  name = "tahoe-lafs-1.9.2";
+  name = "tahoe-lafs-1.10.0";
 in
 buildPythonPackage {
   inherit name;
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://tahoe-lafs.org/source/tahoe-lafs/snapshots/allmydata-tahoe-1.9.2.tar.bz2";
-    sha256 = "0111gmavyrnglx10kj8z7wm7y97fyg9isv71c0gx9kq4c03knxq4";
+    url = "http://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-1.10.0.tar.bz2";
+    sha256 = "1qng7j1vykk8zl5da9yklkljvgxfnjky58gcay6dypz91xq1cmcw";
   };
 
-  # The patch doesn't apply cleanly to the current version.
-  patches = [ /* ./test-timeout.patch */ ];
-
   configurePhase = ''
-    echo "forcing the use of \`setuptools' 0.6c9 rather than an unreleased version"
-    for i in *setup.py
-    do
-      sed -i "$i" -es'/0.6c12dev/0.6c9/g'
-    done
-
-    # `find_exe()' returns a list like ['.../bin/python'
-    # '.../bin/twistd'], which doesn't work when `twistd' is not a
-    # Python script (e.g., when it's a script produced by
-    # `wrapProgram').
-    sed -i "src/allmydata/scripts/startstop_node.py" \
-        -es"|cmd = find_exe.find_exe('twistd')|cmd = ['${twisted}/bin/twistd']|g"
-
     sed -i "src/allmydata/util/iputil.py" \
         -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g"
 
@@ -50,9 +34,9 @@ buildPythonPackage {
   buildInputs = [ unzip ]
     ++ [ numpy ]; # Some tests want this + http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/mock-0.6.0.tar.bz2
 
-  # The `backup' command requires `pysqlite'.
+  # The `backup' command requires `sqlite3'.
   propagatedBuildInputs =
-    [ twisted foolscap nevow simplejson zfec pycryptopp pysqlite
+    [ twisted foolscap nevow simplejson zfec pycryptopp sqlite3
       darcsver setuptoolsTrial setuptoolsDarcs pycrypto pyasn1 mock
     ];
 
@@ -61,11 +45,6 @@ buildPythonPackage {
 
   postInstall = ''
     # Install the documentation.
-
-    # FIXME: Inkscape segfaults when run from here.  Setting $HOME to
-    # something writable doesn't help; providing $FONTCONFIG_FILE doesn't
-    # help either.  So we just don't run `make' under `docs/'.
-
     mkdir -p "$out/share/doc/${name}"
     cp -rv "docs/"* "$out/share/doc/${name}"
     find "$out/share/doc/${name}" -name Makefile -exec rm -v {} \;
@@ -88,7 +67,7 @@ buildPythonPackage {
 
     homepage = http://allmydata.org/;
 
-    license = [ "GPLv2+" /* or */ "TGPPLv1+" ];
+    license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
 
     maintainers = [ lib.maintainers.simons  ];
     platforms = lib.platforms.gnu;  # arbitrary choice
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f9db2276f874..655c30cf73f0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8922,7 +8922,7 @@ let
 
   tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
-      pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
+      pycryptopp sqlite3 darcsver setuptoolsTrial setuptoolsDarcs
       numpy pyasn1 mock;
   };
 

From 18626481ca95d4e91c8462efbd1e3ae2ce6a201b Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 00:49:07 +0100
Subject: [PATCH 168/228] haskell-git-annex: update to version 5.20140108

---
 .../version-management/git-and-tools/git-annex/default.nix    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 5be6faa321e3..28b64c118bae 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -14,8 +14,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20140107";
-  sha256 = "094jqnx37r6pjsicxmfc67hqh7gps5yqbq4qpl6labk80h63ric9";
+  version = "5.20140108";
+  sha256 = "17j1avmg66lda52p93689n4mas46rfbjdvss1rvmdh10cj7hg8jy";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [

From 4d724e60b196a4768bdca10e0bef110889752764 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 00:49:07 +0100
Subject: [PATCH 169/228] haskell-cipher-aes128: update to version 0.6.2

---
 pkgs/development/libraries/haskell/cipher-aes128/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/cipher-aes128/default.nix b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
index 0ccecef6f07f..8bb093eb0f81 100644
--- a/pkgs/development/libraries/haskell/cipher-aes128/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes128/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes128";
-  version = "0.6.1";
-  sha256 = "0alvsz6l3ihjbl2ygml6k117j4z3485d7ny6cjv1cz3by688s76g";
+  version = "0.6.2";
+  sha256 = "0rj56p8rcnvk95jc4fx4pxv25yk85vfad7v0znsgzp2hpw4h4ihb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cereal cryptoApi tagged ];

From 95c90f8bd72c63665f1f47c231c991de19833aca Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 00:49:07 +0100
Subject: [PATCH 170/228] haskell-hledger-lib: update to version 0.22.1

---
 .../libraries/haskell/hledger-lib/default.nix    | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 89a6622cf1ce..7e57f0d21e1a 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -1,20 +1,20 @@
 { cabal, cmdargs, csv, dataPprint, filepath, HUnit, mtl, parsec
-, prettyShow, regexCompatTdfa, regexpr, safe, split, testFramework
+, prettyShow, regexpr, regexTdfa, safe, split, testFramework
 , testFrameworkHunit, time, transformers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.22";
-  sha256 = "059dbwmafwy25pbr9311lknhyjlycdhhal4ng9i56bgd334l2wx3";
+  version = "0.22.1";
+  sha256 = "0kaa778swx4vw0rkhxd3h9h9qj13rzz24x92z139vad1n722gcw1";
   buildDepends = [
-    cmdargs csv dataPprint filepath HUnit mtl parsec prettyShow
-    regexCompatTdfa regexpr safe split time transformers utf8String
+    cmdargs csv dataPprint filepath HUnit mtl parsec prettyShow regexpr
+    regexTdfa safe split time transformers utf8String
   ];
   testDepends = [
-    cmdargs csv dataPprint filepath HUnit mtl parsec prettyShow
-    regexCompatTdfa regexpr safe split testFramework testFrameworkHunit
-    time transformers
+    cmdargs csv dataPprint filepath HUnit mtl parsec prettyShow regexpr
+    regexTdfa safe split testFramework testFrameworkHunit time
+    transformers
   ];
   meta = {
     homepage = "http://hledger.org";

From 284ad16da5c70c68c48c4570a12b3af1f3ef7e39 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 00:49:08 +0100
Subject: [PATCH 171/228] haskell-hledger-web: update to version 0.22.1

---
 pkgs/development/libraries/haskell/hledger-web/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index f846dba7fc87..21dc845b1175 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.22";
-  sha256 = "0bd1cb6988ainkzi034a4g4xnslqc6djv74gbq58aaxjqn4m7m80";
+  version = "0.22.1";
+  sha256 = "0nqw7scnhcip2bg832p9v0rqk01gn4xwj9bqsvsvmh31fh9ldchw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [

From ebfb00276cf8f41071f2718108ffa86f98fca53d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 00:49:08 +0100
Subject: [PATCH 172/228] haskell-hledger: update to version 0.22.1

---
 .../libraries/haskell/hledger/default.nix         | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 47a5ed381f6b..17db54329911 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -1,13 +1,13 @@
 { cabal, cmdargs, csv, dataPprint, filepath, haskeline, hledgerLib
-, HUnit, mtl, parsec, prettyShow, regexCompatTdfa, regexpr, safe
-, shakespeareText, split, tabular, testFramework
-, testFrameworkHunit, text, time, transformers, utf8String
+, HUnit, mtl, parsec, prettyShow, regexpr, safe, shakespeareText
+, split, tabular, testFramework, testFrameworkHunit, text, time
+, transformers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.22";
-  sha256 = "1fwi1a2nvhfjinif7gy7rv00gn7kazwzmhsskpim2a7bg99sfxb9";
+  version = "0.22.1";
+  sha256 = "1mlh5dlbfkqz41i7zaa4cybf75cg5mrp6sj48kwns0liaqyvav58";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,9 +16,8 @@ cabal.mkDerivation (self: {
   ];
   testDepends = [
     cmdargs csv dataPprint filepath haskeline hledgerLib HUnit mtl
-    parsec prettyShow regexCompatTdfa regexpr safe shakespeareText
-    split tabular testFramework testFrameworkHunit text time
-    transformers
+    parsec prettyShow regexpr safe shakespeareText split tabular
+    testFramework testFrameworkHunit text time transformers
   ];
   meta = {
     homepage = "http://hledger.org";

From 03b17fdab25f23d5b856f4cf965f96065c314f0a Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 00:49:08 +0100
Subject: [PATCH 173/228] haskell-cabal2nix: update to version 1.58

---
 pkgs/development/tools/haskell/cabal2nix/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 5081b9352676..d0d7e7b39b24 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.57";
-  sha256 = "0mwd3qh4ncbbwmaspnxl0hmirjclkqm8zhvchc55fgnskrfbidhq";
+  version = "1.58";
+  sha256 = "0xsp0f87583pcjdfhngbc9465yisk2m3sn6904s0szprkpi2p03x";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];

From 537a6fe9db25c5430f12b1048bbd16a85b9f0d12 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 10:39:28 +0100
Subject: [PATCH 174/228] haskell-fast-logger: update to version 2.1.2

---
 pkgs/development/libraries/haskell/fast-logger/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix
index 657307cded18..0e9a2dae8b48 100644
--- a/pkgs/development/libraries/haskell/fast-logger/default.nix
+++ b/pkgs/development/libraries/haskell/fast-logger/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fast-logger";
-  version = "2.1.1";
-  sha256 = "1ifpar9g12cv458j0mwqh2dwa7y2h5rna4628lz8majx2477r3c1";
+  version = "2.1.2";
+  sha256 = "0kz31jfhc40wlw3b49zcsn97y6vc9qqnaci743mgjskv4zbqaf34";
   buildDepends = [ blazeBuilder filepath text ];
   testDepends = [ hspec ];
   meta = {

From 154eda228cd979ce044836b437febc2588216977 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 10:40:55 +0100
Subject: [PATCH 175/228] haskell-text: update to 1.1.0.0

---
 .../libraries/haskell/text/{1.0.0.1.nix => 1.1.0.0.nix}     | 4 ++--
 pkgs/top-level/haskell-packages.nix                         | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
 rename pkgs/development/libraries/haskell/text/{1.0.0.1.nix => 1.1.0.0.nix} (87%)

diff --git a/pkgs/development/libraries/haskell/text/1.0.0.1.nix b/pkgs/development/libraries/haskell/text/1.1.0.0.nix
similarity index 87%
rename from pkgs/development/libraries/haskell/text/1.0.0.1.nix
rename to pkgs/development/libraries/haskell/text/1.1.0.0.nix
index 31fb2eff8580..87a89c43be4e 100644
--- a/pkgs/development/libraries/haskell/text/1.0.0.1.nix
+++ b/pkgs/development/libraries/haskell/text/1.1.0.0.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "text";
-  version = "1.0.0.1";
-  sha256 = "1bcwsib0iw88lkg2dyxf030wsm48q311qm4pjqhgjqr5wjvlqdj3";
+  version = "1.1.0.0";
+  sha256 = "14mssz27f5ivhwcl9gvbw0s1mjh7hw9gviwxnimqiqzh4jlavwc0";
   buildDepends = [ deepseq ];
   testDepends = [
     deepseq HUnit QuickCheck random testFramework testFrameworkHunit
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 02d55a1b6d54..53238d4c4690 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -167,7 +167,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     split        = self.split_0_2_2;
     stm          = self.stm_2_4_2;
     syb          = self.syb_0_4_1;
-    text         = self.text_1_0_0_1;
+    text         = self.text_1_1_0_0;
     transformers = self.transformers_0_3_0_0;   # this has become a core package in GHC 7.7
     unorderedContainers = self.unorderedContainers_0_2_3_3;
     vector       = self.vector_0_10_9_1;
@@ -2217,8 +2217,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {};
   text_0_11_2_3 = callPackage ../development/libraries/haskell/text/0.11.2.3.nix {};
   text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {};
-  text_1_0_0_1 = callPackage ../development/libraries/haskell/text/1.0.0.1.nix {};
-  text = self.text_1_0_0_1;
+  text_1_1_0_0 = callPackage ../development/libraries/haskell/text/1.1.0.0.nix {};
+  text = self.text_1_1_0_0;
 
   textFormat = callPackage ../development/libraries/haskell/text-format {};
 

From cb3c13b436dc646bafc90f8cfd59ee0cc5648bb1 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 10:41:04 +0100
Subject: [PATCH 176/228] haskell-packages.nix: strip trailing whitespace

---
 pkgs/top-level/haskell-packages.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 53238d4c4690..df360d3f90d1 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -2611,7 +2611,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   };
 
   yi = callPackage ../applications/editors/yi/yi.nix {};
-  
+
   yiContrib = callPackage ../applications/editors/yi/yi-contrib.nix {};
 
   xmobar = callPackage ../applications/misc/xmobar {};

From ed3ca23cb1e0badeed2bf099f0d2413d24f438f2 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 10:57:30 +0100
Subject: [PATCH 177/228] happy-1.19.2: remove import of "Data.Monoid (<>)"
 from Setup.lhs to fix build with GHC 7.2.2

This patch works around <https://github.com/simonmar/happy/issues/16>.
---
 pkgs/development/tools/parsing/happy/1.19.2.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/development/tools/parsing/happy/1.19.2.nix b/pkgs/development/tools/parsing/happy/1.19.2.nix
index eaf027b591dc..4173d6d6c111 100644
--- a/pkgs/development/tools/parsing/happy/1.19.2.nix
+++ b/pkgs/development/tools/parsing/happy/1.19.2.nix
@@ -8,6 +8,7 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ mtl ];
   buildTools = [ perl ];
+  patchPhase = "sed -i -e '/^import Data.Monoid/d' Setup.lhs";
   meta = {
     homepage = "http://www.haskell.org/happy/";
     description = "Happy is a parser generator for Haskell";

From 772ff042508e58ed2fd903b49379d6f6973da481 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 11:19:48 +0100
Subject: [PATCH 178/228] parsec-3.1.4: jailbreak to fix build with recent
 versions of 'text'

---
 pkgs/development/libraries/haskell/parsec/3.1.4.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/development/libraries/haskell/parsec/3.1.4.nix b/pkgs/development/libraries/haskell/parsec/3.1.4.nix
index 82032dda61c8..b4d318baa34e 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.4.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.4.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "3.1.4";
   sha256 = "0milmi4q5jdcmmwjqa4lcs1vcw5frkrlrxc8q17lkas3p2m10kh5";
   buildDepends = [ mtl text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";

From 2f51f6908edf85e624134db3bcda029f815b6c7f Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Thu, 9 Jan 2014 11:29:13 +0100
Subject: [PATCH 179/228] yi: re-generate expression with cabal2nix

---
 pkgs/applications/editors/yi/yi.nix | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
index 01ddd5a9d8e5..4dfc60bef769 100644
--- a/pkgs/applications/editors/yi/yi.nix
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -1,11 +1,10 @@
 { cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
 , dataAccessor, dataAccessorMtl, dataAccessorTemplate, derive, Diff
-, dlist, dyre, filepath, fingertree, ghcPaths, hashable, hint
-, HUnit, mtl, parsec, pointedlist, pureMD5, QuickCheck, random
-, regexBase, regexTdfa, split, testFramework, testFrameworkHunit
-, time, uniplate, unixCompat, unorderedContainers, utf8String, vty
-, pango, gtk, gio, glib, cairo
-, xdgBasedir
+, dlist, dyre, filepath, fingertree, ghcPaths, glib, gtk, hashable
+, hint, HUnit, mtl, pango, parsec, pointedlist, pureMD5, QuickCheck
+, random, regexBase, regexTdfa, split, testFramework
+, testFrameworkHunit, time, uniplate, unixCompat
+, unorderedContainers, utf8String, vty, xdgBasedir
 }:
 
 cabal.mkDerivation (self: {
@@ -17,22 +16,22 @@ cabal.mkDerivation (self: {
   buildDepends = [
     binary Cabal cautiousFile concreteTyperep dataAccessor
     dataAccessorMtl dataAccessorTemplate derive Diff dlist dyre
-    filepath fingertree ghcPaths hashable hint mtl parsec pointedlist
-    pureMD5 QuickCheck random regexBase regexTdfa split time uniplate
-    unixCompat unorderedContainers utf8String vty xdgBasedir pango gtk
-    gio glib cairo
+    filepath fingertree ghcPaths glib gtk hashable hint mtl pango
+    parsec pointedlist pureMD5 QuickCheck random regexBase regexTdfa
+    split time uniplate unixCompat unorderedContainers utf8String vty
+    xdgBasedir
   ];
   testDepends = [
     filepath HUnit QuickCheck testFramework testFrameworkHunit
   ];
   buildTools = [ alex ];
+  configureFlags = "-fpango";
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://haskell.org/haskellwiki/Yi";
     description = "The Haskell-Scriptable Editor";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
   };
-  configureFlags="-fpango";
-  jailbreak=true;
-  doCheck=false; # Tests fail in version on hackage because files are missing
 })

From 4dfcdb0f3cd826f10051cde001e4228f936e4b6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sat, 11 Jan 2014 12:18:13 +0100
Subject: [PATCH 180/228] evince: downgrade to stable gnome, add icons, fix
 runtime error

---
 pkgs/desktops/gnome-3/core/evince/default.nix | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index dde3d807093f..42b3eaa9c0a4 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,23 +1,21 @@
 { fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
-, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
-, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
-, poppler, ghostscriptX, djvulibre, libspectre, libsecret
-, makeWrapper #, python /*just for tests*/
-, recentListSize ? null # 5 is not enough, allow passing a different number
+, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
+, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
+, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
 }:
 
 stdenv.mkDerivation rec {
-  name = "evince-3.11.1";
+  name = "evince-3.10.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evince/3.11/${name}.tar.xz";
-    sha256 = "0qflxvvvqn1khyk93isjhp6v719pvmn3vpfxnrsh63f1a6h0j5r8";
+    url = "mirror://gnome/sources/evince/3.10/${name}.tar.xz";
+    sha256 = "1bz9ypsvlfw1vgs7i5glba1h1n6c90f0d1g64linhg6xjcxcq3dk";
   };
 
   buildInputs = [
     pkgconfig intltool perl perlXMLParser libxml2
     glib gtk3 pango atk gdk_pixbuf
-    itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
+    itstool gnome3.gnome_icon_theme gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
     poppler ghostscriptX djvulibre libspectre
     makeWrapper libsecret
   ];
@@ -45,7 +43,8 @@ stdenv.mkDerivation rec {
     # Tell Glib/GIO about the MIME info directory, which is used
     # by `g_file_info_get_content_type ()'.
     wrapProgram "$out/bin/evince" \
-      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
+      --set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf/loaders.cache \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:${shared_mime_info}/share:$out/share"
   '';
   doCheck = false; # would need pythonPackages.dogTail, which is missing
 

From 98d36be7d8e104105002a883ce7fbc996fa9c278 Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 12:22:55 +0100
Subject: [PATCH 181/228] Gnome3 core: add libgxps.

---
 .../desktops/gnome-3/core/libgxps/default.nix | 20 +++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix             |  3 +++
 2 files changed, 23 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/libgxps/default.nix

diff --git a/pkgs/desktops/gnome-3/core/libgxps/default.nix b/pkgs/desktops/gnome-3/core/libgxps/default.nix
new file mode 100644
index 000000000000..72d307f4f1a7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libgxps/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
+, openssl, bzip2, acl, attr
+}:
+
+stdenv.mkDerivation rec {
+  name = "libgxps-0.2.2";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
+  };
+
+  buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
+
+  configureFlags = "--without-liblcms2";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 082d5c0e88b1..d11fa30413fd 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -47,6 +47,8 @@ rec {
 
   libgee = callPackage ./core/libgee { };
 
+  libgxps = callPackage ./core/libgxps { };
+
   libpeas = callPackage ./core/libpeas {};
 
   libgweather = callPackage ./core/libgweather { libsoup = pkgs.libsoup_2_44; };
@@ -79,4 +81,5 @@ rec {
   gitg = callPackage ./misc/gitg { };
 
   libgit2-glib = callPackage ./misc/libgit2-glib { automake = pkgs.automake111x; };
+
 }

From 4ade85270736c35c6e909295629a570608e287d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sat, 11 Jan 2014 12:23:32 +0100
Subject: [PATCH 182/228] gnome3.eog: downgrade to stable gnome major version

---
 pkgs/desktops/gnome-3/core/eog/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
index 4e148f46bd8e..d117964b1961 100644
--- a/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -3,11 +3,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "eog-3.11.2";
+  name = "eog-3.10.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/eog/3.11/${name}.tar.xz";
-    sha256 = "0arad1jzp7hwwxq1s1913j07z8flvdkvvwcbvsrjls3gp5s6lgsw";
+    url = "mirror://gnome/sources/eog/3.10/${name}.tar.xz";
+    sha256 = "0qs7wmn987vd0cw8w16gmb0bnda3nkcwfg1q343l4rm6kih9ik2w";
   };
 
   buildInputs = with gnome3;

From 0657498c6f96a285ab36cbe32749375472ac2b4a Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 12:35:48 +0100
Subject: [PATCH 183/228] Gnome3: add libqmi-1.0

---
 pkgs/desktops/gnome-3/core/libqmi/default.nix | 16 ++++++++++++++++
 pkgs/desktops/gnome-3/default.nix             |  2 ++
 2 files changed, 18 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/libqmi/default.nix

diff --git a/pkgs/desktops/gnome-3/core/libqmi/default.nix b/pkgs/desktops/gnome-3/core/libqmi/default.nix
new file mode 100644
index 000000000000..beb63f80b80e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libqmi/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, glib, python }:
+
+stdenv.mkDerivation rec {
+  name = "libqmi-1.0";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "0w4cd7nihp73frh3sfi13fx0rkwmd581xpil54bsjc7pw7z01bd1";
+  };
+
+  buildInputs = [ pkgconfig glib python ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index d11fa30413fd..10e85dc89987 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -51,6 +51,8 @@ rec {
 
   libpeas = callPackage ./core/libpeas {};
 
+  libqmi = callPackage ./core/libqmi {};
+
   libgweather = callPackage ./core/libgweather { libsoup = pkgs.libsoup_2_44; };
 
   nautilus = callPackage ./core/nautilus { };

From 3a8aa938218d7aac650b4bcca69b958f58e4407a Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 13:21:01 +0100
Subject: [PATCH 184/228] Gnome3: add rest-0.7.90

---
 pkgs/desktops/gnome-3/core/rest/default.nix | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/rest/default.nix

diff --git a/pkgs/desktops/gnome-3/core/rest/default.nix b/pkgs/desktops/gnome-3/core/rest/default.nix
new file mode 100644
index 000000000000..6c12353d0367
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/rest/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, libsoup }:
+
+stdenv.mkDerivation rec {
+  name = "rest-0.7.90";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "08n0cvz44l4b1gkmjryap3ysd0wcbbbdjbcar73nr52dmk52ls0x";
+  };
+
+  buildInputs = [ pkgconfig glib libsoup ];
+
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}

From 59626be3de03132d04fd4ed0a8e3bb105a10cd33 Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 14:14:39 +0100
Subject: [PATCH 185/228] Gnome3: add gnome-online-accounts.

---
 .../core/gnome-online-accounts/default.nix    | 20 +++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix             |  8 ++++++--
 2 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix

diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
new file mode 100644
index 000000000000..3040d817a16f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib
+, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnome-online-accounts-3.10.2";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "15qvw40dmi886491s3abpidsm2lx65fhglhj99bvcdskhk0ih90b";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
+
+  buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 10e85dc89987..df1ddf45bfc0 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -10,7 +10,7 @@ rec {
 #### Overrides of libraries
 
   librsvg = pkgs.librsvg.override { inherit gtk2; }; # gtk2 mysteriously needed in librsvg for goffice (commented in Gentoo)
-
+  libsoup = pkgs.libsoup_2_44;
 
 #### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
 
@@ -33,6 +33,8 @@ rec {
   gnome_keyring = callPackage ./core/gnome-keyring { };
   libgnome_keyring = callPackage ./core/libgnome-keyring { };
 
+  gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
+
   gnome_terminal = callPackage ./core/gnome-terminal { };
 
   gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
@@ -53,10 +55,12 @@ rec {
 
   libqmi = callPackage ./core/libqmi {};
 
-  libgweather = callPackage ./core/libgweather { libsoup = pkgs.libsoup_2_44; };
+  libgweather = callPackage ./core/libgweather { };
 
   nautilus = callPackage ./core/nautilus { };
 
+  rest = callPackage ./core/rest { };
+
   vte = callPackage ./core/vte { };
 
   zenity = callPackage ./core/zenity { };

From 1bf54ce52c8c8c49cdcd31e1905bd21ab29b2bb3 Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 14:19:41 +0100
Subject: [PATCH 186/228] Gnome3: added libzapojit

---
 .../desktops/gnome-3/core/libzapojit/default.nix | 16 ++++++++++++++++
 pkgs/desktops/gnome-3/default.nix                |  2 ++
 2 files changed, 18 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/libzapojit/default.nix

diff --git a/pkgs/desktops/gnome-3/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
new file mode 100644
index 000000000000..e0e4c02c084c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }:
+
+stdenv.mkDerivation rec {
+  name = "libzapojit-0.0.3";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
+  };
+
+  buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index df1ddf45bfc0..1100be9ce259 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -57,6 +57,8 @@ rec {
 
   libgweather = callPackage ./core/libgweather { };
 
+  libzapojit = callPackage ./core/libzapojit { };
+
   nautilus = callPackage ./core/nautilus { };
 
   rest = callPackage ./core/rest { };

From 4b5313b8b66470c7629cb1c690ff3178655f7646 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:07:25 +0100
Subject: [PATCH 187/228] haskell-parsec: update to version 3.1.5

---
 .../libraries/haskell/parsec/{3.1.4.nix => 3.1.5.nix}       | 4 ++--
 pkgs/top-level/haskell-packages.nix                         | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
 rename pkgs/development/libraries/haskell/parsec/{3.1.4.nix => 3.1.5.nix} (82%)

diff --git a/pkgs/development/libraries/haskell/parsec/3.1.4.nix b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
similarity index 82%
rename from pkgs/development/libraries/haskell/parsec/3.1.4.nix
rename to pkgs/development/libraries/haskell/parsec/3.1.5.nix
index b4d318baa34e..9d1174db056f 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.4.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "parsec";
-  version = "3.1.4";
-  sha256 = "0milmi4q5jdcmmwjqa4lcs1vcw5frkrlrxc8q17lkas3p2m10kh5";
+  version = "3.1.5";
+  sha256 = "1f1wg4qxp1ss2160sa3vbqff18fabwhqjkyfj4sgyfmwf9fj8wn5";
   buildDepends = [ mtl text ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index df360d3f90d1..c3ab21a09021 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -158,7 +158,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     OpenGL       = self.OpenGL_2_9_1_0;
     OpenGLRaw    = self.OpenGLRaw_1_4_0_0;
     parallel     = self.parallel_3_2_0_4;
-    parsec       = self.parsec_3_1_4;
+    parsec       = self.parsec_3_1_5;
     QuickCheck   = self.QuickCheck_2_6;
     random       = self.random_1_0_1_1;
     regexBase    = self.regexBase_0_93_2;
@@ -1740,9 +1740,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parsec_3_1_1   = callPackage ../development/libraries/haskell/parsec/3.1.1.nix {};
   parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
   parsec_3_1_3   = callPackage ../development/libraries/haskell/parsec/3.1.3.nix {};
-  parsec_3_1_4   = callPackage ../development/libraries/haskell/parsec/3.1.4.nix {};
+  parsec_3_1_5   = callPackage ../development/libraries/haskell/parsec/3.1.5.nix {};
   parsec2 = self.parsec_2_1_0_1;
-  parsec3 = self.parsec_3_1_4;
+  parsec3 = self.parsec_3_1_5;
   parsec  = self.parsec3;
 
   parsers_0_9 = callPackage ../development/libraries/haskell/parsers/0.9.nix {};

From 579a05cc836b5872e681382993fe03873d1da25b Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:08:19 +0100
Subject: [PATCH 188/228] haskell-attoparsec: add version 0.11.1.0

---
 .../libraries/haskell/attoparsec/0.11.1.0.nix | 20 +++++++++++++++++++
 pkgs/top-level/haskell-packages.nix           |  3 ++-
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix

diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix
new file mode 100644
index 000000000000..bd7bdc745b28
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix
@@ -0,0 +1,20 @@
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.11.1.0";
+  sha256 = "09mks6lbzmqmdz6s10lvdklmc0mydd1sk5hphhnybp3yr4pvh7jc";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 text
+  ];
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    description = "Fast combinator parsing for bytestrings and text";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index c3ab21a09021..e3aabdf85c0a 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -142,7 +142,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   haskellPlatformArgs_future = self : {
     inherit (self) cabal ghc;
     async        = self.async_2_0_1_5;
-    attoparsec   = self.attoparsec_0_10_4_0;
+    attoparsec   = self.attoparsec_0_11_1_0;
     caseInsensitive = self.caseInsensitive_1_1_0_2;
     cgi          = self.cgi_3001_1_8_4;
     fgl          = self.fgl_5_4_2_4;
@@ -566,6 +566,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   attempt = callPackage ../development/libraries/haskell/attempt {};
 
   attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {};
+  attoparsec_0_11_1_0 = callPackage ../development/libraries/haskell/attoparsec/0.11.1.0.nix {};
   attoparsec = self.attoparsec_0_10_4_0;
 
   attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {};

From 07c05982aa38d59ed2395b47075b0f66735d1deb Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:08:26 +0100
Subject: [PATCH 189/228] haskell-pandoc-citeproc: update to version 0.3.0.1

---
 .../libraries/haskell/pandoc-citeproc/default.nix           | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
index bbfd6430d4f2..62044cc9f5f6 100644
--- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc-citeproc";
-  version = "0.2";
-  sha256 = "0ghdkzml2rcvjf1wlpsa6ih117x56qlb3ajpbwnpwm3y4wm0jm2d";
+  version = "0.3.0.1";
+  sha256 = "1w8ljf0mc5a3bqv0hymg2daafkrlzdzar23l4yqakjr21n75nvlx";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,7 +16,7 @@ cabal.mkDerivation (self: {
     temporary texmath text time vector yaml
   ];
   testDepends = [
-    aeson aesonPretty filepath pandoc pandocTypes temporary text yaml
+    aeson filepath pandoc pandocTypes temporary text yaml
   ];
   doCheck = false;
   meta = {

From 0894a2e1b58cbf2750c5bf499f2d31bb0537e896 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 13:40:47 +0100
Subject: [PATCH 190/228] haskell-hakyll: jailbreak to fix build with
 pandoc-citeproc

---
 pkgs/development/libraries/haskell/hakyll/default.nix | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 75153a3ddb07..36e56de639c3 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -26,6 +26,9 @@ cabal.mkDerivation (self: {
     testFrameworkHunit testFrameworkQuickcheck2 text time
   ];
   doCheck = false;
+  patchPhase = ''
+    sed -i -e 's|pandoc-citeproc >=.*,|pandoc-citeproc,|' hakyll.cabal
+  '';
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";

From d40a53703820ca0b7384ad16a8937e998f0fd57b Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:08:26 +0100
Subject: [PATCH 191/228] haskell-pandoc: update to version 1.12.3

---
 .../libraries/haskell/pandoc/default.nix      | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index b42fc3633f09..6d30e638fcb5 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -1,20 +1,21 @@
 { cabal, aeson, alex, ansiTerminal, attoparsec, base64Bytestring
-, blazeHtml, blazeMarkup, dataDefault, Diff, extensibleExceptions
-, filepath, happy, highlightingKate, hslua, HTTP, httpConduit
-, httpTypes, HUnit, mtl, network, pandocTypes, parsec, QuickCheck
-, random, syb, tagsoup, temporary, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, texmath, text, time
-, unorderedContainers, vector, xml, yaml, zipArchive, zlib
+, binary, blazeHtml, blazeMarkup, dataDefault, Diff
+, extensibleExceptions, filepath, happy, highlightingKate, hslua
+, HTTP, httpConduit, httpTypes, HUnit, mtl, network, pandocTypes
+, parsec, QuickCheck, random, syb, tagsoup, temporary
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, texmath, text, time, unorderedContainers, vector, xml, yaml
+, zipArchive, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.12.2.1";
-  sha256 = "1xyvhfsz0cy5f7cwpz4kl0l87vylb8860c06wvk49z9fh2xkg6lf";
+  version = "1.12.3";
+  sha256 = "007pcb93s1frcyx3x4shcb6bynysy7g0hvrqlxs4991a7jp360bl";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson alex attoparsec base64Bytestring blazeHtml blazeMarkup
+    aeson alex attoparsec base64Bytestring binary blazeHtml blazeMarkup
     dataDefault extensibleExceptions filepath happy highlightingKate
     hslua HTTP httpConduit httpTypes mtl network pandocTypes parsec
     random syb tagsoup temporary texmath text time unorderedContainers

From 133e07cae53fb6b6c487d1010515ac864bfd8067 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:08:26 +0100
Subject: [PATCH 192/228] haskell-pipes-attoparsec: update to version 0.3.1

---
 .../libraries/haskell/pipes-attoparsec/default.nix            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
index 50f169928db5..484f21045672 100644
--- a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-attoparsec";
-  version = "0.3.0";
-  sha256 = "1jsgssfs0ndn8aayc0rxyb4vlp2fny8npmnvym7v1yhp2qv84c7b";
+  version = "0.3.1";
+  sha256 = "1bvz5fxy2mfz3swiv9jfmhxl1psmm3c7nfi58pggam52lz20va2h";
   buildDepends = [ attoparsec pipes pipesParse text transformers ];
   testDepends = [
     attoparsec HUnit mmorph pipes pipesParse QuickCheck testFramework

From 15342117fb984524c8123ed98e8e4b8ab895a5a7 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:08:26 +0100
Subject: [PATCH 193/228] haskell-shelly: update to version 1.4.0.1

---
 pkgs/development/libraries/haskell/shelly/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 6f73537e8b67..aed1b98986bc 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "1.3.2";
-  sha256 = "1n6kj9sw6d1nwg7lz1pgmjn8pjxxr76m5sxybv4hacakid3glddh";
+  version = "1.4.0.1";
+  sha256 = "0hra0dk1zma15jd1cag04lcvw6cmddhghi4gpajrrvyij0pi6ij7";
   buildDepends = [
     mtl systemFileio systemFilepath text time unixCompat
   ];

From c7922559036a6e2029fe5098f150aaf4f1a0da27 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:08:26 +0100
Subject: [PATCH 194/228] haskell-symbol: update to version 0.2.1

---
 pkgs/development/libraries/haskell/symbol/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix
index 7b1c2d3821ce..e5564b758ad0 100644
--- a/pkgs/development/libraries/haskell/symbol/default.nix
+++ b/pkgs/development/libraries/haskell/symbol/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "symbol";
-  version = "0.2.0";
-  sha256 = "13vr6j3wkxbdbd27xklnidfkpkjwl0kldf69z470bm5indvaaxfd";
+  version = "0.2.1";
+  sha256 = "1g9rpz40v6wnmp671wvbbinzvvxkibdnny4i6ai28pn3sxa6fgkj";
   buildDepends = [ deepseq syb ];
   jailbreak = true;
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "A 'Symbol' type for fast symbol comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;

From 06ad5b4c62a787e40360e5d62a120c2c51380b81 Mon Sep 17 00:00:00 2001
From: Arseniy Seroka <ars.seroka@gmail.com>
Date: Tue, 17 Dec 2013 21:33:26 +0400
Subject: [PATCH 195/228] Add haskell alsa-mixer lib

---
 .../libraries/haskell/alsa-mixer/default.nix      | 15 +++++++++++++++
 pkgs/top-level/haskell-packages.nix               |  2 ++
 2 files changed, 17 insertions(+)
 create mode 100644 pkgs/development/libraries/haskell/alsa-mixer/default.nix

diff --git a/pkgs/development/libraries/haskell/alsa-mixer/default.nix b/pkgs/development/libraries/haskell/alsa-mixer/default.nix
new file mode 100644
index 000000000000..4f9bd6f65d65
--- /dev/null
+++ b/pkgs/development/libraries/haskell/alsa-mixer/default.nix
@@ -0,0 +1,15 @@
+{ cabal, alsaLib, alsaCore, extensibleExceptions, c2hs }:
+
+cabal.mkDerivation (self: {
+  pname = "alsa-mixer";
+  version = "0.1.2";
+  sha256 = "081f3a62f83a269d72e0b0fac8bae8c81e9ec342d592fa25abe57f7206cf4414";
+  buildDepends = [ extensibleExceptions alsaCore c2hs ];
+  pkgconfigDepends = [ alsaLib ];
+  meta = {
+    homepage = "http://hackage.haskell.org/package/alsa-mixer";
+    description = "This package provides bindings to the ALSA simple mixer API.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.stdenv.lib.platforms.linux;
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index e3aabdf85c0a..f420ced7dc6f 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -530,6 +530,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   alsaCore = callPackage ../development/libraries/haskell/alsa-core {};
 
+  alsaMixer = callPackage ../development/libraries/haskell/alsa-mixer {};
+
   alsaPcm = callPackage ../development/libraries/haskell/alsa-pcm {};
 
   amqp = callPackage ../development/libraries/haskell/amqp {};

From 8b95f0ed78bdef17966ee7387c63200aacbd529a Mon Sep 17 00:00:00 2001
From: Arseniy Seroka <ars.seroka@gmail.com>
Date: Tue, 17 Dec 2013 21:38:12 +0400
Subject: [PATCH 196/228] xmobar alsa support

---
 pkgs/applications/misc/xmobar/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 7d4d2715d04a..8ea034227d28 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,5 +1,5 @@
 { cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
-, utf8String, wirelesstools, X11, X11Xft
+, utf8String, wirelesstools, X11, X11Xft, alsaCore, alsaMixer
 }:
 
 cabal.mkDerivation (self: {
@@ -11,8 +11,8 @@ cabal.mkDerivation (self: {
   buildDepends = [
     filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
   ];
-  extraLibraries = [ libXrandr wirelesstools ];
-  configureFlags = "-fwith_xft -fwith_iwlib";
+  extraLibraries = [ libXrandr wirelesstools alsaCore alsaMixer ];
+  configureFlags = "-fwith_xft -fwith_iwlib -fwith_alsa";
   meta = {
     homepage = "http://projects.haskell.org/xmobar/";
     description = "A Minimalistic Text Based Status Bar";

From 678d7aada0cd4c55360373347fc23930f3d2f06d Mon Sep 17 00:00:00 2001
From: Arseniy Seroka <ars.seroka@gmail.com>
Date: Sun, 29 Dec 2013 02:12:13 +0400
Subject: [PATCH 197/228] moc: fix mp3 playback and remove useless lib

---
 pkgs/applications/audio/moc/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index de29f2d53e74..74ae3dcf22bb 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg, libvorbis, mpc, libsndfile, jackaudio, db4, libav, libmodplug, timidity, libid3tag, libtool }:
+{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db4, libmodplug, timidity, libid3tag, libtool }:
 
 stdenv.mkDerivation rec {
   name = "moc-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   configurePhase = "./configure prefix=$out";
 
-  buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis mpc libsndfile jackaudio db4 libav libmodplug timidity libid3tag libtool ];
+  buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db4 libmodplug timidity libid3tag libtool ];
 
   meta = {
     description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.";

From 5787fc071a9b9f2cd2143d9730802f80f0bc7e7d Mon Sep 17 00:00:00 2001
From: Arseniy Seroka <ars.seroka@gmail.com>
Date: Thu, 2 Jan 2014 14:57:08 +0400
Subject: [PATCH 198/228] add lastfmsubmitd

---
 .../audio/lastfmsubmitd/default.nix           | 21 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 23 insertions(+)
 create mode 100644 pkgs/applications/audio/lastfmsubmitd/default.nix

diff --git a/pkgs/applications/audio/lastfmsubmitd/default.nix b/pkgs/applications/audio/lastfmsubmitd/default.nix
new file mode 100644
index 000000000000..314361329c75
--- /dev/null
+++ b/pkgs/applications/audio/lastfmsubmitd/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "lastfmsubmitd-${version}";
+  namePrefix = ""; 
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "http://www.red-bean.com/decklin/lastfmsubmitd/lastfmsubmitd-${version}.tar.gz";
+    sha256 = "c2636d5095a95167366bacd458624d67b046e060244fa54ba2c2e3efb79f9b0e";
+  };
+
+  doCheck = false;
+
+  installCommand = "python setup.py install --prefix=$out";
+
+  meta = {
+    homepage = "http://www.red-bean.com/decklin/lastfmsubmitd/";
+    description = "An last.fm audio scrobbler and daemon";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 655c30cf73f0..7dcdac95fe2f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8337,6 +8337,8 @@ let
 
   lastwatch = callPackage ../applications/audio/lastwatch { };
 
+  lastfmsubmitd = callPackage ../applications/audio/lastfmsubmitd { };
+
   lbdb = callPackage ../tools/misc/lbdb { };
 
   lci = callPackage ../applications/science/logic/lci {};

From 0a902761de7f3e2fc63f4ecf30d6f91e4e88a333 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:24:14 +0100
Subject: [PATCH 199/228] haskell-alsa-mixer: re-generate with cabal2nix

---
 .../libraries/haskell/alsa-mixer/default.nix           | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/libraries/haskell/alsa-mixer/default.nix b/pkgs/development/libraries/haskell/alsa-mixer/default.nix
index 4f9bd6f65d65..67ab0275e788 100644
--- a/pkgs/development/libraries/haskell/alsa-mixer/default.nix
+++ b/pkgs/development/libraries/haskell/alsa-mixer/default.nix
@@ -1,14 +1,14 @@
-{ cabal, alsaLib, alsaCore, extensibleExceptions, c2hs }:
+{ cabal, alsaCore, alsaLib, c2hs }:
 
 cabal.mkDerivation (self: {
   pname = "alsa-mixer";
   version = "0.1.2";
   sha256 = "081f3a62f83a269d72e0b0fac8bae8c81e9ec342d592fa25abe57f7206cf4414";
-  buildDepends = [ extensibleExceptions alsaCore c2hs ];
-  pkgconfigDepends = [ alsaLib ];
+  buildDepends = [ alsaCore ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ alsaLib ];
   meta = {
-    homepage = "http://hackage.haskell.org/package/alsa-mixer";
-    description = "This package provides bindings to the ALSA simple mixer API.";
+    description = "Bindings to the ALSA simple mixer API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.stdenv.lib.platforms.linux;
   };

From 066abcc047e8fc67bf9c7a714594ebe6258f8140 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 12:24:25 +0100
Subject: [PATCH 200/228] xmobar: re-generate with cabal2nix

---
 pkgs/applications/misc/xmobar/default.nix | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 8ea034227d28..7eacaf15b625 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,5 +1,5 @@
-{ cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
-, utf8String, wirelesstools, X11, X11Xft, alsaCore, alsaMixer
+{ cabal, alsaCore, alsaMixer, filepath, libXrandr, mtl, parsec
+, regexCompat, stm, time, utf8String, wirelesstools, X11, X11Xft
 }:
 
 cabal.mkDerivation (self: {
@@ -9,9 +9,10 @@ cabal.mkDerivation (self: {
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
+    alsaCore alsaMixer filepath mtl parsec regexCompat stm time
+    utf8String X11 X11Xft
   ];
-  extraLibraries = [ libXrandr wirelesstools alsaCore alsaMixer ];
+  extraLibraries = [ libXrandr wirelesstools ];
   configureFlags = "-fwith_xft -fwith_iwlib -fwith_alsa";
   meta = {
     homepage = "http://projects.haskell.org/xmobar/";

From 2f8fc8bb246674f0b3c8e9917dd8cc71af02a9eb Mon Sep 17 00:00:00 2001
From: zimbatm <zimbatm@zimbatm.com>
Date: Sat, 11 Jan 2014 14:24:04 +0000
Subject: [PATCH 201/228] direnv 2.2.0

---
 pkgs/tools/misc/direnv/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 2850c35b720e..8876cfa983a8 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, go }:
 
 let
-  version = "2.1.0";
+  version = "2.2.0";
 in
 stdenv.mkDerivation {
   name = "direnv-${version}";
   src = fetchurl {
     url = "http://github.com/zimbatm/direnv/archive/v${version}.tar.gz";
     name = "direnv-${version}.tar.gz";
-    sha256 = "4dad14e53aa5a20fd11cdbb907c19a05f16464172af302981adb410bd691cefe";
+    sha256 = "e718ec2eec4e3a6ff78938445fc9702d7835ccfc8fa90f4293e387ac1305bf98";
   };
 
   buildInputs = [ go ];

From 215931f5d08d9f70f085ae1588eceaa87324c4f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sat, 11 Jan 2014 15:40:16 +0100
Subject: [PATCH 202/228] gnome3.gnome_desktop: 3.11 -> 3.10 (use gnome3
 stable)

---
 pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
index c7326b552fd5..584705d658ef 100644
--- a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
@@ -4,8 +4,8 @@
 
 stdenv.mkDerivation rec {
 
-  majorVersion = "3.11";
-  minorVersion = "2";
+  majorVersion = "3.10";
+  minorVersion = "1";
   name = "gnome-desktop-${majorVersion}.${minorVersion}";
 
   # this should probably be setuphook for glib
@@ -15,10 +15,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
-    sha256 = "0vsxgp77s0pmcq177lz310ync4c1n7cwb63163zm5g5xw69qc5d7";
+    sha256 = "0hdvm909lbpnixqv11qdx9iaycx4dpxys46fa128bqp8alisgb0h";
   };
 
-  configureFlags = "--disable-scrollkeeper";
   buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
                   gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
 

From ef94c2171c5c0aa9b30ac92cfb3ae8909c3ec310 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sat, 11 Jan 2014 17:28:57 +0100
Subject: [PATCH 203/228] Add gnome3.gnome_session

---
 .../gnome-3/core/gnome-session/default.nix    | 29 +++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix             |  2 ++
 2 files changed, 31 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/gnome-session/default.nix

diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
new file mode 100644
index 000000000000..404269861829
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower
+, libxslt, intltool, makeWrapper }:
+
+
+stdenv.mkDerivation rec {
+  name = "gnome-session-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-session/3.10/${name}.tar.xz";
+    sha256 = "1k59yss7r748nvr0cdjrqmx0zy26b93rfn66lsdg9fz60x77087n";
+  };
+
+  buildInputs = with gnome3;
+    [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt 
+      gsettings_desktop_schemas upower intltool gconf makeWrapper ];
+
+  # TODO: dbus, gnome-shell, gnome-settings-daemon
+
+  postInstall = ''
+    wrapProgram "$out/bin/gnome-session" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 1100be9ce259..b366b8b9a297 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -35,6 +35,8 @@ rec {
 
   gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
 
+  gnome_session = callPackage ./core/gnome-session { };
+
   gnome_terminal = callPackage ./core/gnome-terminal { };
 
   gnome_themes_standard = callPackage ./core/gnome-themes-standard { };

From b78871efa67df4259e73cf68f0f27ee23504b1a3 Mon Sep 17 00:00:00 2001
From: Vladimir Still <xstill@fi.muni.cz>
Date: Fri, 10 Jan 2014 19:09:52 +0100
Subject: [PATCH 204/228] dmd: Add (D language compiler).

---
 pkgs/development/compilers/dmd/default.nix | 52 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix            |  2 +
 2 files changed, 54 insertions(+)
 create mode 100644 pkgs/development/compilers/dmd/default.nix

diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
new file mode 100644
index 000000000000..96a3d2abfc66
--- /dev/null
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, gcc, unzip, curl }:
+
+stdenv.mkDerivation {
+  name = "dmd-2.064.2";
+
+  src = fetchurl {
+    url = http://downloads.dlang.org/releases/2013/dmd.2.064.2.zip;
+    sha256 = "1i0jdybigffwyb7c43j0c4aayxx3b93zzqrjxyw6zgp06yhi06pm";
+  };
+
+  buildInputs = [ gcc unzip curl ];
+
+  configurePhase = "";
+  patchPhase = ''
+      cp src/VERSION src/dmd/
+      cp license.txt src/phobos/LICENSE_1_0.txt
+  '';
+  buildPhase = ''
+      cd src/dmd
+      make -f posix.mak INSTALL_DIR=$out
+      export DMD=$PWD/dmd
+      cd ../druntime 
+      make -f posix.mak INSTALL_DIR=$out DMD=$DMD
+      cd ../phobos
+      make -f posix.mak INSTALL_DIR=$out DMD=$DMD
+      cd ../..
+  '';
+
+  installPhase = ''
+      cd src/dmd
+      tee dmd.conf.default << EOF
+          [Environment]
+          DFLAGS=-I$out/import -L-L$out/lib
+      EOF
+
+      make -f posix.mak INSTALL_DIR=$out install
+      export DMD=$PWD/dmd
+      cd ../druntime 
+      make -f posix.mak INSTALL_DIR=$out install
+      cd ../phobos
+      make -f posix.mak INSTALL_DIR=$out install
+      cd ../..
+  '';
+
+  meta = {
+    description = "D language compiler";
+    homepage = http://dlang.org/;
+    license = "open source, see included files";
+    maintainers = with stdenv.lib.maintainers; [ vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7dcdac95fe2f..760c3ead5aaa 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -802,6 +802,8 @@ let
 
   disper = callPackage ../tools/misc/disper { };
 
+  dmd = callPackage ../development/compilers/dmd { };
+
   dmg2img = callPackage ../tools/misc/dmg2img { };
 
   docbook2odf = callPackage ../tools/typesetting/docbook2odf {

From 4918c1436bb011be0bd5dc5c80efc3d4a056b485 Mon Sep 17 00:00:00 2001
From: Vladimir Still <xstill@fi.muni.cz>
Date: Fri, 10 Jan 2014 19:10:22 +0100
Subject: [PATCH 205/228] rdmd: Add (D language compiler helper).

---
 pkgs/development/compilers/rdmd/default.nix | 29 +++++++++++++++++++++
 pkgs/top-level/all-packages.nix             |  2 ++
 2 files changed, 31 insertions(+)
 create mode 100644 pkgs/development/compilers/rdmd/default.nix

diff --git a/pkgs/development/compilers/rdmd/default.nix b/pkgs/development/compilers/rdmd/default.nix
new file mode 100644
index 000000000000..9177ad5e25b5
--- /dev/null
+++ b/pkgs/development/compilers/rdmd/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, writeText, lib, dmd }:
+
+stdenv.mkDerivation {
+  name = "rdmd-2.064";
+
+  src = fetchurl {
+    url = https://raw2.github.com/D-Programming-Language/tools/2.064/rdmd.d;
+    sha256 = "0b1g3ng6bkanvg00r6xb4ycpbh9x8b9dw589av665azxbcraqrs1";
+    name = "rdmd-src";
+  };
+
+  buildInputs = [ dmd ];
+
+  builder = writeText "drmd-builder.sh" ''
+      source $stdenv/setup
+      cp $src rdmd.d
+      dmd rdmd.d
+      mkdir -p $out/bin
+      cp rdmd $out/bin/
+  '';
+
+  meta = {
+    description = "rdmd wrapper for D language compiler";
+    homepage = http://dlang.org/rdmd.html;
+    license = lib.licenses.boost;
+    maintainers = with stdenv.lib.maintainers; [ vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 760c3ead5aaa..1f280f94b6d0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1744,6 +1744,8 @@ let
 
   rdiff_backup = callPackage ../tools/backup/rdiff-backup { };
 
+  rdmd = callPackage ../development/compilers/rdmd { };
+
   ripmime = callPackage ../tools/networking/ripmime {};
 
   rmlint = callPackage ../tools/misc/rmlint {};

From 531090d5de104492e34e7f76792c6595f6c92d4a Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Sat, 11 Jan 2014 15:24:54 +0800
Subject: [PATCH 206/228] add projectM 2.1.0

---
 pkgs/applications/audio/projectm/default.nix | 51 ++++++++++++++++++++
 pkgs/top-level/all-packages.nix              |  2 +
 2 files changed, 53 insertions(+)
 create mode 100644 pkgs/applications/audio/projectm/default.nix

diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix
new file mode 100644
index 000000000000..2dd251ddd5bd
--- /dev/null
+++ b/pkgs/applications/audio/projectm/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, pkgconfig, cmake
+, glew, ftgl, ttf_bitstream_vera
+, withQt ? true, qt4
+, withLibvisual ? false, libvisual, SDL
+, withJack ? false, jackaudio
+, withPulseAudio ? true, pulseaudio
+}:
+
+assert withJack       -> withQt;
+assert withPulseAudio -> withQt;
+
+stdenv.mkDerivation {
+  name = "projectm-2.1.0";
+
+  meta = {
+    description = "Music Visualizer";
+    homepage = "http://projectm.sourceforge.net/";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/projectm/2.1.0/projectM-complete-2.1.0-Source.tar.gz";
+    sha256 = "1vh6jk68a0jdb6qwppb6f8cbgmhnv2ba3bcavzfd6sq06gq08cji";
+  };
+
+  patchPhase = ''
+    sed -i 's:''${LIBVISUAL_PLUGINSDIR}:''${CMAKE_INSTALL_PREFIX}/lib/libvisual-0.4:' \
+      src/projectM-libvisual/CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+
+  cmakeFlags = ''
+    -DprojectM_FONT_MENU=${ttf_bitstream_vera}/share/fonts/truetype/VeraMono.ttf
+    -DprojectM_FONT_TITLE=${ttf_bitstream_vera}/share/fonts/truetype/Vera.ttf
+    -DINCLUDE-PROJECTM-TEST=OFF
+    -DINCLUDE-PROJECTM-QT=${if withQt then "ON" else "OFF"}
+    -DINCLUDE-PROJECTM-LIBVISUAL=${if withLibvisual then "ON" else "OFF"}
+    -DINCLUDE-PROJECTM-JACK=${if withJack then "ON" else "OFF"}
+    -DINCLUDE-PROJECTM-PULSEAUDIO=${if withPulseAudio then "ON" else "OFF"}
+  '';
+
+  buildInputs = with stdenv.lib;
+    [ glew ftgl ]
+    ++ optional withQt qt4
+    ++ optionals withLibvisual [ libvisual SDL ]
+    ++ optional withJack jackaudio
+    ++ optional withPulseAudio pulseaudio
+    ;
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1f280f94b6d0..4ff1634c1534 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1670,6 +1670,8 @@ let
 
   prey-bash-client = callPackage ../tools/security/prey { };
 
+  projectm = callPackage ../applications/audio/projectm { };
+
   proxychains = callPackage ../tools/networking/proxychains { };
 
   proxytunnel = callPackage ../tools/misc/proxytunnel { };

From d82530440f0ec408d33a18ff966de3376649d56c Mon Sep 17 00:00:00 2001
From: "Ricardo M. Correia" <rcorreia@wizy.org>
Date: Fri, 10 Jan 2014 18:54:57 +0100
Subject: [PATCH 207/228] virt-manager: Update to 0.9.5 virtinst: Update to
 0.600.4

---
 pkgs/applications/virtualization/virt-manager/default.nix | 4 ++--
 pkgs/applications/virtualization/virtinst/default.nix     | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index de3e5c98d36b..99628eeecb21 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -3,14 +3,14 @@
 
 with stdenv.lib;
 
-let version = "0.9.1"; in
+let version = "0.9.5"; in
 
 stdenv.mkDerivation rec {
   name = "virt-manager-${version}";
 
   src = fetchurl {
     url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz";
-    sha256 = "15e064167ba5ff84ce6fc8790081d61890430f2967f89886a84095a23e40094a";
+    sha256 = "0gc06cdbq6c2a06l939516lvjii7lr0wng90kqgl1i5q5wlgnajx";
   };
 
   pythonPath = with pythonPackages;
diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix
index bb8b7a1d0d99..84600884e7b6 100644
--- a/pkgs/applications/virtualization/virtinst/default.nix
+++ b/pkgs/applications/virtualization/virtinst/default.nix
@@ -2,14 +2,14 @@
 
 with stdenv.lib;
 
-let version = "0.600.1"; in
+let version = "0.600.4"; in
 
 stdenv.mkDerivation rec {
   name = "virtinst-${version}";
 
   src = fetchurl {
     url = "http://virt-manager.org/download/sources/virtinst/virtinst-${version}.tar.gz";
-    sha256 = "db342cf93aae1f23df02001bdb0b0cc2c5bf675dca37b4417f5a79bf5a374716";
+    sha256 = "175laiy49dni8hzi0cn14bbsdsigvgr9h6d9z2bcvbpa29spldvf";
   };
 
   pythonPath = with pythonPackages;

From 32e08f53ce906424bfe35c05bf890fb1ca34e16b Mon Sep 17 00:00:00 2001
From: Arseniy Seroka <ars.seroka@gmail.com>
Date: Sat, 11 Jan 2014 17:38:06 +0400
Subject: [PATCH 208/228] spaceFM: add package

---
 pkgs/applications/misc/spacefm/default.nix | 24 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix            |  2 ++
 2 files changed, 26 insertions(+)
 create mode 100644 pkgs/applications/misc/spacefm/default.nix

diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
new file mode 100644
index 000000000000..fa3423cd8c4c
--- /dev/null
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -0,0 +1,24 @@
+{ pkgs, fetchurl, stdenv, gtk3, udev, desktop_file_utils, shared_mime_info, intltool, pkgconfig }:
+
+let
+  name = "spacefm-${version}";
+  version = "0.9.2";
+
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url="https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true";
+    sha256 ="3767137d74aa78597ffb42a6121784e91a4276efcd5d718b3793b9790f82268c";
+  };
+
+  buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig ];
+
+  meta = {
+    description = "SpaceFM is a multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customizable menu system, and bash integration.";
+    platforms = pkgs.lib.platforms.linux;
+    license = pkgs.lib.licenses.gpl3;
+  };
+
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4ff1634c1534..5926f9845e2c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1872,6 +1872,8 @@ let
     boost = boost149;
   };
 
+  spaceFM = callPackage ../applications/misc/spacefm { };
+
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
   sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { };

From 0223847b6af93846fa0d558cc9564be8bfe02410 Mon Sep 17 00:00:00 2001
From: Sergey Mironov <grrwlf@gmail.com>
Date: Fri, 10 Jan 2014 01:02:31 +0400
Subject: [PATCH 209/228] yad: a nice zenity clone for creating GUI dialogs
 from the shell

---
 pkgs/tools/misc/yad/default.nix | 33 +++++++++++++++++++++++++++++++++
 pkgs/top-level/all-packages.nix |  2 ++
 2 files changed, 35 insertions(+)
 create mode 100644 pkgs/tools/misc/yad/default.nix

diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
new file mode 100644
index 000000000000..ed22f1a43a42
--- /dev/null
+++ b/pkgs/tools/misc/yad/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
+
+stdenv.mkDerivation rec {
+
+  name = "yad-0.25.1";
+
+  src = fetchurl {
+    url = "http://yad.googlecode.com/files/${name}.tar.xz";
+    sha256 = "1pljs9799xa2w3y2vjg93gqkv76z0pjh947djd7179yq3kryb57a";
+  };
+
+  configureFlags = [
+    "--enable-icon-browser"
+  ];
+
+  buildInputs = [ gtk2 ];
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = {
+    homepage = "http://code.google.com/p/yad/";
+    description = "Yad (yet another dialog) is a GUI dialog tool for shell scripts";
+    longDescription = ''
+      Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a
+      fork of Zenity with many improvements, such as custom buttons, additional
+      dialogs, pop-up menu in notification icon and more.
+    '';
+
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ smironov ];
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5926f9845e2c..223f78971b4b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10092,6 +10092,8 @@ let
 
   weka = callPackage ../applications/science/math/weka { };
 
+  yad = callPackage ../tools/misc/yad { };
+
   yacas = callPackage ../applications/science/math/yacas { };
 
   speedcrunch = callPackage ../applications/science/math/speedcrunch {

From 674f21c6683fd6e0febe9b5527a7af7cbd01e3ed Mon Sep 17 00:00:00 2001
From: Sergey Mironov <grrwlf@gmail.com>
Date: Fri, 10 Jan 2014 13:50:10 +0400
Subject: [PATCH 210/228] yad: fix (remove) icon-theme.cache

---
 pkgs/tools/misc/yad/default.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index ed22f1a43a42..fcdf5095d70f 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     homepage = "http://code.google.com/p/yad/";
     description = "Yad (yet another dialog) is a GUI dialog tool for shell scripts";

From 0209d478a8b350758c3c61b2344862f236d23d5a Mon Sep 17 00:00:00 2001
From: Sergey Mironov <grrwlf@gmail.com>
Date: Thu, 9 Jan 2014 15:17:32 +0400
Subject: [PATCH 211/228] gtk-sharp-1: fix include problem

---
 .../libraries/gtk-sharp-1/default.nix         |  5 +++-
 .../libraries/gtk-sharp-1/glib-include.patch  | 24 +++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/development/libraries/gtk-sharp-1/glib-include.patch

diff --git a/pkgs/development/libraries/gtk-sharp-1/default.nix b/pkgs/development/libraries/gtk-sharp-1/default.nix
index aad440bf6725..863ee6c038d6 100644
--- a/pkgs/development/libraries/gtk-sharp-1/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-1/default.nix
@@ -23,7 +23,10 @@ stdenv.mkDerivation {
     md5 = "2651d14fe77174ab20b8af53d150ee11";
   };
 
-  patches = [ ./dllmap-glue.patch ];
+  patches = [
+    ./dllmap-glue.patch
+    ./glib-include.patch
+  ];
 
   buildInputs = [
     pkgconfig mono glib pango gtk GConf libglade libgnomecanvas
diff --git a/pkgs/development/libraries/gtk-sharp-1/glib-include.patch b/pkgs/development/libraries/gtk-sharp-1/glib-include.patch
new file mode 100644
index 000000000000..e8f4b0ef5af3
--- /dev/null
+++ b/pkgs/development/libraries/gtk-sharp-1/glib-include.patch
@@ -0,0 +1,24 @@
+diff -ru gtk-sharp-1.0.6.orig/glib/glue/list.c gtk-sharp-1.0.6/glib/glue/list.c
+--- gtk-sharp-1.0.6.orig/glib/glue/list.c	2014-01-09 10:58:06.727352451 +0000
++++ gtk-sharp-1.0.6/glib/glue/list.c	2014-01-09 11:00:34.256583614 +0000
+@@ -20,7 +20,7 @@
+  */
+ 
+ 
+-#include <glib/glist.h>
++#include <glib.h>
+ 
+ /* Forward declarations */
+ gpointer gtksharp_list_get_data (GList *l);
+diff -ru gtk-sharp-1.0.6.orig/glib/glue/slist.c gtk-sharp-1.0.6/glib/glue/slist.c
+--- gtk-sharp-1.0.6.orig/glib/glue/slist.c	2014-01-09 10:58:06.727352451 +0000
++++ gtk-sharp-1.0.6/glib/glue/slist.c	2014-01-09 11:00:47.572695223 +0000
+@@ -20,7 +20,7 @@
+  */
+ 
+ 
+-#include <glib/gslist.h>
++#include <glib.h>
+ 
+ /* Forward declarations */
+ gpointer gtksharp_slist_get_data (GSList *l);

From 6b7105d456c968880a36879b9456aa97b6218b0c Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Thu, 9 Jan 2014 15:24:11 +0800
Subject: [PATCH 212/228] snd: update to 14.3

---
 pkgs/applications/audio/snd/default.nix | 70 +++++++------------------
 pkgs/applications/audio/snd/doc.patch   | 62 ----------------------
 pkgs/top-level/all-packages.nix         | 12 +----
 3 files changed, 20 insertions(+), 124 deletions(-)
 delete mode 100644 pkgs/applications/audio/snd/doc.patch

diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index a49bfd9cccf4..52cd2ad35ce1 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -1,58 +1,26 @@
-args : 
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-  fullDepEntry = args.fullDepEntry;
+{ stdenv, fetchurl, pkgconfig
+, gtk2, alsaLib
+, fftw, gsl
+}:
 
-  version = lib.attrByPath ["version"] "9.4" args; 
-  buildInputs = with args; [gtk glib pkgconfig 
-     libXpm gmp gettext libX11 fftw]
-      ++ (lib.optional (args ? ruby) args.ruby)
-      ++ (lib.optional (args ? mesa) args.mesa)
-      ++ (lib.optional (args ? guile) args.guile)
-      ++ (lib.optional (args ? libtool) args.libtool)
-      ++ (lib.optional (args ? sndlib) args.sndlib)
-      ++ (lib.optional (args ? alsaLib) args.alsaLib)
-      ++ (lib.optional (args ? jackaudio) args.jackaudio)
-      ;
-  configureFlags = ["--with-gtk" "--with-xpm"]
-    ++ (lib.optional (args ? ruby)   "--with-ruby" )
-    ++ (lib.optional (args ? mesa)   "--with-gl"   )
-    ++ (lib.optional (args ? guile)  "--with-guile")
-    ++ (lib.optional (args ? sndlib) "--with-midi" )
-    ++ (lib.optional (args ? alsaLib)  "--with-alsa")
-    ++ (lib.optional (args ? jackaudio) "--with-jack" )
-    ++ [ "--with-fftw" "--htmldir=$out/share/snd/html" "--with-doc-dir=$out/share/snd/html" ]
-    ;
-in
-rec {
-  src = fetchurl {
-    url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
-    sha256 = "0zqgfnkvkqxby1k74mwba1r4pb520glcsz5jjmpzm9m41nqnghmm";
-  };
+stdenv.mkDerivation rec {
+  name = "snd-14.3";
 
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "preBuild" "makeDocsWork" 
-    "doMakeInstall" "doForceShare"];
-
-  makeDocsWork = fullDepEntry ''
-                # hackish way to make html docs work
-                h="$out/share/snd/html"; mkdir -p "$h"; cp *.html "$h"
-                patch -p1 < ${./doc.patch}
-                sed "s@HTML-DIR@$h@" -i index.scm snd-help.c
-            '' ["defEnsureDir"];
-
-  preBuild = fullDepEntry (''
-		export NIX_LDFLAGS="$NIX_LDFLAGS -L${args.libX11}/lib -lX11"
-            '') ["minInit" "doUnpack" "makeDocsWork"];
-
-  name = "snd-" + version;
   meta = {
     description = "Sound editor";
     homepage = http://ccrma.stanford.edu/software/snd;
-    inherit src;
+    platforms = stdenv.lib.platforms.linux;
   };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/snd/${name}.tar.gz";
+    sha256 = "04shk34pza507kvm40dc6sdz5jz533z4q2h7m9hgqvw1r3f57ms6";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    gtk2 alsaLib
+    fftw gsl
+  ];
 }
diff --git a/pkgs/applications/audio/snd/doc.patch b/pkgs/applications/audio/snd/doc.patch
deleted file mode 100644
index 4c40151e9881..000000000000
--- a/pkgs/applications/audio/snd/doc.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/index.scm b/index.scm
-index 2148a58..713939c 100644
---- a/index.scm
-+++ b/index.scm
-@@ -18,24 +18,7 @@ and if one is found, and the Snd documentation can be found, calls (html-program
- 	    (lambda (n)
- 	      ;; look for doc on current dir, then html dir, then global dir
- 	      ;; snd.html is what we'll search for
--	      (let ((dir (if (file-exists? "snd.html") 
--			     (getcwd)
--			     (if (and (string? (html-dir))
--				      (file-exists? (string-append (html-dir) "/snd.html")))
--				 (html-dir)
--				 (if (file-exists? "/usr/share/doc/snd-9/snd.html")
--				     "/usr/share/doc/snd-9"
--				     (if (file-exists? "/usr/local/share/doc/snd-9/snd.html")
--					 "/usr/local/share/doc/snd-9"
--					 (if (file-exists? "/usr/doc/snd-9/snd.html")
--					     "/usr/doc/snd-9"
--					     (if (file-exists? "/usr/share/doc/snd-8/snd.html")
--						 "/usr/share/doc/snd-8"
--						 (if (file-exists? "/usr/local/share/doc/snd-8/snd.html")
--						     "/usr/local/share/doc/snd-8"
--						     (if (file-exists? "/usr/doc/snd-8/snd.html")
--							 "/usr/doc/snd-8"
--							 #f))))))))))
-+	      (let (dir "HTML-DIR")
- 		(if dir
- 		    (if (or (string=? (html-program) "netscape")
- 			    (string=? (html-program) "mozilla")
-diff --git a/snd-help.c b/snd-help.c
-index a6557e0..a40a02e 100644
---- a/snd-help.c
-+++ b/snd-help.c
-@@ -3554,26 +3554,7 @@ static char *doc_files[DOC_DIRECTORIES] = {
-   
- static char *html_directory(void)
- {
--  int i;
--  if (mus_file_probe("snd.html"))
--    return(mus_getcwd());
--  if (html_dir(ss))
--    {
--      bool happy;
--      char *hd = NULL;
--      hd = (char *)CALLOC(snd_strlen(html_dir(ss)) + 16, sizeof(char));
--      sprintf(hd, html_dir(ss), "/snd.html");
--      happy = mus_file_probe(hd);
--      FREE(hd);
--      if (happy) return(copy_string(html_dir(ss)));
--    }
--#ifdef MUS_DEFAULT_DOC_DIR
--  if (mus_file_probe(MUS_DEFAULT_DOC_DIR "/snd.html"))
--    return(copy_string(MUS_DEFAULT_DOC_DIR "/snd.html"));
--#endif
--  for (i = 0; i < DOC_DIRECTORIES; i++)
--    if (mus_file_probe(doc_files[i])) return(copy_string(doc_directories[i]));
--  return(NULL);
-+  return (copy_string ("HTML-DIR"));
- }
- 
- 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 223f78971b4b..f6b00604239e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8854,17 +8854,7 @@ let
 
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
-  sndBase = lowPrio (builderDefsPackage (import ../applications/audio/snd) {
-    inherit fetchurl stdenv stringsWithDeps lib fftw;
-    inherit pkgconfig gmp gettext;
-    inherit (xlibs) libXpm libX11;
-    inherit gtk glib;
-  });
-
-  snd = sndBase.passthru.function {
-    inherit mesa libtool jackaudio alsaLib;
-    guile = guile_1_8;
-  };
+  snd = callPackage ../applications/audio/snd { };
 
   shntool = callPackage ../applications/audio/shntool { };
 

From a00e382e237e31d4dea8fc158bbea006dffa4edd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= <vcunat@gmail.com>
Date: Sat, 11 Jan 2014 19:56:55 +0100
Subject: [PATCH 213/228] wineStable: maintenance update 1.6.1 -> .2, use lcms2

lcms2 is now supported according to the announcement, so I switched to it.
Tested on a steam game ;-)
---
 pkgs/misc/emulators/wine/stable.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix
index 5bec6a310d19..c0643c78a59a 100644
--- a/pkgs/misc/emulators/wine/stable.nix
+++ b/pkgs/misc/emulators/wine/stable.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xlibs, flex, bison, mesa, mesa_noglu, alsaLib
-, ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge
+, ncurses, libpng, libjpeg, lcms2, freetype, fontconfig, fontforge
 , libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper
 }:
 
@@ -7,12 +7,12 @@ assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
 let
-    version = "1.6.1";
+    version = "1.6.2";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "0k1qb8hhaf5mbb3jk0a37jx93mvlxpk5c4dslxhalp2mic42rg6m";
+      sha256 = "1gmc0ljgfz3qy50mdxcwwjcr2yrpz54jcs2hdszsrk50wpnrxazh";
     };
 
     gecko = fetchurl {
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
     xlibs.xlibs flex bison xlibs.libXi mesa mesa_noglu.osmesa
     xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr
     xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite
-    alsaLib ncurses libpng libjpeg lcms fontforge
+    alsaLib ncurses libpng libjpeg lcms2 fontforge
     libxml2 libxslt openssl gnutls cups makeWrapper
   ];
 

From b5bf69b447d53677d21e138c61fa0fe4f06b5ce6 Mon Sep 17 00:00:00 2001
From: Emil Rangden <emil.rangden@chas.se>
Date: Thu, 12 Dec 2013 15:50:57 +0100
Subject: [PATCH 214/228] gloss-raster: new package

---
 .../libraries/haskell/gloss-raster/default.nix     | 14 ++++++++++++++
 pkgs/top-level/haskell-packages.nix                |  2 ++
 2 files changed, 16 insertions(+)
 create mode 100644 pkgs/development/libraries/haskell/gloss-raster/default.nix

diff --git a/pkgs/development/libraries/haskell/gloss-raster/default.nix b/pkgs/development/libraries/haskell/gloss-raster/default.nix
new file mode 100644
index 000000000000..a055dd5adf24
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-raster/default.nix
@@ -0,0 +1,14 @@
+{ cabal, gloss, repa, llvm }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-raster";
+  version = "1.8.1.1";
+  sha256 = "0qqk2fizmv1zdvi8lljxiqdwlmfzni4qzsdvm2jbvgg5qjx9l9qp";
+  buildDepends = [ gloss repa llvm ];
+  meta = {
+    homepage = "http://gloss.ouroborus.net";
+    description = "Parallel rendering of raster images";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index f420ced7dc6f..ed5056349bc1 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1128,6 +1128,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   gloss = callPackage ../development/libraries/haskell/gloss {};
 
+  gloss-raster = callPackage ../development/libraries/haskell/gloss-raster {};
+
   glossAccelerate = callPackage ../development/libraries/haskell/gloss-accelerate {};
 
   glossRasterAccelerate = callPackage ../development/libraries/haskell/gloss-raster-accelerate {};

From 7ec465a5ccc3e34647b597e83d69b02cba50967c Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Sat, 11 Jan 2014 20:01:55 +0100
Subject: [PATCH 215/228] gloss-raster: fix attribute name

---
 pkgs/top-level/haskell-packages.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index ed5056349bc1..11615bc3e5ed 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1128,10 +1128,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   gloss = callPackage ../development/libraries/haskell/gloss {};
 
-  gloss-raster = callPackage ../development/libraries/haskell/gloss-raster {};
-
   glossAccelerate = callPackage ../development/libraries/haskell/gloss-accelerate {};
 
+  glossRaster = callPackage ../development/libraries/haskell/gloss-raster {};
+
   glossRasterAccelerate = callPackage ../development/libraries/haskell/gloss-raster-accelerate {};
 
   glpkHs = callPackage ../development/libraries/haskell/glpk-hs {};

From 98d2f7ea454fa09adfd16ac54bb90bd72eb9025c Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Wed, 8 Jan 2014 16:06:08 +0800
Subject: [PATCH 216/228] sip: update to 4.15.4 and add python3 support

---
 .../{python-sip => sip}/default.nix           | 19 +++++++++----------
 pkgs/top-level/all-packages.nix               |  2 +-
 pkgs/top-level/python-packages.nix            |  5 +++++
 3 files changed, 15 insertions(+), 11 deletions(-)
 rename pkgs/development/python-modules/{python-sip => sip}/default.nix (59%)

diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/sip/default.nix
similarity index 59%
rename from pkgs/development/python-modules/python-sip/default.nix
rename to pkgs/development/python-modules/sip/default.nix
index 6d79cf53a6b5..72693a0b5d30 100644
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,28 +1,27 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "sip-4.14.6";
-  
+  name = "sip-4.15.4";
+
   src = fetchurl {
-    urls = [
-      "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz"
-      "http://pkgs.fedoraproject.org/repo/pkgs/sip/${name}.tar.gz/d6493b9f0a7911566545f694327314c4/${name}.tar.gz"
-    ];
-    sha256 = "1bwdd5xhrx8dx8rr86r043ddlbg7gd1vh0pm2nxw5l1yprwa7paa";
+    url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
+    sha256 = "0a12lmqkf342yg42ygnjm1fyldcx9pzhy7z68p4ms4ydfcl78jsr";
   };
 
   configurePhase = stdenv.lib.optionalString stdenv.isDarwin ''
     # prevent sip from complaining about python not being built as a framework
     sed -i -e 1564,1565d siputils.py
   '' + ''
-    python ./configure.py -d $out/lib/${python.libPrefix}/site-packages \
+    ${python.executable} ./configure.py \
+      -d $out/lib/${python.libPrefix}/site-packages \
       -b $out/bin -e $out/include
   '';
-  
+
   buildInputs = [ python ];
-  
+
   meta = with stdenv.lib; {
     description = "Creates C++ bindings for Python modules";
+    homepage    = "http://www.riverbankcomputing.co.uk/";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ lovek323 sander urkud ];
     platforms   = platforms.all;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f6b00604239e..8c74a04f9b6d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6189,7 +6189,7 @@ let
 
   rhpl = callPackage ../development/python-modules/rhpl { };
 
-  sip = callPackage ../development/python-modules/python-sip { };
+  sip = callPackage ../development/python-modules/sip { };
 
   pyqt4 = callPackage ../development/python-modules/pyqt {
     stdenv = if stdenv.isDarwin
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index cf8d970dfd0e..a9c678498762 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -121,6 +121,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     inherit python buildPythonPackage pygobject pycairo;
   };
 
+  sip = import ../development/python-modules/sip {
+    inherit (pkgs) stdenv fetchurl;
+    inherit python;
+  };
+
   # packages defined here
 
   aafigure = buildPythonPackage rec {

From 501008ad6f742c40888ef2b9ddf983373cd8d38a Mon Sep 17 00:00:00 2001
From: Song Wenwu <iyzsong@gmail.com>
Date: Wed, 8 Jan 2014 16:39:05 +0800
Subject: [PATCH 217/228] pyqt4: update to 4.10.3 and add python3 support

also add python3 support for dbus-python
---
 .../pyqt/{default.nix => 4.x.nix}             | 21 ++++++++-----------
 pkgs/top-level/all-packages.nix               |  2 +-
 pkgs/top-level/python-packages.nix            | 12 +++++++++++
 3 files changed, 22 insertions(+), 13 deletions(-)
 rename pkgs/development/python-modules/pyqt/{default.nix => 4.x.nix} (73%)

diff --git a/pkgs/development/python-modules/pyqt/default.nix b/pkgs/development/python-modules/pyqt/4.x.nix
similarity index 73%
rename from pkgs/development/python-modules/pyqt/default.nix
rename to pkgs/development/python-modules/pyqt/4.x.nix
index 7d9679349e8e..ab870492da61 100644
--- a/pkgs/development/python-modules/pyqt/default.nix
+++ b/pkgs/development/python-modules/pyqt/4.x.nix
@@ -1,32 +1,29 @@
 { stdenv, fetchurl, python, sip, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "PyQt-x11-gpl-4.10.1";
-  
+  name = "PyQt-x11-gpl-4.10.3";
+
   src = fetchurl {
-    urls = [
-      "http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/${name}.tar.gz"
-      "http://pkgs.fedoraproject.org/lookaside/pkgs/PyQt4/PyQt-x11-gpl-4.10.1.tar.gz/e5973c4ec0b0469f329bc00209d2ad9c/PyQt-x11-gpl-4.10.1.tar.gz"
-    ];
-    sha256 = "05psk23x6bc83hrkw7h88a14jxhvfbxms0c8yrdar8xqvkv8cdb2";
+    url = "mirror://sourceforge/pyqt/PyQt4/PyQt-4.10.3/PyQt-x11-gpl-4.10.3.tar.gz";
+    sha256 = "0c7nifx3w0b9w1k0g9dvav1rv1lvd7awmq0zkqn3n8clyfzbw4x7";
   };
-  
+
   configurePhase = ''
     mkdir -p $out
     lndir ${pythonDBus} $out
 
     export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
-    
+
     substituteInPlace configure.py \
       --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
-  
+
     configureFlagsArray=( \
       --confirm-license --bindir $out/bin \
       --destdir $out/lib/${python.libPrefix}/site-packages \
       --plugin-destdir $out/lib/qt4/plugins --sipdir $out/share/sip \
       --dbus=$out/include/dbus-1.0 --verbose)
 
-    python configure.py $configureFlags "''${configureFlagsArray[@]}"
+    ${python.executable} configure.py $configureFlags "''${configureFlagsArray[@]}"
   '';
 
   buildInputs = [ python pkgconfig makeWrapper qt4 lndir ];
@@ -40,7 +37,7 @@ stdenv.mkDerivation rec {
   ''; # */
 
   enableParallelBuilding = true;
-  
+
   meta = {
     description = "Python bindings for Qt";
     license = "GPL";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8c74a04f9b6d..0501d18ebee4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6191,7 +6191,7 @@ let
 
   sip = callPackage ../development/python-modules/sip { };
 
-  pyqt4 = callPackage ../development/python-modules/pyqt {
+  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     stdenv = if stdenv.isDarwin
       then clangStdenv
       else stdenv;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a9c678498762..60b7e00f019d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -57,6 +57,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   blivet = callPackage ../development/python-modules/blivet { };
 
+  dbus = import ../development/python-modules/dbus {
+    inherit (pkgs) stdenv fetchurl pkgconfig dbus dbus_glib dbus_tools;
+    inherit python;
+  };
+
   ipython = import ../shells/ipython {
     inherit (pkgs) stdenv fetchurl sip pyqt4;
     inherit buildPythonPackage pythonPackages;
@@ -121,6 +126,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     inherit python buildPythonPackage pygobject pycairo;
   };
 
+  pyqt4 = import ../development/python-modules/pyqt/4.x.nix {
+    inherit (pkgs) stdenv fetchurl pkgconfig qt4 makeWrapper;
+    inherit (pkgs.xorg) lndir;
+    inherit python sip;
+    pythonDBus = dbus;
+  };
+
   sip = import ../development/python-modules/sip {
     inherit (pkgs) stdenv fetchurl;
     inherit python;

From 7d4d3536f72ca0bd4854fad76dd072cf21186938 Mon Sep 17 00:00:00 2001
From: Matej Cotman <cotman.matej@gmail.com>
Date: Sat, 4 Jan 2014 01:13:26 +0100
Subject: [PATCH 218/228] connman: new packages ConnMan v1.20 and connman-ui

---
 lib/maintainers.nix                           |  1 +
 nixos/modules/misc/ids.nix                    |  1 +
 nixos/modules/module-list.nix                 |  1 +
 nixos/modules/services/networking/connman.nix | 92 +++++++++++++++++++
 pkgs/tools/networking/connman/default.nix     | 59 ++++++++++++
 pkgs/tools/networking/connmanui/default.nix   | 28 ++++++
 pkgs/top-level/all-packages.nix               |  4 +
 7 files changed, 186 insertions(+)
 create mode 100644 nixos/modules/services/networking/connman.nix
 create mode 100644 pkgs/tools/networking/connman/default.nix
 create mode 100644 pkgs/tools/networking/connmanui/default.nix

diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index f81bebd9f89a..de8e617b322f 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -36,6 +36,7 @@
   lovek323 = "Jason O'Conal <jason@oconal.id.au>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
+  matejc = "Matej Cotman <cotman.matej@gmail.com>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mornfall = "Petr Ročkai <me@mornfall.net>";
   ocharles = "Oliver Charles <ollie@ocharles.org.uk>";
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 6f2666e4ae54..82041b3f954e 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -197,6 +197,7 @@
       minidlna = 91;
       haproxy = 92;
       openldap = 93;
+      connman = 94;
 
       # When adding a gid, make sure it doesn't match an existing uid.
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 684850df2aec..7f8d7172dc4d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -147,6 +147,7 @@
   ./services/networking/avahi-daemon.nix
   ./services/networking/bind.nix
   ./services/networking/bitlbee.nix
+  ./services/networking/connman.nix
   ./services/networking/cntlm.nix
   ./services/networking/chrony.nix
   ./services/networking/ddclient.nix
diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix
new file mode 100644
index 000000000000..6e36e656830a
--- /dev/null
+++ b/nixos/modules/services/networking/connman.nix
@@ -0,0 +1,92 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+with pkgs;
+
+let
+  cfg = config.networking.connman;
+
+in {
+
+  ###### interface
+
+  options = {
+
+    networking.connman = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to use ConnMan for managing your network connections.
+        '';
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    assertions = [{
+      assertion = config.networking.useDHCP == false;
+      message = "You can not use services.networking.connman with services.networking.useDHCP";
+    }{
+      assertion = config.networking.wireless.enable == true;
+      message = "You must use services.networking.connman with services.networking.wireless";
+    }{
+      assertion = config.networking.networkmanager.enable == false;
+      message = "You can not use services.networking.connman with services.networking.networkmanager";
+    }];
+
+    environment.systemPackages = [ connman ];
+
+    systemd.services."connman" = {
+      description = "Connection service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "syslog.target" ];
+      serviceConfig = {
+        Type = "dbus";
+        BusName = "net.connman";
+        Restart = "on-failure";
+        ExecStart = "${pkgs.connman}/sbin/connmand --nodaemon";
+        StandardOutput = "null";
+      };
+    };
+
+    systemd.services."connman-vpn" = {
+      description = "ConnMan VPN service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "syslog.target" ];
+      serviceConfig = {
+        Type = "dbus";
+        BusName = "net.connman.vpn";
+        ExecStart = "${pkgs.connman}/sbin/connman-vpnd -n";
+        StandardOutput = "null";
+      };
+    };
+
+    systemd.services."net-connman-vpn" = {
+      description = "D-BUS Service";
+      serviceConfig = {
+        Name = "net.connman.vpn";
+        ExecStart = "${pkgs.connman}/sbin/connman-vpnd -n";
+        User = "root";
+        SystemdService = "connman-vpn.service";
+      };
+    };
+
+    networking = {
+      useDHCP = false;
+      wireless.enable = true;
+      networkmanager.enable = false;
+    };
+
+    powerManagement.resumeCommands = ''
+      systemctl restart connman
+    '';
+
+  };
+}
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
new file mode 100644
index 000000000000..9a4bab655570
--- /dev/null
+++ b/pkgs/tools/networking/connman/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, openconnect, file,
+  openvpn, vpnc, glib, dbus, iptables, gnutls, policykit, polkit,
+  wpa_supplicant, readline6, pptp, ppp, tree }:
+
+stdenv.mkDerivation {
+  name = "connman-1.20";
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/network/connman/connman.git";
+    rev = "8047f3d051b32d38ac0b1e78296b482368728ec6";
+    sha256 = "0hb03rzrspgry8z43x8x76vlq1hdq2wggkk7wbidavnqhpmz7dxz";
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig openconnect polkit
+                  file openvpn vpnc glib dbus iptables gnutls policykit
+                  wpa_supplicant readline6 pptp ppp tree ];
+
+  preConfigure = ''
+    export WPASUPPLICANT=${wpa_supplicant}/sbin/wpa_supplicant
+    ./bootstrap
+    sed -i "s/\/usr\/bin\/file/file/g" ./configure
+    substituteInPlace configure --replace /usr/sbin/pptp ${pptp}/sbin/pptp
+    substituteInPlace configure --replace /usr/sbin/pppd ${ppp}/sbin/pppd
+  '';
+
+  configureFlags = [
+    "--sysconfdir=\${out}/etc"
+    "--localstatedir=/var"
+    "--with-dbusconfdir=\${out}/etc"
+    "--with-dbusdatadir=\${out}/usr/share"
+    "--disable-maintainer-mode"
+    "--enable-openconnect=builtin"
+    "--with-openconnect=${openconnect}/sbin/openconnect"
+    "--enable-openvpn=builtin"
+    "--with-openvpn=${openvpn}/sbin/openvpn"
+    "--enable-vpnc=builtin"
+    "--with-vpnc=${vpnc}/sbin/vpnc"
+    "--enable-session-policy-local=builtin"
+    "--enable-client"
+    "--enable-bluetooth"
+    "--enable-wifi"
+    "--enable-polkit"
+    "--enable-tools"
+    "--enable-datafiles"
+    "--enable-pptp"
+  ];
+
+  postInstall = ''
+    cp ./client/connmanctl $out/sbin/connmanctl
+  '';
+
+  meta = {
+    description = "The ConnMan project provides a daemon for managing internet connections";
+    homepage = "https://connman.net/";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    # tested only on linux, might work on others also
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/networking/connmanui/default.nix b/pkgs/tools/networking/connmanui/default.nix
new file mode 100644
index 000000000000..52860c391e03
--- /dev/null
+++ b/pkgs/tools/networking/connmanui/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, autoconf, automake, libtool, glib, gtk3, dbus, pkgconfig, file, intltool, connman }:
+
+stdenv.mkDerivation {
+  name = "connmanui-b838e640eddb83d296fb6d146ce756066d37c43b";
+  src = fetchgit {
+    url = "git://github.com/tbursztyka/connman-ui.git";
+    rev = "973879df2c4a556e5f49d808a88a6a5faba78c73";
+    sha256 = "11ps52dn0ws978vv00yrymfvv534v1i9qqx5w93191qjcpjrwj6y";
+  };
+
+  buildInputs = [ autoconf automake libtool glib gtk3 dbus pkgconfig file intltool connman ];
+
+  preConfigure = ''
+    set -e
+    ./autogen.sh
+    sed -i "s/\/usr\/bin\/file/file/g" ./configure
+  '';
+
+  configureScript = "./configure";
+
+  meta = {
+    description = "A full-featured GTK based trayicon UI for ConnMan";
+    homepage = "https://github.com/tbursztyka/connman-ui";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0501d18ebee4..510ffe307f64 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -685,6 +685,10 @@ let
 
   conspy = callPackage ../os-specific/linux/conspy {};
 
+  connman = callPackage ../tools/networking/connman { };
+
+  connmanui = callPackage ../tools/networking/connmanui { };
+
   convertlit = callPackage ../tools/text/convertlit { };
 
   collectd = callPackage ../tools/system/collectd { };

From e1f363350a81158c52ddfe38f54723551cf0c556 Mon Sep 17 00:00:00 2001
From: Rok Garbas <rok@garbas.si>
Date: Sat, 11 Jan 2014 21:17:17 +0100
Subject: [PATCH 219/228] connman-vpn and connman-vpn dbus servise should start
 after connman service

---
 nixos/modules/services/networking/connman.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix
index 6e36e656830a..2b26fe88129b 100644
--- a/nixos/modules/services/networking/connman.nix
+++ b/nixos/modules/services/networking/connman.nix
@@ -60,6 +60,7 @@ in {
       description = "ConnMan VPN service";
       wantedBy = [ "multi-user.target" ];
       after = [ "syslog.target" ];
+      before = [ "connman" ];
       serviceConfig = {
         Type = "dbus";
         BusName = "net.connman.vpn";
@@ -72,6 +73,7 @@ in {
       description = "D-BUS Service";
       serviceConfig = {
         Name = "net.connman.vpn";
+        before = [ "connman" ];
         ExecStart = "${pkgs.connman}/sbin/connman-vpnd -n";
         User = "root";
         SystemdService = "connman-vpn.service";

From dca9e47e00f8fa4e1df4c45e55814b5e6978070d Mon Sep 17 00:00:00 2001
From: Rok Garbas <rok@garbas.si>
Date: Sat, 11 Jan 2014 21:18:10 +0100
Subject: [PATCH 220/228] update: connman-ui to latest

---
 pkgs/tools/networking/connmanui/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/networking/connmanui/default.nix b/pkgs/tools/networking/connmanui/default.nix
index 52860c391e03..62be5bf14e57 100644
--- a/pkgs/tools/networking/connmanui/default.nix
+++ b/pkgs/tools/networking/connmanui/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "connmanui-b838e640eddb83d296fb6d146ce756066d37c43b";
   src = fetchgit {
     url = "git://github.com/tbursztyka/connman-ui.git";
-    rev = "973879df2c4a556e5f49d808a88a6a5faba78c73";
-    sha256 = "11ps52dn0ws978vv00yrymfvv534v1i9qqx5w93191qjcpjrwj6y";
+    rev = "e4a8ddcca0870eb2ece5a7e3ea0296de9c86e5b2";
+    sha256 = "0rml52v81s7hr0g6qbj5bamli08kn66hay84qicx8sy8679wg443";
   };
 
   buildInputs = [ autoconf automake libtool glib gtk3 dbus pkgconfig file intltool connman ];

From f9ca17d4b175a35b738c12db9406a8c2d4cd2274 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sat, 11 Jan 2014 21:39:47 +0100
Subject: [PATCH 221/228] gstreamer.libav.withSystemLibav: default to true as
 agreed on #1403

---
 pkgs/development/libraries/gstreamer/libav/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index d539811462cc..47be4c8f4a05 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, python, yasm
 , gst-plugins-base, orc, bzip2
-, withSystemLibav ? false, libav ? null
+, withSystemLibav ? true, libav ? null
 }:
 
 assert withSystemLibav -> libav != null;

From aed957bae710a77c000d01e6aba934f1b3008d0a Mon Sep 17 00:00:00 2001
From: "Ricardo M. Correia" <rcorreia@wizy.org>
Date: Thu, 9 Jan 2014 00:46:47 +0100
Subject: [PATCH 222/228] virt-manager: Fix error: 'ImportError: No module
 named libvirt'

The problem was that libvirt 1.2.0 no longer includes the python bindings; it is
a separate package now.
---
 .../virtualization/virt-manager/default.nix   |  8 +++----
 pkgs/top-level/python-packages.nix            | 24 ++++++++++++++++++-
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 99628eeecb21..c205a09baf4b 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl,
+{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl,
   python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}:
 
 with stdenv.lib;
@@ -18,13 +18,13 @@ stdenv.mkDerivation rec {
       paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
       distutils_extra simplejson readline glance cheetah lockfile httplib2
       # !!! should libvirt be a build-time dependency?  Note that
-      # libxml2Python is a dependency of libvirt.py. 
+      # libxml2Python is a dependency of libvirt.py.
       libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python
       gtkvnc vte
     ];
 
   buildInputs =
-    [ pythonPackages.python 
+    [ pythonPackages.python
       pythonPackages.wrapPython
       pythonPackages.mox
       pythonPackages.urlgrabber
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     ] ++ pythonPath;
 
   buildPhase = "make";
-  
+
   nativeBuildInputs = [ makeWrapper pythonPackages.wrapPython ];
 
   # patch the runner script in order to make wrapPythonPrograms work and run the program using a syscall
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 60b7e00f019d..18d323111739 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -8195,7 +8195,29 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       description = "A logging replacement for Python";
       license = pkgs.lib.licenses.bsd3;
     };
- };
+  };
+
+  libvirt = pkgs.stdenv.mkDerivation rec {
+    name = "libvirt-python-${version}";
+    version = "1.2.0";
+
+    src = fetchurl {
+      url = "http://libvirt.org/sources/python/${name}.tar.gz";
+      sha256 = "0azml1yv9iqnpj4sdg1wwsa70q7kb06lv85p63qwyd8vrd0y7rrg";
+    };
+
+    buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ];
+
+    buildPhase = "python setup.py build";
+
+    installPhase = "python setup.py install --prefix=$out";
+
+    meta = {
+      homepage = http://www.libvirt.org/;
+      description = "libvirt Python bindings";
+      license = "LGPLv2";
+    };
+  };
 
 # python2.7 specific eggs
 } // pkgs.lib.optionalAttrs (python.majorVersion == "2.7") {

From 4ede302207b728e94bc4d24d2d783f49b69e086b Mon Sep 17 00:00:00 2001
From: "Ricardo M. Correia" <rcorreia@wizy.org>
Date: Fri, 10 Jan 2014 20:43:55 +0100
Subject: [PATCH 223/228] virt-manager: Add graphical support for the Spice
 protocol

---
 .../virtualization/virt-manager/default.nix   |  8 ++-
 .../libraries/spice-gtk/default.nix           | 55 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 +
 3 files changed, 62 insertions(+), 3 deletions(-)
 create mode 100644 pkgs/development/libraries/spice-gtk/default.nix

diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index c205a09baf4b..9eee8c2ca4ea 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl,
-  python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}:
+{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python
+, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte
+, spiceSupport ? true, spice_gtk
+}:
 
 with stdenv.lib;
 
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
       # libxml2Python is a dependency of libvirt.py.
       libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python
       gtkvnc vte
-    ];
+    ] ++ optional spiceSupport spice_gtk;
 
   buildInputs =
     [ pythonPackages.python
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
new file mode 100644
index 000000000000..60bf24dfd784
--- /dev/null
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, pkgconfig, gtk, spice_protocol, intltool, celt_0_5_1
+, openssl, pulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
+, cyrus_sasl, python, pygtk, autoconf, automake, libtool }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "spice-gtk-0.22";
+
+  src = fetchurl {
+    url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
+    sha256 = "0fpsn6qhy9a701lmd4yym6qz6zhpp8xp6vw42al0b4592pcybs85";
+  };
+
+  buildInputs = [
+    gtk spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection
+    libjpeg_turbo zlib cyrus_sasl python pygtk
+  ];
+
+  nativeBuildInputs = [ pkgconfig intltool libtool autoconf automake ];
+
+  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  preConfigure = ''
+    substituteInPlace gtk/Makefile.am \
+      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
+
+    autoreconf -v --force --install
+    intltoolize -f
+  '';
+
+  configureFlags = [
+    "--disable-maintainer-mode"
+    "--with-gtk=2.0"
+  ];
+
+  dontDisableStatic = true; # Needed by the coroutine test
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A GTK+2 and GTK+3 SPICE widget";
+    longDescription = ''
+      spice-gtk is a GTK+2 and GTK+3 SPICE widget. It features glib-based
+      objects for SPICE protocol parsing and a gtk widget for embedding
+      the SPICE display into other applications such as virt-manager.
+      Python bindings are available too.
+    '';
+
+    homepage = http://www.spice-space.org/;
+    license = licenses.lgpl21;
+
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ac8ef80eec8c..5d450aff88db 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5741,6 +5741,8 @@ let
     inherit (pythonPackages) pyparsing;
   };
 
+  spice_gtk = callPackage ../development/libraries/spice-gtk { };
+
   spice_protocol = callPackage ../development/libraries/spice-protocol { };
 
   sratom = callPackage ../development/libraries/audio/sratom { };

From 422f2032ab057828f0bfed20902f3a1f54c540a4 Mon Sep 17 00:00:00 2001
From: Oliver Charles <ollie@ocharles.org.uk>
Date: Sat, 11 Jan 2014 22:01:21 +0000
Subject: [PATCH 224/228] services.postgresql: Hint to use mkForce for
 authentication

This fixes #1395
---
 nixos/modules/services/databases/postgresql.nix | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 1563858887e6..265d26e8ce98 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -82,7 +82,11 @@ in
         type = types.lines;
         default = "";
         description = ''
-          Defines how users authenticate themselves to the server.
+          Defines how users authenticate themselves to the server. By
+          default, "trust" access to local users will always be granted
+          along with any other custom options. If you do not want this,
+          set this option using "pkgs.lib.mkForce" to override this
+          behaviour.
         '';
       };
 

From db7a05e3ad1da90381d127d6e70b207ebfa9a58d Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 23:10:08 +0100
Subject: [PATCH 225/228] Gnome1: add gobjectIntrospection to rest

---
 pkgs/desktops/gnome-3/core/rest/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/gnome-3/core/rest/default.nix b/pkgs/desktops/gnome-3/core/rest/default.nix
index 6c12353d0367..f543f8e13b82 100644
--- a/pkgs/desktops/gnome-3/core/rest/default.nix
+++ b/pkgs/desktops/gnome-3/core/rest/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libsoup }:
+{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   name = "rest-0.7.90";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "08n0cvz44l4b1gkmjryap3ysd0wcbbbdjbcar73nr52dmk52ls0x";
   };
 
-  buildInputs = [ pkgconfig glib libsoup ];
+  buildInputs = [ pkgconfig glib libsoup gobjectIntrospection];
 
   configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
 

From 60a82e6e0dc028c335c69819bfe7fea8d624cf19 Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 23:38:21 +0100
Subject: [PATCH 226/228] Add accountservice, needed for gdm.

---
 .../libraries/accountservice/default.nix            | 13 +++++++++++++
 pkgs/top-level/all-packages.nix                     |  2 ++
 2 files changed, 15 insertions(+)
 create mode 100644 pkgs/development/libraries/accountservice/default.nix

diff --git a/pkgs/development/libraries/accountservice/default.nix b/pkgs/development/libraries/accountservice/default.nix
new file mode 100644
index 000000000000..8cab9e39e19d
--- /dev/null
+++ b/pkgs/development/libraries/accountservice/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool, libtool, gobjectIntrospection, polkit }:
+
+stdenv.mkDerivation rec {
+  name = "accountsservice-0.6.35";
+  
+  src = fetchurl {
+    url = http://www.freedesktop.org/software/accountsservice/accountsservice-0.6.35.tar.xz;
+    sha256 = "0f1hzl6hw56xvwgmd4yvmdyj15xj1fafw45pzv3qarww7h0wg8b5";
+  };
+
+  buildInputs = [ pkgconfig glib intltool libtool gobjectIntrospection polkit ];
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5d450aff88db..ea57c297fa18 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3948,6 +3948,8 @@ let
 
   aalib = callPackage ../development/libraries/aalib { };
 
+  accountservice = callPackage ../development/libraries/accountservice { };
+
   acl = callPackage ../development/libraries/acl { };
 
   activemq = callPackage ../development/libraries/apache-activemq { };

From 01291d331c859128285ccc0f33cf89086713c66c Mon Sep 17 00:00:00 2001
From: Rob Vermaas <rob.vermaas@gmail.com>
Date: Sat, 11 Jan 2014 23:42:40 +0100
Subject: [PATCH 227/228] Gnome3: add gdm 3.10.0.1

---
 pkgs/desktops/gnome-3/core/gdm/default.nix | 18 ++++++++++++++++++
 pkgs/desktops/gnome-3/default.nix          |  2 ++
 2 files changed, 20 insertions(+)
 create mode 100644 pkgs/desktops/gnome-3/core/gdm/default.nix

diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
new file mode 100644
index 000000000000..2955c5f399b9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11
+, gtk, libcanberra_gtk3, pam, libtool
+}:
+
+stdenv.mkDerivation rec {
+  name = "gdm-3.10.0.1";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
+  };
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice libX11 gtk libcanberra_gtk3 pam libtool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index b366b8b9a297..2b3f95b20c81 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -26,6 +26,8 @@ rec {
 
   gcr = callPackage ./core/gcr { }; # ToDo: tests fail
 
+  gdm = callPackage ./core/gdm { };
+
   gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
 
   gnome-menus = callPackage ./core/gnome-menus { };

From a0070a9157d7d145eed22160cec2562d24032013 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sun, 12 Jan 2014 00:23:38 +0100
Subject: [PATCH 228/228] gst_all_1: recurseIntoAttrs

---
 pkgs/top-level/all-packages.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ea57c297fa18..46a41ed45459 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4415,7 +4415,7 @@ let
   mpfr = callPackage ../development/libraries/mpfr { };
   mpfr_3_1_2 = callPackage ../development/libraries/mpfr/3.1.2.nix { };
 
-  gst_all_1 = callPackage ../development/libraries/gstreamer { };
+  gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { });
 
   gst_all = {
     inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer;