summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/meta.xml8
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--nixos/modules/services/desktops/flatpak.nix10
-rw-r--r--nixos/modules/tasks/scsi-link-power-management.nix26
-rw-r--r--pkgs/applications/misc/1password/default.nix51
-rw-r--r--pkgs/applications/misc/hello/default.nix8
-rw-r--r--pkgs/applications/misc/udiskie/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix2
-rw-r--r--pkgs/applications/science/math/form/default.nix22
-rw-r--r--pkgs/development/compilers/dmd/default.nix21
-rw-r--r--pkgs/development/compilers/ldc/default.nix24
-rw-r--r--pkgs/development/coq-modules/iris/default.nix30
-rw-r--r--pkgs/development/coq-modules/tlc/default.nix4
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/imagelib/default.nix26
-rw-r--r--pkgs/development/python-modules/asyncssh/default.nix36
-rw-r--r--pkgs/development/tools/bloaty/default.nix16
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix5
-rw-r--r--pkgs/development/tools/dtools/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/tools/graphics/s2png/default.nix24
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/gams/default.nix50
-rw-r--r--pkgs/tools/misc/thefuck/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-tree/default.nix24
-rw-r--r--pkgs/tools/package-management/nixops/unstable.nix6
-rw-r--r--pkgs/top-level/all-packages.nix14
-rw-r--r--pkgs/top-level/coq-packages.nix1
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix14
-rw-r--r--pkgs/top-level/python-packages.nix6
35 files changed, 405 insertions, 91 deletions
diff --git a/doc/meta.xml b/doc/meta.xml
index ad16e7683f58..ab6befd4381c 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -8,16 +8,16 @@
   and so on. For instance, the GNU Hello package has a <varname>meta</varname>
   declaration like this:
 <programlisting>
-meta = {
+meta = with stdenv.lib; {
   description = "A program that produces a familiar, friendly greeting";
   longDescription = ''
     GNU Hello is a program that prints "Hello, world!" when you run it.
     It is fully customizable.
   '';
   homepage = http://www.gnu.org/software/hello/manual/;
-  license = stdenv.lib.licenses.gpl3Plus;
-  maintainers = [ stdenv.lib.maintainers.eelco ];
-  platforms = stdenv.lib.platforms.all;
+  license = licenses.gpl3Plus;
+  maintainers = [ maintainers.eelco ];
+  platforms = platforms.all;
 };
 </programlisting>
  </para>
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0c3175823b07..f001ba6be8df 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -140,6 +140,11 @@
     github = "roosemberth";
     name = "Roosembert (Roosemberth) Palacios";
   };
+  Scriptkiddi = {
+    email = "nixos@scriptkiddi.de";
+    github = "scriptkiddi";
+    name = "Fritz Otlinghaus";
+  };
   SShrike = {
     email = "severen@shrike.me";
     github = "severen";
diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix
index 024dc65629a8..cfca1893bd82 100644
--- a/nixos/modules/services/desktops/flatpak.nix
+++ b/nixos/modules/services/desktops/flatpak.nix
@@ -40,12 +40,12 @@ in {
 
     systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
 
-    environment.variables = {
-      PATH = [
-        "$HOME/.local/share/flatpak/exports/bin"
-        "/var/lib/flatpak/exports/bin"
-      ];
+    environment.profiles = [
+      "$HOME/.local/share/flatpak/exports"
+      "/var/lib/flatpak/exports"
+    ];
 
+    environment.variables = {
       XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals;
     };
   };
diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix
index 484c0a0186d7..69599bda6d32 100644
--- a/nixos/modules/tasks/scsi-link-power-management.nix
+++ b/nixos/modules/tasks/scsi-link-power-management.nix
@@ -2,7 +2,20 @@
 
 with lib;
 
-let cfg = config.powerManagement.scsiLinkPolicy; in
+let
+
+  cfg = config.powerManagement.scsiLinkPolicy;
+
+  kernel = config.boot.kernelPackages.kernel;
+
+  allowedValues = [
+    "min_power"
+    "max_performance"
+    "medium_power"
+    "med_power_with_dipm"
+  ];
+
+in
 
 {
   ###### interface
@@ -11,10 +24,13 @@ let cfg = config.powerManagement.scsiLinkPolicy; in
 
     powerManagement.scsiLinkPolicy = mkOption {
       default = null;
-      type = types.nullOr (types.enum [ "min_power" "max_performance" "medium_power" ]);
+      type = types.nullOr (types.enum allowedValues);
       description = ''
         SCSI link power management policy. The kernel default is
         "max_performance".
+        </para><para>
+        "med_power_with_dipm" is supported by kernel versions
+        4.15 and newer.
       '';
     };
 
@@ -24,6 +40,12 @@ let cfg = config.powerManagement.scsiLinkPolicy; in
   ###### implementation
 
   config = mkIf (cfg != null) {
+
+    assertions = singleton {
+      assertion = (cfg == "med_power_with_dipm") -> versionAtLeast kernel.version "4.15";
+      message = "med_power_with_dipm is not supported for kernels older than 4.15";
+    };
+
     services.udev.extraRules = ''
       SUBSYSTEM=="scsi_host", ACTION=="add", KERNEL=="host*", ATTR{link_power_management_policy}="${cfg}"
     '';
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index b0b6111b334a..60391eee6927 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -2,33 +2,46 @@
 
 stdenv.mkDerivation rec {
   name = "1password-${version}";
-  version = "0.4";
-  src = if stdenv.system == "i686-linux" then fetchzip {
-    url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
-    sha256 = "0mhlqvd3az50gnfil0xlq10855v3bg7yb05j6ndg4h2c551jrq41";
-    stripRoot = false;
-  } else fetchzip {
-    url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-    sha256 = "15cv8xi4slid9jicdmc5xx2r9ag63wcx1mn7hcgzxbxbhyrvwhyf";
-    stripRoot = false;
-  };
+  version = "0.4.1";
+  src =
+    if stdenv.system == "i686-linux" then
+      fetchzip {
+        url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_386_v${version}.zip";
+        sha256 = "0mv2m6rm6bdpca8vhyx213bg4kh06jl2sx8q7mnrp22c3f0yzh7f";
+        stripRoot = false;
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchzip {
+        url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_amd64_v${version}.zip";
+        sha256 = "016h5jcy6jic8j3mvlnpcig9jxs22vj71gh6rrap2q950bzi6fi1";
+        stripRoot = false;
+      }
+    else if stdenv.system == "x86_64-darwin" then
+      fetchzip {
+        url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_darwin_amd64_v${version}.zip";
+        sha256 = "1l0bi0f6gd4q19wn3v409gj64wp51mr0xpb09da1fl33rl5fpszb";
+        stripRoot = false;
+      }
+    else throw "Architecture not supported";
 
   nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
-    mkdir -p $out/bin
-    install -D op $out/share/1password/op
-
-    # https://github.com/NixOS/patchelf/issues/66#issuecomment-267743051
-    makeWrapper $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/op \
-      --argv0 op \
-      --add-flags $out/share/1password/op
+    install -D op $out/bin/op
+  '';
+  postFixup = stdenv.lib.optionalString stdenv.isLinux ''
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $out/bin/op
   '';
 
   meta = with stdenv.lib; {
     description = "1Password command-line tool";
-    homepage    = "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/";
+    homepage    = [
+      "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/"
+      "https://app-updates.agilebits.com/product_history/CLI"
+    ];
     maintainers = with maintainers; [ joelburget ];
     license     = licenses.unfree;
-    platforms   = [ "i686-linux" "x86_64-linux" ];
+    platforms   = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index 8a31c591b29b..c94f78317f4e 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -10,15 +10,15 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A program that produces a familiar, friendly greeting";
     longDescription = ''
       GNU Hello is a program that prints "Hello, world!" when you run it.
       It is fully customizable.
     '';
     homepage = http://www.gnu.org/software/hello/manual/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.eelco ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index ea79e29ff020..f3dc92605f37 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -5,18 +5,17 @@
 , docopt
 , pygobject3
 , pyyaml
-, ...
 }:
 
 buildPythonApplication rec {
   name = "udiskie-${version}";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "coldfix";
     repo = "udiskie";
     rev = version;
-    sha256 = "1yv1faq81n3vspf3jprcs5v21l2fchy3m3pc7lk8jb0xqlnh60x4";
+    sha256 = "0r3m8y6ppkl8p1lhr89sfk9v2la1zn0rbmr6hy860j7b22yvnkrn";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
new file mode 100644
index 000000000000..b1dcfb809b5d
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoPackage, fetchFromGitHub, ... }:
+
+let version = "0.16.0"; in
+
+buildGoPackage {
+  name = "helmfile-${version}";
+
+  src = fetchFromGitHub {
+    owner = "roboll";
+    repo = "helmfile";
+    rev = "v${version}";
+    sha256 = "12gxlan89h0r83aaacshh58nd1pi26gx5gkna0ksll9wsfvraj4d";
+  };
+
+  goPackagePath = "github.com/roboll/helmfile";
+
+  meta = {
+    description = "Deploy Kubernetes Helm charts";
+    homepage = https://github.com/roboll/helmfile;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pneumaticat ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 5879c0e83974..38b7e485259a 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -104,8 +104,8 @@ in rec {
   terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
 
   terraform_0_11 = pluggable (generic {
-    version = "0.11.6";
-    sha256 = "17kd3ln1i40qb8fll5918rvgackzf1ibmr7li1p9vky4ki3iwr0l";
+    version = "0.11.7";
+    sha256 = "0q5gl8yn1f8fas1v68lz081k88gbmlk7f2xqlwqmh01qpqjxd42q";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 6801edb9767c..09ead9b3de65 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     };
 
     meta = with stdenv.lib; {
-        description = "All-in-one voice and text chat for gamers that’s free, secure, and works on both your desktop and phone";
+        description = "All-in-one cross-platform voice and text chat for gamers";
         homepage = https://discordapp.com/;
         downloadPage = "https://github.com/crmarsh/discord-linux-bugs";
         license = licenses.unfree;
diff --git a/pkgs/applications/science/math/form/default.nix b/pkgs/applications/science/math/form/default.nix
new file mode 100644
index 000000000000..88f2367e3340
--- /dev/null
+++ b/pkgs/applications/science/math/form/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, gmp, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "4.2.0";
+  name = "form-${version}";
+
+  # This tarball is released by author, it is not downloaded from tag, so can't use fetchFromGitHub
+  src = fetchurl {
+    url = "https://github.com/vermaseren/form/releases/download/v4.2.0/form-4.2.0.tar.gz";
+    sha256 = "19528aphn4hvm151lyyhd7wz0bp2s3rla8jv6s7d8jwfp5ljzysm";
+  };
+
+  buildInputs = [ gmp zlib ];
+
+  meta = with stdenv.lib; {
+    description = "The FORM project for symbolic manipulation of very big expressions";
+    homepage = https://www.nikhef.nl/~form/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.veprbl ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 6522b12b1310..b391b6eb8455 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, overrideCC, gcc5
 , makeWrapper, unzip, which
 , curl, tzdata, gdb, darwin
-, callPackage
+, callPackage, targetPackages
 , bootstrapVersion ? false
-, version ? "2.079.0"
-, dmdSha256 ? "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y"
-, druntimeSha256 ? "183pqygj5w4105czs5kswyjn9mrcybx3wmkynz3in0m3ylzzjmvl"
-, phobosSha256 ? "0y9i86ggmf41ww2xk2bsrlsv9b1blj5dbyan6q6r6xp8dmgrd79w"
+, version ? "2.079.1"
+, dmdSha256 ? "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj"
+, druntimeSha256 ? "18r8gwvb54ar80j5155wx0qbqq4w56hqmbf6wap20xwijg2rw90g"
+, phobosSha256 ? "1x5v1ln51nr8x2vyki864160bakdyq0acmvbfv7jcipaj2w3m9bb"
 }:
 
 let
@@ -143,6 +143,9 @@ let
     + stdenv.lib.optionalString (stdenv.hostPlatform.isLinux && bootstrapVersion) ''
       substituteInPlace ${dmdPath}/root/port.c \
         --replace "#include <bits/mathdef.h>" "#include <complex.h>"
+
+      substituteInPlace ${dmdPath}/root/port.c \
+        --replace "#include <bits/nan.h>" "#include <math.h>"
     ''
 
     + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
@@ -198,6 +201,8 @@ let
     
     extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}";
 
+    dontStrip = true;
+
     installPhase = ''
         cd dmd
         mkdir $out
@@ -222,13 +227,13 @@ let
         cp -r etc $out/include/d2
 
         wrapProgram $out/bin/dmd \
-            --prefix PATH ":" "${stdenv.cc}/bin" \
-            --set-default CC "$CC"
+            --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
+            --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
 
         cd $out/bin
         tee dmd.conf << EOF
         [Environment]
-        DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
+        DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
         EOF
     '';
 
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
index 1fd839180c56..48301a8f2874 100644
--- a/pkgs/development/compilers/ldc/default.nix
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, fetchurl, cmake, llvm, curl, tzdata
 , python, libconfig, lit, gdb, unzip, darwin, bash
-, callPackage
+, callPackage, makeWrapper, targetPackages
 , bootstrapVersion ? false
 , version ? "1.8.0"
 , ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4"
@@ -124,7 +124,7 @@ let
             --replace "tzName == \"+VERSION\"" "baseName(tzName) == \"leapseconds\" || tzName == \"+VERSION\""
     '';
 
-    nativeBuildInputs = [ cmake llvm bootstrapLdc python lit gdb unzip ]
+    nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ]
 
     ++ stdenv.lib.optional (bootstrapVersion) [
       libconfig
@@ -135,7 +135,7 @@ let
     ]);
 
 
-    buildInputs = [ curl tzdata stdenv.cc ];
+    buildInputs = [ curl tzdata ];
 
     preConfigure = ''
       cmakeFlagsArray=("-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc"
@@ -158,14 +158,20 @@ let
     doCheck = true;
 
     checkPhase = ''
-	# Build and run LDC D unittests.
-	ctest --output-on-failure -R "ldc2-unittest"
-	# Run LIT testsuite.
-	ctest -V -R "lit-tests"
-	# Run DMD testsuite.
-	DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
+      # Build and run LDC D unittests.
+      ctest --output-on-failure -R "ldc2-unittest"
+      # Run LIT testsuite.
+      ctest -V -R "lit-tests"
+      # Run DMD testsuite.
+      DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
     '';
 
+    postInstall = ''
+      wrapProgram $out/bin/ldc2 \
+          --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
+          --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
+     '';
+
     meta = with stdenv.lib; {
       description = "The LLVM-based D compiler";
       homepage = https://github.com/ldc-developers/ldc;
diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix
new file mode 100644
index 000000000000..134ea45493df
--- /dev/null
+++ b/pkgs/development/coq-modules/iris/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchzip, coq, ssreflect, stdpp }:
+
+stdenv.mkDerivation rec {
+  version = "3.1.0";
+  name = "coq${coq.coq-version}-iris-${version}";
+  src = fetchzip {
+    url = "https://gitlab.mpi-sws.org/FP/iris-coq/-/archive/iris-${version}/iris-coq-iris-${version}.tar.gz";
+    sha256 = "0ipdb061jj205avxifshxkpyxxqykigmlxk2n5nvxj62gs3rl5j1";
+  };
+
+  buildInputs = [ coq ];
+  propagatedBuildInputs = [ ssreflect stdpp ];
+
+  enableParallelBuilding = true;
+
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
+
+  meta = {
+    homepage = "https://gitlab.mpi-sws.org/FP/iris-coq";
+    description = "The Coq development of the Iris Project";
+    inherit (coq.meta) platforms;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+  };
+
+  passthru = {
+    compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
+  };
+
+}
diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix
index 4748a0dd2385..5a236f59129d 100644
--- a/pkgs/development/coq-modules/tlc/default.nix
+++ b/pkgs/development/coq-modules/tlc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, coq }:
 
 stdenv.mkDerivation rec {
-  version = "20171206";
+  version = "20180316";
   name = "coq${coq.coq-version}-tlc-${version}";
 
   src = fetchurl {
     url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz";
-    sha256 = "1wc44qb5zmarafp56gdrbka8gllipqna9cj0a6d99jzb361xg4mf";
+    sha256 = "0y8h0x9dfn9dm60j1jkxr9i8lbfqd3ff626wrc9v49qxhi50szqq";
   };
 
   buildInputs = [ coq ];
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index d534cd59bd83..68bffd4032d2 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -17,11 +17,11 @@ let inherit (stdenv.lib) optional; in
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.24.0";
+  version = "1.32.0";
 
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "18ys6p39yvm9wjjzhhlw35c9m8f5gf4dk9jbshibj19q4js1pnv9";
+    sha256 = "0jlndbp4bnyvdg8b59pznrzz0bvwb9nmag7zgcflg51lm1pq2q06";
   };
 
   outputs = [ "bin" "out" "dev" "lib" ];
diff --git a/pkgs/development/ocaml-modules/imagelib/default.nix b/pkgs/development/ocaml-modules/imagelib/default.nix
new file mode 100644
index 000000000000..77b18f0ce3a9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/imagelib/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild, decompress }:
+
+stdenv.mkDerivation rec {
+  version = "20171028";
+  name = "ocaml${ocaml.version}-imagelib-${version}";
+  src = fetchFromGitHub {
+    owner = "rlepigre";
+    repo = "ocaml-imagelib";
+    rev = "ocaml-imagelib_${version}";
+    sha256 = "1frkrgcrv4ybdmqcfxpfsywx0hm1arxgxp32n8kzky6qip1g0zxf";
+  };
+
+  buildInputs = [ which ocaml findlib ocamlbuild ];
+
+  propagatedBuildInputs = [ decompress ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "Image formats such as PNG and PPM in OCaml";
+    license = stdenv.lib.licenses.lgpl3;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix
new file mode 100644
index 000000000000..d5ab50dc9046
--- /dev/null
+++ b/pkgs/development/python-modules/asyncssh/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
+, cryptography
+, bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl }:
+
+buildPythonPackage rec {
+  pname = "asyncssh";
+  version = "1.13.0";
+  disabled = pythonOlder "3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1n75z4dvhzymd4n610dpwlq7wl8cyz1gxx9m7iq92pzhss5vgpfd";
+  };
+
+  propagatedBuildInputs = [ 
+    bcrypt
+    cryptography
+    gssapi
+    libnacl
+    libsodium
+    nettle
+    pyopenssl
+  ];
+
+  # Disables windows specific test (specifically the GSSAPI wrapper for Windows)
+  postPatch = ''
+    rm ./tests/sspi_stub.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework";
+    homepage = https://pypi.python.org/pypi/asyncssh;
+    license = licenses.epl10;
+    maintainers = with maintainers; [ worldofpeace ];
+  };
+}
diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix
index 0dbe1aa78c50..9b18bcb25616 100644
--- a/pkgs/development/tools/bloaty/default.nix
+++ b/pkgs/development/tools/bloaty/default.nix
@@ -1,26 +1,22 @@
-{ stdenv, binutils, cmake, fetchFromGitHub }:
+{ stdenv, binutils, cmake, zlib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "2017-10-05";
+  version = "2018-05-22";
   name = "bloaty-${version}";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "bloaty";
-    rev = "e47b21b01ceecf001e1965e9da249d48d86a1749";
-    sha256 = "1il3z49hi0b07agjwr5fg1wzysfxsamfv1snvlp33vrlyl1m7cbm";
+    rev = "054788b091ccfd43b05b9817062139145096d440";
+    sha256 = "0pmv66137ipzsjjdz004n61pz3aipjhh3b0w0y1406clqpwkvpjm";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
+  buildInputs = [ zlib ];
 
-  preConfigure = ''
-    substituteInPlace src/bloaty.cc \
-      --replace "c++filt" \
-                "${binutils.bintools}/bin/c++filt"
-  '';
+  enableParallelBuilding = true;
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 28894850bbd9..52e29acc9d81 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -4,7 +4,7 @@ let
 
   dubBuild = stdenv.mkDerivation rec {
     name = "dubBuild-${version}";
-    version = "1.8.0";
+    version = "1.8.1";
 
     enableParallelBuilding = true;
 
@@ -12,7 +12,7 @@ let
       owner = "dlang";
       repo = "dub";
       rev = "v${version}";
-      sha256 = "0788d375sc6xdak9x6xclkkz243lb7di68yxfvl4v0n178mi22bk";
+      sha256 = "16r7x4jsfv5fjssvs6mwj8ymr6fjpvbkjhpr4f4368sjr5iyfad6";
     };
 
     postUnpack = ''
@@ -75,6 +75,7 @@ let
       # file under ../etc relative to the dub location.
       cp ${dubBuild}/bin/dub bin/
       export DUB=$NIX_BUILD_TOP/source/bin/dub
+      export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
       export DC=${dmd.out}/bin/dmd
       export HOME=$TMP
       ./test/run-unittest.sh
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index d5f691b0cac5..bc29fe2cbcf9 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "dtools-${version}";
-  version = "2.079.0";
+  version = "2.079.1";
 
   srcs = [
     (fetchFromGitHub {
       owner = "dlang";
       repo = "dmd";
       rev = "v${version}";
-      sha256 = "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y";
+      sha256 = "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj";
       name = "dmd";
     })
     (fetchFromGitHub {
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index a5168ebd4dfa..41dfebab7907 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -25,11 +25,11 @@ in stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "0fggpbsc9jkrbaw9hy0zw9h32plmfvcv0x860pbih0g346byhhkr";
+    sha256 = "0fvymsklp32njsv0ngc1f45j01kcy61r5in99g5palibwkd19xal";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/graphics/s2png/default.nix b/pkgs/tools/graphics/s2png/default.nix
new file mode 100644
index 000000000000..fd538eec573d
--- /dev/null
+++ b/pkgs/tools/graphics/s2png/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, diffutils, gd, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "s2png-${version}";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "dbohdan";
+    repo = "s2png";
+    rev = "v${version}";
+    sha256 = "0y3crfm0jqprgxamlly713cka2x1bp6z63p1lw9wh4wc37kpira6";
+  };
+
+  buildInputs = [ diffutils gd pkgconfig ];
+  installFlags = [ "prefix=" "DESTDIR=$(out)" ];
+
+  meta = {
+    homepage = https://github.com/dbohdan/s2png/;
+    description = "Store any data in PNG images";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.dbohdan ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index f66cc60c9267..5dba7744d7b3 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -7,12 +7,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "calamares";
-  version = "3.1.12";
+  version = "3.2.0";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "0k59wnch2gmbsr5dh5swbjp4rkf5c1ml0n4sxf196wdasraismc6";
+    sha256 = "1i5q3hffjqi1id9kv8sixhddxd90d5qqmbc7gf5vf9m3c54pln64";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 22bf8340156c..d12038a707d2 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -4,13 +4,13 @@
 # There is also cdebootstrap now. Is that easier to maintain?
 stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
-  version = "1.0.99";
+  version = "1.0.100";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
-    sha256 = "1plw53zghiykddj77s5jk10ncx82cgrkk798p909yydhcghnvcsb";
+    sha256 = "0jmwf26sq4bkdz6wi0dcjsrfkg8c8k3xdhi11xp6cdrw6qpw82ws";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
diff --git a/pkgs/tools/misc/gams/default.nix b/pkgs/tools/misc/gams/default.nix
new file mode 100644
index 000000000000..613fdc0f4555
--- /dev/null
+++ b/pkgs/tools/misc/gams/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, unzip, lib, file, licenseFile, optgamsFile}:
+
+assert licenseFile != null;
+
+stdenv.mkDerivation rec {
+  version = "25.0.2";
+  name = "gams-${version}";
+  src = fetchurl {
+    url = "https://d37drm4t2jghv5.cloudfront.net/distributions/${version}/linux/linux_x64_64_sfx.exe";
+    sha256 = "4f95389579f33ff7c2586838a2c19021aa0746279555cbb51aa6e0efd09bd297";
+  };
+  unpackCmd = "unzip $src";
+  buildInputs = [ unzip file ];
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p "$out/bin" "$out/share/gams"
+    cp -a * "$out/share/gams"
+
+    cp ${licenseFile} $out/share/gamslice.txt
+  '' + stdenv.lib.optionalString (optgamsFile != null) ''
+    cp ${optgamsFile} $out/share/optgams.def
+    ln -s $out/share/gams/optgams.def $out/bin/optgams.def
+  '';
+
+  postFixup = ''
+    for f in $out/share/gams/*; do
+      if [[ -x $f ]] && [[ -f $f ]] && [[ ! $f =~ .*\.so$ ]]; then
+        if patchelf \
+          --set-rpath "$out/share/gams" \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $f; then
+          ln -s $f $out/bin/$(basename $f)
+        fi
+      fi
+    done
+  '';
+
+  meta = with stdenv.lib;{
+    description = "General Algebraic Modeling System";
+    longDescription = ''
+      The General Algebraic Modeling System is a high-level modeling system for mathematical optimization.
+      GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems.
+    '';
+    homepage = https://www.gams.com/;
+    license = licenses.unfree;
+    maintainers = [ maintainers.Scriptkiddi ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix
index 7befd344a4d8..1ccfc528e8f6 100644
--- a/pkgs/tools/misc/thefuck/default.nix
+++ b/pkgs/tools/misc/thefuck/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "thefuck";
-  version = "3.26";
+  version = "3.27";
 
   src = fetchFromGitHub {
     owner = "nvbn";
     repo = "${pname}";
     rev = version;
-    sha256 = "0iyihbp94z38xajy8yfbn3ky7irnam1zwyswg34cw4kkfgggrwhz";
+    sha256 = "1lsg0g9lnpj2nidggm16b7jm4xzhg0dgy81crfzny62hah1zk0pj";
   };
 
   propagatedBuildInputs = [ colorama decorator psutil pyte six ];
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 61370ff890bc..fcec511b7ef5 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -13,7 +13,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "tmux-${version}";
-  version = "2.6";
+  version = "2.7";
 
   outputs = [ "out" "man" ];
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "0605y0nwfmf0mnq075vk80897c2cvhxxvxinqq7hvrpjf2ph5mww";
+    sha256 = "1yr4l8ckd67c3id4vrbpha91xxpdfpw0cpbr3v81lam0m7k4rgba";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/package-management/cargo-tree/default.nix b/pkgs/tools/package-management/cargo-tree/default.nix
new file mode 100644
index 000000000000..a9c1a1a33b3c
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-tree/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, cmake, curl, libiconv, darwin }:
+rustPlatform.buildRustPackage rec {
+  name = "cargo-tree-${version}";
+  version = "0.18.0";
+
+  src = fetchFromGitHub {
+    owner = "sfackler";
+    repo = "cargo-tree";
+    rev = "v${version}";
+
+    sha256 = "0lq14w11a4zl0rvv7rsd79k51dwk3w78fbsi6klkqknad02qmx3r";
+  };
+
+  cargoSha256 = "0zi4qbadlx4l6zhb0f892ic3mdmyjjjzrirks18pl6qrn3dgny1x";
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+
+  meta = with lib; {
+    description = "A cargo subcommand that visualizes a crate's dependency graph in a tree-like format";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ jD91mZM2 ];
+  };
+}
diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix
index 8eaf20dc7724..88493d33dd1d 100644
--- a/pkgs/tools/package-management/nixops/unstable.nix
+++ b/pkgs/tools/package-management/nixops/unstable.nix
@@ -5,9 +5,9 @@
 # Then copy the URL to the tarball.
 
 callPackage ./generic.nix (rec {
-  version = "1.6pre2276_9203440";
+  version = "1.6.1pre2622_f10999a";
   src = fetchurl {
-    url = "https://hydra.nixos.org/build/64518294/download/2/nixops-${version}.tar.bz2";
-    sha256 = "1cl0869nl67fr5xk0jl9cvqbmma7d4vz5xbg56jpl7casrr3i51x";
+    url = "https://hydra.nixos.org/build/73716350/download/2/nixops-${version}.tar.bz2";
+    sha256 = "08886b6vxhjc3cp0ikxp920zap7wp6r92763fp785rvxrmb00rbd";
   };
 })
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c90eb323f707..c4c1f03ed5f1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -646,6 +646,11 @@ with pkgs;
 
   genymotion = callPackage ../development/mobile/genymotion { };
 
+  gams = callPackage ../tools/misc/gams {
+    licenseFile = config.gams.licenseFile or null;
+    optgamsFile = config.gams.optgamsFile or null;
+  };
+
   git-fire = callPackage ../tools/misc/git-fire { };
 
   gitless = callPackage ../applications/version-management/gitless/default.nix { };
@@ -1390,6 +1395,8 @@ with pkgs;
 
   parallel-rust = callPackage ../tools/misc/parallel-rust { };
 
+  s2png = callPackage ../tools/graphics/s2png { };
+
   socklog = callPackage ../tools/system/socklog { };
 
   staccato = callPackage ../tools/text/staccato { };
@@ -3436,7 +3443,7 @@ with pkgs;
 
   nixnote2 = libsForQt5.callPackage ../applications/misc/nixnote2 { };
 
-  nodejs = hiPrio nodejs-6_x;
+  nodejs = hiPrio nodejs-8_x;
 
   nodejs-slim = nodejs-slim-6_x;
 
@@ -6914,6 +6921,7 @@ with pkgs;
 
   cargo-edit = callPackage ../tools/package-management/cargo-edit { };
   cargo-release = callPackage ../tools/package-management/cargo-release { };
+  cargo-tree = callPackage ../tools/package-management/cargo-tree { };
 
   cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
 
@@ -20459,6 +20467,8 @@ with pkgs;
     texinfo = texinfo4;
   };
 
+  form = callPackage ../applications/science/math/form { };
+
   fricas = callPackage ../applications/science/math/fricas { };
 
   gap = callPackage ../applications/science/math/gap { };
@@ -20827,6 +20837,8 @@ with pkgs;
 
   helm = callPackage ../applications/audio/helm { };
 
+  helmfile = callPackage ../applications/networking/cluster/helmfile { };
+
   heptio-ark = callPackage ../applications/networking/cluster/heptio-ark { };
 
   hplip = callPackage ../misc/drivers/hplip { };
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 519d1cb9ed46..2bc5671e9874 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -29,6 +29,7 @@ let
       heq = callPackage ../development/coq-modules/heq {};
       HoTT = callPackage ../development/coq-modules/HoTT {};
       interval = callPackage ../development/coq-modules/interval {};
+      iris = callPackage ../development/coq-modules/iris {};
       math-classes = callPackage ../development/coq-modules/math-classes { };
       mathcomp = callPackage ../development/coq-modules/mathcomp { };
       metalib = callPackage ../development/coq-modules/metalib { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index e46888992f77..7bbb56c7b646 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -269,6 +269,8 @@ let
 
     higlo = callPackage ../development/ocaml-modules/higlo { };
 
+    imagelib = callPackage ../development/ocaml-modules/imagelib { };
+
     inotify = callPackage ../development/ocaml-modules/inotify { };
 
     integers = callPackage ../development/ocaml-modules/integers { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 8956f9806684..6f4b0649a126 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -12060,6 +12060,20 @@ let self = _self // overrides; _self = with self; {
      };
   };
 
+  ParsePlainConfig = buildPerlPackage rec {
+    name = "Parse-PlainConfig-3.05";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/${name}.tar.gz";
+      sha256 = "6b78a8552398b0d2d7063505c93b3cfed0432c5b2cf6e00b8e51febf411c1efa";
+    };
+    propagatedBuildInputs = [ ClassEHierarchy Paranoid ];
+    meta = {
+      description = "Parser/Generator of human-readable conf files";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.limeytexan ];
+    };
+  };
+
   ParsePMFile = buildPerlPackage rec {
      name = "Parse-PMFile-0.41";
      src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 42f5f6c17112..b695372fe96a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -547,6 +547,8 @@ in {
 
   asyncio = callPackage ../development/python-modules/asyncio {};
 
+  asyncssh = callPackage ../development/python-modules/asyncssh { };
+
   python-fontconfig = callPackage ../development/python-modules/python-fontconfig { };
 
   funcsigs = callPackage ../development/python-modules/funcsigs { };
@@ -16350,8 +16352,8 @@ EOF
     };
   };
 
-  # For backwards compatibility. Please use nixpkgs.udiskie instead.
-  udiskie = toPythonModule (pkgs.udiskie.override { pythonPackages = self; });
+  # added 2018-05-23, can be removed once 18.09 is branched off
+  udiskie = throw "pythonPackages.udiskie has been replaced by udiskie";
 
   # Should be bumped along with EFL!
   pythonefl = buildPythonPackage rec {