about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/stdenv.xml28
-rwxr-xr-xmaintainers/scripts/gnome-latest.sh95
-rwxr-xr-xmaintainers/scripts/gnome.sh138
-rw-r--r--nixos/modules/config/system-path.nix3
-rw-r--r--nixos/modules/services/mail/mlmmj.nix7
-rw-r--r--nixos/modules/services/search/elasticsearch.nix10
-rw-r--r--nixos/modules/services/x11/xserver.nix1
-rw-r--r--nixos/modules/virtualisation/containers.nix6
-rw-r--r--nixos/modules/virtualisation/nixos-container-completion.sh33
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix3
-rw-r--r--nixos/tests/virtualbox.nix119
-rw-r--r--pkgs/applications/audio/foo-yc20/default.nix2
-rw-r--r--pkgs/applications/audio/renoise/default.nix61
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix23
-rw-r--r--pkgs/applications/misc/hello/ex-2/default.nix4
-rw-r--r--pkgs/applications/misc/super_user_spark/default.nix2
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix29
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix6
-rw-r--r--pkgs/applications/version-management/rabbitvcs/default.nix40
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix6
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix11
-rw-r--r--pkgs/applications/virtualization/xhyve/default.nix11
-rw-r--r--pkgs/build-support/setup-hooks/separate-debug-info.sh37
-rw-r--r--pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.16/core/gnome-shell/src.nix10
-rw-r--r--pkgs/development/compilers/ccl/default.nix2
-rw-r--r--pkgs/development/compilers/intercal/default.nix11
-rw-r--r--pkgs/development/compilers/julia/0.3.nix11
-rw-r--r--pkgs/development/compilers/openjdk/8.nix17
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix2
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix6
-rw-r--r--pkgs/development/libraries/ldns/default.nix9
-rw-r--r--pkgs/development/libraries/ldns/perl-5.22-compat.patch12
-rw-r--r--pkgs/development/libraries/libabw/default.nix6
-rw-r--r--pkgs/development/libraries/libpsl/default.nix10
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix4
-rw-r--r--pkgs/development/libraries/wavpack/default.nix12
-rw-r--r--pkgs/development/libraries/wavpack/wavpack_clang.patch25
-rw-r--r--pkgs/development/libraries/zimlib/default.nix21
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix5
-rw-r--r--pkgs/development/tools/misc/global/default.nix4
-rw-r--r--pkgs/development/tools/misc/teensy-loader-cli/default.nix26
-rw-r--r--pkgs/development/tools/misc/teensy/default.nix26
-rw-r--r--pkgs/misc/vim-plugins/default.nix142
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch41
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix20
-rw-r--r--pkgs/stdenv/generic/default.nix34
-rw-r--r--pkgs/tools/backup/duply/default.nix6
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix2
-rw-r--r--pkgs/tools/graphics/argyllcms/gcc5.patch20
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix8
-rw-r--r--pkgs/tools/networking/lftp/default.nix4
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix12
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix6
-rw-r--r--pkgs/tools/package-management/nix/default.nix4
-rw-r--r--pkgs/tools/security/eid-mw/default.nix4
-rw-r--r--pkgs/tools/security/eid-mw/eid-nssdb.in6
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/text/ascii/default.nix4
-rw-r--r--pkgs/tools/text/diffstat/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix40
-rw-r--r--pkgs/top-level/emacs-packages.nix17
-rw-r--r--pkgs/top-level/perl-packages.nix163
-rw-r--r--pkgs/top-level/python-packages.nix31
76 files changed, 1047 insertions, 475 deletions
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 1556ffd057f9..7ba24db2e050 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -899,6 +899,34 @@ following:
     phase.</para></listitem>
   </varlistentry>
 
+  <varlistentry>
+    <term><varname>separateDebugInfo</varname></term>
+    <listitem><para>If set to <literal>true</literal>, the standard
+    environment will enable debug information in C/C++ builds. After
+    installation, the debug information will be separated from the
+    executables and stored in the output named
+    <literal>debug</literal>. (This output is enabled automatically;
+    you don’t need to set the <varname>outputs</varname> attribute
+    explicitly.) To be precise, the debug information is stored in
+    <filename><replaceable>debug</replaceable>/lib/debug/.build-id/<replaceable>XX</replaceable>/<replaceable>YYYY…</replaceable></filename>,
+    where <replaceable>XXYYYY…</replaceable> is the <replaceable>build
+    ID</replaceable> of the binary — a SHA-1 hash of the contents of
+    the binary. Debuggers like GDB use the build ID to look up the
+    separated debug information.</para>
+
+    <para>For example, with GDB, you can add
+
+<programlisting>
+set debug-file-directory ~/.nix-profile/lib/debug
+</programlisting>
+
+    to <filename>~/.gdbinit</filename>. GDB will then be able to find
+    debug information installed via <literal>nix-env
+    -i</literal>.</para>
+
+    </listitem>
+  </varlistentry>
+
 </variablelist>
 
 </section>
diff --git a/maintainers/scripts/gnome-latest.sh b/maintainers/scripts/gnome-latest.sh
deleted file mode 100755
index 63b309c5a77c..000000000000
--- a/maintainers/scripts/gnome-latest.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env bash
-
-GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
-
-project=$1
-
-if [ "$project" == "--help" ]; then
-  echo "Usage: $0 project [major.minor]"
-  exit 0
-fi
-
-baseVersion=$2
-
-if [ -z "$project" ]; then
-  echo "No project specified, exiting"
-  exit 1
-fi
-
-# curl -l ftp://... doesn't work from my office in HSE, and I don't want to have
-# any conversations with sysadmin. Somehow lftp works.
-if [ "$FTP_CLIENT" = "lftp" ]; then
-  ls_ftp() {
-    lftp -c "open $1; cls"
-  }
-else
-  ls_ftp() {
-    curl -l "$1"/
-  }
-fi
-
-if [ -z "$baseVersion" ]; then
-  echo "Looking for available versions..." >&2
-  available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
-  echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
-  echo -en "Choose one of them: " >&2
-  read baseVersion
-fi
-
-FTPDIR="${GNOME_FTP}/${project}/${baseVersion}"
-
-#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
-# gnome's LATEST-IS is broken. Do not trust it.
-
-files=$(ls_ftp "${FTPDIR}")
-declare -A versions
-
-for f in $files; do
-  case $f in
-    (LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
-      ;;
-    ($project-*.*.9*.tar.*):
-      tmp=${f#$project-}
-      tmp=${tmp%.tar*}
-      echo "Ignored unstable version ${tmp}" >&2
-      ;;
-    ($project-*.tar.*):
-      tmp=${f#$project-}
-      tmp=${tmp%.tar*}
-      versions[${tmp}]=1
-      ;;
-    (*):
-      echo "UNKNOWN FILE $f"
-      ;;
-  esac
-done
-echo "Found versions ${!versions[@]}" >&2
-version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
-echo "Latest version is: ${version}" >&2
-
-name=${project}-${version}
-echo "Fetching .sha256 file" >&2
-curl -O http://${FTPDIR}/${name}.sha256sum
-
-extensions=( "xz" "bz2" "gz" )
-echo "Choosing archive extension (known are ${extensions[@]})..." >&2
-for ext in ${extensions[@]}; do
-  if grep "\\.tar\\.${ext}$" ${name}.sha256sum >& /dev/null; then
-    ext_pref=$ext
-    sha256=$(grep "\\.tar\\.${ext}$" ${name}.sha256sum | cut -f1 -d\ )
-    break
-  fi
-done
-sha256=`nix-hash --to-base32 --type sha256 $sha256`
-echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
-
-cat <<EOF
-  name = "${project}-${version}";
-
-  src = fetchurl {
-    url = mirror://gnome/sources/${project}/${baseVersion}/${project}-${version}.tar.${ext_pref};
-    sha256 = "${sha256}";
-  };
-EOF
-
-rm -v ${name}.sha256sum >&2
diff --git a/maintainers/scripts/gnome.sh b/maintainers/scripts/gnome.sh
new file mode 100755
index 000000000000..cd2c57774036
--- /dev/null
+++ b/maintainers/scripts/gnome.sh
@@ -0,0 +1,138 @@
+#!/usr/bin/env bash
+
+set -o pipefail
+
+GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
+
+usage() {
+  echo "Usage: $0 show|update project [major.minor]" >&2
+  exit 0
+}
+
+if [ "$#" -lt 1 ]; then
+  usage
+fi
+
+action="$1"
+project="$2"
+majorVersion="$3"
+
+if [ "$action" != "show" ] && [ "$action" != "update" ]; then
+  echo "Unknown action $action" >&2
+  usage
+fi
+
+if [ -z "$project" ]; then
+  echo "No project specified, exiting"
+  exit 1
+fi
+
+# curl -l ftp://... doesn't work from my office in HSE, and I don't want to have
+# any conversations with sysadmin. Somehow lftp works.
+if [ "$FTP_CLIENT" = "lftp" ]; then
+  ls_ftp() {
+    lftp -c "open $1; cls"
+  }
+else
+  ls_ftp() {
+    curl -s -l "$1"/
+  }
+fi
+
+if [ -z "$majorVersion" ]; then
+  echo "Looking for available versions..." >&2
+  available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
+  if [ "$?" -ne "0" ]; then
+    echo "Project $project not found" >&2
+    exit 1
+  fi
+  
+  echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
+  echo -en "Choose one of them: " >&2
+  read majorVersion
+fi
+
+if echo "$majorVersion" | grep -q "[0-9]\+\.[0-9]\+\.[0-9]\+"; then
+	# not a major version
+	version="$majorVersion"
+	majorVersion=$(echo "$majorVersion" | cut -d '.' -f 1,2)
+fi
+
+FTPDIR="${GNOME_FTP}/${project}/${majorVersion}"
+
+#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
+# gnome's LATEST-IS is broken. Do not trust it.
+
+if [ -z "$version" ]; then
+	files=$(ls_ftp "${FTPDIR}")
+	declare -A versions
+	
+	for f in $files; do
+		case $f in
+    (LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
+		;;
+    ($project-*.*.9*.tar.*):
+		tmp=${f#$project-}
+		tmp=${tmp%.tar*}
+		echo "Ignored unstable version ${tmp}" >&2
+		;;
+    ($project-*.tar.*):
+		tmp=${f#$project-}
+		tmp=${tmp%.tar*}
+		versions[${tmp}]=1
+		;;
+    (*):
+		echo "UNKNOWN FILE $f"
+		;;
+		esac
+	done
+	echo "Found versions ${!versions[@]}" >&2
+	version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
+	echo "Latest version is: ${version}" >&2
+fi
+
+name=${project}-${version}
+echo "Fetching .sha256 file" >&2
+sha256out=$(curl -s -f http://${FTPDIR}/${name}.sha256sum)
+
+if [ "$?" -ne "0" ]; then
+	echo "Version not found" >&2
+	exit 1
+fi
+
+extensions=( "xz" "bz2" "gz" )
+echo "Choosing archive extension (known are ${extensions[@]})..." >&2
+for ext in ${extensions[@]}; do
+  if echo -e "$sha256out" | grep -q "\\.tar\\.${ext}$"; then
+    ext_pref=$ext
+    sha256=$(echo -e "$sha256out" | grep "\\.tar\\.${ext}$" | cut -f1 -d\ )
+    break
+  fi
+done
+echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
+
+src="# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = \"${project}-${version}\";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/${project}/${majorVersion}/${project}-${version}.tar.${ext_pref};
+    sha256 = \"${sha256}\";
+  };
+}"
+
+if [ "$action" == "update" ]; then
+  # find project in nixpkgs tree
+  GNOME_TOP=$(readlink -e $(dirname "${BASH_SOURCE[0]}")"/../../pkgs/desktops/gnome-3/")
+  projectPath=$(find "$GNOME_TOP" -name "$project" -print)
+  if [ -z "$projectPath" ]; then
+    echo "Project $project not found under $GNOME_TOP"
+    exit 1
+  fi
+
+  echo "Updating $projectPath/src.nix"
+  echo -e "$src" > "$projectPath/src.nix"
+else
+  echo -e "\n$src"
+fi
\ No newline at end of file
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix
index 3241780a3a71..748ada99be69 100644
--- a/nixos/modules/config/system-path.nix
+++ b/nixos/modules/config/system-path.nix
@@ -103,7 +103,8 @@ in
       [ "/bin"
         "/etc/xdg"
         "/info"
-        "/lib"
+        "/lib" # FIXME: remove
+        #"/lib/debug/.build-id" # enables GDB to find separated debug info
         "/man"
         "/sbin"
         "/share/applications"
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index f8a33f395a68..e2b37522cb16 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -109,9 +109,10 @@ in
           ${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${spoolDir}
           ${lib.concatMapStrings (createList cfg.listDomain) cfg.mailLists}
           echo ${lib.concatMapStrings (virtual cfg.listDomain) cfg.mailLists} > ${stateDir}/virtuals
-          echo ${cfg.listDomain} mailman: > ${stateDir}/transports
-          echo ${lib.concatMapStrings (transport cfg.listDomain) cfg.mailLists} >> ${stateDir}/transports
-    '';
+          echo ${lib.concatMapStrings (transport cfg.listDomain) cfg.mailLists} > ${stateDir}/transports
+          ${pkgs.postfix}/bin/postmap ${stateDir}/virtuals
+          ${pkgs.postfix}/bin/postmap ${stateDir}/transports
+      '';
 
     systemd.services."mlmmj-maintd" = {
       description = "mlmmj maintenance daemon";
diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix
index 64620bf16041..3436bd01d848 100644
--- a/nixos/modules/services/search/elasticsearch.nix
+++ b/nixos/modules/services/search/elasticsearch.nix
@@ -37,6 +37,12 @@ in {
       type = types.bool;
     };
 
+    package = mkOption {
+      description = "Elasticsearch package to use.";
+      default = pkgs.elasticsearch;
+      type = types.package;
+    };
+
     host = mkOption {
       description = "Elasticsearch listen address.";
       default = "127.0.0.1";
@@ -123,7 +129,7 @@ in {
       after = [ "network-interfaces.target" ];
       environment = { ES_HOME = cfg.dataDir; };
       serviceConfig = {
-        ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
+        ExecStart = "${cfg.package}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
         User = "elasticsearch";
         PermissionsStartOnly = true;
       };
@@ -142,7 +148,7 @@ in {
       '';
     };
 
-    environment.systemPackages = [ pkgs.elasticsearch ];
+    environment.systemPackages = [ cfg.package ];
 
     users.extraUsers = singleton {
       name = "elasticsearch";
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 1ec098fded6e..3348e8d0582c 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -13,7 +13,6 @@ let
 
   # Map video driver names to driver packages. FIXME: move into card-specific modules.
   knownVideoDrivers = {
-    nouveau       = { modules = [ pkgs.xf86_video_nouveau ]; };
     unichrome    = { modules = [ pkgs.xorgVideoUnichrome ]; };
     virtualbox   = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
     ati = { modules = [ pkgs.xorg.xf86videoati pkgs.xorg.glamoregl ]; };
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 8f881d760706..8d12c5a57fd9 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -12,6 +12,12 @@ let
     perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
     su = "${pkgs.shadow.su}/bin/su";
     inherit (pkgs) utillinux;
+
+    postInstall = ''
+      t=$out/etc/bash_completion.d
+      mkdir -p $t
+      cp ${./nixos-container-completion.sh} $t/nixos-container
+    '';
   };
 
   # The container's init script, a small wrapper around the regular
diff --git a/nixos/modules/virtualisation/nixos-container-completion.sh b/nixos/modules/virtualisation/nixos-container-completion.sh
new file mode 100644
index 000000000000..0fe8ab811a17
--- /dev/null
+++ b/nixos/modules/virtualisation/nixos-container-completion.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+_nixos-container() {
+    local cur prev opts
+    COMPREPLY=()
+    cur="${COMP_WORDS[COMP_CWORD]}"
+    prev="${COMP_WORDS[COMP_CWORD-1]}"
+    opts="list create destroy start stop status update login root-login run show-ip show-host-key"
+    startstop_opts=$(nixos-container list)
+    update_opts="--config"
+
+    if [[ "$prev" == "nixos-container" ]]
+    then
+        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+        return 0
+    fi
+
+    if [[ $(echo "$opts" | grep "$prev") ]]
+    then
+        if [[ "$prev" == "start" || "$prev" == "stop" ]]
+        then
+            COMPREPLY=( $(compgen -W "${startstop_opts}" -- ${cur}) )
+            return 0
+        elif [[ "$prev" == "update" ]]
+        then
+            COMPREPLY=( $(compgen -W "${update_opts}" -- ${cur}) )
+            return 0
+        fi
+    fi
+}
+
+complete -F _nixos-container nixos-container
+
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index c1538feb9df5..767a8c339a3e 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -109,7 +109,8 @@ in {
         VBoxManage createvm --name "$vmName" --register \
           --ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
         VBoxManage modifyvm "$vmName" \
-          --memory 1536 --acpi on --vram 10 \
+          --memory 1536 --acpi on --vram 32 \
+          ${optionalString (pkgs.stdenv.system == "i686-linux") "--pae on"} \
           --nictype1 virtio --nic1 nat \
           --audiocontroller ac97 --audio alsa \
           --rtcuseutc on \
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index 83a8b2835dc2..1a5a6f7b5bbc 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -1,26 +1,41 @@
-import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
-
-  debug = false;
-
-  testVMConfig = vmName: attrs: { config, pkgs, ... }: {
-    boot.kernelParams = let
-      miniInit = ''
-        #!${pkgs.stdenv.shell} -xe
-        export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
-
-        ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/VBoxService
-        ${(attrs.vmScript or (const "")) pkgs}
+{ debug ? false, ... } @ args:
 
-        i=0
-        while [ ! -e /mnt-root/shutdown ]; do
-          sleep 10
-          i=$(($i + 10))
-          [ $i -le 120 ] || fail
-        done
+import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
 
-        rm -f /mnt-root/boot-done /mnt-root/shutdown
-      '';
-    in [
+  testVMConfig = vmName: attrs: { config, pkgs, ... }: let
+    guestAdditions = pkgs.linuxPackages.virtualboxGuestAdditions;
+
+    miniInit = ''
+      #!${pkgs.stdenv.shell} -xe
+      export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
+
+      mkdir -p /etc/dbus-1 /var/run/dbus
+      cat > /etc/passwd <<EOF
+      root:x:0:0::/root:/bin/false
+      messagebus:x:1:1::/var/run/dbus:/bin/false
+      EOF
+      cat > /etc/group <<EOF
+      root:x:0:
+      messagebus:x:1:
+      EOF
+      cp -v "${pkgs.dbus.daemon}/etc/dbus-1/system.conf" \
+        /etc/dbus-1/system.conf
+      "${pkgs.dbus.daemon}/bin/dbus-daemon" --fork --system
+
+      ${guestAdditions}/bin/VBoxService
+      ${(attrs.vmScript or (const "")) pkgs}
+
+      i=0
+      while [ ! -e /mnt-root/shutdown ]; do
+        sleep 10
+        i=$(($i + 10))
+        [ $i -le 120 ] || fail
+      done
+
+      rm -f /mnt-root/boot-done /mnt-root/shutdown
+    '';
+  in {
+    boot.kernelParams = [
       "console=tty0" "console=ttyS0" "ignore_loglevel"
       "boot.trace" "panic=1" "boot.panic_on_fail"
       "init=${pkgs.writeScript "mini-init.sh" miniInit}"
@@ -39,7 +54,7 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
     ];
 
     boot.initrd.extraUtilsCommands = ''
-      copy_bin_and_libs "${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf"
+      copy_bin_and_libs "${guestAdditions}/bin/mount.vboxsf"
       copy_bin_and_libs "${pkgs.utillinux}/bin/unshare"
       ${(attrs.extraUtilsCommands or (const "")) pkgs}
     '';
@@ -156,30 +171,26 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
     ];
   in {
     machine = {
-      systemd.sockets = listToAttrs (singleton {
-        name = "vboxtestlog-${name}";
-        value = {
-          description = "VirtualBox Test Machine Log Socket";
-          wantedBy = [ "sockets.target" ];
-          before = [ "multi-user.target" ];
-          socketConfig.ListenStream = "/run/virtualbox-log-${name}.sock";
-          socketConfig.Accept = true;
-        };
-      });
-
-      systemd.services = listToAttrs (singleton {
-        name = "vboxtestlog-${name}@";
-        value = {
-          description = "VirtualBox Test Machine Log";
-          serviceConfig.StandardInput = "socket";
-          serviceConfig.StandardOutput = "syslog";
-          serviceConfig.SyslogIdentifier = "GUEST-${name}";
-          serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
-        };
-      });
+      systemd.sockets."vboxtestlog-${name}" = {
+        description = "VirtualBox Test Machine Log Socket For ${name}";
+        wantedBy = [ "sockets.target" ];
+        before = [ "multi-user.target" ];
+        socketConfig.ListenStream = "/run/virtualbox-log-${name}.sock";
+        socketConfig.Accept = true;
+      };
+
+      systemd.services."vboxtestlog-${name}@" = {
+        description = "VirtualBox Test Machine Log For ${name}";
+        serviceConfig.StandardInput = "socket";
+        serviceConfig.StandardOutput = "syslog";
+        serviceConfig.SyslogIdentifier = "GUEST-${name}";
+        serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
+      };
     };
 
     testSubs = ''
+      my ${"$" + name}_sharepath = '${sharePath}';
+
       sub checkRunning_${name} {
         my $cmd = 'VBoxManage list runningvms | grep -q "^\"${name}\""';
         my ($status, $out) = $machine->execute(ru $cmd);
@@ -286,9 +297,15 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
     echo "$otherIP reachable" | ${pkgs.netcat}/bin/netcat -clp 5678 || :
   '';
 
+  sysdDetectVirt = pkgs: ''
+    ${pkgs.systemd}/bin/systemd-detect-virt > /mnt-root/result
+  '';
+
   vboxVMs = mapAttrs createVM {
     simple = {};
 
+    detectvirt.vmScript = sysdDetectVirt;
+
     test1.vmFlags = hostonlyVMFlags;
     test1.vmScript = dhcpScript;
 
@@ -307,7 +324,7 @@ in {
       mkVMConf = name: val: val.machine // { key = "${name}-config"; };
       vmConfigs = mapAttrsToList mkVMConf vboxVMs;
     in [ ./common/user-account.nix ./common/x11.nix ] ++ vmConfigs;
-    virtualisation.memorySize = 768;
+    virtualisation.memorySize = 1024;
     virtualisation.virtualbox.host.enable = true;
     users.extraUsers.alice.extraGroups = let
       inherit (config.virtualisation.virtualbox.host) enableHardening;
@@ -372,6 +389,18 @@ in {
 
     destroyVM_simple;
 
+    subtest "systemd-detect-virt", sub {
+      createVM_detectvirt;
+      vbm("startvm detectvirt");
+      waitForStartup_detectvirt;
+      waitForVMBoot_detectvirt;
+      shutdownVM_detectvirt;
+      my $result = $machine->succeed("cat '$detectvirt_sharepath/result'");
+      chomp $result;
+      die "systemd-detect-virt returned \"$result\" instead of \"oracle\""
+        if $result ne "oracle";
+    };
+
     subtest "net-hostonlyif", sub {
       createVM_test1;
       createVM_test2;
@@ -403,4 +432,4 @@ in {
       destroyVM_test2;
     };
   '';
-})
+}) args
diff --git a/pkgs/applications/audio/foo-yc20/default.nix b/pkgs/applications/audio/foo-yc20/default.nix
index 025ca594dffe..4ccbb4256127 100644
--- a/pkgs/applications/audio/foo-yc20/default.nix
+++ b/pkgs/applications/audio/foo-yc20/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "A Faust implementation of a 1969 designed Yamaha combo organ, the YC-20";
     homepage = https://github.com/sampov2/foo-yc20;
     license     = "BSD";
-    maintainers = stdenv.lib.maintainers.magnetophon;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
new file mode 100644
index 000000000000..704f3f01c00e
--- /dev/null
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, lib, requireFile, demo, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib, ... }:
+
+stdenv.mkDerivation rec {
+  name = "renoise";
+
+  buildInputs = [ libX11 libXext libXcursor libXrandr alsaLib libjack2 ];
+
+  src =
+    if builtins.currentSystem == "x86_64-linux" then
+        if demo then
+        fetchurl {
+            url = "http://files.renoise.com/demo/Renoise_3_0_1_Demo_x86_64.tar.bz2";
+            sha256 = "1q7f94wz2dbz659kpp53a3n1qyndsk0pkb29lxdff4pc3ddqwykg";
+        }
+        else
+        requireFile {
+            url = "http://backstage.renoise.com/frontend/app/index.html#/login";
+            name = "rns_3_0_1_reg_x86_64.tar.gz";
+            sha256 = "1swax2jz0gswdpzz8alwjfd8rhigc2yfspj7p8wvdvylqrf7n8q7";
+        }
+    else if builtins.currentSystem == "i686-linux" then
+        if demo then
+        fetchurl {
+            url = "http://files.renoise.com/demo/Renoise_3_0_1_Demo_x86.tar.bz2";
+            sha256 = "0dgqvib4xh2yhgh2wajj11wsb6xiiwgfkhyz32g8vnyaij5q8f58";
+        }
+        else
+        requireFile {
+            url = "http://backstage.renoise.com/frontend/app/index.html#/login";
+            name = "rns_3_0_1_reg_x86.tar.gz";
+            sha256 = "1swax2jz0gswdpzz8alwjfd8rhigc2yfspj7p8wvdvylqrf7n8q7";
+        }
+    else throw "platform is not suppored by Renoise";
+
+  installPhase = ''
+    cp -r Resources $out
+
+    mkdir -p $out/lib/
+
+    mv $out/AudioPluginServer* $out/lib/
+
+    cp renoise $out/renoise
+
+    for path in ${toString buildInputs}; do
+      ln -s $path/lib/*.so* $out/lib/
+    done
+
+    ln -s ${stdenv.cc.cc}/lib/libstdc++.so.6 $out/lib/
+
+    mkdir $out/bin
+    ln -s $out/renoise $out/bin/renoise
+
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $out/lib $out/renoise
+  '';
+
+  meta = {
+    description = "modern tracker-based DAW";
+    homepage = http://www.renoise.com/;
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 6fe9a2212e80..9d85c05206a8 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -127,6 +127,29 @@ rec {
     };
   };
 
+  bytecode-outline = buildEclipsePlugin rec {
+    name = "bytecode-outline-${version}";
+    version = "2.4.3";
+
+    srcFeature = fetchurl {
+      url = "http://andrei.gmxhome.de/eclipse/features/de.loskutov.BytecodeOutline.feature_${version}.jar";
+      sha256 = "0imhwp73gxy1y5d5gpjgd05ywn0xg3vqc5980wcx3fd51g4ifc67";
+    };
+
+    srcPlugin = fetchurl {
+      url = "http://dl.bintray.com/iloveeclipse/plugins/de.loskutov.BytecodeOutline_${version}.jar";
+      sha256 = "0230i88mvvxhn11m9c5mv3494zhh1xkxyfyva9qahck0wbqwpzkw";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://andrei.gmxhome.de/bytecode/;
+      description = "Shows disassembled bytecode of current java editor or class file";
+      license = licenses.bsd2;
+      platforms = platforms.all;
+      maintainers = [ maintainers.rycee ];
+    };
+  };
+
   cdt = buildEclipseUpdateSite rec {
     name = "cdt-${version}";
     version = "8.7.0";
diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix
index 8a31c591b29b..bb91c90e2fcf 100644
--- a/pkgs/applications/misc/hello/ex-2/default.nix
+++ b/pkgs/applications/misc/hello/ex-2/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
   };
 
-  doCheck = true;
+  doCheck = false;
+
+  separateDebugInfo = true;
 
   meta = {
     description = "A program that produces a familiar, friendly greeting";
diff --git a/pkgs/applications/misc/super_user_spark/default.nix b/pkgs/applications/misc/super_user_spark/default.nix
index 988db35500ba..73a9e343df9b 100644
--- a/pkgs/applications/misc/super_user_spark/default.nix
+++ b/pkgs/applications/misc/super_user_spark/default.nix
@@ -29,5 +29,5 @@ mkDerivation rec {
   homepage = "https://github.com/NorfairKing/super-user-spark";
   description = "A safe way to never worry about your beautifully configured system again";
   platforms = ghc.meta.platforms;
-  maintainers = stdenv.lib.maintainers.badi;
+  maintainers = [ stdenv.lib.maintainers.badi ];
 }
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 0af5dfba3f24..3b157857ff96 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -19,11 +19,11 @@
 
 let
   # NOTE: When updating, please also update in current stable, as older versions stop working
-  version = "3.8.5";
+  version = "3.8.9";
   sha256 =
     {
-      "x86_64-linux" = "1r0wz2fsx2piasl04qsgwbl88bi0ajr0dm2swbslxwkf789vk18y";
-      "i686-linux" = "1dvfgp9dg3frhwmchwa6fyws4im9vgicchfsv0zzflvc7rm9fcig";
+      "x86_64-linux" = "1mdhf57bqi4vihbzv5lz8zk4n576c1qjm7hzcq4f5qvkdsmp5in2";
+      "i686-linux" = "0gighh782jjmlgqgbw2d00a3ri5h3inqdik7v70f1yygvkr7awy8";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index f82ffa5ecd38..c6551307df9d 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -5,7 +5,7 @@
 
 let
 
-  version = "2.2.1373";
+  version = "2.2.1388";
 
   rpath = stdenv.lib.makeSearchPath "lib" [
     stdenv.glibc
@@ -47,12 +47,12 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
-        sha256 = "0mxjzigncp8sh5w2rpr7kvkiahagm3adss1zv6rqk8hc1awrnd8n";
+        sha256 = "18vl0c7xgyzd2miwkfzc638z0wzszgsdlbnslkkvxmg95ykdrdnz";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
-        sha256 = "1f4cjbazgifxpyr6589frs417h4wpxbykf46w5qiw0m2wiqpqff5";
+        sha256 = "12q8hf3gmcgrqg6v9xqyknwsmwywpwm76jc54sfniiqv5ngq24hl";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index 195c95884780..c3548af93469 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, makeDesktopItem, unzip, ant, jdk }:
+{ stdenv, lib, fetchurl, makeDesktopItem, unzip, ant, jdk
+# Optional, Jitsi still runs without, but you may pass null:
+, alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xlibs
+}:
 
 stdenv.mkDerivation rec {
 
@@ -22,6 +25,21 @@ stdenv.mkDerivation rec {
     categories = "Application;Internet;";
   };
 
+  libPath = lib.makeLibraryPath ([
+    stdenv.cc.cc  # For libstdc++.
+  ] ++ lib.filter (x: x != null) [
+    alsaLib
+    dbus_libs
+    gtk2
+    libpulseaudio
+    openssl
+  ] ++ lib.optionals (xlibs != null) [
+    xlibs.libX11
+    xlibs.libXext
+    xlibs.libXScrnSaver
+    xlibs.libXv
+  ]);
+
   buildInputs = [unzip ant jdk];
 
   buildPhase = ''ant make'';
@@ -33,8 +51,14 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
     cp resources/install/generic/run.sh $out/bin/jitsi
     chmod +x $out/bin/jitsi
-    sed -i 's| java | ${jdk}/bin/java |' $out/bin/jitsi
+    substituteInPlace $out/bin/jitsi --replace '@JAVA@' '${jdk}/bin/java'
     patchShebangs $out
+
+    libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}"
+    find $out/ -type f -name '*.so' | while read file; do
+      patchelf --set-rpath "$libPath" "$file" && \
+          patchelf --shrink-rpath "$file"
+    done
   '';
 
   meta = {
@@ -42,6 +66,7 @@ stdenv.mkDerivation rec {
     description = "Open Source Video Calls and Chat";
     license = stdenv.lib.licenses.lgpl21Plus.shortName;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.khumba ];
   };
 
 }
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch
index 9163cecd175b..942b3cd0cbe6 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch
+++ b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch
@@ -24,4 +24,4 @@
  
  export PATH=$PATH:native
 -java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
-+exec java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
++exec @JAVA@ $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 8b19f338d3e6..36be2517fbd0 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
 
-let version = "1.18.1"; in
+let version = "1.20.0"; in
 
 stdenv.mkDerivation {
   name = "pidgin-sipe-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
-    sha256 = "18ch7jpi7ki7xlpahi88xrnmnhc6dcq4hafm0z6d5nfjfp8ldal5";
+    sha256 = "14d8q9by531hfssm6ydn75xkgidka3ar4sy3czjdb03s1ps82srs";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index ac2d11a33f16..40e3fdef9803 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt -> !withGtk && qt4 != null;
 with stdenv.lib;
 
 let
-  version = "1.12.5";
+  version = "1.12.7";
   variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
 in
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
-    sha256 = "10mxgj916bwv92pfhk4kldcaanr9vndjklzp9ypdxr29xyr7gwfh";
+    sha256 = "0b7rc1l1gvzcz7gfa6g7pcn32zrcfiqjx0rxm6cg3q1cwwa1qjn7";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index a697aaa08a1a..dc5c2231a7a1 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation {
-  name = "git-repo-1.21";
+  name = "git-repo-1.22";
   src = fetchurl {
     # I could not find a versioned url for the 1.21 version. In case
     # the sha mismatches, check the homepage for new version and sha.
     url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo";
-    sha1 = "b8bd1804f432ecf1bab730949c82b93b0fc5fede";
+    sha1 = "da0514e484f74648a890c0467d61ca415379f791";
   };
 
   unpackPhase = "true";
@@ -20,4 +20,4 @@ stdenv.mkDerivation {
     homepage = "http://source.android.com/source/downloading.html";
     description = "Android's repo management tool";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/version-management/rabbitvcs/default.nix b/pkgs/applications/version-management/rabbitvcs/default.nix
new file mode 100644
index 000000000000..100e854f29b8
--- /dev/null
+++ b/pkgs/applications/version-management/rabbitvcs/default.nix
@@ -0,0 +1,40 @@
+{ fetchFromGitHub, lib, python2Packages, meld, subversion, gvfs, xdg_utils }:
+python2Packages.buildPythonPackage rec {
+  name = "rabbitvcs-${version}";
+  version = "0.16";
+  namePrefix = "";
+
+  src = fetchFromGitHub {
+    owner = "rabbitvcs";
+    repo = "rabbitvcs";
+    rev = "v${version}";
+    sha256 = "0964pdylrx4n9c9l8ncwv4q1p63y4hadb5v4pgvm0m2fah2jlkly";
+  };
+
+  pythonPath = with python2Packages; [ configobj dbus pygobject pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ];
+
+  prePatch = ''
+      sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py
+      sed -ie "s|PREFIX = sys.prefix|PREFIX = \"$out\"|" ./setup.py
+      sed -ie 's|/usr/bin/meld|${meld}/bin/meld|' ./rabbitvcs/util/configspec/configspec.ini
+      sed -ie 's|/usr/bin/svnadmin|${subversion}/bin/svnadmin|' ./rabbitvcs/ui/create.py
+      sed -ie "s|/usr/share/doc|$out/share/doc|" ./rabbitvcs/ui/about.py
+      sed -ie "s|gnome-open|xdg-open|" ./rabbitvcs/util/helper.py
+    '';
+
+  outputs = [ "out" "cli" ];
+
+  postInstall = ''
+    mkdir -p $cli/bin
+    cp clients/cli/rabbitvcs $cli/bin
+    wrapPythonProgramsIn $cli "$out $pythonPath"
+  '';
+
+  meta = {
+    description = "Graphical tools for working with version control systems";
+    homepage = http://rabbitvcs.org/;
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.mathnerd314 ];
+  };
+}
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 465819949108..1bedb404a2a9 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -11,17 +11,17 @@
 
 with stdenv.lib;
 let
-  n = "qemu-2.4.0";
+  version = "2.4.0";
   audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
 in
 
 stdenv.mkDerivation rec {
-  name = n + (if x86Only then "-x86-only" else "");
+  name = "qemu-" + stdenv.lib.optionalString x86Only "x86-only-" + version;
 
   src = fetchurl {
-    url = "http://wiki.qemu.org/download/${n}.tar.bz2";
+    url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
     sha256 = "0836gqv5zcl0xswwjcns3mlkn18lyz2fiq8rl1ihcm6cpf8vkc3j";
   };
 
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 2b291177642d..9136bba02155 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
 , libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
-, which, alsaLib, curl, libvpx, gawk, nettools
+, which, alsaLib, curl, libvpx, gawk, nettools, dbus
 , xorriso, makeself, perl, pkgconfig, nukeReferences
 , javaBindings ? false, jdk ? null
 , pythonBindings ? false, python ? null
@@ -85,11 +85,14 @@ in stdenv.mkDerivation {
     ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
     find . -type f -iname '*makefile*' -exec sed -i -e 's/depmod -a/:/g' {} +
     sed -i -e '
-      s@"libasound.so.2"@"${alsaLib}/lib/libasound.so.2"@g
+      s@"libdbus-1\.so\.3"@"${dbus}/lib/libdbus-1.so.3"@g
+      s@"libasound\.so\.2"@"${alsaLib}/lib/libasound.so.2"@g
       ${optionalString pulseSupport ''
-      s@"libpulse.so.0"@"${libpulseaudio}/lib/libpulse.so.0"@g
+      s@"libpulse\.so\.0"@"${libpulseaudio}/lib/libpulse.so.0"@g
       ''}
-    ' src/VBox/Main/xml/Settings.cpp src/VBox/Devices/Audio/{alsa,pulse}_stubs.c
+    ' src/VBox/Main/xml/Settings.cpp \
+      src/VBox/Devices/Audio/{alsa,pulse}_stubs.c \
+      include/VBox/dbus-calls.h
     export USER=nix
     set +x
   '';
diff --git a/pkgs/applications/virtualization/xhyve/default.nix b/pkgs/applications/virtualization/xhyve/default.nix
index 9941d34bc896..b7205ac000e2 100644
--- a/pkgs/applications/virtualization/xhyve/default.nix
+++ b/pkgs/applications/virtualization/xhyve/default.nix
@@ -2,14 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "xhyve-${version}";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchurl {
     url = "https://github.com/mist64/xhyve/archive/v${version}.tar.gz";
-    sha256 = "0nbb9zy4iqmdz2dpyvcl1ynimrrpyd6f6cq8y2p78n1lmgqhrgkm";
+    sha256 = "0g1vknnh88kxc8aaqv3j9wqhq45mm9xxxbn1vcrypj3kk9991hrj";
   };
 
-  buildFlags = "CFLAGS=-Wno-pedantic -Wno-shift-sign-overflow";
+  # Don't use git to determine version
+  buildFlags = ''
+    CFLAGS=-DVERSION=\"${version}\"
+  '';
 
   installPhase = ''
     mkdir -p $out/bin
@@ -19,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Lightweight Virtualization on OS X Based on bhyve";
     homepage = "https://github.com/mist64/xhyve";
-    maintainers = lib.maintainers.lnl7;
+    maintainers = [ lib.maintainers.lnl7 ];
     platforms = lib.platforms.darwin;
   };
 }
diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh
new file mode 100644
index 000000000000..636918992090
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh
@@ -0,0 +1,37 @@
+export NIX_LDFLAGS+=" --build-id"
+export NIX_CFLAGS_COMPILE+=" -ggdb"
+dontStrip=1
+
+fixupOutputHooks+=(_separateDebugInfo)
+
+_separateDebugInfo() {
+    local dst="${debug:-$out}"
+    if [ "$prefix" = "$dst" ]; then return; fi
+
+    dst="$dst/lib/debug/.build-id"
+
+    # Find executables and dynamic libraries.
+    local -a files=($(find "$prefix" -type f -a \( -perm /0100 -o -name "*.so" -o -name "*.so.*" \)))
+
+    local i magic
+    for i in "${files[@]}"; do
+        # Skip non-ELF files.
+        exec 10< "$i"
+        read -n 4 -u 10 magic
+        if [[ "$magic" =~ ELF ]]; then echo FOO; fi
+        exec 10<&-
+
+        # Extract the Build ID. FIXME: there's probably a cleaner way.
+        local id="$(readelf -n "$i" | sed 's/.*Build ID: \([0-9a-f]*\).*/\1/; t; d')"
+        if [ "${#id}" != 40 ]; then
+            echo "could not find build ID of $i, skipping" >&2
+            continue
+        fi
+
+        # Extract the debug info.
+        header "separating debug info from $i (build ID $id)"
+        mkdir -p "$dst/${id:0:2}"
+        objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug"
+        strip --strip-debug "$i"
+    done
+}
diff --git a/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix
index ca50cf8218d8..899efc5443bb 100644
--- a/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix
@@ -8,12 +8,7 @@
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
 stdenv.mkDerivation rec {
-  name = "gnome-shell-${gnome3.version}.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-shell/${gnome3.version}/${name}.tar.xz";
-    sha256 = "00gjdfaznpnspb4jmjc19axiz6snd9drvqmzpq4sw0xh1ysgpncv";
-  };
+  inherit (import ./src.nix fetchurl) name src;
 
   # Needed to find /etc/NetworkManager/VPN
   configureFlags = [ "--sysconfdir=/etc" ];
diff --git a/pkgs/desktops/gnome-3/3.16/core/gnome-shell/src.nix b/pkgs/desktops/gnome-3/3.16/core/gnome-shell/src.nix
new file mode 100644
index 000000000000..782e18e4a9dd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.16/core/gnome-shell/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "gnome-shell-3.16.1";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/gnome-shell/3.16/gnome-shell-3.16.1.tar.xz;
+    sha256 = "9bd9fbb40fb003ae09bebfe29d5b6a569b1fbb4a81c92ac9bada5efb956bf201";
+  };
+}
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 378a8fc8cad2..3522e234fa2a 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchsvn {
     url = http://svn.clozure.com/publicsvn/openmcl/release/1.10/linuxx86/ccl;
     rev = revision;
-    sha256 = "11lmdvzj1mbm7mbr22vjbcrsvinyz8n32a91ms324xqdqpr82ifb";
+    sha256 = "04p77n18cw0bc8i66mp2vfrhlliahrx66lm004a3nw3h0mdk0gd8";
   };
 
   buildInputs = [ gcc glibc m4 ];
diff --git a/pkgs/development/compilers/intercal/default.nix b/pkgs/development/compilers/intercal/default.nix
index d3ecdab9ee3f..f601dc254a43 100644
--- a/pkgs/development/compilers/intercal/default.nix
+++ b/pkgs/development/compilers/intercal/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl
 , pkgconfig
-, bison, flex }:
+, bison, flex
+, makeWrapper }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -14,7 +15,12 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-  [ pkgconfig bison flex ];
+  [ pkgconfig bison flex makeWrapper ];
+
+  # Intercal invokes gcc, so we need an explicit PATH
+  postInstall = ''
+    wrapProgram $out/bin/ick --suffix PATH ':' ${stdenv.cc}/bin
+  '';
 
   meta = {
     description = "The original esoteric programming language";
@@ -33,3 +39,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
+# TODO: investigate if LD_LIBRARY_PATH needs to be set
diff --git a/pkgs/development/compilers/julia/0.3.nix b/pkgs/development/compilers/julia/0.3.nix
index 7f0f263283d8..82b35e2b9b36 100644
--- a/pkgs/development/compilers/julia/0.3.nix
+++ b/pkgs/development/compilers/julia/0.3.nix
@@ -5,11 +5,22 @@
 , libunwind, llvm, readline, utf8proc, zlib
 # standard library dependencies
 , double_conversion, fftwSinglePrec, fftw, glpk, gmp, mpfr, pcre
+# linear algebra
 , openblas, arpack, suitesparse
 }:
 
 with stdenv.lib;
 
+# All dependencies should use the same OpenBLAS.
+let
+  arpack_ = arpack;
+  suitesparse_ = suitesparse;
+in
+let
+  arpack = arpack_.override { inherit openblas; };
+  suitesparse = suitesparse_.override { inherit openblas; };
+in
+
 stdenv.mkDerivation rec {
   pname = "julia";
   version = "0.3.11";
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index bb1bba5d1c6f..0e9184e1c628 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -5,6 +5,18 @@
 }:
 
 let
+
+  /**
+   * The JRE libraries are in directories that depend on the CPU.
+   */
+  architecture =
+    if stdenv.system == "i686-linux" then
+      "i386"
+    else if stdenv.system == "x86_64-linux" then
+      "amd64"
+    else
+      throw "openjdk requires i686-linux or x86_64 linux";
+
   update = "60";
   build = "24";
   baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
@@ -204,6 +216,9 @@ let
       platforms = platforms.linux;
     };
 
-    passthru.home = "${openjdk8}/lib/openjdk";
+    passthru = {
+      inherit architecture;
+      home = "${openjdk8}/lib/openjdk";
+    };
   };
 in openjdk8
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index aad72ad1c122..db3cb7bd3ce7 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -82,7 +82,7 @@ self: super: {
 
   # haddock: No input file(s).
   nats = dontHaddock super.nats;
-  bytestring-builder = dontHaddock super.bytestring-builder;
+  bytestring-builder = dontHaddock (triggerRebuild super.bytestring-builder 1);
 
   # We have time 1.5
   aeson = disableCabalFlag super.aeson "old-locale";
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index 98907da3e421..e5db8a103f62 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -11,13 +11,13 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "${type}heimdal-2015-06-17";
+  name = "${type}heimdal-2015-09-13";
 
   src = fetchFromGitHub {
     owner = "heimdal";
     repo = "heimdal";
-    rev = "be63a2914adcbea7d42d56e674ee6edb4883ebaf";
-    sha256 = "147gv49gmy94y6f0x1vx523qni0frgcp3r7fill0r06rkfgfzc0j";
+    rev = "c81572ab5dcee3062e715b9e25ca7a20f6ec456b";
+    sha256 = "1r60i4v6y5lpll0l2qpn0ycp6q6f1xjg7k1csi547zls8k96yk9s";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig python perl yacc flex ]
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index b4dbbf792efa..b1f81549ef0c 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -8,11 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "1kf8pkwhcssvgzhh6ha1pjjiziwvwmfaali7kaafh6118mcy124b";
   };
 
-  patchPhase = ''
-    sed -i 's,\$(srcdir)/doc/doxyparse.pl,perl $(srcdir)/doc/doxyparse.pl,' Makefile.in
+  patches = [ ./perl-5.22-compat.patch ];
+
+  postPatch = ''
+    patchShebangs doc/doxyparse.pl
   '';
 
-  buildInputs = [ openssl perl ];
+  nativeBuildInputs = [ perl ];
+  buildInputs = [ openssl ];
 
   configureFlags = [ "--with-ssl=${openssl}" "--with-drill" ];
 
diff --git a/pkgs/development/libraries/ldns/perl-5.22-compat.patch b/pkgs/development/libraries/ldns/perl-5.22-compat.patch
new file mode 100644
index 000000000000..ddf711cef5d8
--- /dev/null
+++ b/pkgs/development/libraries/ldns/perl-5.22-compat.patch
@@ -0,0 +1,12 @@
+diff -Naur old/doc/doxyparse.pl new/doc/doxyparse.pl
+--- old/doc/doxyparse.pl	2014-01-11 06:04:41.000000000 +0900
++++ new/doc/doxyparse.pl	2015-08-08 22:29:34.216889652 +0900
+@@ -273,7 +273,7 @@
+ 
+ 	print MAN $MAN_MIDDLE;
+ 
+-	if (defined(@$also)) {
++	if (@$also) {
+ 		print MAN "\n.SH SEE ALSO\n\\fI";
+ 		print MAN join "\\fR, \\fI", @$also;
+ 		print MAN "\\fR.\nAnd ";
diff --git a/pkgs/development/libraries/libabw/default.nix b/pkgs/development/libraries/libabw/default.nix
index 90c5a5fa4290..42abb3d297cb 100644
--- a/pkgs/development/libraries/libabw/default.nix
+++ b/pkgs/development/libraries/libabw/default.nix
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0zi1zj4fpxgpglbbb5n1kg3dmhqq5rpf46lli89r5daavp19iing";
   };
 
+  # Boost 1.59 compatability fix
+  # Attempt removing when updating
+  postPatch = ''
+    sed -i 's,^CPPFLAGS.*,\0 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED,' src/lib/Makefile.in
+  '';
+
   buildInputs = [ boost doxygen gperf pkgconfig librevenge libxml2 perl ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 334c5558e2b1..ec2611e2ac99 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -5,21 +5,21 @@ let
 
   version = "${libVersion}-list-${listVersion}";
 
-  listVersion = "2015-09-07";
+  listVersion = "2015-09-15";
   listSources = fetchFromGitHub {
-    sha256 = "0inpdixg967ibi5f41jq15l6r027lj2y5q0ymlfrp9b29gfay50n";
-    rev = "ee621394b6d863dcc2ff89956d91cdd7d15d8c9d";
+    sha256 = "1rrds3bsnxb2n2ifl0zg6mh1h8nd3h1ba4bz0dznrrlqzfbav0l2";
+    rev = "4f89204a24e99d8a65353cc62d5bc4dea1b2ae31";
     repo = "list";
     owner = "publicsuffix";
   };
 
-  libVersion = "0.8.0";
+  libVersion = "0.9.0";
 
 in stdenv.mkDerivation {
   name = "libpsl-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "0mjnj36igk6w3c0d4k2fqqg1kl6bpnxfrcgcgz1zdw33gfa5gdi7";
+    sha256 = "01vmlmm75jdpfmd546z1yib92nmdqdlqv19ax379p3ys6kgap1sw";
     rev = "libpsl-${libVersion}";
     repo = "libpsl";
     owner = "rockdaboot";
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 2ae5a79b9586..1ae26c48fc21 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-4.5";
+  name = "libtasn1-4.7";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "1nhvnznhg2aqfrfjxc8v008hjlzkh5831jsfahqk89qrw7fbbcw9";
+    sha256 = "1j8iixynchziw1y39lnibyl5h81m4p78w3i4f28q2vgwjgf801x4";
   };
 
   buildInputs = [ perl texinfo ];
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
index c896ecca4728..58326a6fa503 100644
--- a/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -23,10 +23,10 @@ stdenv.mkDerivation {
   FFLAGS = optional openblas.blas64 "-fdefault-integer-8";
 
   meta = {
-    homepage = "http://forge.scilab.org/index.php/p/arpack-ng/";
+    homepage = "http://github.com/opencollab/arpack-ng";
     description = ''
       A collection of Fortran77 subroutines to solve large scale eigenvalue
-      problems
+      problems.
     '';
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.ttuegel ];
diff --git a/pkgs/development/libraries/wavpack/default.nix b/pkgs/development/libraries/wavpack/default.nix
index b205519eea17..074b26e3f3a5 100644
--- a/pkgs/development/libraries/wavpack/default.nix
+++ b/pkgs/development/libraries/wavpack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "wavpack-${version}";
@@ -6,10 +6,20 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  patches = [
+    # backported from
+    # https://github.com/dbry/WavPack/commit/12867b33e2de3e95b88d7cb6f449ce0c5c87cdd5
+    ./wavpack_clang.patch
+  ];
+
   preConfigure = ''
     sed -i '2iexec_prefix=@exec_prefix@' wavpack.pc.in
   '';
 
+  # --disable-asm is required for clang
+  # https://github.com/dbry/WavPack/issues/3
+  configureFlags = lib.optionalString stdenv.cc.isClang "--disable-asm";
+
   src = fetchurl {
     url = "http://www.wavpack.com/${name}.tar.bz2";
     sha256 = "0bmgwcvch3cjcivk7pyasqysj0s81wkg40j3zfrcd7bl0qhmqgn6";
diff --git a/pkgs/development/libraries/wavpack/wavpack_clang.patch b/pkgs/development/libraries/wavpack/wavpack_clang.patch
new file mode 100644
index 000000000000..dfbe47181431
--- /dev/null
+++ b/pkgs/development/libraries/wavpack/wavpack_clang.patch
@@ -0,0 +1,25 @@
+diff -ru -x '*~' wavpack-4.75.0_orig/src/wavpack_local.h wavpack-4.75.0/src/wavpack_local.h
+--- wavpack-4.75.0_orig/src/wavpack_local.h	2015-05-21 06:50:26.000000000 +0900
++++ wavpack-4.75.0/src/wavpack_local.h	2015-09-14 21:48:09.000000000 +0900
+@@ -650,9 +650,9 @@
+ void scan_word (WavpackStream *wps, int32_t *samples, uint32_t num_samples, int dir);
+ void update_error_limit (WavpackStream *wps);
+ 
+-const uint32_t bitset [32];
+-const uint32_t bitmask [32];
+-const char nbits_table [256];
++extern const uint32_t bitset [32];
++extern const uint32_t bitmask [32];
++extern const char nbits_table [256];
+ 
+ int log2s (int32_t value);
+ int32_t exp2s (int log);
+@@ -734,7 +734,7 @@
+ /////////////////////////////////// common utilities ////////////////////////////////////
+ // module: common_utils.c
+ 
+-const uint32_t sample_rates [16];
++extern const uint32_t sample_rates [16];
+ uint32_t WavpackGetLibraryVersion (void);
+ const char *WavpackGetLibraryVersionString (void);
+ uint32_t WavpackGetSampleRate (WavpackContext *wpc);
diff --git a/pkgs/development/libraries/zimlib/default.nix b/pkgs/development/libraries/zimlib/default.nix
new file mode 100644
index 000000000000..c46a950804c5
--- /dev/null
+++ b/pkgs/development/libraries/zimlib/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit, automake, autoconf, libtool, lzma }:
+
+stdenv.mkDerivation {
+  name = "zimlib";
+  version = "20150710";
+  src = fetchgit {
+    url = https://gerrit.wikimedia.org/r/p/openzim.git;
+    rev = "165eab3e154c60b5b6436d653dc7c90f56cf7456";
+    sha256 = "0x0d3rx6zcc8k66nqkacmwdvslrz70h9bliqawzv90ribq3alb0q";
+  };
+  buildInputs = [ automake autoconf libtool lzma ];
+  setSourceRoot = "cd openzim-*/zimlib; export sourceRoot=`pwd`";
+  preConfigurePhases = [ "./autogen.sh" ];
+
+  meta = {
+    description = "Library for reading and writing ZIM files (file format for storing Web content offline)";
+    homepage =  http://www.openzim.org/wiki/Zimlib;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ robbinch ];
+  };
+}
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index d50822d49491..f90fcb817b18 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.9.1";
+  basename = "gdb-7.10";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "0h5sfg4ndhb8q4fxbq0hdxfjp35n6ih96f6x8yvb418s84x5976d";
+    sha256 = "1a08c9svaihqmz2mm44il1gwa810gmwkckns8b0y0v3qz52amgby";
   };
 
   # I think python is not a native input, but I leave it
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
   configureFlags = with stdenv.lib;
     '' --with-gmp=${gmp} --with-mpfr=${mpfr} --with-system-readline
        --with-expat --with-libexpat-prefix=${expat}
+       --with-separate-debug-dir=/run/current-system/sw/lib/debug
     ''
     + optionalString (target != null) " --target=${target.config}"
     + optionalString (elem stdenv.system platforms.cygwin) "  --without-python";
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 13903b4c7b9b..63b29fccd527 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "global-6.5";
+  name = "global-6.5.1";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "1af6lhwhrpdnigd3707fnk3dd6y53pbc4g0i75xjf0563bdi5zaa";
+    sha256 = "1y34nbazsw2p6r2jhv27z15qvm9mhy5xjchpz8pwps00shkm578f";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/pkgs/development/tools/misc/teensy-loader-cli/default.nix
new file mode 100644
index 000000000000..db86f1a56d6e
--- /dev/null
+++ b/pkgs/development/tools/misc/teensy-loader-cli/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, unzip, libusb, fetchgit }:
+let
+  version = "2.1";
+in
+stdenv.mkDerivation {
+  name = "teensy-loader-cli-${version}";
+  src = fetchgit {
+    url = "git://github.com/PaulStoffregen/teensy_loader_cli.git";
+    rev = "001da416bc362ff24485ff97e3a729bd921afe98";
+    sha256 = "36aed0a725055e36d71183ff57a023993099fdc380072177cffc7676da3c3966";
+  };
+
+  buildInputs = [ unzip libusb ];
+
+  installPhase = ''
+    install -Dm755 teensy_loader_cli $out/bin/teensy-loader-cli
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl3;
+    description = "Firmware uploader for the Teensy microcontroller boards";
+    homepage = http://www.pjrc.com/teensy/;
+    maintainers = with maintainers; [ the-kenny ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/teensy/default.nix b/pkgs/development/tools/misc/teensy/default.nix
deleted file mode 100644
index 9902cd034539..000000000000
--- a/pkgs/development/tools/misc/teensy/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, unzip, libusb }:
-let
-  version = "2.1";
-in
-stdenv.mkDerivation {
-  name = "teensy-loader-${version}";
-  src = fetchurl {
-    url = "http://www.pjrc.com/teensy/teensy_loader_cli.2.1.zip";
-    sha256 = "0iidj3q0l2hds1gaadnwgni4qdgk6r0nv101986jxda8cw6h9zfs";
-  };
-
-  buildInputs = [ unzip libusb ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -v teensy_loader_cli $out/bin/
-  '';
-
-  meta = with stdenv.lib; {
-    license = licenses.gpl3;
-    description = "Firmware uploader for the Teensy microcontroller board";
-    homepage = http://www.pjrc.com/teensy/;
-    maintainers = with maintainers; [ the-kenny ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 4210ba69485f..e9c27629df73 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -85,6 +85,7 @@ rec {
   wombat256           = wombat256-vim; # backwards compat, added 2015-7-8
   yankring            = YankRing;
 
+
   CSApprox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "CSApprox-2013-07-26";
     src = fetchgit {
@@ -163,11 +164,11 @@ rec {
   };
 
   Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2015-08-27";
+    name = "Syntastic-2015-09-15";
     src = fetchgit {
       url = "git://github.com/scrooloose/syntastic";
-      rev = "3c2e7e4ce37bc68b54f23c62efd0be291e6dc450";
-      sha256 = "a293ae35c1960f9f4149bae5c2c676b5db4b9b1ae0f6ef70a91bca8a55e01986";
+      rev = "8164240f6f0aaed2055dae45fc0e5c6f6ec30b3d";
+      sha256 = "51d5d2eb9f1f66784cd85742ebbeb3585835b5c87ddeb64cad21f81d32d262fd";
     };
     dependencies = [];
 
@@ -207,22 +208,22 @@ rec {
   };
 
   The_NERD_tree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_tree-2015-07-30";
+    name = "The_NERD_tree-2015-09-12";
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdtree";
-      rev = "bcf3de4fdffae45fc7c85b6b84a01b37177924aa";
-      sha256 = "969c3d81f85674303fb295c55da6be3339ffa8658ed98cb20f92eb21551da847";
+      rev = "8c7534bc9e1d0c2f18bf94c1440c4ae6b102b5d6";
+      sha256 = "dc71561fed68facebeb4162c909afefbb1f415908e2402f98fa500893b193833";
     };
     dependencies = [];
 
   };
 
   UltiSnips = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "UltiSnips-2015-08-21";
+    name = "UltiSnips-2015-09-15";
     src = fetchgit {
       url = "git://github.com/sirver/ultisnips";
-      rev = "e48d8a28e55e931a3340dae937aa7f66954815ad";
-      sha256 = "8859aeebd30fc48e481ec11ba7f38c2d91ceae979fbc2045969b077e2b0cf124";
+      rev = "ef2c0d6d80d7903bfed4fa0c3a7fe5af5fd0ce55";
+      sha256 = "e6d782830c0465af6f23b96c42c59b0f5eb1bd41376dcae008d0ad54981ce182";
     };
     dependencies = [];
 
@@ -240,11 +241,11 @@ rec {
   };
 
   WebAPI = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "WebAPI-2015-05-14";
+    name = "WebAPI-2015-09-14";
     src = fetchgit {
       url = "git://github.com/mattn/webapi-vim";
-      rev = "6d577e49aeb81b4ede280161ca1e550c9328d098";
-      sha256 = "cb57200ada38ff5388e043075e900d3794020bb6f063a2845c71993e5543862a";
+      rev = "575859ae34175a3bb88371dd65b266d7e8044140";
+      sha256 = "bee247bd833db32386313b8966ba7ae36623606c3e3712d4660de671b626b958";
     };
     dependencies = [];
 
@@ -267,22 +268,11 @@ rec {
   };
 
   commentary = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "commentary-2015-07-27";
+    name = "commentary-2015-09-12";
     src = fetchgit {
       url = "git://github.com/tpope/vim-commentary";
-      rev = "7fb632aab475b1d2560fe18a329742ba3b4725c6";
-      sha256 = "29f8f8a354a749b30b98940c32c09355cd29aa456a9bf83c2d5dc7cc8bc7c8fe";
-    };
-    dependencies = [];
-
-  };
-
-  vim-css-color = buildVimPluginFrom2Nix { # created by nix#NixDerivation 
-    name = "vim-css-color-2015-06-22"; 
-    src = fetchgit { 
-      url = "git://github.com/ap/vim-css-color"; 
-      rev = "ceb028b27eae0550533501b1f02cb512a482ba85"; 
-      sha256 = "d428970699b59b0da89d3cf73be39f62c2751512919fa2773baa241a9f79fccd";
+      rev = "e0f4850d78137a35b9461c530078bd77f39e4dce";
+      sha256 = "64896579a5c682e7da2cce7292cba16c4186a42ff68d0e92143fa7345d28cf0d";
     };
     dependencies = [];
 
@@ -333,11 +323,11 @@ rec {
   };
 
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2015-08-02";
+    name = "fugitive-2015-09-10";
     src = fetchgit {
       url = "git://github.com/tpope/vim-fugitive";
-      rev = "b319b694539017dcd789dc2c42f784a30d7b28b8";
-      sha256 = "88e0ac84a016969cf6231ae3705b931d3ee7d0902417c50d7c1397d80b1534b4";
+      rev = "b7b23001def8d2ae816ff6dd772cd50976189e0e";
+      sha256 = "737def8b596472908509bdfaf8d33111471fb1a2d692133ce16f03548e226672";
     };
     dependencies = [];
 
@@ -365,6 +355,17 @@ rec {
 
   };
 
+  vim-css-color = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-css-color-2015-06-22";
+    src = fetchgit {
+      url = "git://github.com/ap/vim-css-color";
+      rev = "ceb028b27eae0550533501b1f02cb512a482ba85";
+      sha256 = "d428970699b59b0da89d3cf73be39f62c2751512919fa2773baa241a9f79fccd";
+    };
+    dependencies = [];
+
+  };
+
   lushtags = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "lushtags-2013-12-27";
     src = fetchgit {
@@ -398,6 +399,17 @@ rec {
 
   };
 
+  vim-jade = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-jade-2015-07-06";
+    src = fetchgit {
+      url = "git://github.com/digitaltoad/vim-jade";
+      rev = "fb47bb8303e81fc17b4340ccd01a462332f7d90a";
+      sha256 = "c3dde95c01d9e174a9143103e76796d2da40ddb68de9f321fce3f88df312e15a";
+    };
+    dependencies = [];
+
+  };
+
   neco-ghc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "neco-ghc-2015-08-28";
     src = fetchgit {
@@ -421,11 +433,11 @@ rec {
   };
 
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-go-2015-08-12";
+    name = "vim-go-2015-09-14";
     src = fetchgit {
       url = "git://github.com/fatih/vim-go";
-      rev = "5048bdbebcffb296aa60b4c21c44ae8276244539";
-      sha256 = "b2a6dc12a7029a1e19f81fb1ddf009d62847e0958b6b083f6aa39445db3739cd";
+      rev = "73710fe6964c2f366682dba3550e2dcec7831949";
+      sha256 = "e4b83ec0233d1ae1cc4f7fe8dcc7e2dbd10de8fe314ff78045a850082f70b048";
     };
     dependencies = [];
 
@@ -575,11 +587,11 @@ rec {
   };
 
   vim-xkbswitch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-xkbswitch-2015-07-26";
+    name = "vim-xkbswitch-2015-09-04";
     src = fetchgit {
       url = "git://github.com/lyokha/vim-xkbswitch";
-      rev = "eba2979fa3d11dc09d4ef9ef3854926f28b783a4";
-      sha256 = "f51ff00ad6e40ba9f31be18fee5e6f80cf48c51872392a0dafe08477749b74bd";
+      rev = "0d94b5dde9ddfeb6b064e30293b6fb7a4c54b907";
+      sha256 = "d303a6099e684084dfd71bdb08ae2c6dc33ec9c6f68b1115e2be257d7c83ef11";
     };
     dependencies = [];
     patchPhase = ''
@@ -623,11 +635,11 @@ rec {
   };
 
   racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "racer-2015-08-30";
+    name = "racer-2015-09-14";
     src = fetchgit {
       url = "git://github.com/phildawes/racer";
-      rev = "dcebb106b65a083d70d7d87bd7bdf42a72179d96";
-      sha256 = "8efec086c394f574cddf09f7b2dfab5062de897f67110e1097a567e2fecf06b1";
+      rev = "89db6bbca107f8e2cf19d3e5f3fac9cdf48fd7b9";
+      sha256 = "db11ea7e9f71bec60f6dba8ca4c460a98c2b9cc6490ac467280bfea493965f4c";
     };
     dependencies = [];
     buildPhase = ''
@@ -637,22 +649,22 @@ rec {
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neocomplete-vim-2015-08-22";
+    name = "neocomplete-vim-2015-09-15";
     src = fetchgit {
       url = "git://github.com/shougo/neocomplete.vim";
-      rev = "39661033cce39ebd013451b49809e94ade3ba08c";
-      sha256 = "7a1482f44ff7a1fb27273d12023da25028c9fa393e6cbfcf9c417fecdb09f0b2";
+      rev = "f6befdc80f3e61d0d26734e064a84e5a78ee00cc";
+      sha256 = "c5307e5757deca8fe7ea17bf5ee60a89d855c42e2b0ebec5d40bc1dae09fffac";
     };
     dependencies = [];
 
   };
 
   neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-snippets-2015-08-21";
+    name = "neosnippet-snippets-2015-09-07";
     src = fetchgit {
       url = "git://github.com/shougo/neosnippet-snippets";
-      rev = "f72814aee4f8530b0f22ca9fa814e1e6473ba543";
-      sha256 = "934177c1c51e3a386f21b678fceaa46a6ea63c7570ab71afa25f35fe30119777";
+      rev = "7bc1674170670a4c43f7f4fc65e0e396759512ea";
+      sha256 = "87a0c603517ab740b774245ca224235ff03abd1480855f4c2bedccd9acb95d53";
     };
     dependencies = [];
 
@@ -670,22 +682,22 @@ rec {
   };
 
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "unite-vim-2015-08-30";
+    name = "unite-vim-2015-09-15";
     src = fetchgit {
       url = "git://github.com/shougo/unite.vim";
-      rev = "f1aa053aae95e0185c5c9667ecd938c4fc37c2c7";
-      sha256 = "f1cc089cf82d77df73950f8beefe7caa84f77b9ae995be0aa83a3ebd38a5044e";
+      rev = "771f33c201d85602a225045553720d2659bd04e5";
+      sha256 = "ccdde79165ff9dd1c1df1a55b2434b8cb59d9b8242c57f0015802c136d5de89b";
     };
     dependencies = [];
 
   };
 
   vimproc-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimproc-vim-2015-08-29";
+    name = "vimproc-vim-2015-09-15";
     src = fetchgit {
       url = "git://github.com/shougo/vimproc.vim";
-      rev = "a6bd6893749e3cbfb07230f4284c36b2dc2d8179";
-      sha256 = "11473597d678ac45628a8625025cba75945ebce9e5d7eecf20b17901ffb3bf46";
+      rev = "7190c920c29a3612d9144df4cf9527e016362cef";
+      sha256 = "180f6a38959a01014d66470936386c011b0b0cf8e0d84a9d3d2a8362c70454e4";
     };
     dependencies = [];
     buildInputs = [ which ];
@@ -765,11 +777,11 @@ rec {
   };
 
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "youcompleteme-2015-08-31";
+    name = "youcompleteme-2015-09-16";
     src = fetchgit {
       url = "git://github.com/valloric/youcompleteme";
-      rev = "f94b342989deb1a20b5f87ef2a7d30b16a9ff733";
-      sha256 = "0a4d7e30a3ecdb22cb8ffa9bafae8b3bdb160c92ab5e2ce57413f2177e28eedc";
+      rev = "61a5a9b84b8c0c993d63c20c8698b42db4365f60";
+      sha256 = "1adad2e9e21999b4412e613df4861d757712af8650cbb4110d5d374fe249a60e";
     };
     dependencies = [];
     buildInputs = [
@@ -888,11 +900,11 @@ rec {
   };
 
   vim-wakatime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-wakatime-2015-08-28";
+    name = "vim-wakatime-2015-09-07";
     src = fetchgit {
       url = "git://github.com/wakatime/vim-wakatime";
-      rev = "02277aca9907c955e51156ad9685aae75a5da70d";
-      sha256 = "7f6b5b99e47d0cd09d6a9649b7150db70008766ceafea59dc80ba74770ee4507";
+      rev = "39598ddbdbb973cf5e13f1e6e4aabf7664ba0096";
+      sha256 = "0efad3ccbfc3226a071ca3dadf46ae0813eccd4402efd8ad797e4194a5e91411";
     };
     dependencies = [];
     buildInputs = [ python ];
@@ -1333,11 +1345,11 @@ rec {
   };
 
   vim-easy-align = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easy-align-2015-07-20";
+    name = "vim-easy-align-2015-09-16";
     src = fetchgit {
       url = "git://github.com/junegunn/vim-easy-align";
-      rev = "1206c65dcb87488900b5ac193965268f0ce2c574";
-      sha256 = "60de7c9c5b916e6cd9bc9e5bef0a7d2a831a7ab6cf2231b7f7b29017559bc33a";
+      rev = "98e0b493acae87202fba2294550957c9b5902b97";
+      sha256 = "23273a8928d23336982e194ba13e9501e3ccf684dff9ed17988e3e1f16117cf5";
     };
     dependencies = [];
 
@@ -1421,22 +1433,22 @@ rec {
   };
 
   vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-snippets-2015-08-31";
+    name = "vim-snippets-2015-09-14";
     src = fetchgit {
       url = "git://github.com/honza/vim-snippets";
-      rev = "ec99c8c24f541727a648f072a84b9d1ea28f2341";
-      sha256 = "5b1cdefc54959db41458898ebeefeb7d4396fbb9e7e2a5d256c4fd47931e5f07";
+      rev = "93c4b32b4d7c7abd742518bcf92ab93ae4b43d54";
+      sha256 = "8ca82f43c4235838fcadc7c36e8b4feb65507311f0168081990d87432f0de14c";
     };
     dependencies = [];
 
   };
 
   vim-webdevicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-webdevicons-2015-08-28";
+    name = "vim-webdevicons-2015-09-14";
     src = fetchgit {
       url = "git://github.com/ryanoasis/vim-devicons";
-      rev = "2bc50727340bd43fca65d1baa09c36dda71fff6c";
-      sha256 = "3dea4be46ff7e2408d62c0f9a3f5c9fab0fe893e0f343bc4ebb25e1f30801f26";
+      rev = "fec56878c734b608c1fa79952579aa976da2c98b";
+      sha256 = "ecbe3c62c06aaf0c7d3104210f95e95db529368fd58533360ea5041acb3bcdf1";
     };
     dependencies = [];
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 8498053f58cd..ae7e86bc749e 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -69,6 +69,7 @@
 "github:vim-scripts/wombat256.vim"
 "github:wakatime/vim-wakatime"
 "github:wincent/command-t"
+"github:digitaltoad/vim-jade"
 "goyo"
 "matchit.zip"
 "pathogen"
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 0bd76b37d635..b26bc1eb34ad 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.87";
+  version = "3.10.88";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "01lax9c6j2gw33pr7dla1ly1d89970mkbwh2hnmysgzsyh136rvg";
+    sha256 = "0ayz62v46zmbz43zd36a0zpczv4dyjjcyljcfv1p7mgj3fc9fs4z";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index b0b5faaf6827..fb38e32a4b9b 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.51";
+  version = "3.14.52";
   # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1gqsd69cqijff4c4br4ydmcjl226d0yy6vrmgfvy16xiraavq1mk";
+    sha256 = "1sgjxp98wdq4a0044i46970jm2prrgp0xz9jg1q4mfysdz3n3fhv";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index a04680241d6a..917e5d6ffeed 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.6";
+  version = "4.1.7";
   # Remember to update grsecurity!
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1zlr7d5d7rhcbpwsi0svmv0zwj50n6mj6xgfzwwi336f5p26wbci";
+    sha256 = "0g1dnvak0pd03d4miy1025bw64wq71w29a058dzspdr6jcf9qwbn";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index b3c51dc6306e..18e73ae68d45 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -82,10 +82,10 @@ rec {
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "4.1.6";
-      revision  = "201508181953";
+    { kversion  = "4.1.7";
+      revision  = "201509131604";
       branch    = "test";
-      sha256    = "1m227k1wb1q588vkgmngcz86k0wpzan6vra67pcx2478mabm3s89";
+      sha256    = "1frfyi1pkiqc3awri3sr7xv41qxc8m2kb1yhfvj6xkrwb9li2bki";
     };
 
   grsec_fix_path =
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 89a40f93b890..2997c02d26d4 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -2145,10 +2145,47 @@ index 8d171a5..bd0d324 100644
  bool paths_check_timestamp(const char* const* paths, usec_t *paths_ts_usec, bool update);
  
 diff --git a/src/shared/virt.c b/src/shared/virt.c
-index f9c4e67..f10baab 100644
+index f9c4e67..f3104d5 100644
 --- a/src/shared/virt.c
 +++ b/src/shared/virt.c
-@@ -293,8 +293,26 @@ int detect_container(const char **id) {
+@@ -151,7 +151,7 @@ int detect_vm(const char **id) {
+         _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
+         static thread_local int cached_found = -1;
+         static thread_local const char *cached_id = NULL;
+-        const char *_id = NULL;
++        const char *_id = NULL, *_id_cpuid = NULL;
+         int r;
+ 
+         if (_likely_(cached_found >= 0)) {
+@@ -197,10 +197,26 @@ int detect_vm(const char **id) {
+ 
+         /* this will set _id to "other" and return 0 for unknown hypervisors */
+         r = detect_vm_cpuid(&_id);
+-        if (r != 0)
++
++        /* finish when found a known hypervisor other than kvm */
++        if (r < 0 || (r > 0 && !streq(_id, "kvm")))
+                 goto finish;
+ 
++        _id_cpuid = _id;
++
+         r = detect_vm_dmi(&_id);
++
++        /* kvm with and without Virtualbox */
++        if (streq_ptr(_id_cpuid, "kvm")) {
++                if (r > 0 && streq(_id, "oracle"))
++                        goto finish;
++
++                _id = _id_cpuid;
++                r = 1;
++                goto finish;
++        }
++
++        /* information from dmi */
+         if (r != 0)
+                 goto finish;
+ 
+@@ -293,8 +309,26 @@ int detect_container(const char **id) {
  
                  r = read_one_line_file("/run/systemd/container", &m);
                  if (r == -ENOENT) {
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 056f9202df48..60848516155d 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -7,11 +7,11 @@ assert enableMagnet -> lua5_1 != null;
 assert enableMysql -> mysql != null;
 
 stdenv.mkDerivation rec {
-  name = "lighttpd-1.4.35";
+  name = "lighttpd-1.4.37";
 
   src = fetchurl {
     url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
-    sha256 = "18rh7xyx69xbwl20znnjma1dq5fay0ygjjvpn3gaa7dxrir9nghi";
+    sha256 = "1gbri5avg1jv2g585wk0jp53mf9jjdz2py9774mxm8bwarh6ykl0";
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 789aa95b1577..55f77ce0b5dd 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "rethinkdb-${version}";
-  version = "2.0.4";
+  version = "2.1.3";
 
   src = fetchurl {
     url = "http://download.rethinkdb.com/dist/${name}.tgz";
-    sha256 = "19qhia4lfa8a0rzp2v6lnlxp2lf4z4vqhgfxnicfdnx07q4r847i";
+    sha256 = "03w9fq3wcvwy04b3x6zb3hvwar7b9jfbpq77rmxdlgh5w64vvgwd";
   };
 
   preConfigure = ''
@@ -30,14 +30,14 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An open-source distributed database built with love";
     longDescription = ''
-      RethinkDB is built to store JSON documents, and scale to multiple machines with very little
-      effort. It has a pleasant query language that supports really useful queries like table joins
-      and group by, and is easy to setup and learn.
+      RethinkDB is built to store JSON documents, and scale to
+      multiple machines with very little effort. It has a pleasant
+      query language that supports really useful queries like table
+      joins and group by, and is easy to setup and learn.
     '';
-    homepage = http://www.rethinkdb.com;
-    license = stdenv.lib.licenses.agpl3;
-
-    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.all;
+    homepage    = http://www.rethinkdb.com;
+    license     = stdenv.lib.licenses.agpl3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice bluescreen303 ];
   };
 }
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 249e4845bc28..778b3365b478 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -96,6 +96,10 @@ let
     , meta ? {}
     , passthru ? {}
     , pos ? null # position used in error messages and for meta.position
+    , separateDebugInfo ? false
+    , outputs ? [ "out" ]
+    , __impureHostDeps ? []
+    , __propagatedImpureHostDeps ? []
     , ... } @ attrs:
     let
       pos' =
@@ -132,6 +136,13 @@ let
           throwEvalHelp "Broken" "is not supported on ‘${result.system}’"
         else true;
 
+      outputs' =
+        outputs ++
+        (if separateDebugInfo then [ "debug" ] else []);
+
+      buildInputs' = buildInputs ++
+        (if separateDebugInfo then [ ../../build-support/setup-hooks/separate-debug-info.sh ] else []);
+
     in
       assert licenseAllowed attrs;
 
@@ -140,18 +151,11 @@ let
           ["meta" "passthru" "crossAttrs" "pos"
            "__impureHostDeps" "__propagatedImpureHostDeps"])
         // (let
-          buildInputs = attrs.buildInputs or [];
-          nativeBuildInputs = attrs.nativeBuildInputs or [];
-          propagatedBuildInputs = attrs.propagatedBuildInputs or [];
-          propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
-          crossConfig = attrs.crossConfig or null;
-
-          __impureHostDeps = attrs.__impureHostDeps or [];
-          __propagatedImpureHostDeps = attrs.__propagatedImpureHostDeps or [];
-
           # TODO: remove lib.unique once nix has a list canonicalization primitive
-          computedImpureHostDeps           = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs));
-          computedPropagatedImpureHostDeps = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs));
+          computedImpureHostDeps =
+            lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs));
+          computedPropagatedImpureHostDeps =
+            lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs));
         in
         {
           builder = attrs.realBuilder or shell;
@@ -162,10 +166,10 @@ let
           __ignoreNulls = true;
 
           # Inputs built by the cross compiler.
-          buildInputs = if crossConfig != null then buildInputs else [];
+          buildInputs = if crossConfig != null then buildInputs' else [];
           propagatedBuildInputs = if crossConfig != null then propagatedBuildInputs else [];
           # Inputs built by the usual native compiler.
-          nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs else []);
+          nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs' else []);
           propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
             (if crossConfig == null then propagatedBuildInputs else []);
         } // ifDarwin {
@@ -176,7 +180,9 @@ let
             "/bin/sh"
           ];
           __propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
-        }))) (
+        } // (if outputs' != [ "out" ] then {
+          outputs = outputs';
+        } else { })))) (
       {
         # The meta attribute is passed in the resulting attribute set,
         # but it's not part of the actual derivation, i.e., it's not
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 52074db4ba20..a055b87c2631 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation {
-  name = "duply-1.9.1";
+  name = "duply-1.9.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.9.x/duply_1.9.1.tgz";
-    sha256 = "1igg8nc0i1xn8k1xxmphsg019b1yx8ln86hhqm6f4pd565d1rwg5";
+    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.9.x/duply_1.9.2.tgz";
+    sha256 = "1ay50rsr90dcnjncjclzfckqmxxnizmi4jhb5rsybfn0xdj0kz1b";
   };
 
   buildInputs = [ txt2man makeWrapper ];
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index a8ffc634d0e1..fce383dcc9c4 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
+  patches = [ ./gcc5.patch ];
+
   # The contents of this file comes from the Jamtop file from the
   # root of the ArgyllCMS distribution, rewritten to pick up Nixpkgs
   # library paths. When ArgyllCMS is updated, make sure that changes
diff --git a/pkgs/tools/graphics/argyllcms/gcc5.patch b/pkgs/tools/graphics/argyllcms/gcc5.patch
new file mode 100644
index 000000000000..28067455c33e
--- /dev/null
+++ b/pkgs/tools/graphics/argyllcms/gcc5.patch
@@ -0,0 +1,20 @@
+Description: Fix FTBFS with GCC 5
+Author: James Cowgill <james410@cowgill.org.uk>
+Bug-Debian: https://bugs.debian.org/777779
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/icc/icc.h
++++ b/icc/icc.h
+@@ -100,7 +100,11 @@
+ #define CF64PREC "LL"		/* Constant precision specifier */
+ 
+ #ifndef ATTRIBUTE_NORETURN
++#ifdef _MSC_VER
+ # define ATTRIBUTE_NORETURN __declspec(noreturn)
++#else
++# define ATTRIBUTE_NORETURN __attribute__((noreturn))
++#endif
+ #endif
+ 
+ #else  /* !__STDC_VERSION__ */
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 32f6312a798f..e29556faad48 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, makeWrapper, python, perl, zip
-, rtmpdump, nose, mock, pycrypto, substituteAll }:
+, rtmpdump, nose, mock, pycrypto, requests2, substituteAll }:
 
 stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "0.10.2015.08.24";
+  version = "0.20.2015.09.13";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "1w5jknqdlyw60pxx1wmx2xqkp968r9m3xdgm95ls1pjjp0pm047c";
+    sha256 = "07wcjwc6kk0z8s7i3sc2n7zbbkbc2wwiclf3n0h5yk54marixql0";
   };
 
-  pythonPaths = [ pycrypto ];
+  pythonPaths = [ pycrypto requests2 ];
   buildInputs = [ python perl nose mock rtmpdump makeWrapper ] ++ pythonPaths;
   nativeBuildInputs = [ zip ];
 
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index c77e20c24131..ea7ec605e2bf 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, gnutls, pkgconfig, readline, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lftp-4.6.3a";
+  name = "lftp-4.6.4";
 
   src = fetchurl {
     urls = [
       "http://lftp.yar.ru/ftp/${name}.tar.bz2"
       "http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
       ];
-    sha256 = "0846p1z5v997lxaqanj8n1qkv470s8nlhs420kiby67k4j2zl576";
+    sha256 = "0zj0dd6s3nzwdawxjp0xw31ipsa4vzimmg5bzq952q2f29vd0akn";
   };
 
   buildInputs = [ gnutls pkgconfig readline zlib ];
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index 22f833f9bdb6..8e0890ea471c 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -1,21 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "miniupnpc-1.9.20150430";
+  name = "miniupnpc-1.9.20150730";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "0ivnvzla0l2pzmy8s0j8ss0fnpsii7z9scvyl4a13g9k911hgmvn";
+    sha256 = "0156hssql8iaziwba8ag7y39lchrgwcvlhck2d2qak1vznqzlr0x";
     name = "${name}.tar.gz";
   };
 
-  installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
+  doCheck = true;
 
-  postInstall =
-    ''
-      mkdir -p $out/share/man/man3
-      cp man3/miniupnpc.3 $out/share/man/man3/
-    '';
+  installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
 
   meta = {
     homepage = http://miniupnp.free.fr/;
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index f175157c92c8..9ccc91b7bc13 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -2,7 +2,7 @@
 , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl
 , pkgconfig, zlib }:
 
-let version = "0.5.9-96-g4669e7a"; in
+let version = "0.5.9-98-gb3a9f17"; in
 stdenv.mkDerivation {
   name = "netsniff-ng-${version}";
 
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub rec {
     repo = "netsniff-ng";
     owner = repo;
-    rev = "4669e7a1ac2112b0e9ba7c0b865fdedffbb86055";
-    sha256 = "0lnqw2afp2x8nwvvvcfdszxd825bfmhclyp2cvwddmkbwnzbligi";
+    rev = "b3a9f17eb9c7a47e6c4aee3649179b2a54d17eca";
+    sha256 = "05nwi5ksijv42w7km08dhymiyyvcj43b5lrpdf9x5j725l79yqdb";
   };
 
   buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 7db46596eec7..8a301f912b81 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -41,7 +41,9 @@ let
 
     installFlags = "sysconfdir=$(out)/etc";
 
-    doInstallCheck = true;
+    doInstallCheck = false;
+
+    separateDebugInfo = true;
 
     crossAttrs = {
       postUnpack =
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index c814e7094a9f..fbb8f0321ef9 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gtk2, nssTools, pcsclite
 , pkgconfig }:
 
-let version = "4.1.5"; in
+let version = "4.1.6"; in
 stdenv.mkDerivation {
   name = "eid-mw-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "0m2awjfj2vs3aahy1ygrxi7mx12bhr1a621kiiszzai38crpgwbj";
+    sha256 = "006s7093wqmk36mrlakjv89bqddyh599rvmgv0zgsp15vf9160zi";
     rev = "v${version}";
     repo = "eid-mw";
     owner = "Fedict";
diff --git a/pkgs/tools/security/eid-mw/eid-nssdb.in b/pkgs/tools/security/eid-mw/eid-nssdb.in
index 934c0256da78..fc05a20a6758 100644
--- a/pkgs/tools/security/eid-mw/eid-nssdb.in
+++ b/pkgs/tools/security/eid-mw/eid-nssdb.in
@@ -59,6 +59,9 @@ fi
 
 dbdir="sql:$dbdir"
 
+echo "NSS database: $dbdir"
+echo "BEID library: $libfile"
+
 case "$1" in
 add)	echo "Adding $dbentry to database:"
 	modutil -dbdir "$dbdir" -add "$dbentry" -libfile "$libfile" ||
@@ -75,9 +78,6 @@ esac
 
 ret=$?
 
-echo "NSS database: $dbdir"
-echo "BEID library: $libfile"
-
 modutil -dbdir "$dbdir" -list "$dbentry" 2>/dev/null
 
 exit $ret
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 17bb3ac1ca94..a0d99f2b7d70 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, attr, keyutils }:
 
 let
-  version = "0.04.18";
+  version = "0.04.19";
   name = "stress-ng-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    sha256 = "04slzjpjv9kw0glzl3nr9p073shlcgs6aalc6ij9w3h4p7ibn0wh";
+    sha256 = "12qgrr0wd3ppaawn5br0i7q26iy88pxfwg9wiqxf4cav89591syc";
     url = "http://kernel.ubuntu.com/~cking/tarballs/stress-ng/${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/text/ascii/default.nix b/pkgs/tools/text/ascii/default.nix
index 071b93683294..455791645133 100644
--- a/pkgs/tools/text/ascii/default.nix
+++ b/pkgs/tools/text/ascii/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ascii-${version}";
-  version = "3.14";
+  version = "3.15";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/ascii/${name}.tar.gz";
-    sha256 = "1ldwi4cs2d36r1fv3j13cfa8h2pc4yayq5qii91758qqwfzky3kz";
+    sha256 = "0pzzfljg2ijnnys3fzj3f2p288sl5cgk83a2mpcm679pcj5xpqdc";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index 62b696715d9c..61a65b59c9cb 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.59";
+  name = "diffstat-1.60";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/diffstat/${name}.tgz";
-    sha256 = "0w7jvfilbnfa9v3h8j8ipirvrj7n2x5gszfanzxvx748p10i8z96";
+    sha256 = "08q1zckb3q5xpqa17pl14fbi5b64xc0sjbg393ap1bivnhcf8ci0";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2cebcaccb4d8..9abd2802fda9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -424,13 +424,17 @@ let
 
   makeAutostartItem = callPackage ../build-support/make-startupitem { };
 
-  makeInitrd = { contents, compressor ? "gzip -9n", prepend ? [ ] }@args:
-    callPackage ../build-support/kernel/make-initrd.nix args;
+  makeInitrd = { contents, compressor ? "gzip -9n", prepend ? [ ] }:
+    callPackage ../build-support/kernel/make-initrd.nix {
+      inherit contents compressor prepend;
+    };
 
   makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh;
 
-  makeModulesClosure = { kernel, rootModules, allowMissing ? false }@args:
-    callPackage ../build-support/kernel/modules-closure.nix args;
+  makeModulesClosure = { kernel, rootModules, allowMissing ? false }:
+    callPackage ../build-support/kernel/modules-closure.nix {
+      inherit kernel rootModules allowMissing;
+    };
 
   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
 
@@ -473,6 +477,8 @@ let
     deps = [ makeWrapper ];
   } ../build-support/setup-hooks/wrap-gapps-hook.sh;
 
+  separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh;
+
 
   ### TOOLS
 
@@ -3065,7 +3071,7 @@ let
   svnfs = callPackage ../tools/filesystems/svnfs { };
 
   svtplay-dl = callPackage ../tools/misc/svtplay-dl {
-    inherit (pythonPackages) nose mock;
+    inherit (pythonPackages) nose mock requests2;
   };
 
   sysbench = callPackage ../development/tools/misc/sysbench {};
@@ -5746,7 +5752,7 @@ let
 
   tcptrack = callPackage ../development/tools/misc/tcptrack { };
 
-  teensy-loader = callPackage ../development/tools/misc/teensy { };
+  teensy-loader-cli = callPackage ../development/tools/misc/teensy-loader-cli { };
 
   texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { };
   texinfo4 = texinfo413;
@@ -8412,6 +8418,8 @@ let
 
   czmq = callPackage ../development/libraries/czmq { };
 
+  zimlib = callPackage ../development/libraries/zimlib { };
+
   zita-convolver = callPackage ../development/libraries/audio/zita-convolver { };
 
   zita-alsa-pcmi = callPackage ../development/libraries/audio/zita-alsa-pcmi { };
@@ -9665,9 +9673,14 @@ let
   grPackage = opts: recurseIntoAttrs (mkGrsecurity opts).grsecPackage;
 
   # Stable kernels
-  linux_grsec_stable_desktop    = grKernel grFlavors.linux_grsec_stable_desktop;
-  linux_grsec_stable_server     = grKernel grFlavors.linux_grsec_stable_server;
-  linux_grsec_stable_server_xen = grKernel grFlavors.linux_grsec_stable_server_xen;
+  # This is no longer supported. Please see the official announcement on the
+  # grsecurity page. https://grsecurity.net/announce.php
+  linux_grsec_stable_desktop    = throw "No longer supported due to https://grsecurity.net/announce.php. "
+    + "Please use linux_grsec_testing_desktop.";
+  linux_grsec_stable_server     = throw "No longer supported due to https://grsecurity.net/announce.php. "
+    + "Please use linux_grsec_testing_server.";
+  linux_grsec_stable_server_xen = throw "No longer supporteddue to https://grsecurity.net/announce.php. "
+    + "Please use linux_grsec_testing_server_xen.";
 
   # Testing kernels
   linux_grsec_testing_desktop = grKernel grFlavors.linux_grsec_testing_desktop;
@@ -10250,8 +10263,6 @@ let
 
   xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { };
 
-  xf86_video_nouveau = xorg.xf86videonouveau;
-
   xmoto = callPackage ../games/xmoto { };
 
   xorg_sys_opengl = callPackage ../os-specific/linux/opengl/xorg-sys { };
@@ -12428,10 +12439,16 @@ let
     inherit (python34Packages) buildPythonPackage python pyqt5 jinja2 pygments pyyaml pypeg2;
   };
 
+  rabbitvcs = callPackage ../applications/version-management/rabbitvcs {};
+
   rakarrack = callPackage ../applications/audio/rakarrack {
     fltk = fltk13;
   };
 
+  renoise = callPackage ../applications/audio/renoise {
+    demo = false;
+  };
+
   rapcad = callPackage ../applications/graphics/rapcad {};
 
   rapidsvn = callPackage ../applications/version-management/rapidsvn { };
@@ -15033,6 +15050,7 @@ let
   rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02
   speedtest_cli = speedtest-cli;  # added 2015-02-17
   sqliteInteractive = sqlite-interactive;  # added 2014-12-06
+  xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   youtube-dl = pythonPackages.youtube-dl; # added 2015-06-07
   youtubeDL = youtube-dl;  # added 2014-10-26
 
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index af07706e03db..2600fe1b82a6 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -440,6 +440,22 @@ let self = _self // overrides;
     };
   };
 
+  engine-mode = melpaBuild rec {
+    pname = "engine-mode";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "hrs";
+      repo   = "engine-mode";
+      rev    = "v${version}";
+      sha256 = "1dsa3r39ip20ddbw0m9vq8z3r4ahrxvb37adyqi4mbdgyr6fq6sw";
+    };
+
+    meta = {
+      description = "Minor mode for defining and querying search engines through Emacs";
+      license = gpl3Plus;
+    };
+  };
+
   epl = melpaBuild rec {
     pname   = "epl";
     version = "20140823";
@@ -1502,5 +1518,4 @@ let self = _self // overrides;
     meta = { license = gpl3Plus; };
   };
 
-
 }; in self
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 6c80901789c1..83e6988a8c0a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -404,11 +404,11 @@ let self = _self // overrides; _self = with self; {
 
   autobox = pkgs.perlPackages.Autobox;
 
-  Autobox = buildPerlPackage {
-    name = "autobox-2.82";
+  Autobox = buildPerlPackage rec {
+    name = "autobox-2.83";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-2.82.tar.gz;
-      sha256 = "0w008z8ych54czr6drmhqrrvikcfhra6ig3v1fhk36apq64p9k1p";
+      url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/${name}.tar.gz";
+      sha256 = "1i493ss5nr0hp3wncn0s31gyka4r09wx65b8g2f8av2nm4zs70rz";
     };
     propagatedBuildInputs = [ ScopeGuard ];
     meta = {
@@ -512,11 +512,11 @@ let self = _self // overrides; _self = with self; {
     inherit (pkgs) db;
   };
 
-  BHooksEndOfScope = buildPerlPackage {
-    name = "B-Hooks-EndOfScope-0.13";
+  BHooksEndOfScope = buildPerlPackage rec {
+    name = "B-Hooks-EndOfScope-0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.13.tar.gz;
-      sha256 = "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi";
+      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
+      sha256 = "0bllq4077hxbdsh31r3cwpm6mzmc0247rrg1lr7rk7flscif8bhj";
     };
     propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ];
     meta = {
@@ -1839,17 +1839,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ConfigINI = buildPerlPackage {
-    name = "Config-INI-0.020";
+  ConfigINI = buildPerlPackage rec {
+    name = "Config-INI-0.025";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.020.tar.gz;
-      sha256 = "0ef298da75e3a7becd1f358422cea621c5cf0420278aa6a1bdd2dd14efe07bc9";
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "628bf76d5b91f89dde22d4813ec033026ebf71b772bb61ccda909da00c869732";
     };
-    propagatedBuildInputs = [ IOString MixinLinewise ];
+    propagatedBuildInputs = [ MixinLinewise ];
     meta = {
       homepage = https://github.com/rjbs/Config-INI;
       description = "Simple .ini-file format";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -2025,23 +2026,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CPANChanges = buildPerlPackage {
-    name = "CPAN-Changes-0.27";
+  CPANChanges = buildPerlPackage rec {
+    name = "CPAN-Changes-0.400002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRICAS/CPAN-Changes-0.27.tar.gz;
-      sha256 = "14dizyvgzp81hmg0djwnvvkdhqd3bsmms462cj0ai84z221scv1q";
+      url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
+      sha256 = "01eedea90d07468cb58e4a50bfa3bb1d4eeda9073596add1118fc359153abe8d";
     };
     meta = {
       description = "Read and write Changes files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ rycee ];
     };
   };
 
-  CPANMeta = buildPerlPackage {
-    name = "CPAN-Meta-2.142690";
+  CPANMeta = buildPerlPackage rec {
+    name = "CPAN-Meta-2.150005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.142690.tar.gz;
-      sha256 = "495770e22e91e3d2bd04dc364f05061cabacfdce35baa3868bc0c05733d145db";
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
+      sha256 = "04g7cfbx7vi8kqc9pwv7n3z95vimkbv0h7v6p1ky37gzz3nsw66j";
     };
     propagatedBuildInputs = [ ParseCPANMeta CPANMetaYAML CPANMetaRequirements JSONPP ];
     meta = {
@@ -2051,13 +2053,13 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CPANMetaCheck = buildPerlPackage {
-    name = "CPAN-Meta-Check-0.009";
+  CPANMetaCheck = buildPerlPackage rec {
+    name = "CPAN-Meta-Check-0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.009.tar.gz;
-      sha256 = "eb2d43afd1da276e4acdebd24937f5171d0aaca8d19a5ef0c3e834b8792b7361";
+      url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
+      sha256 = "1rymh4l6sdh8l1q2q25lncmi4afbh2il0bpk8gxmd13qmjidjk2b";
     };
-    buildInputs = [ TestDeep ];
+    buildInputs = [ TestDeep ModuleMetadata ];
     propagatedBuildInputs = [ CPANMeta CPANMetaRequirements ];
     meta = {
       description = "Verify requirements in a CPAN::Meta object";
@@ -3521,7 +3523,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.021.tar.gz;
       sha256 = "665c48de1c7c33e9b00e8ddc0204d02b45009e60b9b65033fa4a832dfe9fc808";
     };
-    buildInputs = [ DistCheckConflicts DistZilla JSON ModuleBuildTiny PathClass TestCheckDeps TestWarnings ];
+    buildInputs = [ DistCheckConflicts DistZilla JSON ModuleBuildTiny PathClass TestCheckDeps TestWarnings ModuleMetadata ];
     propagatedBuildInputs = [ DataSection DistCheckConflicts DistZilla Moose PathTiny SubExporterForMethods namespaceautoclean ModuleCoreList ];
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Compile/;
@@ -4731,17 +4733,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  GetoptLongDescriptive = buildPerlPackage {
-    name = "Getopt-Long-Descriptive-0.093";
+  GetoptLongDescriptive = buildPerlPackage rec {
+    name = "Getopt-Long-Descriptive-0.099";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.093.tar.gz;
-      sha256 = "0iccps0jlcjm68i5yywgs477plfnkc6b2386bzb99blm3jwdfyac";
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "1sf5r3vy7880ynsn2aqmb5p6rzmhq5v072x33g8c7aqjpz81wkgw";
     };
+    buildInputs = [ TestFatal TestWarnings ];
     propagatedBuildInputs = [ ParamsValidate SubExporter SubExporterUtil ];
     meta = {
       homepage = https://github.com/rjbs/Getopt-Long-Descriptive;
       description = "Getopt::Long, but simpler and more powerful";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ rycee ];
     };
   };
 
@@ -6440,11 +6444,11 @@ let self = _self // overrides; _self = with self; {
     NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp";
   };
 
-  MathBigRat = buildPerlPackage {
-    name = "Math-BigRat-0.2606";
+  MathBigRat = buildPerlPackage rec {
+    name = "Math-BigRat-0.260801";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigRat-0.2606.tar.gz;
-      sha256 = "a69506468dd3067249e6ba9ce35eb9d5509471d939c1efae8283cbd038ca7e28";
+      url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
+      sha256 = "0ghzz7qzfvp70ywvb2vnvr06l62sx1bcjbrjyara0pmqdnvpysar";
     };
     meta = {
       description = "Arbitrary big rational numbers";
@@ -6649,17 +6653,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MixinLinewise = buildPerlPackage {
-    name = "Mixin-Linewise-0.004";
+  MixinLinewise = buildPerlPackage rec {
+    name = "Mixin-Linewise-0.108";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.004.tar.gz;
-      sha256 = "7a50d171850d3e0dde51e041eecd40abc68396ea822baa4381951a7710833dd9";
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "7df20678474c0973930a472b0c55e3f8e85b7790b68ab18ef618f9c453c8aef2";
     };
-    propagatedBuildInputs = [ IOString SubExporter ];
+    propagatedBuildInputs = [ PerlIOutf8_strict SubExporter ];
     meta = {
       homepage = https://github.com/rjbs/mixin-linewise;
       description = "Write your linewise code for handles; this does the rest";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -6851,10 +6856,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleMetadata = buildPerlPackage rec {
-    name = "Module-Metadata-1.000019";
+    name = "Module-Metadata-1.000027";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz";
-      sha256 = "0m755qn44nasbaj578628jgdqg0k4ldyn6fm3880hdi1q16skz2s";
+      sha256 = "1rrjj48vvv3i1jrmw97i4mvsmknll7hxga4cq2s9qvc2issdrxz2";
     };
     propagatedBuildInputs = [ version ];
   };
@@ -7024,7 +7029,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/E/ET/ETHER/Moose-2.1213.tar.gz;
       sha256 = "0f3b196ae67dc1daaa43c44ae7703f27c4f92c391ad3e252a90e90c50c851e03";
     };
-    buildInputs = [ CPANMetaCheck CPANMetaRequirements DistCheckConflicts TestCleanNamespaces TestFatal TestRequires ];
+    buildInputs = [ CPANMetaCheck CPANMetaRequirements DistCheckConflicts TestCleanNamespaces TestFatal TestRequires ModuleMetadata ];
     propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DevelStackTrace DistCheckConflicts EvalClosure ListMoreUtils MROCompat ModuleRuntime ModuleRuntimeConflicts PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
     meta = {
       homepage = http://moose.perl.org/;
@@ -7184,23 +7189,23 @@ let self = _self // overrides; _self = with self; {
       license = "perl";
     };
   };
-  
+
   MouseXGetOpt = buildPerlModule {
-    name = "mousex-getopt-0.35";
+    name = "mousex-getopt-0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/mousex-getopt-0.35.tar.gz;
-      sha256 = "5abe243a1ab05d64562358604de1d31d36994414c5c5eaeac688897129d2f9ae";
+      url = mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.36.tar.gz;
+      sha256 = "172ab0609f1638c6d8800d2dff1bdaa044e305aaa2e9b1fbb8a9dc722a3bf430";
     };
-    buildInputs = [ Mouse MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
+    buildInputs = [ MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
     propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
     meta = {
       homepage = https://github.com/gfx/mousex-getopt;
       description = "A Mouse role for processing command line options";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.rycee ];
     };
   };
 
-
   MooseXAttributeChained = buildPerlModule rec {
     name = "MooseX-Attribute-Chained-1.0.1";
     src = fetchurl {
@@ -7284,11 +7289,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  MooseXGetopt = buildPerlPackage {
-    name = "MooseX-Getopt-0.65";
+  MooseXGetopt = buildPerlPackage rec {
+    name = "MooseX-Getopt-0.68";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.65.tar.gz;
-      sha256 = "c07c2b7312c471bf2d331025c0ad6cc02068633eda1e208cbdb5511ef5da7fda";
+      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
+      sha256 = "acb5118b4666352e58d4268040869d7dc2b68968fe26b5dd6715f51ebd784483";
     };
     buildInputs = [ CPANMeta ModuleBuildTiny ModuleRuntime Moose PathTiny TestDeep TestFatal TestRequires TestTrap TestWarnings if_ ];
     propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized TryTiny namespaceautoclean ];
@@ -7296,6 +7301,7 @@ let self = _self // overrides; _self = with self; {
       homepage = https://github.com/moose/MooseX-Getopt;
       description = "A Moose role for processing command line options";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -7337,7 +7343,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.10.tar.gz;
       sha256 = "a555f80c0e91bc428f040015f00dd98f3c022704ec089516b9b3507f3d437090";
     };
-    buildInputs = [ TestCheckDeps TestFatal ];
+    buildInputs = [ TestCheckDeps TestFatal ModuleMetadata ];
     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
     meta = {
       homepage = https://github.com/karenetheridge/moosex-lazyrequire;
@@ -7367,7 +7373,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.28.tar.gz;
       sha256 = "0srk85z6py9brw1jfvacd76y6219wycq3dj0wackbkmmbq04ln0g";
     };
-    buildInputs = [ namespaceautoclean TestCheckDeps TestException ];
+    buildInputs = [ namespaceautoclean TestCheckDeps TestException ModuleMetadata ];
     propagatedBuildInputs = [ Moose MooseXTypes namespaceautoclean ];
     meta = {
       homepage = https://github.com/karenetheridge/moosex-methodattributes;
@@ -7450,7 +7456,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.13.tar.gz;
       sha256 = "01mqpvbz7yw993918hgp72vl22i6mgicpq5b3zrrsp6vl8sqj2sw";
     };
-    buildInputs = [ TestCheckDeps TestNoWarnings ];
+    buildInputs = [ TestCheckDeps TestNoWarnings ModuleMetadata];
     propagatedBuildInputs = [ aliased Moose namespaceautoclean namespaceclean ];
     meta = {
       homepage = http://metacpan.org/release/MooseX-Role-WithOverloading;
@@ -7632,7 +7638,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.006.tar.gz;
       sha256 = "0260c6fbbf84d411b145238ffd92a73f754bd92434448d9f78798fba0a2dfdd6";
     };
-    buildInputs = [ Filepushd ModuleBuildTiny TestCheckDeps TestFatal ];
+    buildInputs = [ Filepushd ModuleBuildTiny TestCheckDeps TestFatal ModuleMetadata ];
     propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesStringlike PathTiny ];
     meta = {
       homepage = https://github.com/karenetheridge/moosex-types-path-tiny;
@@ -9063,18 +9069,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  PodWeaver = buildPerlPackage {
-    name = "Pod-Weaver-4.004";
+  PodWeaver = buildPerlPackage rec {
+    name = "Pod-Weaver-4.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.004.tar.gz;
-      sha256 = "0hw500qkbmnwm385za5x7ypijx0lqk8cfc9jq232v95ka0hqcg29";
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "d801cbfaff22d418943d0c5dcb8c145b8cc4d56741f9c33923ef891241116ad6";
     };
     buildInputs = [ PPI SoftwareLicense TestDifferences ];
-    propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli Moose MooseAutobox ParamsUtil PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
+    propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli MixinLinewise ModuleRuntime Moose ParamsUtil PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
     meta = {
       homepage = https://github.com/rjbs/pod-weaver;
       description = "Weave together a Pod document from an outline";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -9086,14 +9093,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  Readonly = buildPerlPackage rec {
-    name = "Readonly-1.03";
+  Readonly = buildPerlModule rec {
+    name = "Readonly-2.00";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RO/ROODE/${name}.tar.gz";
-      sha256 = "1shkyxajh6l87nif47ygnfxjwvqf3d3kjpdvxaff4957vqanii2k";
+      url = "mirror://cpan/authors/id/S/SA/SANKO/${name}.tar.gz";
+      sha256 = "9bd0156e958842fdfd6c3bb27a23b47232d4737a407d81fabc4dc64b9363bf98";
     };
     meta = {
-      platforms = stdenv.lib.platforms.linux;
+      homepage = https://github.com/sanko/readonly;
+      description = "Facility for creating read-only scalars, arrays, hashes";
+      platforms = stdenv.lib.platforms.unix;
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ rycee ];
     };
   };
 
@@ -10421,7 +10432,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.006.tar.gz;
       sha256 = "774c1455566d11746118fd95305d1dbd111af86eac78058918e72468c43d9bcb";
     };
-    buildInputs = [ ModuleBuildTiny ];
+    buildInputs = [ ModuleBuildTiny ModuleMetadata ];
     propagatedBuildInputs = [ CPANMetaCheck ];
     meta = {
       description = "Check for presence of dependencies";
@@ -11588,14 +11599,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-
   Throwable = buildPerlPackage rec {
-    name = "Throwable-0.200010";
+    name = "Throwable-0.200013";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0qhq1f5bvgf5kjhmdg45vadq8dbc9gfms81hply5c6a71nmkv8yp";
+      sha256 = "184gdcwxqwnkrx5md968v1ny70pq6blzpkihccm3bpdxnpgd11wr";
+    };
+    buildInputs = [ DevelStackTrace ];
+    propagatedBuildInputs = [ DevelStackTrace ModuleRuntime Moo ];
+    meta = {
+      homepage = https://github.com/rjbs/Throwable;
+      description = "A role for classes that can be thrown";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.rycee ];
     };
-    propagatedBuildInputs = [ DevelStackTrace Moose Moo MooXTypesMooseLike ];
   };
 
   TieCycle = buildPerlPackage rec {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index da228a368847..aa7932109c63 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7704,11 +7704,11 @@ let
 
 
   libcloud = buildPythonPackage (rec {
-    name = "libcloud-0.14.1";
+    name = "libcloud-0.18.0";
 
     src = pkgs.fetchurl {
-      url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.14.1.tar.bz2;
-      sha256 = "1l6190pjv54c7y8pzr089ij727qv7bqhhaznr2mkvimgr1wzsql5";
+      url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.18.0.tar.bz2;
+      sha256 = "0ahdp14ddly074qg5cksxdhqaws0kj445xmhz1y7lzspsp6fk1xg";
     };
 
     buildInputs = with self; [ mock ];
@@ -11546,27 +11546,16 @@ let
 
   pyparted = buildPythonPackage rec {
     name = "pyparted-${version}";
-    version = "3.10";
+    version = "3.10.7";
     disabled = isPyPy;
 
     src = pkgs.fetchurl {
-      url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz";
-      sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv";
+      url = "https://github.com/rhinstaller/pyparted/archive/v${version}.tar.gz";
+      sha256 = "0c9ljrdggwawd8wdzqqqzrna9prrlpj6xs59b0vkxzip0jkf652r";
     };
 
-    patches = singleton (pkgs.fetchurl {
-      url = "https://www.redhat.com/archives/pyparted-devel/"
-          + "2014-April/msg00000.html";
-      postFetch = ''
-        sed -i -ne '/<!--X-Body-of-Message-->/,/<!--X-Body-of-Message-End-->/ {
-          s/^<[^>]*>//; /^$/!p
-        }' "$downloadedFile"
-      '';
-      sha256 = "1lakhz3nvx0qacn90bj1nq13zqxphiw4d9dsc44gwa8nj24j2zws";
-    });
-
     postPatch = ''
-      sed -i -e 's|/sbin/mke2fs|${pkgs.e2fsprogs}&|' tests/baseclass.py
+      sed -i -e 's|mke2fs|${pkgs.e2fsprogs}/bin/mke2fs|' tests/baseclass.py
       sed -i -e '
         s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path|
       ' tests/test__ped_ped.py
@@ -14105,7 +14094,7 @@ let
 
   sqlalchemy = self.sqlalchemy9.override rec {
     name = "SQLAlchemy-0.7.10";
-    disabled = isPy34;
+    disabled = isPy34 || isPy35;
     doCheck = !isPyPy;
 
     src = pkgs.fetchurl {
@@ -14124,7 +14113,7 @@ let
 
   sqlalchemy8 = self.sqlalchemy9.override rec {
     name = "SQLAlchemy-0.8.7";
-    disabled = isPy34;
+    disabled = isPy34 || isPy35;
     doCheck = !isPyPy;
 
     src = pkgs.fetchurl {
@@ -17150,7 +17139,7 @@ let
   IMAPClient = buildPythonPackage rec {
     name = "IMAPClient-${version}";
     version = "0.11";
-    disabled = isPy34;
+    disabled = isPy34 || isPy35;
 
     src = pkgs.fetchurl {
       url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz";