about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/lib/test-driver/Machine.pm28
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/services/databases/redis.nix1
-rw-r--r--pkgs/applications/altcoins/zcash/default.nix13
-rw-r--r--pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix29
-rw-r--r--pkgs/applications/altcoins/zcash/libsnark/default.nix45
-rw-r--r--pkgs/applications/altcoins/zcash/libsnark/mie.nix27
-rw-r--r--pkgs/applications/altcoins/zcash/libsnark/xbyak.nix28
-rw-r--r--pkgs/applications/networking/p2p/deluge/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/science/logic/z3/default.nix6
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/1.0.nix13
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/games/linux-steam-integration/default.nix80
-rw-r--r--pkgs/os-specific/linux/kernel/hardened-config.nix3
-rw-r--r--pkgs/servers/memcached/default.nix5
-rw-r--r--pkgs/tools/security/apg/default.nix7
-rw-r--r--pkgs/tools/security/pass-otp/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix12
21 files changed, 143 insertions, 186 deletions
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index a01c3c336a1b..78598b3efb4b 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -362,8 +362,8 @@ sub mustFail {
 
 
 sub getUnitInfo {
-    my ($self, $unit) = @_;
-    my ($status, $lines) = $self->execute("systemctl --no-pager show '$unit'");
+    my ($self, $unit, $user) = @_;
+    my ($status, $lines) = $self->systemctl("--no-pager show \"$unit\"", $user);
     return undef if $status != 0;
     my $info = {};
     foreach my $line (split '\n', $lines) {
@@ -373,6 +373,16 @@ sub getUnitInfo {
     return $info;
 }
 
+sub systemctl {
+    my ($self, $q, $user) = @_;
+    if ($user) {
+        $q =~ s/'/\\'/g;
+        return $self->execute("su -l $user -c \$'XDG_RUNTIME_DIR=/run/user/`id -u` systemctl --user $q'");
+    }
+
+    return $self->execute("systemctl $q");
+}
+
 # Fail if the given systemd unit is not in the "active" state.
 sub requireActiveUnit {
     my ($self, $unit) = @_;
@@ -387,16 +397,16 @@ sub requireActiveUnit {
 
 # Wait for a systemd unit to reach the "active" state.
 sub waitForUnit {
-    my ($self, $unit) = @_;
+    my ($self, $unit, $user) = @_;
     $self->nest("waiting for unit ‘$unit’", sub {
         retry sub {
-            my $info = $self->getUnitInfo($unit);
+            my $info = $self->getUnitInfo($unit, $user);
             my $state = $info->{ActiveState};
             die "unit ‘$unit’ reached state ‘$state’\n" if $state eq "failed";
             if ($state eq "inactive") {
                 # If there are no pending jobs, then assume this unit
                 # will never reach active state.
-                my ($status, $jobs) = $self->execute("systemctl list-jobs --full 2>&1");
+                my ($status, $jobs) = $self->systemctl("list-jobs --full 2>&1", $user);
                 if ($jobs =~ /No jobs/) {  # FIXME: fragile
                     # Handle the case where the unit may have started
                     # between the previous getUnitInfo() and
@@ -430,14 +440,14 @@ sub waitForFile {
 }
 
 sub startJob {
-    my ($self, $jobName) = @_;
-    $self->execute("systemctl start $jobName");
+    my ($self, $jobName, $user) = @_;
+    $self->systemctl("start $jobName", $user);
     # FIXME: check result
 }
 
 sub stopJob {
-    my ($self, $jobName) = @_;
-    $self->execute("systemctl stop $jobName");
+    my ($self, $jobName, $user) = @_;
+    $self->systemctl("stop $jobName", $user);
 }
 
 
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 579a3f6393ce..91207871d8ce 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -200,7 +200,7 @@
       memcached = 177;
       ntp = 179;
       zabbix = 180;
-      redis = 181;
+      #redis = 181; removed 2018-01-03
       unifi = 183;
       uptimed = 184;
       zope2 = 185;
@@ -478,7 +478,7 @@
       #memcached = 177; # unused
       #ntp = 179; # unused
       #zabbix = 180; # unused
-      #redis = 181; # unused
+      #redis = 181; # unused, removed 2018-01-03
       #unifi = 183; # unused
       #uptimed = 184; # unused
       #zope2 = 185; # unused
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index a039ad138f6f..e4e38a4364a0 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -219,7 +219,6 @@ in
 
     users.extraUsers.redis =
       { name = cfg.user;
-        uid = config.ids.uids.redis;
         description = "Redis database user";
       };
 
diff --git a/pkgs/applications/altcoins/zcash/default.nix b/pkgs/applications/altcoins/zcash/default.nix
index e9236544ee7f..6a8fba3c2bb7 100644
--- a/pkgs/applications/altcoins/zcash/default.nix
+++ b/pkgs/applications/altcoins/zcash/default.nix
@@ -2,20 +2,19 @@
 , zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
-let libsnark     = callPackage ./libsnark { inherit boost openssl; };
-    librustzcash = callPackage ./librustzcash {};
+let librustzcash = callPackage ./librustzcash {};
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.0.12";
+  version = "1.0.13";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "19bxhdnkvgncgl9x6nbaf5nwgrdfw99icvdbi9adfh646pd5z64s";
+    sha256 = "05y7wxs66anxr5akbf05r36mmjfzqpwawn6vyh3jhpva51hzzzyz";
   };
 
   # Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
@@ -23,17 +22,15 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gtest gmock gmp libsnark openssl wget db62 boost zlib
+  buildInputs = [ gtest gmock gmp openssl wget db62 boost zlib
                   protobuf libevent libsodium librustzcash ]
                   ++ optionals stdenv.isLinux [ utillinux ]
                   ++ optionals withGui [ qt4 qrencode ];
 
-  configureFlags = [ "LIBSNARK_INCDIR=${libsnark}/include/libsnark"
-                     "--with-boost-libdir=${boost.out}/lib"
+  configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
                    ] ++ optionals withGui [ "--with-gui=qt4" ];
 
   patchPhase = ''
-    sed -i"" '/^\[LIBSNARK_INCDIR/d'               configure.ac
     sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac
     sed -i"" 's,-fvisibility=hidden,,g'            src/Makefile.am
   '';
diff --git a/pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix b/pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix
deleted file mode 100644
index 303b3bc171ef..000000000000
--- a/pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, xbyak, gmp, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = "ate-pairing-unstable-${version}";
-  version = "2016-05-03";
-
-  src = fetchFromGitHub {
-    owner = "herumi";
-    repo  = "ate-pairing";
-    rev = "dcb9da999b1113f90b115bccb6f4b57ddf3a8452";
-    sha256 = "0jr6r1cma414k8mhsyp7n8hqaqxi7zklsp6820a095sbb3zajckh";
-  };
-
-  buildInputs = [ gmp xbyak ];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -r lib $out
-    cp -r include $out
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Optimal Ate Pairing over Barreto-Naehrig Curves";
-    homepage = https://github.com/herumi/ate-pairing;
-    maintainers = with maintainers; [ rht ];
-    license = licenses.bsd3;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/altcoins/zcash/libsnark/default.nix b/pkgs/applications/altcoins/zcash/libsnark/default.nix
deleted file mode 100644
index be885493dcda..000000000000
--- a/pkgs/applications/altcoins/zcash/libsnark/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, libsodium, callPackage, boost, zlib, openssl, gmp, procps, fetchFromGitHub }:
-
-let atePairing = callPackage ./ate-pairing.nix { inherit xbyak; };
-    mie        = callPackage ./mie.nix { };
-    xbyak      = callPackage ./xbyak.nix {};
-in
-stdenv.mkDerivation rec{
-  name = "libsnark-unstable-${version}";
-  version = "2017-02-09";
-
-  src = fetchFromGitHub {
-    owner = "zcash";
-    repo  = "libsnark";
-    rev = "9ada3f84ab484c57b2247c2f41091fd6a0916573";
-    sha256 = "0vhslcb9rwqab9szavyn856z4h9w1syiamfcixqmj0s908zzlaaq";
-  };
-
-  buildInputs = [ libsodium atePairing mie xbyak zlib openssl boost gmp ];
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    "CURVE=ALT_BN128"
-    "NO_SUPERCOP=1"
-    "STATIC=1"
-  ];
-
-  buildPhase = ''
-    CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" \
-    make lib \
-      CURVE=ALT_BN128 \
-      MULTICORE=1 \
-      STATIC=1 \
-      NO_PROCPS=1 \
-      NO_GTEST=1 \
-      FEATUREFLAGS=-DMONTGOMERY_OUTPUT \
-  '';
-
-  meta = with stdenv.lib; {
-    description = "a C++ library for zkSNARK proofs";
-    homepage = https://github.com/zcash/libsnark;
-    maintainers = with maintainers; [ rht ];
-    license = licenses.mit;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/altcoins/zcash/libsnark/mie.nix b/pkgs/applications/altcoins/zcash/libsnark/mie.nix
deleted file mode 100644
index a66ff128293e..000000000000
--- a/pkgs/applications/altcoins/zcash/libsnark/mie.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = "mie-unstable-${version}";
-  version = "2016-05-10";
-
-  src = fetchFromGitHub {
-    owner = "herumi";
-    repo  = "mie";
-    rev = "704b625b7770a8e1eab26ac65d1fed14c2fcf090";
-    sha256 = "144bpmgfs2m4qqv7a2mccgi1aq5jmlr25gnk78ryq09z8cyv88y2";
-  };
-
-  phases = ["unpackPhase" "installPhase"];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -r include $out
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/herumi/mie;
-    maintainers = with maintainers; [ rht ];
-    license = licenses.bsd3;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/altcoins/zcash/libsnark/xbyak.nix b/pkgs/applications/altcoins/zcash/libsnark/xbyak.nix
deleted file mode 100644
index 88d432fd1637..000000000000
--- a/pkgs/applications/altcoins/zcash/libsnark/xbyak.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = "xbyak-unstable-${version}";
-  version = "2016-05-03";
-
-  src = fetchFromGitHub {
-    owner = "herumi";
-    repo  = "xbyak";
-    rev = "b6133a02dd6b7116bea31d0e6b7142bf97f071aa";
-    sha256 = "1rc2nx8kj2lj13whxb9chhh79f4hmjjj4j1hpqsd0lbdb60jikrn";
-  };
-
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/include
-    cp -r xbyak $out/include
-  '';
-
-  meta = with stdenv.lib; {
-    description = "JIT assembler for x86, x64";
-    homepage = https://github.com/herumi/xbyak;
-    maintainers = with maintainers; [ rht ];
-    license = licenses.bsd3;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix
index 7f8594b8bbb1..c6e5d0f3cb31 100644
--- a/pkgs/applications/networking/p2p/deluge/default.nix
+++ b/pkgs/applications/networking/p2p/deluge/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, libtorrentRasterbar_1_0, pythonPackages }:
+{ stdenv, fetchurl, intltool, libtorrentRasterbar, pythonPackages }:
 pythonPackages.buildPythonPackage rec {
   name = "deluge-${version}";
   version = "1.3.15";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonPackage rec {
   };
 
   propagatedBuildInputs = with pythonPackages; [
-    pyGtkGlade libtorrentRasterbar_1_0 twisted Mako chardet pyxdg pyopenssl service-identity
+    pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl service-identity
   ];
 
   nativeBuildInputs = [ intltool ];
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 1cf6db21bedb..a2b72ea99dc0 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "4.0.1";
+  version = "4.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "0khy875ahh9rlk8lyfpwsbxjsbp7i1cwqvd1j1s4cqc812szh3z3";
+    sha256 = "1lkbrvpzdfbqwilj09a9vraai7pz6dh999w4vl51mj1adm7bh0ws";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index be25738a6076..532df11209b8 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -4,13 +4,13 @@ let
   python = python2;
 in stdenv.mkDerivation rec {
   name = "z3-${version}";
-  version = "4.5.0-2017-11-06";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = "z3";
-    rev    = "3350f32e1f2c01c9df63b7d71899796a18ce2272";
-    sha256 = "00jn0njn5h9v49pl67yxj6225m6334ndrx6mp37vcqac05pdbpw7";
+    rev    = "b0aaa4c6d7a739eb5e8e56a73e0486df46483222";
+    sha256 = "1cgwlmjdbf4rsv2rriqi2sdpz9qxihxrcpm6a4s37ijy437xg78l";
   };
 
   buildInputs = [ python fixDarwinDylibNames ];
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/1.0.nix b/pkgs/development/libraries/libtorrent-rasterbar/1.0.nix
deleted file mode 100644
index fbd30ac04f76..000000000000
--- a/pkgs/development/libraries/libtorrent-rasterbar/1.0.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-args@{ callPackage, fetchpatch, ... }:
-
-callPackage (import ./generic.nix {
-  version = "1.0.11";
-  sha256 = "17p34d3n29q04pvz975gfl1fyj3sg9cl5l6j673xqfq3fpyis58i";
-  patches = [
-    # Compatibility with new Boost
-    (fetchpatch {
-      url = "https://github.com/arvidn/libtorrent/commit/7eb3cf6bc6dbada3fa7bb7ff4d5981182813a0e2.patch";
-      sha256 = "07agbrii6i8q4wmgpqbln7ldhhadaf5npcinvi6hnyipsr48jbj5";
-    })
-  ];
-}) args
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index ff5027fd472e..00ec22986179 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,6 +1,6 @@
 args@{ callPackage, ... }:
 
 callPackage (import ./generic.nix {
-  version = "1.1.5";
-  sha256 = "1ifpcqw5mj2dwk23lhc2vpb47mg3j573v5z4zp8dkczpz7wg5jxq";
+  version = "1.1.6";
+  sha256 = "1xlh0sqypjbx0imw3bkbjwgwb4bm6zl7c0y01p0xsw8ncfmwjll7";
 }) args
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index a567f7155f84..f7dfb5a8edf5 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.21.0";
+  version = "3.21.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "95b5c66d19dbffd57be1636d1f737c7644d280a48c28f933aeb4db73a7c83495";
+    sha256 = "1whama3bm34xp9l7f543sz2h9dms77ci820sdbxi5dl9krs4xkxb";
     extension = "zip";
   };
 
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 41861a6142e5..67d186c5a257 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.8.0";
+  version = "0.9.0";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "0y50fhwh135fim39ra4szwzzgyb4ibls3i0hpv3d7asns0hh715a";
+    sha256 = "0aiifrp6g1d3ilhg8111wdhsrjy41x8gcmq67rjyxypw9znqzcpg";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/games/linux-steam-integration/default.nix b/pkgs/games/linux-steam-integration/default.nix
new file mode 100644
index 000000000000..161f4691c8f9
--- /dev/null
+++ b/pkgs/games/linux-steam-integration/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, git, gtk, pkgs, gettext,
+  gcc_multi, libressl }:
+
+let
+  version = "0.7.2";
+  steamBinPath = "${stdenv.lib.makeBinPath (with pkgs; [ steam ])}/steam";
+  zenityBinPath = "${stdenv.lib.makeBinPath (with pkgs; [ gnome3.zenity ])}/zenity";
+
+in stdenv.mkDerivation rec {
+  name = "linux-steam-integration-${version}";
+
+  nativeBuildInputs = [ meson ninja pkgconfig git gettext gcc_multi ];
+  buildInputs = [ gtk libressl ];
+
+  src = fetchFromGitHub {
+    owner = "solus-project";
+    repo = "linux-steam-integration";
+    rev = "v${version}";
+    sha256 = "0yn71fvjqi63dxk04jsndb26pgipl0nla10sy94bi7q95pk3sdf6";
+    fetchSubmodules = true;
+  };
+
+  # Patch lib paths (AUDIT_PATH and REDIRECT_PATH) in shim.c
+  # Patch path to lsi-steam in lsi-steam.desktop
+  # Patch path to zenity in lsi.c
+  postPatch = ''
+    sed -i -e "s|/usr/|$out/|g" src/shim/shim.c
+    sed -i -e "s|/usr/|$out/|g" data/lsi-steam.desktop
+    sed -i -e "s|zenity|${zenityBinPath}|g" src/lsi/lsi.c
+  '';
+
+  configurePhase = ''
+    # Configure 64bit things
+    meson build                           \
+      -Dwith-shim=co-exist                \
+      -Dwith-frontend=true                \
+      -Dwith-steam-binary=${steamBinPath} \
+      -Dwith-new-libcxx-abi=true          \
+      -Dwith-libressl-mode=native         \
+      --prefix /                          \
+      --libexecdir lib                    \
+      --libdir lib                        \
+      --bindir bin
+
+    # Configure 32bit things
+    CC="gcc -m32" CXX="g++ -m32" meson build32 \
+      -Dwith-shim=none                         \
+      -Dwith-libressl-mode=native              \
+      --prefix /                               \
+      --libexecdir lib32                       \
+      --libdir lib32
+  '';
+
+  buildPhase = ''
+    # Build 64bit things
+    ninja -C build
+
+    # Build 32bit things
+    ninja -C build32
+  '';
+
+  installPhase = ''
+    DESTDIR="$out" ninja -C build install
+    DESTDIR="$out" ninja -C build32 install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Steam wrapper to improve compability and performance";
+    longDescription = ''
+      Linux Steam Integration is a helper system to make the Steam Client and
+      Steam games run better on Linux. In a nutshell, LSI automatically applies
+      various workarounds to get games working, and fixes long standing bugs in
+      both games and the client
+    '';
+    homepage = https://github.com/solus-project/linux-steam-integration;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.etu ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix
index a859a3cefbd4..b7959f9d3599 100644
--- a/pkgs/os-specific/linux/kernel/hardened-config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened-config.nix
@@ -97,6 +97,9 @@ PANIC_TIMEOUT -1
 
 GCC_PLUGINS y # Enable gcc plugin options
 
+# Gather additional entropy at boot time for systems that may not have appropriate entropy sources.
+GCC_PLUGIN_LATENT_ENTROPY y
+
 ${optionalString (versionAtLeast version "4.11") ''
   GCC_PLUGIN_STRUCTLEAK y # A port of the PaX structleak plugin
 ''}
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index fabd5b83724b..c625ce575f2e 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,11 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  name = "memcached-1.4.39";
+  version = "1.5.4";
+  name = "memcached-${version}";
 
   src = fetchurl {
     url = "http://memcached.org/files/${name}.tar.gz";
-    sha256 = "0dfpmx0fqgp55j4vl06cz63fwx5kzhzipdm7n2kxjkvyg1ybzi13";
+    sha256 = "1m03fhzq1f9byk2agccsr0x458niqqjpips5mbcgzhm4kylczhz0";
   };
 
   buildInputs = [cyrus_sasl libevent];
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 24d88517b6a4..04b29bcf8f7c 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, openssl }:
 stdenv.mkDerivation rec {
   name = "apg-2.3.0b";
   src = fetchurl {
@@ -8,9 +8,14 @@ stdenv.mkDerivation rec {
   configurePhase = ''
     substituteInPlace Makefile --replace /usr/local "$out"
   '';
+  makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"];
 
   patches = [ ./apg.patch ];
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile
+  '';
+
   meta = {
     description = "Tools for random password generation";
     longDescription = ''
diff --git a/pkgs/tools/security/pass-otp/default.nix b/pkgs/tools/security/pass-otp/default.nix
index 70350f669e97..327a9680f980 100644
--- a/pkgs/tools/security/pass-otp/default.nix
+++ b/pkgs/tools/security/pass-otp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pass, fetchFromGitHub }:
+{ stdenv, pass, fetchFromGitHub, oathToolkit }:
 stdenv.mkDerivation {
   name = "pass-otp";
 
@@ -9,7 +9,11 @@ stdenv.mkDerivation {
     sha256 = "0iklvcfgw1320dggdr02lq3bc7xvnd2934l1w9kkjpbsfmhs955c";
   };
 
-  buildInputs = [ pass ];
+  buildInputs = [ pass oathToolkit ];
+
+  patchPhase = ''
+    sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
+  '';
 
   installPhase = ''
     make PREFIX=$out install
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 670c4b1e46e1..d7fb0ba5a7a4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3897,7 +3897,7 @@ with pkgs;
 
   pandoc = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.pandoc) (drv: {
     configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"];
-    buildTools = drv.buildTools or [] ++ [haskellPackages.file-embed];
+    buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed];
   });
 
   pamtester = callPackage ../tools/security/pamtester { };
@@ -9835,8 +9835,6 @@ with pkgs;
 
   libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { };
 
-  libtorrentRasterbar_1_0 = callPackage ../development/libraries/libtorrent-rasterbar/1.0.nix { };
-
   libtoxcore-new = callPackage ../development/libraries/libtoxcore/new-api.nix { };
 
   libtoxcore = callPackage ../development/libraries/libtoxcore { };
@@ -16541,9 +16539,7 @@ with pkgs;
 
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
-  qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent {
-    libtorrentRasterbar = libtorrentRasterbar_1_0;
-  };
+  qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent { };
 
   eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp {
     lua5 = lua5_1;
@@ -18432,6 +18428,10 @@ with pkgs;
     nativeOnly = true;
   }).run;
 
+  linux-steam-integration = callPackage ../games/linux-steam-integration {
+    gtk = pkgs.gtk3;
+  };
+
   stepmania = callPackage ../games/stepmania {
     ffmpeg = ffmpeg_2;
   };