summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE.md16
-rw-r--r--nixos/doc/manual/installation/installing-usb.xml16
-rw-r--r--nixos/modules/config/pulseaudio.nix28
-rw-r--r--nixos/modules/services/backup/crashplan.nix2
-rw-r--r--nixos/modules/services/system/dbus.nix24
-rw-r--r--pkgs/applications/backup/crashplan/default.nix8
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-25/builder.sh2
-rw-r--r--pkgs/applications/editors/vscode/default.nix101
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch54
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/linux-headers.patch86
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/psimedia.nix27
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix10
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix10
-rw-r--r--pkgs/applications/science/logic/picosat/default.nix10
-rw-r--r--pkgs/applications/video/kodi/plugins.nix6
-rw-r--r--pkgs/development/compilers/abc/default.nix38
-rw-r--r--pkgs/development/interpreters/elixir/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix10
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix17
-rw-r--r--pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix2
-rw-r--r--pkgs/development/tools/misc/distcc/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix2
-rw-r--r--pkgs/tools/admin/salt/default.nix51
-rw-r--r--pkgs/tools/admin/salt/fix-libcrypto-loading.patch11
-rw-r--r--pkgs/tools/admin/salt/testing.nix24
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix17
-rw-r--r--pkgs/top-level/go-packages.nix8
-rw-r--r--pkgs/top-level/perl-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix4
-rw-r--r--pkgs/top-level/rust-packages.nix6
37 files changed, 359 insertions, 286 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index 327959fe7a3..5d99147051f 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -1,17 +1,13 @@
-## Basic info
+## Issue description
 
-To make sure that we are on the same page:
 
-* Kernel: (run `uname -a`)
-* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
-* Nix version: (run `nix-env --version`)
-* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
 
-## Describe your issue here
+### Steps to reproduce
 
-### Expected result
 
-### Actual result
 
-### Steps to reproduce
+## Technical details
 
+* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
+* Nix version: (run `nix-env --version`)
+* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml
index 5def6e8753f..a4b5dafbed1 100644
--- a/nixos/doc/manual/installation/installing-usb.xml
+++ b/nixos/doc/manual/installation/installing-usb.xml
@@ -7,10 +7,18 @@
 <title>Booting from a USB Drive</title>
 
 <para>For systems without CD drive, the NixOS live CD can be booted from
-a USB stick. For non-UEFI installations,
-<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>
-will work. For UEFI installations, you should mount the ISO, copy its contents
-verbatim to your drive, then either:
+a USB stick. You can use the <command>dd</command> utility to write the image:
+<command>dd if=<replaceable>path-to-image</replaceable>
+of=<replaceable>/dev/sdb</replaceable></command>. Be careful about specifying the
+correct drive; you can use the <command>lsblk</command> command to get a list of
+block devices.</para>
+
+<para>The <command>dd</command> utility will write the image verbatim to the drive,
+making it the recommended option for both UEFI and non-UEFI installations. For
+non-UEFI installations, you can alternatively use
+<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>. If you
+cannot use <command>dd</command> for a UEFI installation, you can also mount the
+ISO, copy its contents verbatim to your drive, then either:
 
 <itemizedlist>
   <listitem>
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 179e826ba05..8b4ad796d0d 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -150,6 +150,29 @@ in {
         target = "pulse/default.pa";
         source = cfg.configFile;
       };
+
+      systemd.user = {
+        services.pulseaudio = {
+          description = "PulseAudio Server";
+          # NixOS doesn't support "Also" so we bring it in manually
+          wantedBy = [ "default.target" ];
+          serviceConfig = {
+            Type = "notify";
+            ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no";
+            Restart = "on-failure";
+          };
+        };
+
+        sockets.pulseaudio = {
+          description = "PulseAudio Socket";
+          wantedBy = [ "sockets.target" ];
+          socketConfig = {
+            Priority = 6;
+            Backlog = 5;
+            ListenStream = "%t/pulse/native";
+          };
+        };
+      };
     })
 
     (mkIf systemWide {
@@ -171,8 +194,9 @@ in {
         before = [ "sound.target" ];
         environment.PULSE_RUNTIME_PATH = stateDir;
         serviceConfig = {
-          ExecStart = "${cfg.package}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}";
-          PIDFile = "${stateDir}/pid";
+          Type = "notify";
+          ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}";
+          Restart = "on-failure";
         };
       };
     })
diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix
index 46d4c5192d9..94aa3b17b66 100644
--- a/nixos/modules/services/backup/crashplan.nix
+++ b/nixos/modules/services/backup/crashplan.nix
@@ -50,7 +50,7 @@ with lib;
         ensureDir ${crashplan.vardir}/log 777
         cp -avn ${crashplan}/conf.template/* ${crashplan.vardir}/conf
         for x in app.asar bin EULA.txt install.vars lang lib libjniwrap64.so libjniwrap.so libjtux64.so libjtux.so libmd564.so libmd5.so share skin upgrade; do
-          if [ -e $x ]; then
+          if [ -e ${crashplan.vardir}/$x ]; then
             true;
           else
             ln -s ${crashplan}/$x ${crashplan.vardir}/$x;
diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix
index 77427ce9606..ba34eb25169 100644
--- a/nixos/modules/services/system/dbus.nix
+++ b/nixos/modules/services/system/dbus.nix
@@ -139,6 +139,30 @@ in
 
     systemd.services.dbus.restartTriggers = [ configDir ];
 
+    systemd.user = {
+      services.dbus = {
+        description = "D-Bus User Message Bus";
+        requires = [ "dbus.socket" ];
+        # NixOS doesn't support "Also" so we pull it in manually
+        # As the .service is supposed to come up at the same time as
+        # the .socket, we use basic.target instead of default.target
+        wantedBy = [ "basic.target" ];
+        serviceConfig = {
+          ExecStart = "${pkgs.dbus_daemon}/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation";
+          ExecReload = "${pkgs.dbus_daemon}/bin/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig";
+        };
+      };
+
+      sockets.dbus = {
+        description = "D-Bus User Message Bus Socket";
+        socketConfig = {
+          ListenStream = "%t/bus";
+          ExecStartPost = "-${config.systemd.package}/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus";
+        };
+        wantedBy = [ "sockets.target" ];
+      };
+    };
+
     environment.pathsToLink = [ "/etc/dbus-1" "/share/dbus-1" ];
 
   };
diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix
index e89de9b4c6a..b9566e9c535 100644
--- a/pkgs/applications/backup/crashplan/default.nix
+++ b/pkgs/applications/backup/crashplan/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
 
-let version = "4.6.0";
+let
+  version = "4.6.0";
+  rev = "2"; #tracks unversioned changes that occur on download.code42.com from time to time
 
 in stdenv.mkDerivation rec {
-  name = "crashplan-${version}";
+  name = "crashplan-${version}-r${rev}";
 
   crashPlanArchive = fetchurl {
     url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
-    sha256 = "0h9zk6i1pdvl101c8l4v4x6i7q4wkmkqp2dkm0lq7ha96lrvac47";
+    sha256 = "13rmmdj048r8k4v7ig4i6pnvwyzc1vasfgksf070bx6ksklgbq47";
   };
 
   srcs = [ crashPlanArchive ];
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index c6083a89f6c..33813ca3a66 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -16,11 +16,11 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "0g31kw4daysjp4iz1rxlh64hnqxbn561k41n908pxgc7kjwbl2hj";
+    sha256 = "1kl2pc0smacn4lgk5wwlaiw03rm8b0763vaisgp843p35zzsbc9n";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/emacs-25/builder.sh b/pkgs/applications/editors/emacs-25/builder.sh
index 984a61df6f3..545520cca7c 100644
--- a/pkgs/applications/editors/emacs-25/builder.sh
+++ b/pkgs/applications/editors/emacs-25/builder.sh
@@ -5,6 +5,8 @@ source $stdenv/setup
 # *our* versions, not the ones found in the system, as it would do by default.
 # On other platforms, this appears to be unnecessary.
 preConfigure() {
+    ./autogen.sh
+
     for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
         substituteInPlace $i --replace /bin/pwd pwd
     done
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
new file mode 100644
index 00000000000..64b46c2ac6e
--- /dev/null
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -0,0 +1,101 @@
+{ callPackage, stdenv, fetchurl, makeWrapper
+, jq, xlibs, gtk, python, nodejs
+, ...
+} @ args:
+
+let
+  electron = callPackage ../../../development/tools/electron/default.nix (args // rec {
+    version = "0.35.6";
+    sha256 = "1bwn14769nby04zkza9jphsya2p6fjnkm1k2y4h5y2l4gnqdvmx0";
+  });
+in
+  stdenv.mkDerivation rec {
+    name = "vscode-${version}";
+    version = "0.10.10";
+
+    src = fetchurl {
+      url = "https://github.com/Microsoft/vscode/archive/${version}.tar.gz";
+      sha256 = "1mzkip6621111xwwksqjad1kgpbhna4dhpkf6cnj2r18dkk2jmcw";
+    };
+
+    buildInputs = [ makeWrapper jq xlibs.libX11 xlibs.xproto gtk python nodejs electron ];
+
+    extensionGalleryJSON = ''
+      {
+        \"extensionsGallery\": {
+          \"serviceUrl\": \"https://marketplace.visualstudio.com/_apis/public/gallery\",
+          \"cacheUrl\": \"https://vscode.blob.core.windows.net/gallery/index\",
+          \"itemUrl\": \"https://marketplace.visualstudio.com/items\"
+        }
+      }
+    '';
+
+    configurePhase = ''
+      # PATCH SCRIPT SHEBANGS
+      echo "PATCH SCRIPT SHEBANGS"
+      patchShebangs ./scripts
+
+      # ADD EXTENSION GALLERY URLS TO APPLICATION CONFIGURATION
+      echo "AUGMENT APPLICATION CONFIGURATION"
+      echo "$(cat ./product.json) ${extensionGalleryJSON}" | jq -s add  > tmpFile && \
+        mv tmpFile ./product.json
+    '';
+
+    buildPhase  = ''
+      # BUILD COMPILE- & RUN-TIME DEPENDENCIES
+      echo "BUILD COMPILE- & RUN-TIME DEPENDENCIES"
+      mkdir -p ./tmp
+      HOME=./tmp ./scripts/npm.sh install
+
+      # COMPILE SOURCES
+      echo "COMPILE SOURCES"
+      ./node_modules/.bin/gulp
+    '';
+
+    doCheck = true;
+    checkPhase = ''
+      # CHECK APPLICATION
+      echo "CHECK APPLICATION"
+      ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 ${electron}/bin/electron ./node_modules/.bin/_mocha
+    '';
+
+    installPhase = ''
+      # PRUNE COMPILE-TIME DEPENDENCIES
+      echo "PRUNE COMPILE-TIME DEPENDENCIES"
+      npm prune --production
+
+      # COPY FILES NEEDED FOR RUNNING APPLICATION TO OUT DIRECTORY
+      echo "COPY FILES NEEDED FOR RUNNING APPLICATION TO OUT DIRECTORY"
+      mkdir -p "$out"
+      cp -R ./.vscode "$out"/.vscode
+      cp -R ./extensions "$out"/extensions
+      cp -R ./out "$out"/out
+      cp -R ./node_modules "$out"/node_modules
+      cp ./package.json "$out"/package.json
+      cp ./product.json "$out"/product.json
+      cp ./tslint.json "$out"/tslint.json
+      # COPY LEGAL STUFF
+      cp ./LICENSE.txt "$out"/LICENSE.txt
+      cp ./OSSREADME.json "$out"/OSSREADME.json
+      cp ./ThirdPartyNotices.txt "$out"/ThirdPartyNotices.txt
+
+      # CREATE RUNNER SCRIPT
+      echo "CREATE RUNNER SCRIPT"
+      mkdir -p "$out"/bin
+      makeWrapper "${electron}/bin/electron" "$out/bin/vscode" \
+      --set VSCODE_DEV 1 \
+      --add-flags "$out"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.";
+      longDescription = ''
+        Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.
+        It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
+        It is also customizable, so users can change the editor's theme, keyboard shortcuts, and preferences.
+      '';
+      homepage = http://code.visualstudio.com/;
+      license = licenses.mit;
+      platforms = [ "x86_64-linux" ];
+    };
+  }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index e66f260af96..bae4c83fb2b 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.53.0";
+  version = "2.54.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "0rvfh39a6j5r398p6xzrbzvhxapm1iyhc0d46xk5fwa52kscadhz";
+    sha256 = "1r2cxnqiqnx51gbw283z8lz58i9zpvbf0a5ncrg5b2i9bphdiq79";
   };
 
   inherit python;
diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix
index 784bda5e0cd..7fabfa5f772 100644
--- a/pkgs/applications/networking/instant-messengers/psi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM
-, libICE, qca2, pkgconfig, liboil, speex, callPackage, which, glib
+{ stdenv, fetchurl, enchant, qt4, zlib, sox, libX11, xproto, libSM
+, libICE, qca2, pkgconfig, callPackage, which, glib
 , libXScrnSaver, scrnsaverproto
 }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ aspell qt4 zlib sox libX11 xproto libSM libICE
+    [ enchant qt4 zlib sox libX11 xproto libSM libICE
       qca2 pkgconfig which glib scrnsaverproto libXScrnSaver
     ];
 
@@ -20,20 +20,8 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS="-lqca";
 
-  psiMedia = callPackage ./psimedia.nix { };
-
   enableParallelBuilding = true;
 
-  configureFlags = [
-    "--with-aspell-inc=${aspell}/include"
-    ];
-
-  postInstall = ''
-    PSI_PLUGINS="$out/lib/psi/plugins"
-    mkdir -p "$PSI_PLUGINS"
-    ln -s "${psiMedia}"/share/psi/plugins/*.so "$PSI_PLUGINS"
-  '';
-
   meta = {
     description = "Psi, an XMPP (Jabber) client";
     maintainers = [ stdenv.lib.maintainers.raskin ];
diff --git a/pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch b/pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch
deleted file mode 100644
index 49988c253bd..00000000000
--- a/pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-im/psimedia/files/psimedia-1.0.3-glib2.32.patch?view=log
-
-Index: psimedia-1.0.3/gstprovider/gstcustomelements/gstcustomelements.h
-===================================================================
---- psimedia-1.0.3.orig/gstprovider/gstcustomelements/gstcustomelements.h
-+++ psimedia-1.0.3/gstprovider/gstcustomelements/gstcustomelements.h
-@@ -21,7 +21,7 @@
- #ifndef GSTCUSTOMELEMENTS_H
- #define GSTCUSTOMELEMENTS_H
- 
--#include <glib/gthread.h>
-+#include <glib.h>
- #include <gst/gst.h>
- #include <gst/base/gstpushsrc.h>
- #include <gst/video/video.h>
-Index: psimedia-1.0.3/gstprovider/gstelements/static/gstelements.h
-===================================================================
---- psimedia-1.0.3.orig/gstprovider/gstelements/static/gstelements.h
-+++ psimedia-1.0.3/gstprovider/gstelements/static/gstelements.h
-@@ -21,7 +21,7 @@
- #ifndef PSI_GSTELEMENTS_H
- #define PSI_GSTELEMENTS_H
- 
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
-Index: psimedia-1.0.3/gstprovider/gstthread.h
-===================================================================
---- psimedia-1.0.3.orig/gstprovider/gstthread.h
-+++ psimedia-1.0.3/gstprovider/gstthread.h
-@@ -22,7 +22,7 @@
- #define PSI_GSTTHREAD_H
- 
- #include <QThread>
--#include <glib/gmain.h>
-+#include <glib.h>
- 
- namespace PsiMedia {
- 
-Index: psimedia-1.0.3/gstprovider/rwcontrol.h
-===================================================================
---- psimedia-1.0.3.orig/gstprovider/rwcontrol.h
-+++ psimedia-1.0.3/gstprovider/rwcontrol.h
-@@ -28,7 +28,7 @@
- #include <QMutex>
- #include <QWaitCondition>
- #include <QTimer>
--#include <glib/gmain.h>
-+#include <glib.h>
- #include "psimediaprovider.h"
- #include "rtpworker.h"
- 
diff --git a/pkgs/applications/networking/instant-messengers/psi/linux-headers.patch b/pkgs/applications/networking/instant-messengers/psi/linux-headers.patch
deleted file mode 100644
index a5386b3e111..00000000000
--- a/pkgs/applications/networking/instant-messengers/psi/linux-headers.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-http://pkgs.fedoraproject.org/gitweb/?p=psimedia.git;a=blob_plain;f=psimedia-remove-v4l.patch;hb=HEAD
-
---- a/gstprovider/deviceenum/deviceenum_unix.cpp
-+++ b/gstprovider/deviceenum/deviceenum_unix.cpp
-@@ -35,7 +35,7 @@
- # include <sys/stat.h>
- # include <dirent.h>
- # include <sys/ioctl.h>
--# include <linux/videodev.h>
-+# include <linux/videodev2.h>
- #endif
- 
- namespace DeviceEnum {
-@@ -478,72 +478,7 @@
- // v4l detection scheme adapted from PWLib (used by Ekiga/Gnomemeeting)
- static QList<Item> get_v4l_items()
- {
--#ifdef Q_OS_LINUX
--	QList<Item> out;
--
--	QList<V4LName> list = get_v4l_names("/sys/class/video4linux", true);
--	if(list.isEmpty())
--		list = get_v4l_names("/proc/video/dev", false);
--
--	// if we can't find anything, then do a raw scan for possibilities
--	if(list.isEmpty())
--	{
--		QStringList possible = scan_for_videodevs("/dev");
--		foreach(QString str, possible)
--		{
--			V4LName v;
--			v.dev = str;
--			list += v;
--		}
--	}
--
--	for(int n = 0; n < list.count(); ++n)
--	{
--		V4LName &v = list[n];
--
--		// if we already have a friendly name then we'll skip the confirm
--		//   in order to save resources.  the only real drawback here that
--		//   I can think of is if the device isn't a capture type.  but
--		//   what does it mean to have a V4L device that isn't capture??
--		if(v.friendlyName.isEmpty())
--		{
--			int fd = open(QFile::encodeName(v.dev).data(), O_RDONLY | O_NONBLOCK);
--			if(fd == -1)
--				continue;
--
--			// get video capabilities and close
--			struct video_capability caps;
--			memset(&caps, 0, sizeof(caps));
--			int ret = ioctl(fd, VIDIOCGCAP, &caps);
--			close(fd);
--			if(ret == -1)
--				continue;
--
--			if(!(caps.type & VID_TYPE_CAPTURE))
--				continue;
--
--			v.friendlyName = caps.name;
--		}
--
--		Item i;
--		i.type = Item::Video;
--		i.dir = Item::Input;
--		i.name = v.friendlyName;
--		i.driver = "v4l";
--		i.id = v.dev;
--
--		// HACK
--		if(v.friendlyName == "Labtec Webcam Notebook")
--			i.explicitCaptureSize = QSize(640, 480);
--
--		out += i;
--	}
--
--	return out;
--#else
--	// return empty list if non-linux
- 	return QList<Item>();
--#endif
- }
- 
- static QList<Item> get_v4l2_items()
diff --git a/pkgs/applications/networking/instant-messengers/psi/psimedia.nix b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix
deleted file mode 100644
index aa54053c67f..00000000000
--- a/pkgs/applications/networking/instant-messengers/psi/psimedia.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, qt4, gstreamer, gst_plugins_base, liboil, speex, which
-, glib, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "psimedia-1.0.3";
-
-  src = fetchurl {
-    url = "http://delta.affinix.com/download/psimedia/${name}.tar.bz2";
-    sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781";
-  };
-
-  patches = [ ./glib-2.32.patch ./linux-headers.patch ];
-
-  buildInputs = [ qt4 gstreamer gst_plugins_base liboil speex which glib pkgconfig ];
-
-  configurePhase = ''./configure'';
-
-  postBuild = ''
-    TARGET="$out/share/psi/plugins"
-    mkdir -p "$TARGET"
-    cp gstprovider/*.so "$TARGET"/
-  '';
-
-  meta = {
-    description = "Psi Media, a plugin to provide Voice/Video over XMPP";
-  };
-}
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 8c26bf8d10e..d6b57b6cb0d 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  name = "irssi-0.8.17";
+
+  version = "0.8.19";
+  name = "irssi-${version}";
 
   src = fetchurl {
-    urls = [ "https://distfiles.macports.org/irssi/${name}.tar.bz2"
-             "http://irssi.org/files/${name}.tar.bz2"
-           ];
-    sha256 = "01v82q2pfiimx6lh271kdvgp8hl4pahc3srg04fqzxgdsb5015iw";
+    urls = [ "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz" ];
+    sha256 = "0ny8dry1b8siyc5glaxcwzng0d2mxnwxk74v64f8xplqhrvlnkzy";
   };
 
   buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index 5841fe7c512..8963f8dc01d 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, cmake, qt4, pkgconfig, neon, qtkeychain, sqlite }:
+{ stdenv, fetchurl, cmake, qt4, pkgconfig, qtkeychain, sqlite }:
 
 stdenv.mkDerivation rec {
   name = "owncloud-client" + "-" + version;
 
-  version = "1.7.1";
+  version = "2.1.1";
 
   src = fetchurl {
-    url = "https://download.owncloud.com/desktop/stable/mirall-${version}.tar.bz2";
-    sha256 = "0n9gv97jqval7xjyix2lkywvmvvfv052s0bd1i8kybdl9rwca6yf";
+    url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
+    sha256 = "4e7cfeb72ec565392e7968f352c4a7f0ef2988cc577ebdfd668a3887d320b1cb";
   };
 
   buildInputs =
-    [ cmake qt4 pkgconfig neon qtkeychain sqlite];
+    [ cmake qt4 pkgconfig qtkeychain sqlite];
 
   #configurePhase = ''
   #  mkdir build
diff --git a/pkgs/applications/science/logic/picosat/default.nix b/pkgs/applications/science/logic/picosat/default.nix
index fb5acc64c4d..070664980dc 100644
--- a/pkgs/applications/science/logic/picosat/default.nix
+++ b/pkgs/applications/science/logic/picosat/default.nix
@@ -2,20 +2,18 @@
 
 stdenv.mkDerivation rec {
   name    = "picosat-${version}";
-  version = "960";
+  version = "965";
 
   src = fetchurl {
     url = "http://fmv.jku.at/picosat/${name}.tar.gz";
-    sha256 = "05z8cfjk84mkna5ryqlq2jiksjifg3jhlgbijaq36sbn0i51iczd";
+    sha256 = "0m578rpa5rdn08d10kr4lbsdwp4402hpavrz6n7n53xs517rn5hm";
   };
 
-  dontAddPrefix = true;
-  configureFlags = "--shared";
+  configurePhase = "./configure.sh --shared --trace";
 
   installPhase = ''
    mkdir -p $out/bin $out/lib $out/include/picosat
-   cp picomus "$out"/bin
-   cp picosat "$out"/bin
+   cp picomus picomcs picosat picogcnf "$out"/bin
 
    cp libpicosat.a "$out"/lib
    cp libpicosat.so "$out"/lib
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 0ad638dd705..bb826011e25 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -142,14 +142,14 @@ in
 
     plugin = "svtplay";
     namespace = "plugin.video.svtplay";
-    version = "4.0.23";
+    version = "4.0.24";
 
     src = fetchFromGitHub {
       name = plugin + "-" + version + ".tar.gz";
       owner = "nilzen";
       repo = "xbmc-" + plugin;
-      rev = "80b6d241adb046c105ceb63d637da3f7f3684f1a";
-      sha256 = "1236kanzl4dra78whpwic1r5iifaj3f27qycia9jr54z01id083s";
+      rev = "e66e2af6529e3ffd030ad486c849894a9ffdeb45";
+      sha256 = "01nq6gac83q6ayhqcj1whvk58pzrm1haw801s321f4vc8gswag56";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/abc/default.nix b/pkgs/development/compilers/abc/default.nix
index 1a71b808827..1340e8b5c1a 100644
--- a/pkgs/development/compilers/abc/default.nix
+++ b/pkgs/development/compilers/abc/default.nix
@@ -1,23 +1,6 @@
-{stdenv, fetchurl, javaCup, jre, apacheAnt, patches} :
-
-let { 
-  body =
-    stdenv.mkDerivation {
-      name = "abc-1.2.0";
-      builder = ./builder.sh;
-
-      src = fetchurl {
-        url = http://abc.comlab.ox.ac.uk/dists/1.2.0/files/abc-1.2.0-src.tar.gz;
-        md5 = "aef9e8eac860f904f2a841e18770dc47";
-      };
-
-      inherit apacheAnt polyglot soot javaCup xact jasmin jre javabdd paddle jedd patches;
-
-      meta = {
-        description = "The AspectBench Compiler for AspectJ";
-      };
-    };
+{stdenv, fetchurl, javaCup, jre, apacheAnt}:
 
+let
   soot =
     import ./soot {
       inherit stdenv fetchurl apacheAnt polyglot jasmin;
@@ -76,4 +59,21 @@ let {
         md5 = "9810ad8762101ea691a895f0a6b7a5c3";
       };
     };
+in
+
+stdenv.mkDerivation {
+  name = "abc-1.2.0";
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = http://abc.comlab.ox.ac.uk/dists/1.2.0/files/abc-1.2.0-src.tar.gz;
+    md5 = "aef9e8eac860f904f2a841e18770dc47";
+  };
+
+  inherit apacheAnt polyglot soot javaCup xact jasmin jre javabdd paddle jedd;
+  patches = [];
+
+  meta = {
+    description = "The AspectBench Compiler for AspectJ";
+  };
 }
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 3977b32bad7..a9854c7c493 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "elixir-${version}";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "09s8469830s4070i0m04fxdhqimkdyc5k9jylm5vpfz9l3z4wvl8";
+    sha256 = "16759ff84d08b480b7e5499716e663b2fffd26e20cf2863de5613bc7bb05c817";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 748482b1bf0..03d646a3b4d 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -37,11 +37,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "racket-${version}";
-  version = "6.3";
+  version = "6.4";
 
   src = fetchurl {
     url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
-    sha256 = "0f21vnads6wsrzimfja969gf3pkl60s0rdfrjf9s70lcy9x0jz4i";
+    sha256 = "1qyzq91r1kzk2k0faggqd5idwmsxizkjbdgxn6ik9iwwsjycxbw6";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index cd1631e23a1..e1d1ccba471 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, perl, jdk, icu, zlib, gmp, readline }:
+{ stdenv, fetchurl, perl, icu, zlib, gmp, readline }:
 
 stdenv.mkDerivation rec {
   name = "rakudo-star-${version}";
-  version = "2015.11";
+  version = "2016.01";
 
   src = fetchurl {
     url    = "http://rakudo.org/downloads/star/${name}.tar.gz";
-    sha256 = "1rzabg8daxf2g4l1njhdv3gfav91mp3y9my0mpz2xw06cxqfsjki";
+    sha256 = "feb385c5d05166061f413882e442d3a0ec53884918768940d3f00bb63bc85497";
   };
 
-  buildInputs = [ icu zlib gmp readline jdk perl ];
+  buildInputs = [ icu zlib gmp readline perl ];
   configureScript = "perl ./Configure.pl";
   configureFlags =
-    [ "--backends=moar,jvm"
+    [ "--backends=moar"
       "--gen-moar"
       "--gen-nqp"
     ];
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 725b98cdae6..e2809e9d483 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "1.0.6";
-  sha256 = "1qypc5lx82vlqm9016knxx8khxpc9dy78a0q2x5jmxjk8v6g994r";
+  version = "1.0.9";
+  sha256 = "1kfydlvmx4pgi5lpbhqr4p3jr78p3f61ic32046mkp4yfyydrspl";
 })
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index dd7dabf2bf2..aae4b413c3d 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
+{ stdenv, fetchurl, buildEnv, zlib, glib, alsaLib
 , dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
 , cairo, cups, expat, libgpgerror, nspr, gconf, nss, xorg, libcap, unzip
 , systemd, libnotify
+, version ? "0.36.2", sha256 ? "01d78j8dfrdygm1r141681b3bfz1f1xqg9vddz7j52z1mlfv9f1d", ...
 }:
 let
   atomEnv = buildEnv {
@@ -16,15 +17,15 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "electron-${version}";
-  version = "0.36.2";
+  inherit version;
 
   src = fetchurl {
     url = "https://github.com/atom/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-    sha256 = "01d78j8dfrdygm1r141681b3bfz1f1xqg9vddz7j52z1mlfv9f1d";
+    inherit sha256;
     name = "${name}.zip";
   };
 
-  buildInputs = [ atomEnv makeWrapper unzip ];
+  buildInputs = [ atomEnv unzip ];
 
   phases = [ "installPhase" "fixupPhase" ];
 
@@ -35,8 +36,12 @@ in stdenv.mkDerivation rec {
     unzip -d $out/bin $src
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
     $out/bin/electron
-    wrapProgram $out/bin/electron \
-    --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
+  '';
+
+  postFixup = ''
+    patchelf \
+    --set-rpath "${atomEnv}/lib:${atomEnv}/lib64:$out/bin:$(patchelf --print-rpath $out/bin/electron)" \
+    $out/bin/electron
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix
index 39ec59e849f..ed38d573abf 100644
--- a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix
+++ b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     meta = {
       description = "Shim command to help bootstrap a rebar3 project on Nix";
       license = stdenv.lib.licenses.asl20;
-      homepage = "https://github.com/erl-nix/rebar3-nix-bootstrap";
+      homepage = "https://github.com/erlang-nix/rebar3-nix-bootstrap";
       maintainers = with stdenv.lib.maintainers; [ ericbmerritt ];
     };
 }
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index cf9d7a01920..ed3ad45c463 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, popt, avahi, pkgconfig, python, gtk, runCommand, gcc, autoconf, automake, which, procps
+{ stdenv, fetchFromGitHub, popt, avahi, pkgconfig, python, gtk, runCommand
+, gcc, autoconf, automake, which, procps, libiberty_static
 , sysconfDir ? ""   # set this parameter to override the default value $out/etc
 , static ? false
 }:
@@ -15,7 +16,7 @@ let
       sha256 = "1vj31wcdas8wy52hy6749mlrca9v6ynycdiigx5ay8pnya9z73c6";
     };
 
-    buildInputs = [popt avahi pkgconfig python gtk autoconf automake pkgconfig which procps];
+    buildInputs = [popt avahi pkgconfig python gtk autoconf automake pkgconfig which procps libiberty_static];
     preConfigure =
     ''
       export CPATH=$(ls -d ${gcc.cc}/lib/gcc/*/${gcc.cc.version}/plugin/include)
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index e58230712a9..e3edaa43b8c 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.6-rc1";
-  modDirVersion = "4.6.0-rc1";
+  version = "4.6-rc2";
+  modDirVersion = "4.6.0-rc2";
   extraMeta.branch = "4.6";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "1y73sjd7i48d1c8x52z59imx8g8d00wy67r5666cvwqrq8d407h0";
+    sha256 = "0zihk9s1rkgmn0ghiz9xkg0w88w524af5mmad45rbxhm5751nxcr";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index 4cba9bc0668..5425ffb919f 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1x4b6x40ymbaamqqq9p97lc0mnah4q7bza04fjs35c8agpm19zir";
   };
 
+  configureFlagsArray = [ "CFLAGS=-ansi" ];
+
   buildInputs = [ boost ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
new file mode 100644
index 00000000000..254b7b9374e
--- /dev/null
+++ b/pkgs/tools/admin/salt/default.nix
@@ -0,0 +1,51 @@
+{
+  stdenv, fetchurl, pythonPackages, openssl,
+
+  # Many Salt modules require various Python modules to be installed,
+  # passing them in this array enables Salt to find them.
+  extraInputs ? []
+}:
+
+pythonPackages.buildPythonApplication rec {
+  name = "salt-${version}";
+  version = "2015.8.8";
+
+  disabled = pythonPackages.isPy3k;
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/s/salt/${name}.tar.gz";
+    sha256 = "1xcfcs50pyammb60myph4f8bi2r6iwkxwsnnhrjwvkv2ymxwxv5j";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [
+    futures
+    jinja2
+    markupsafe
+    msgpack
+    pycrypto
+    pyyaml
+    pyzmq
+    requests
+    salttesting
+    tornado
+  ] ++ extraInputs;
+
+  patches = [ ./fix-libcrypto-loading.patch ];
+
+  postPatch = ''
+    substituteInPlace "salt/utils/rsax931.py" \
+      --subst-var-by "libcrypto" "${openssl}/lib/libcrypto.so"
+  '';
+
+  # The tests fail due to socket path length limits at the very least;
+  # possibly there are more issues but I didn't leave the test suite running
+  # as is it rather long.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://saltstack.com/;
+    description = "Portable, distributed, remote execution and configuration management system";
+    maintainers = with maintainers; [ aneeshusa ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
new file mode 100644
index 00000000000..c5cc1bde5d0
--- /dev/null
+++ b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
@@ -0,0 +1,11 @@
+diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py
+index 9eb1f4a..d764f7a 100644
+--- a/salt/utils/rsax931.py
++++ b/salt/utils/rsax931.py
+@@ -36,7 +36,7 @@ def _load_libcrypto():
+                 'libcrypto.so*'))
+             lib = lib[0] if len(lib) > 0 else None
+         if lib:
+-            return cdll.LoadLibrary(lib)
++            return cdll.LoadLibrary('@libcrypto@')
+         raise OSError('Cannot locate OpenSSL libcrypto')
diff --git a/pkgs/tools/admin/salt/testing.nix b/pkgs/tools/admin/salt/testing.nix
new file mode 100644
index 00000000000..8c65defcab5
--- /dev/null
+++ b/pkgs/tools/admin/salt/testing.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "SaltTesting-${version}";
+  version = "2015.7.10";
+
+  disabled = pythonPackages.isPy3k;
+
+  propagatedBuildInputs = with pythonPackages; [
+    six
+  ];
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/S/SaltTesting/${name}.tar.gz";
+    sha256 = "0p0y8kb77pis18rcig1kf9dnns4bnfa3mr91q40lq4mw63l1b34h";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/saltstack/salt-testing;
+    description = "Common testing tools used in the Salt Stack projects";
+    maintainers = with maintainers; [ aneeshusa ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 270e1c0cb62..f8c087aa757 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "0.30.2016.02.08";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "0nkgc43lf06h0w8k4zm5pdzp6r6jjc6j94ciljcm8333n0ykfzpr";
+    sha256 = "0chvljmhj7waq3dfyciiyk3i18hmrczc70qfyhn2ycq0k0nbn0jj";
   };
 
   pythonPaths = [ pycrypto requests2 ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7df281904f2..19631d7fc56 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1652,7 +1652,9 @@ in
 
   gmvault = callPackage ../tools/networking/gmvault { };
 
-  gnaural = callPackage ../applications/audio/gnaural { };
+  gnaural = callPackage ../applications/audio/gnaural {
+    stdenv = overrideCC stdenv gcc49;
+  };
 
   gnokii = callPackage ../tools/misc/gnokii { };
 
@@ -3924,14 +3926,7 @@ in
 
   ### DEVELOPMENT / COMPILERS
 
-  abc =
-    abcPatchable [];
-
-  abcPatchable = patches :
-    callPackage ../development/compilers/abc/default.nix {
-      inherit patches;
-      javaCup = callPackage ../development/libraries/java/cup { };
-    };
+  abc = callPackage ../development/compilers/abc/default.nix { };
 
   aldor = callPackage ../development/compilers/aldor { };
 
@@ -14144,6 +14139,10 @@ in
 
   vorbis-tools = callPackage ../applications/audio/vorbis-tools { };
 
+  vscode = callPackage ../applications/editors/vscode {
+    gconf = pkgs.gnome.GConf;
+  };
+
   vue = callPackage ../applications/misc/vue { };
 
   vwm = callPackage ../applications/window-managers/vwm { };
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
index 5735aac8ad1..2639cc4ac7a 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -3832,12 +3832,12 @@ let
     subPackages = [ "./" ];
   };
 
-  godep = buildFromGitHub {
-    rev    = "5598a9815350896a2cdf9f4f1d0a3003ab9677fb";
-    version = "2015-10-15";
+  godep = buildFromGitHub rec {
+    version = "60";
+    rev    = "v${version}";
     owner  = "tools";
     repo   = "godep";
-    sha256 = "0zc1ah5cvaqa3zw0ska89a40x445vwl1ixz8v42xi3zicx16ibwz";
+    sha256 = "1v05185ikfcb3sz9ygcwm9x8la77i27ml1bg9fs6vvahjzyr0rif";
   };
 
   color = buildFromGitHub {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 5568d45e7cf..3a257dab37c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -13331,7 +13331,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [
       LWP ConfigGeneral NetIP TermReadKey Perl5lib
-      CryptSSLeay CSSDOM ];
+      CryptSSLeay CSSDOM LWPProtocolHttps ];
     meta = {
       homepage = http://validator.w3.org/checklink;
       description = "A tool to check links and anchors in Web pages or full Web sites";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 24279c41088..e3b90347114 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -20299,6 +20299,10 @@ in modules // {
     };
   };
 
+  salt = callPackage ../tools/admin/salt {};
+
+  salttesting = callPackage ../tools/admin/salt/testing.nix {};
+
   sandboxlib = buildPythonPackage rec {
     name = "sandboxlib-${version}";
     version = "0.31";
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index 2b3b98dba63..a829445d7b5 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,15 +7,15 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2016-03-22";
-  rev = "f28cdedb698cf76f513fb4514b5ed2892ec89b2f";
+  version = "2016-04-02";
+  rev = "b705d049d78f96bc27c58ccec7902e65d90826bd";
 
   src = fetchFromGitHub {
       inherit rev;
 
       owner = "rust-lang";
       repo = "crates.io-index";
-      sha256 = "05j43pgdlf554y9r781xdc5la55anwiq6k7vml9icak699ywfxqq";
+      sha256 = "1aspn79i1rw9migw7j0m12ghdq9cqhq8n2vzxy6hy1l728j3ykdp";
   };
 
 in