about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-10-20 16:22:45 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-10-20 16:22:45 +0200
commitad8bd84fc9e8196e99c3a18d971a1a57c13cf329 (patch)
tree280eacc4a8ed986797333101c65ee9f22b948275 /pkgs/tools
parentba36219220f9867bd24a28a742e9c8f7a32d5357 (diff)
parenteb7a680d96919d35a16429aee825fd634ac892b9 (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/misc/clipman/default.nix6
-rw-r--r--pkgs/tools/misc/execline/default.nix111
-rw-r--r--pkgs/tools/misc/execline/execlineb-wrapper.c43
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix4
-rw-r--r--pkgs/tools/misc/snore/default.nix23
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn/default.nix6
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix8
-rw-r--r--pkgs/tools/system/netdata/default.nix4
-rw-r--r--pkgs/tools/system/rsyslog/default.nix8
11 files changed, 169 insertions, 54 deletions
diff --git a/pkgs/tools/misc/clipman/default.nix b/pkgs/tools/misc/clipman/default.nix
index 1dd2c16cb56e2..42db25f957345 100644
--- a/pkgs/tools/misc/clipman/default.nix
+++ b/pkgs/tools/misc/clipman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clipman";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "yory8";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qv7mncb8ggyxrxqxax3gbcfxzk8b4zj2n8rp2xpghsynw4j740w";
+    sha256 = "083wd9wqsvxsf3w72jqh36php3c85273n3c6j7j997w47k069m32";
   };
 
-  modSha256 = "0qwrj6wqy32v65k3sbp24frhrcq6wfk38ckmy6wfmhgcix47fzj2";
+  modSha256 = "0r7bx2vxnjqs4lx17w7q75spdjh3dz4560d62bj6fb5n71hc5mgv";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix
index 5a967ea20959e..a19074341818e 100644
--- a/pkgs/tools/misc/execline/default.nix
+++ b/pkgs/tools/misc/execline/default.nix
@@ -1,42 +1,85 @@
-{ skawarePackages, makeWrapper }:
+{ lib, skawarePackages
+# for execlineb-with-builtins
+, coreutils, gnugrep, writeScriptBin, runCommand, runCommandCC
+# Whether to wrap bin/execlineb to have the execline tools on its PATH.
+, execlineb-with-builtins ? true
+}:
 
 with skawarePackages;
 
-buildPackage {
-  pname = "execline";
-  version = "2.5.1.0";
-  sha256 = "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi";
+let
+  outputs = [ "bin" "lib" "dev" "doc" "out" ];
 
-  description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
+  execline =
+    buildPackage {
+      pname = "execline";
+      version = "2.5.1.0";
+      sha256 = "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi";
 
-  outputs = [ "bin" "lib" "dev" "doc" "out" ];
+      description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
+
+      inherit outputs;
+
+      # TODO: nsss support
+      configureFlags = [
+        "--libdir=\${lib}/lib"
+        "--dynlibdir=\${lib}/lib"
+        "--bindir=\${bin}/bin"
+        "--includedir=\${dev}/include"
+        "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
+        "--with-include=${skalibs.dev}/include"
+        "--with-lib=${skalibs.lib}/lib"
+        "--with-dynlib=${skalibs.lib}/lib"
+      ];
+
+      postInstall = ''
+        # remove all execline executables from build directory
+        rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
+        rm libexecline.*
 
-  setupHooks = [ makeWrapper ];
-
-  # TODO: nsss support
-  configureFlags = [
-    "--libdir=\${lib}/lib"
-    "--dynlibdir=\${lib}/lib"
-    "--bindir=\${bin}/bin"
-    "--includedir=\${dev}/include"
-    "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
-    "--with-include=${skalibs.dev}/include"
-    "--with-lib=${skalibs.lib}/lib"
-    "--with-dynlib=${skalibs.lib}/lib"
-  ];
-
-  postInstall = ''
-    # remove all execline executables from build directory
-    rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
-    rm libexecline.*
-
-    mv doc $doc/share/doc/execline/html
-    mv examples $doc/share/doc/execline/examples
-
-    # finally, add all tools to PATH so they are available
-    # from within execlineb scripts by default
-    wrapProgram $bin/bin/execlineb \
-      --suffix PATH : $bin/bin
+        mv doc $doc/share/doc/execline/html
+        mv examples $doc/share/doc/execline/examples
+      '';
+
+    };
+
+  # A wrapper around execlineb, which provides all execline
+  # tools on `execlineb`’s PATH.
+  # It is implemented as a C script, because on non-Linux,
+  # nested shebang lines are not supported.
+  execlineb-with-builtins-drv = runCommandCC "execlineb" {} ''
+    mkdir -p $out/bin
+    cc \
+      -O \
+      -Wall -Wpedantic \
+      -D 'EXECLINEB_PATH()="${execline}/bin/execlineb"' \
+      -D 'EXECLINE_BIN_PATH()="${execline}/bin"' \
+      -I "${skalibs.dev}/include" \
+      -L "${skalibs.lib}/lib" \
+      -l"skarnet" \
+      -o "$out/bin/execlineb" \
+      ${./execlineb-wrapper.c}
   '';
 
-}
+
+  # the original execline package, with bin/execlineb overwritten
+  execline-with-builtins = runCommand "my-execline"
+    (execline.drvAttrs // {
+      preferLocalBuild = true;
+      allowSubstitutes = false;
+    })
+    # copy every output and just overwrite the execlineb binary in $bin
+    ''
+      ${lib.concatMapStringsSep "\n"
+        (output: ''
+          cp -r ${execline.${output}} "''$${output}"
+          chmod --recursive +w "''$${output}"
+        '')
+        outputs}
+      install ${execlineb-with-builtins-drv}/bin/execlineb $bin/bin/execlineb
+    '';
+
+in
+  if execlineb-with-builtins
+  then execline-with-builtins
+  else execline
diff --git a/pkgs/tools/misc/execline/execlineb-wrapper.c b/pkgs/tools/misc/execline/execlineb-wrapper.c
new file mode 100644
index 0000000000000..09ccf990af7f3
--- /dev/null
+++ b/pkgs/tools/misc/execline/execlineb-wrapper.c
@@ -0,0 +1,43 @@
+#include <stdlib.h>
+#include <string.h>
+
+#include <skalibs/stralloc.h>
+#include <skalibs/djbunix.h>
+#include <skalibs/strerr2.h>
+#include <skalibs/env.h>
+
+#define dienomem() strerr_diefu1sys(111, "stralloc_catb")
+
+// macros from outside
+/* const char* EXECLINEB_PATH; */
+/* const char* EXECLINE_BIN_PATH; */
+
+int main(int argc, char const* argv[], char const *const *envp)
+{
+  PROG = "execlineb-wrapper";
+
+  char const* path = getenv("PATH");
+  stralloc path_modif = STRALLOC_ZERO;
+
+  // modify PATH if unset or EXECLINEB_BIN_PATH is not yet there
+  if ( !path || ! strstr(path, EXECLINE_BIN_PATH())) {
+    // prepend our execline path
+    if ( ! stralloc_cats(&path_modif, "PATH=")
+         || ! stralloc_cats(&path_modif, EXECLINE_BIN_PATH()) ) dienomem();
+    // old path was not empty
+    if ( path && path[0] ) {
+      if ( ! stralloc_catb(&path_modif, ":", 1)
+           || ! stralloc_cats(&path_modif, path) ) dienomem();
+    }
+    // append final \0
+    if ( ! stralloc_0(&path_modif) ) dienomem();
+  }
+
+  // exec into execlineb and append path_modif to the environment
+  xpathexec_r_name(
+    EXECLINEB_PATH(),
+    argv,
+    envp, env_len(envp),
+    path_modif.s, path_modif.len
+  );
+}
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index 7484e68291882..e3551b8f404f3 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "6.2.1";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "ul";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bazbz1g5iqxlwybn5whidvavglvgdl9yp9qswgsk1jrjmcr5klx";
+    sha256 = "1b9v417g0z9q1sqgnms5vy740xggg4fcz0fdwbc4hfvfj6jkyaad";
   };
 
-  cargoSha256 = "0w0mnh8fnl8zi9n0fxzqaqbvmfagf3ay5v2na3laxb72jm76hrwa";
+  cargoSha256 = "0kzrrphlilnyl79yfmlvd6an8iyi8zcs0inwiq74z383lnbdpk7q";
 
   buildInputs = lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index a395e8decfe65..71b6dd90530ef 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, coreutils, gawk, procps, gnused
-, bc, findutils, xdpyinfo, xprop, gnugrep, ncurses
+, bc, findutils, xdpyinfo, xprop, gnugrep, ncurses, pciutils
 , darwin
 }:
 
 let
   path = lib.makeBinPath ([
     coreutils gawk gnused findutils
-    gnugrep ncurses bc
+    gnugrep ncurses bc pciutils
   ] ++ lib.optionals stdenv.isLinux [
     procps
     xdpyinfo
diff --git a/pkgs/tools/misc/snore/default.nix b/pkgs/tools/misc/snore/default.nix
new file mode 100644
index 0000000000000..f6f177811b025
--- /dev/null
+++ b/pkgs/tools/misc/snore/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.1";
+  pname = "snore";
+
+  src = fetchFromGitHub {
+    owner = "clamiax";
+    repo = pname;
+    rev = version;
+    sha256 = "1ic1qy6ybnjlkz5rb1hpvq6dcdmxw5xcx34qcadrsfdjizxcv8pp";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "sleep with feedback";
+    homepage = "https://github.com/clamiax/snore";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 0827f2eac7ba2..7952c2b91e2fa 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
   # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix
   pname = "dhcpcd";
-  version = "8.0.6";
+  version = "8.1.1";
 
   src = fetchurl {
     url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0kxxpb79j564m6bjvjb9gsn0yzs13c0arfgsycm51gw3xnch3db6";
+    sha256 = "10pasmx3gi09amx9y2phwi3a2d5bwih44vlkdxmx7sqgw67k0pa8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
index dbf175d20c950..53d6ab2fbcf59 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
@@ -32,10 +32,14 @@ in stdenv.mkDerivation {
   configureFlags = [
     "--without-libnm-glib"
     "--with-gnome=${if withGnome then "yes" else "no"}"
-    "--localstatedir=/tmp"
+    "--localstatedir=/var"
     "--enable-absolute-paths"
   ];
 
+  # the installer only create an empty directory in localstatedir, so
+  # we can drop it
+  installFlags = [ "localstatedir=." ];
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 16734df1fb0d8..a14f8187b7d97 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -2,14 +2,14 @@
   asciidoc, cacert, libxml2, libxslt, docbook_xsl }:
 
 python2Packages.buildPythonApplication rec {
-  version = "7.2.4";
+  version = "7.3.0";
   pname = "offlineimap";
 
   src = fetchFromGitHub {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1";
+    sha256 = "0v32s09zgi3jg2grwh1xzzgzpw333b9qflai7zh2hv3fx9xnfbyj";
   };
 
   postPatch = ''
@@ -23,7 +23,7 @@ python2Packages.buildPythonApplication rec {
   doCheck = false;
 
   nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xsl ];
-  propagatedBuildInputs = with python2Packages; [ six kerberos ];
+  propagatedBuildInputs = with python2Packages; [ six kerberos rfc6555 ];
 
   postInstall = ''
     make -C docs man
@@ -35,6 +35,6 @@ python2Packages.buildPythonApplication rec {
     description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
     homepage = http://offlineimap.org;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [];
+    maintainers = with stdenv.lib.maintainers; [ endocrimes ma27 ];
   };
 }
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index b04bc905ec03b..ff6a6e03cc88f 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -12,12 +12,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.18.0";
+  version = "1.18.1";
   pname = "netdata";
 
   src = fetchurl {
     url = "https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz";
-    sha256 = "1ay22x3ydmfh7649scampr0xvgzb32rvbs6fk57xx64sav8vx607";
+    sha256 = "08g5jp63k8y5gbg8v9hxj75q0533c6cyzpjml9z1g5h2h4zaik1r";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 34b7b7d908a8c..8cf1b16a37d8f 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -11,11 +11,12 @@ let
   mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
 in
 stdenv.mkDerivation rec {
-  name = "rsyslog-8.1907.0";
+  pname = "rsyslog";
+  version = "8.1910.0";
 
   src = fetchurl {
-    url = "https://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz";
-    sha256 = "1dcz0w5xalqsi2xjb5j7c9mq5kf9s9kq9j2inpv4w5wkrrg569zb";
+    url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
+    sha256 = "14qczsj12spx0m3dz1pkxnacwi5njr0syamnmi1rg8ri5xlyw682";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
@@ -108,6 +109,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://www.rsyslog.com/;
     description = "Enhanced syslog implementation";
+    changelog = "https://raw.githubusercontent.com/rsyslog/rsyslog/v${version}/ChangeLog";
     license = licenses.gpl3;
     platforms = platforms.linux;
   };