summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2017-07-23 11:23:43 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2017-07-23 11:23:43 +0200
commit29f91c107f5f605dac63552909cbe3c8f0c2e303 (patch)
treedae9c9d722e9bfd3ddf13b3b3b997a6cfcc178c8 /pkgs/tools
parent9af77826a97feb9798f700d64cd467864945875c (diff)
parent239b694579ca8a9a64e86609d4e9f49d0b01be2b (diff)
downloadnixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.tar
nixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.tar.gz
nixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.tar.bz2
nixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.tar.lz
nixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.tar.xz
nixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.tar.zst
nixlib-29f91c107f5f605dac63552909cbe3c8f0c2e303.zip
Merge remote-tracking branch 'upstream/master' into HEAD
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix59
-rw-r--r--pkgs/tools/graphics/maim/default.nix4
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix8
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/hid-listen/default.nix24
-rw-r--r--pkgs/tools/misc/slop/default.nix8
-rw-r--r--pkgs/tools/misc/ttyrec/default.nix4
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix16
-rw-r--r--pkgs/tools/networking/hue-cli/Gemfile2
-rw-r--r--pkgs/tools/networking/hue-cli/Gemfile.lock18
-rw-r--r--pkgs/tools/networking/hue-cli/default.nix10
-rw-r--r--pkgs/tools/networking/hue-cli/gemset.nix28
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix6
-rw-r--r--pkgs/tools/networking/network-manager/l2tp.nix8
-rw-r--r--pkgs/tools/networking/strongswan/default.nix10
-rw-r--r--pkgs/tools/package-management/nix/default.nix6
-rw-r--r--pkgs/tools/security/afl/default.nix4
-rw-r--r--pkgs/tools/security/pass/default.nix21
-rw-r--r--pkgs/tools/security/vulnix/requirements.nix25
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch27
-rw-r--r--pkgs/tools/virtualization/google-compute-engine/default.nix55
22 files changed, 254 insertions, 97 deletions
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index ed41470f6001..eaea921c6f5c 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,56 +1,59 @@
-{ stdenv, fetchurl, gettext, libuuid, readline }:
+{ stdenv, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, readline, utillinux }:
+
+let
+  gentooPatch = name: sha256: fetchpatch {
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=8293574ab30c85e2965fb2b7dd890b44841b8404";
+    inherit sha256;
+  };
+in
 
 stdenv.mkDerivation rec {
-  name = "xfsprogs-4.5.0";
+  name = "xfsprogs-${version}";
+  version = "4.11.0";
 
-  src = fetchurl {
-    urls = map (dir: "ftp://oss.sgi.com/projects/xfs/${dir}/${name}.tar.gz")
-      [ "cmd_tars" "previous" ];
-    sha256 = "1y49rwvbbvqdq2a1x7p5i05bcfyv6xhmrfwafl6vvvw494qyp6z4";
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0icliinacg6c3ziaqzyyxfz9jykn80njj9fdv3milhsf81yhnrpn";
   };
 
-  prePatch = ''
-    sed -i "s,/bin/bash,$(type -P bash),g" install-sh
-    sed -i "s,ldconfig,$(type -P ldconfig),g" configure m4/libtool.m4
+  outputs = [ "bin" "dev" "out" "doc" ];
 
-    # Fixes from gentoo 3.2.1 ebuild
-    sed -i "/^PKG_DOC_DIR/s:@pkg_name@:${name}:" include/builddefs.in
-    sed -i "/LLDFLAGS.*libtool-libs/d" $(find -name Makefile)
-    sed -i '/LIB_SUBDIRS/s:libdisk::' Makefile
-  '';
+  nativeBuildInputs = [ autoconf automake libtool gettext ];
+  propagatedBuildInputs = [ utillinux ]; # Dev headers include <uuid/uuid.h>
+  buildInputs = [ readline ];
+
+  enableParallelBuilding = true;
 
+  # Why is all this garbage needed? Why? Why?
   patches = [
-    # This patch fixes shared libs installation, still not fixed in 4.2.0
-    ./4.3.0-sharedlibs.patch
+    (gentooPatch "xfsprogs-4.7.0-sharedlibs.patch" "1s83ihaccmjrw4zm0nbdwqk3jx4wc1rijpsqrg7ir71ln7qknwzz")
+    (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s")
+    (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
   ];
 
-  propagatedBuildInputs = [ libuuid ];
-  buildInputs = [ gettext readline ];
-
-  outputs = [ "bin" "dev" "out" ]; # TODO: review xfs
-
   preConfigure = ''
-    NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")"
+    sed -i Makefile -e '/cp include.install-sh/d'
+    make configure
   '';
 
   configureFlags = [
-    "MAKE=make"
-    "MSGFMT=msgfmt"
-    "MSGMERGE=msgmerge"
-    "XGETTEXT=xgettext"
     "--disable-lib64"
     "--enable-readline"
   ];
 
   installFlags = [ "install-dev" ];
 
-  enableParallelBuilding = true;
+  # FIXME: forbidden rpath
+  postInstall = ''
+    find . -type d -name .libs | xargs rm -rf
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://xfs.org/;
     description = "SGI XFS utilities";
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ dezgeg ];
   };
 }
diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix
index 2a8255e3744b..39933e70e39f 100644
--- a/pkgs/tools/graphics/maim/default.nix
+++ b/pkgs/tools/graphics/maim/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "maim-${version}";
-  version = "5.4.63";
+  version = "5.4.64";
 
   src = fetchFromGitHub {
     owner = "naelstrof";
     repo = "maim";
     rev = "v${version}";
-    sha256 = "16jl62hzrq1kciqwr9s3bxgcf9yz42kiwc5abkay1yd0vfcx200i";
+    sha256 = "16ipqs4s5hn7a7380n8w1ijj26d9n356bqwl1h8z5i1skbj4w7hj";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 4f0a9ba12c11..9c0d51c4a857 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -29,12 +29,10 @@ python3.pkgs.buildPythonApplication rec {
   # Still missing these tools: enjarify, otool & lipo (maybe OS X only), showttf
   # Also these libraries: python3-guestfs
   # FIXME: move xxd into a separate package so we don't have to pull in all of vim.
-  buildInputs =
-    map lib.getBin ([ acl binutils bzip2 cbfstool cdrkit cpio diffutils e2fsprogs file gettext
+  pythonPath = with python3.pkgs;
+    [ debian libarchive-c python_magic tlsh rpm cdrkit acl binutils bzip2 cbfstool cpio diffutils e2fsprogs file gettext
       gzip libcaca poppler_utils sng sqlite squashfsTools unzip vim xz colordiff
-    ] ++ lib.optionals enableBloat [ colord fpc ghc gnupg1 jdk mono pdftk ]);
-
-  pythonPath = with python3.pkgs; [ debian libarchive-c python_magic tlsh rpm ];
+    ] ++ lib.optionals enableBloat [ colord fpc ghc gnupg1 jdk mono pdftk ];
 
   doCheck = false; # Calls 'mknod' in squashfs tests, which needs root
 
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 9d40077e0d68..916ba99317e8 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "fzf-${version}";
-  version = "0.16.8";
+  version = "0.16.10";
   rev = "${version}";
 
   goPackagePath = "github.com/junegunn/fzf";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "junegunn";
     repo = "fzf";
-    sha256 = "0d0fcv07pl2vvj9ql84rmy1kd0zg680chsfapm0iw3vssxqkm9zq";
+    sha256 = "0c9c9x2pim5g2jwy6jkdws2s7b1mw2qlnba1q46a1izswm7ljfq7";
   };
 
   outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/tools/misc/hid-listen/default.nix b/pkgs/tools/misc/hid-listen/default.nix
new file mode 100644
index 000000000000..0ebad4f7117d
--- /dev/null
+++ b/pkgs/tools/misc/hid-listen/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip }:
+stdenv.mkDerivation rec {
+  name = "hid-listen";
+  version = "1.01";
+
+  src = fetchzip {
+    name = "hid_listen_${version}";
+    url = "https://www.pjrc.com/teensy/hid_listen_${version}.zip";
+    sha256 = "0sd4dvi39fl4vy880mg531ryks5zglfz5mdyyqr7x6qv056ffx9w";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv ./hid_listen $out/bin/hid_listen
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool thats prints debugging information from usb HID devices";
+    homepage = https://www.pjrc.com/teensy/hid_listen.html;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ tomsmeets ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index b668b7af0d46..d2bf060edd08 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, cmake
-, glm, mesa, gengetopt, libX11, libXext, libXrender, cppcheck}:
+, glew, glm, mesa, libX11, libXext, libXrender, cppcheck, icu}:
 
 stdenv.mkDerivation rec {
   name = "slop-${version}";
-  version = "6.3.41";
+  version = "6.3.47";
 
   src = fetchFromGitHub {
     owner = "naelstrof";
     repo = "slop";
     rev = "v${version}";
-    sha256 = "051w2hcpz4qmvy7bmnzv7llxr2jbcpfxdadlzr2cidr323cann27";
+    sha256 = "05saxp5z2saq6b5hslxdc5kd7ln00svr5pazabcnchzydfhnkmsd";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ glm mesa gengetopt libX11 libXext libXrender ]
+  buildInputs = [ glew glm mesa libX11 libXext libXrender icu ]
                 ++ stdenv.lib.optional doCheck cppcheck;
 
   doCheck = false;
diff --git a/pkgs/tools/misc/ttyrec/default.nix b/pkgs/tools/misc/ttyrec/default.nix
index a836a2a0d0e9..238d2d73d3bb 100644
--- a/pkgs/tools/misc/ttyrec/default.nix
+++ b/pkgs/tools/misc/ttyrec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, buildPlatform }:
 
 stdenv.mkDerivation rec {
   name = "ttyrec-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./clang-fixes.patch ];
 
-  makeFlags = [ "CFLAGS=-DSVR4" ]
+  makeFlags = stdenv.lib.optional buildPlatform.isLinux "CFLAGS=-DSVR4"
     ++ stdenv.lib.optional stdenv.cc.isClang "CC=clang";
 
   installPhase = ''
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index 8da61ddc4afe..7fc9589537fe 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -1,28 +1,18 @@
 { stdenv, fetchFromGitHub, rtmpdump, php, pythonPackages }:
 
-stdenv.mkDerivation rec {
+pythonPackages.buildPythonApplication rec {
   name = "yle-dl-${version}";
-  version = "2.17";
+  version = "2.20";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "06szrcm1xlz6i736qkxzhhvrzg63shxzy2bww91bgxfccmkapa14";
+    sha256 = "06wzv230hfh3w9gs245kff8666bsfbax3ibr5zxj3h5z4qhhf9if";
   };
 
-  patchPhase = ''
-    substituteInPlace yle-dl --replace '/usr/local/share/' "$out/share/"
-  '';
-
-  buildInputs = [ pythonPackages.wrapPython ];
   pythonPath = [ rtmpdump php ] ++ (with pythonPackages; [ pycrypto ]);
 
-  installPhase = ''
-    make install prefix=$out
-    wrapPythonPrograms
-  '';
-
   meta = with stdenv.lib; {
     description = "Downloads videos from Yle (Finnish Broadcasting Company) servers";
     homepage = https://aajanki.github.io/yle-dl/;
diff --git a/pkgs/tools/networking/hue-cli/Gemfile b/pkgs/tools/networking/hue-cli/Gemfile
new file mode 100644
index 000000000000..7049659d503d
--- /dev/null
+++ b/pkgs/tools/networking/hue-cli/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'hue-cli'
diff --git a/pkgs/tools/networking/hue-cli/Gemfile.lock b/pkgs/tools/networking/hue-cli/Gemfile.lock
new file mode 100644
index 000000000000..3b1f65707008
--- /dev/null
+++ b/pkgs/tools/networking/hue-cli/Gemfile.lock
@@ -0,0 +1,18 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    hue-cli (0.1.4)
+      hue-lib (>= 0.7.4)
+      json
+    hue-lib (0.7.4)
+      json
+    json (2.1.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  hue-cli
+
+BUNDLED WITH
+   1.15.1
diff --git a/pkgs/tools/networking/hue-cli/default.nix b/pkgs/tools/networking/hue-cli/default.nix
new file mode 100644
index 000000000000..4f8d1039e5ea
--- /dev/null
+++ b/pkgs/tools/networking/hue-cli/default.nix
@@ -0,0 +1,10 @@
+{ bundlerEnv, ruby }:
+
+bundlerEnv rec {
+  name = "hue-cli-${version}";
+
+  version = (import gemset).hue-cli.version;
+  inherit ruby;
+  gemdir = ./.;
+  gemset = ./gemset.nix;
+}
diff --git a/pkgs/tools/networking/hue-cli/gemset.nix b/pkgs/tools/networking/hue-cli/gemset.nix
new file mode 100644
index 000000000000..d1af93ff154c
--- /dev/null
+++ b/pkgs/tools/networking/hue-cli/gemset.nix
@@ -0,0 +1,28 @@
+{
+  hue-cli = {
+    dependencies = ["hue-lib" "json"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10gjf59pamfy2m17fs271d9ffrg1194b1m6vxzn6p7smzry52h9z";
+      type = "gem";
+    };
+    version = "0.1.4";
+  };
+  hue-lib = {
+    dependencies = ["json"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pyl8g8gisdhl79gbzvnddqrsbq0lmflzg7n6yi6xrp5b5290shz";
+      type = "gem";
+    };
+    version = "0.7.4";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index 715bc209e979..fc496b416ffd 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchFromGitHub, python3Packages }:
+{ stdenv, fetchpatch, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonPackage rec {
   baseName = "mitmproxy";
@@ -15,9 +15,9 @@ python3Packages.buildPythonPackage rec {
   patches = [
     # Bump pyopenssl dependency
     # https://github.com/mitmproxy/mitmproxy/pull/2252
-    (fetchurl {
+    (fetchpatch {
       url = "https://patch-diff.githubusercontent.com/raw/mitmproxy/mitmproxy/pull/2252.patch";
-      sha256 = "0s3a6lf0wjnxi1r70qlhh0siaxhk5j2cysnv4xfkji3f2v7hhri4";
+      sha256 = "1smld21df79249qbh412w8gi2agcf4zjhxnlawy19yjl1fk2h67c";
     })
   ];
 
diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix
index 6a4f31e5e19f..5d6be9398874 100644
--- a/pkgs/tools/networking/network-manager/l2tp.nix
+++ b/pkgs/tools/networking/network-manager/l2tp.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, automake, autoconf, libtool, intltool, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig
 , networkmanager, ppp, xl2tpd, strongswan, libsecret
 , withGnome ? true, gnome3, networkmanagerapplet }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ networkmanager ppp libsecret ]
     ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring networkmanagerapplet ];
 
-  nativeBuildInputs = [ automake autoconf libtool intltool pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig ];
 
   postPatch = ''
     sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-l2tp-service.c
@@ -27,7 +27,9 @@ stdenv.mkDerivation rec {
       --replace /sbin/xl2tpd ${xl2tpd}/bin/xl2tpd
   '';
 
-  preConfigure = "./autogen.sh";
+  preConfigure = ''
+    intltoolize -f
+  '';
 
   configureFlags =
     if withGnome then "--with-gnome" else "--without-gnome";
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 2225df308ac1..2c0352152d55 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, gmp, pkgconfig, python, autoreconfHook
 , curl, trousers, sqlite, iptables, libxml2, openresolv
-, ldns, unbound, pcsclite, openssl, systemd
+, ldns, unbound, pcsclite, openssl, systemd, pam
 , enableTNC ? false }:
 
 stdenv.mkDerivation rec {
@@ -14,9 +14,11 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = true;
 
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs =
-    [ gmp pkgconfig python autoreconfHook iptables ldns unbound openssl pcsclite systemd.dev ]
-    ++ stdenv.lib.optionals enableTNC [ curl trousers sqlite libxml2 ];
+    [ gmp python iptables ldns unbound openssl pcsclite ]
+    ++ stdenv.lib.optionals enableTNC [ curl trousers sqlite libxml2 ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ systemd.dev pam ];
 
   patches = [
     ./ext_auth-path.patch
@@ -48,7 +50,7 @@ stdenv.mkDerivation rec {
       "--enable-eap-mschapv2" "--enable-xauth-eap" "--enable-ext-auth"
       "--enable-forecast" "--enable-connmark" "--enable-acert"
       "--enable-pkcs11" "--enable-eap-sim-pcsc" "--enable-dnscert" "--enable-unbound"
-      "--enable-af-alg" ]
+      "--enable-af-alg" "--enable-xauth-pam" "--enable-chapoly" ]
     ++ stdenv.lib.optional stdenv.isx86_64 [ "--enable-aesni" "--enable-rdrand" ]
     ++ stdenv.lib.optional (stdenv.system == "i686-linux") "--enable-padlock"
     ++ stdenv.lib.optionals enableTNC [
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 910dc6de871d..56324f4073db 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -161,12 +161,12 @@ in rec {
 
   nixUnstable = (lib.lowPrio (common rec {
     name = "nix-1.12${suffix}";
-    suffix = "pre5413_b4b1f452";
+    suffix = "pre5511_c94f3d55";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "b4b1f4525f8dc8f320d666c208bff5cb36777580";
-      sha256 = "0qb18k2rp6bbg8g50754srl95dq0lr96i297856yhrx1hh1ja37z";
+      rev = "c94f3d5575d7af5403274d1e9e2f3c9d72989751";
+      sha256 = "1akfzzm4f07wj6l7za916xv5rnh71pk3vl8dphgradjfqb37bv18";
     };
     fromGit = true;
   })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
index 92fd6cd1be03..4c3dfe4d07cc 100644
--- a/pkgs/tools/security/afl/default.nix
+++ b/pkgs/tools/security/afl/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "afl-${version}";
-  version = "2.44b";
+  version = "2.48b";
 
   src = fetchurl {
     url    = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
-    sha256 = "0wvx4ibr5hhav9mld1gncdvfzb4iky85gam3x8a43ispjddyya6m";
+    sha256 = "00x7p8lqrpx60hwynl5dqwn6isr8yhl263avcwfw3dqc7v9lwhrz";
   };
 
   # Note: libcgroup isn't needed for building, just for the afl-cgroup
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index baa53492d3ee..331a75495ed3 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl
+{ stdenv, lib, fetchurl, fetchFromGitHub
 , coreutils, gnused, getopt, git, tree, gnupg, which, procps, qrencode
 , makeWrapper
 
@@ -12,7 +12,17 @@ assert x11Support -> xclip != null
                   && xdotool != null
                   && dmenu != null;
 
-stdenv.mkDerivation rec {
+let
+  plugins = map (p: (fetchFromGitHub {
+    owner  = "roddhjav";
+    repo   = "pass-${p.name}";
+    inherit (p) rev sha256;
+  })) [
+    { name = "import"; rev = "491935bd275f29ceac2b876b3a288011d1ce31e7"; sha256 = "02mbh05ab8h7kc30hz718d1d1vkjz43b96c7p0xnd92610d2q66q"; }
+    { name = "update"; rev = "cf576c9036fd18efb9ed29e0e9f811207b556fde"; sha256 = "1hhbrg6a2walrvla6q4cd3pgrqbcrf9brzjkb748735shxfn52hd"; }
+  ];
+
+in stdenv.mkDerivation rec {
   version = "1.7.1";
   name    = "password-store-${version}";
 
@@ -29,6 +39,13 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ];
 
   postInstall = ''
+    # plugins
+    ${stdenv.lib.concatStringsSep "\n" (map (plugin: ''
+      pushd ${plugin}
+      PREFIX=$out make install
+      popd
+    '') plugins)}
+
     # Install Emacs Mode. NOTE: We can't install the necessary
     # dependencies (s.el and f.el) here. The user has to do this
     # himself.
diff --git a/pkgs/tools/security/vulnix/requirements.nix b/pkgs/tools/security/vulnix/requirements.nix
index 280fc2279b47..11faca44ef93 100644
--- a/pkgs/tools/security/vulnix/requirements.nix
+++ b/pkgs/tools/security/vulnix/requirements.nix
@@ -10,8 +10,7 @@ rec {
     propagatedBuildInputs = [
       persistent
       transaction
-      zope_interface
-    ] ++ (with pythonPackages; [ coverage ]);
+    ] ++ (with pythonPackages; [ zope_interface coverage ]);
 
     meta = with stdenv.lib; {
       homepage = "";
@@ -62,9 +61,7 @@ rec {
       url = "https://pypi.python.org/packages/3d/71/3302512282b606ec4d054e09be24c065915518903b29380b6573bff79c24/persistent-4.2.2.tar.gz";
       sha256 = "52ececc6dbba5ef572d3435189318b4dff07675bafa9620e32f785e147c6563c";
     };
-    propagatedBuildInputs = [
-      zope_interface
-    ] ++ (with pythonPackages; [ six wheel ]);
+    propagatedBuildInputs = with pythonPackages; [ zope_interface six wheel ];
     meta = with stdenv.lib; {
       homepage = "";
       license = licenses.zpt21;
@@ -78,9 +75,7 @@ rec {
       url = "https://pypi.python.org/packages/8c/af/3ffafe85bcc93ecb09459f3f2bd8fbe142e9ab34048f9e2774543b470cbd/transaction-2.0.3.tar.gz";
       sha256 = "67bfb81309ba9717edbb2ca2e5717c325b78beec0bf19f44e5b4b9410f82df7f";
     };
-    propagatedBuildInputs = [
-      zope_interface
-    ] ++ (with pythonPackages; [ six wheel ]);
+    propagatedBuildInputs = with pythonPackages; [ zope_interface six wheel ];
     meta = with stdenv.lib; {
       homepage = "";
       license = licenses.zpt21;
@@ -115,18 +110,4 @@ rec {
       description = "Fork of Python 3 pickle module.";
     };
   };
-
-  zope_interface = pythonPackages.buildPythonPackage {
-    name = "zope.interface-4.3.3";
-    src = fetchurl {
-      url = "https://pypi.python.org/packages/44/af/cea1e18bc0d3be0e0824762d3236f0e61088eeed75287e7b854d65ec9916/zope.interface-4.3.3.tar.gz";
-      sha256 = "8780ef68ca8c3fe1abb30c058a59015129d6e04a6b02c2e56b9c7de6078dfa88";
-    };
-    propagatedBuildInputs = [ ];
-    meta = with stdenv.lib; {
-      homepage = "";
-      license = licenses.zpt21;
-      description = "Interfaces for Python";
-    };
-  };
 }
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 3320f2abab34..7f05a7271bbf 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "2.21";
-  sha256 = "0nvvnhmls9gbn093lzcgps1w8824ylgyz674af85768pw2bvczzy";
+  version = "2.99";
+  sha256 = "0fj8fk2w06ahcn35z8pj88sx12yrx1yfd38j6k5aigj4dfj3f3zy";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch b/pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch
new file mode 100644
index 000000000000..650e80c24fbe
--- /dev/null
+++ b/pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch
@@ -0,0 +1,27 @@
+From 2e9ac201af238b742c7032962b9b12a8b66bab0c Mon Sep 17 00:00:00 2001
+From: zimbatm <zimbatm@zimbatm.com>
+Date: Mon, 29 May 2017 22:36:15 +0100
+Subject: [PATCH] allow nologin on other paths
+
+---
+ google_compute_engine/accounts/accounts_utils.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/google_compute_engine/accounts/accounts_utils.py b/google_compute_engine/accounts/accounts_utils.py
+index 57e62be..d7eda06 100644
+--- a/google_compute_engine/accounts/accounts_utils.py
++++ b/google_compute_engine/accounts/accounts_utils.py
+@@ -295,8 +295,8 @@ class AccountsUtils(object):
+     # logins. This helps avoid problems caused by operator and root sharing
+     # a home directory in CentOS and RHEL.
+     pw_entry = self._GetUser(user)
+-    if pw_entry and pw_entry.pw_shell == '/sbin/nologin':
+-      message = 'Not updating user %s. User set /sbin/nologin as login shell.'
++    if pw_entry and os.path.basename(pw_entry.pw_shell) == 'nologin':
++      message = 'Not updating user %s. User set `nologin` as login shell.'
+       self.logger.debug(message, user)
+       return True
+ 
+-- 
+2.13.0
+
diff --git a/pkgs/tools/virtualization/google-compute-engine/default.nix b/pkgs/tools/virtualization/google-compute-engine/default.nix
new file mode 100644
index 000000000000..7a5350fe2eb9
--- /dev/null
+++ b/pkgs/tools/virtualization/google-compute-engine/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, fetchFromGitHub
+, pythonPackages
+, bash
+, shadow
+, systemd
+, utillinux
+}:
+let
+  version = "20170523";
+in
+pythonPackages.buildPythonApplication {
+  name = "google-compute-engine-${version}";
+  namePrefix = "";
+
+  src = fetchFromGitHub {
+    owner = "GoogleCloudPlatform";
+    repo = "compute-image-packages";
+    rev = version;
+    sha256 = "1qxyj3lj9in6m8yi6y6wcmc3662h9z4qax07v97rdnay99mxdv68";
+  };
+
+  patches = [ ./0001-allow-nologin-other-paths.patch ];
+
+  postPatch = ''
+    for file in $(find google_compute_engine -type f); do
+      substituteInPlace "$file" \
+        --replace /bin/systemctl "${systemd}/bin/systemctl" \
+        --replace /bin/bash "${bash}/bin/bash" \
+        --replace /sbin/hwclock "${utillinux}/bin/hwclock"
+
+      # SELinux tool ???  /sbin/restorecon
+    done
+
+    substituteInPlace google_config/udev/64-gce-disk-removal.rules \
+      --replace /bin/sh "${bash}/bin/sh" \
+      --replace /bin/umount "${utillinux}/bin/umount" \
+      --replace /usr/bin/logger "${utillinux}/bin/logger"
+  '';
+
+  postInstall = ''
+    # allows to install the package in `services.udev.packages` in NixOS
+    mkdir -p $out/lib/udev/rules.d
+    cp -r google_config/udev/*.rules $out/lib/udev/rules.d
+  '';
+
+  propagatedBuildInputs = with pythonPackages; [ boto setuptools ];
+
+  meta = with lib; {
+    description = "Google Compute Engine tools and services";
+    homepage = https://github.com/GoogleCloudPlatform/compute-image-packages;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}