about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/audio/mpdas/default.nix10
-rw-r--r--pkgs/tools/audio/mpdcron/default.nix54
-rw-r--r--pkgs/tools/misc/cod/default.nix2
-rw-r--r--pkgs/tools/misc/duf/default.nix2
-rw-r--r--pkgs/tools/misc/dust/default.nix6
-rw-r--r--pkgs/tools/misc/exa/default.nix6
-rw-r--r--pkgs/tools/misc/expect/default.nix5
-rw-r--r--pkgs/tools/misc/grex/default.nix4
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix30
-rw-r--r--pkgs/tools/misc/onefetch/default.nix3
-rw-r--r--pkgs/tools/misc/topgrade/default.nix4
-rw-r--r--pkgs/tools/misc/zoxide/default.nix11
-rw-r--r--pkgs/tools/networking/mosh/default.nix10
-rw-r--r--pkgs/tools/networking/mtr/default.nix16
-rw-r--r--pkgs/tools/package-management/emplace/default.nix8
-rw-r--r--pkgs/tools/package-management/holo-build/default.nix59
-rw-r--r--pkgs/tools/package-management/libdnf/darwin.patch30
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix6
-rw-r--r--pkgs/tools/package-management/microdnf/default.nix4
-rw-r--r--pkgs/tools/security/bitwarden_rs/default.nix8
-rw-r--r--pkgs/tools/security/gopass/default.nix16
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/text/colordiff/default.nix36
-rw-r--r--pkgs/tools/text/source-highlight/default.nix25
-rw-r--r--pkgs/tools/text/wdiff/default.nix13
25 files changed, 252 insertions, 120 deletions
diff --git a/pkgs/tools/audio/mpdas/default.nix b/pkgs/tools/audio/mpdas/default.nix
index 255d28b62b1e..8b12b6fc16d7 100644
--- a/pkgs/tools/audio/mpdas/default.nix
+++ b/pkgs/tools/audio/mpdas/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, mpd_clientlib, curl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libmpdclient
+, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpdas";
@@ -13,7 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ mpd_clientlib curl ];
+  buildInputs = [ libmpdclient curl ];
 
   makeFlags = [ "CONFIG=/etc" "DESTDIR=" "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix
index 1fa0d155a3d1..afb1c9a3dcda 100644
--- a/pkgs/tools/audio/mpdcron/default.nix
+++ b/pkgs/tools/audio/mpdcron/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib, libdaemon
-, mpd_clientlib, curl, sqlite, bundlerEnv, libnotify, pandoc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, libtool
+, pkg-config
+, glib
+, libdaemon
+, libmpdclient
+, curl
+, sqlite
+, bundlerEnv
+, libnotify
+, pandoc
+}:
 
 let
   gemEnv = bundlerEnv {
@@ -7,8 +21,8 @@ let
     gemdir = ./.;
   };
 in stdenv.mkDerivation {
-  version = "20161228";
   pname = "mpdcron";
+  version = "20161228";
 
   src = fetchFromGitHub {
     owner = "alip";
@@ -17,21 +31,33 @@ in stdenv.mkDerivation {
     sha256 = "0vdksf6lcgmizqr5mqp0bbci259k0dj7gpmhx32md41jlmw5skaw";
   };
 
-  meta = with lib; {
-    description = "A cron like daemon for mpd";
-    homepage    = "http://alip.github.io/mpdcron/";
-    license     = licenses.gpl2;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ lovek323 manveru ];
-  };
-
-  buildInputs =
-    [ autoconf automake libtool pkg-config glib libdaemon pandoc
-      mpd_clientlib curl sqlite gemEnv.wrappedRuby libnotify ];
+  buildInputs = [
+    autoconf
+    automake
+    libtool
+    pkg-config
+    glib
+    libdaemon
+    pandoc
+    libmpdclient
+    curl
+    sqlite
+    gemEnv.wrappedRuby
+    libnotify
+  ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
   configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ];
+
+  meta = with lib; {
+    description = "A cron like daemon for mpd";
+    homepage    = "http://alip.github.io/mpdcron/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ lovek323 manveru ];
+  };
 }
+# TODO: autoreconfHook this
diff --git a/pkgs/tools/misc/cod/default.nix b/pkgs/tools/misc/cod/default.nix
index 6dad6173ed4b..dfad9569d2a0 100644
--- a/pkgs/tools/misc/cod/default.nix
+++ b/pkgs/tools/misc/cod/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "1arllkiz1hk12hq5b2zpg3f8i9lxl66mil5sdv8gnhflmb37vbv3";
 
-  buildFlagsArray = [ "-ldflags=-X main.GitSha=${src.rev}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X main.GitSha=${src.rev}" ];
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/duf/default.nix b/pkgs/tools/misc/duf/default.nix
index 82cc7fa29e4a..ee3573f9f458 100644
--- a/pkgs/tools/misc/duf/default.nix
+++ b/pkgs/tools/misc/duf/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "0icxy6wbqjqawr6i5skwp1z37fq303p8f95crd8lwn6pjjiqzk4i";
 
-  buildFlagsArray = [ "-ldflags=" "-s -w -X=main.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X=main.Version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/muesli/duf/";
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index 7997f2119a28..781ee30debaa 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -8,11 +8,11 @@ rustPlatform.buildRustPackage rec {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "sha256-JwGa1icwV1yqxy90Psd9bzM7VzM7HPA6kONkI3Y745Q=";
+    sha256 = "1knl7kwngmq598bnlvlq9x8sqp914sv1abfm55kw9f7mja2d6pw0";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
-      rm -rf $out/src/test_dir3/
+      rm -r $out/tests/test_dir_unicode/
     '';
   };
 
@@ -24,6 +24,6 @@ rustPlatform.buildRustPackage rec {
     description = "du + rust = dust. Like du but more intuitive";
     homepage = "https://github.com/bootandy/dust";
     license = licenses.asl20;
-    maintainers = [ maintainers.infinisil ];
+    maintainers = with maintainers; [ infinisil SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 83aa6c505d32..f275d254677c 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkg-config, zlib
-, darwin, libiconv, installShellFiles
+, Security, libiconv, installShellFiles
 }:
 
 with rustPlatform;
@@ -28,9 +28,7 @@ buildRustPackage rec {
 
   nativeBuildInputs = [ cmake pkg-config perl installShellFiles ];
   buildInputs = [ zlib ]
-  ++ lib.optionals stdenv.isDarwin [
-    libiconv darwin.apple_sdk.frameworks.Security ]
-  ;
+    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   outputs = [ "out" "man" ];
 
diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix
index 6e8bb7fd96cd..12e63686d51f 100644
--- a/pkgs/tools/misc/expect/default.nix
+++ b/pkgs/tools/misc/expect/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchurl, tcl, makeWrapper, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "5.45.4";
   pname = "expect";
+  version = "5.45.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz";
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A tool for automating interactive applications";
     homepage = "http://expect.sourceforge.net/";
-    license = "Expect";
+    license = licenses.publicDomain;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/grex/default.nix b/pkgs/tools/misc/grex/default.nix
index fca9cecc01c7..d58661babc60 100644
--- a/pkgs/tools/misc/grex/default.nix
+++ b/pkgs/tools/misc/grex/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , fetchpatch
 , rustPlatform
-, darwin
+, Security
 , libiconv
 }:
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1viph7ki6f2akc5mpbgycacndmxnv088ybfji2bfdbi5jnpyavvs";
   };
 
-  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 182e844eb84a..fce376bb32ed 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -1,22 +1,38 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, boost, libgcrypt, systemd, mpd_clientlib, curl }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, boost
+, curl
+, libgcrypt
+, libmpdclient
+, systemd
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpdscribble";
   version = "0.23";
 
   src = fetchurl {
-    url =
-    "https://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.xz";
+    url = "https://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.xz";
     sha256 = "0s66zqscb44p88cl3kcv5jkjcqsskcnrv7xgrjhzrchf2kcpwf53";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ mpd_clientlib curl boost libgcrypt systemd ];
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    libmpdclient
+    curl
+    boost
+    libgcrypt
+    systemd
+  ];
 
   meta = with lib; {
-    description = "A Music Player Daemon (MPD) client which submits information about tracks being played to a scrobbler (e.g. last.fm)";
+    description = "A MPD client which submits info about tracks being played to a scrobbler";
     homepage = "https://www.musicpd.org/clients/mpdscribble/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.sohalt ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
index 12cd9990779d..5dab2044973a 100644
--- a/pkgs/tools/misc/onefetch/default.nix
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -14,8 +14,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-TqWe4eARQmmWcwnvb6BIZrzGeKMpiIObPv0cW1JvWj4=";
 
-  buildInputs = with stdenv;
-    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation libiconv libresolv Security ];
 
   meta = with lib; {
     description = "Git repository summary on your terminal";
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 2412541352fe..2fb41edaa7cb 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Upgrade all the things";
     homepage = "https://github.com/r-darwish/topgrade";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ Br1ght0ne hugoreeves ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ Br1ght0ne hugoreeves SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index c5ca2965e9dd..1e1ec8723bfc 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -4,7 +4,6 @@
 , rustPlatform
 , withFzf ? true
 , fzf
-
   # checkInputs
 , fish
 , powershell
@@ -13,12 +12,10 @@
 , xonsh
 , zsh
 }:
-let
-  version = "0.5.0";
-in
-rustPlatform.buildRustPackage {
+
+rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  inherit version;
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
@@ -55,6 +52,6 @@ rustPlatform.buildRustPackage {
     description = "A fast cd command that learns your habits";
     homepage = "https://github.com/ajeetdsouza/zoxide";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ ysndr cole-h ];
+    maintainers = with maintainers; [ ysndr cole-h SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index b03678858ad0..5ddbf24bb6a9 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchpatch, zlib, protobuf, ncurses, pkg-config
 , makeWrapper, perlPackages, openssl, autoreconfHook, openssh, bash-completion
-, libutempter ? null, withUtempter ? stdenv.isLinux }:
+, withUtempter ? stdenv.isLinux, libutempter }:
 
 stdenv.mkDerivation rec {
   pname = "mosh";
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
 
-  meta = {
+  meta = with lib; {
     homepage = "https://mosh.org/";
     description = "Mobile shell (ssh replacement)";
     longDescription = ''
@@ -56,8 +56,8 @@ stdenv.mkDerivation rec {
       Mosh is a replacement for SSH. It's more robust and responsive,
       especially over Wi-Fi, cellular, and long-distance links.
     '';
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [viric];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index 8296bc479195..1257c167e768 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,17 +1,15 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config
 , libcap, ncurses
-, withGtk ? false, gtk3 ? null }:
-
-assert withGtk -> gtk3 != null;
+, withGtk ? false, gtk3 }:
 
 stdenv.mkDerivation rec {
   pname = "mtr${lib.optionalString withGtk "-gui"}";
   version = "0.94";
 
   src = fetchFromGitHub {
-    owner  = "traviscross";
-    repo   = "mtr";
-    rev    = "v${version}";
+    owner = "traviscross";
+    repo = "mtr";
+    rev = "v${version}";
     sha256 = "0wnz87cr2lcl74bj8qxq9xgai40az3pk9k0z893scyc8svd61xz6";
   };
 
@@ -38,9 +36,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A network diagnostics tool";
-    homepage    = "https://www.bitwizard.nl/mtr/";
-    license     = licenses.gpl2;
+    homepage = "https://www.bitwizard.nl/mtr/";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ koral orivej raskin globin ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix
index d70d7af30b0f..e5da9a1d7b42 100644
--- a/pkgs/tools/package-management/emplace/default.nix
+++ b/pkgs/tools/package-management/emplace/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "emplace";
-  version = "0.4.4";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "tversteeg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OKKAYZz2ytiuc/U4fOZepBDvupzQdWC0Wk3wDi+Ih6w=";
+    sha256 = "sha256-dDFc13IVD4f5UgiHXAcqRKoZEPTn/iBOogT3XfdstK0=";
   };
 
-  cargoSha256 = "sha256-jEplQ/r/XPvLIQrQAiR1Fde5yfE98UuqDazPcEgvo+w=";
+  cargoSha256 = "sha256-QsYOR7tk5cRCF0+xkpJ/F+Z3pjBPxTDFvA1gEi82AOQ=";
 
   meta = with lib; {
     description = "Mirror installed software on multiple machines";
     homepage = "https://github.com/tversteeg/emplace";
-    license = licenses.agpl3;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/tools/package-management/holo-build/default.nix b/pkgs/tools/package-management/holo-build/default.nix
new file mode 100644
index 000000000000..8f88ae08762b
--- /dev/null
+++ b/pkgs/tools/package-management/holo-build/default.nix
@@ -0,0 +1,59 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, perl, file }:
+
+buildGoModule rec {
+  pname = "holo-build";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "holocm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lypbgf96bcc4m3968xa4il1zwprsdyc0pw6pl9mqq7djxabikd0";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'VERSION :=' 'VERSION ?='
+    substituteInPlace src/holo-build.sh \
+      --replace '/usr/lib/holo/holo-build' '${placeholder "out"}/lib/holo/holo-build'
+  '';
+
+  vendorSha256 = null;
+
+  nativeBuildInputs = [ installShellFiles perl ];
+
+  subPackages = [ "src/holo-build" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" ];
+
+  postBuild = ''
+    make build/man/holo-build.8 VERSION=${version}
+  '';
+
+  checkInputs = [ file ];
+
+  checkPhase = ''
+    ln -s ../../go/bin/holo-build build/holo-build
+    go build -ldflags "-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" -o build/dump-package ./src/dump-package
+    bash test/compiler/run_tests.sh
+    bash test/interface/run_tests.sh
+  '';
+
+  postInstall = ''
+    installManPage build/man/*
+    installShellCompletion --bash --name holo-build util/autocomplete.bash
+    installShellCompletion --zsh --name _holo-build util/autocomplete.zsh
+
+    # install wrapper script
+    mkdir -p $out/lib/holo
+    mv $out/bin/holo-build $out/lib/holo/holo-build
+    cp src/holo-build.sh $out/bin/holo-build
+  '';
+
+  meta = with lib; {
+    description = "Cross-distribution system package compiler";
+    homepage = "http://holocm.org/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/package-management/libdnf/darwin.patch b/pkgs/tools/package-management/libdnf/darwin.patch
index 56bafb2f7b82..53f2c04f9ef4 100644
--- a/pkgs/tools/package-management/libdnf/darwin.patch
+++ b/pkgs/tools/package-management/libdnf/darwin.patch
@@ -1,5 +1,25 @@
---- src/libdnf/hy-iutil.cpp	2020-12-02 07:53:42.000000000 -0800
-+++ src/libdnf/hy-iutil.cpp	2020-12-21 14:24:14.000000000 -0800
+diff --git src/libdnf/config.h src/libdnf/config.h
+index 16121f6f..737d0bc4 100644
+--- src/libdnf/config.h
++++ src/libdnf/config.h
+@@ -18,7 +18,12 @@
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ 
++
++#ifdef __APPLE__
++#include <stdint.h>
++#else
+ #include <bits/wordsize.h>
++#endif
+
+ 
+ #if __WORDSIZE == 32
+ #include "config-32.h"
+diff --git src/libdnf/hy-iutil.cpp src/libdnf/hy-iutil.cpp
+index 497c560d..5de077fa 100644
+--- src/libdnf/hy-iutil.cpp
++++ src/libdnf/hy-iutil.cpp
 @@ -22,7 +22,7 @@
  #include <errno.h>
  #include <dirent.h>
@@ -9,8 +29,10 @@
  #include <pwd.h>
  #include <unistd.h>
  #include <stdio.h>
---- src/libdnf/hy-util.cpp	2020-12-02 07:53:42.000000000 -0800
-+++ src/libdnf/hy-util.cpp	2020-12-21 14:23:21.000000000 -0800
+diff --git src/libdnf/hy-util.cpp src/libdnf/hy-util.cpp
+index 295fdc1b..9d584b8a 100644
+--- src/libdnf/hy-util.cpp
++++ src/libdnf/hy-util.cpp
 @@ -24,7 +24,20 @@
  #include <ctype.h>
  #include <sys/utsname.h>
diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 08702e8bf6b1..59df56f86fa9 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -1,15 +1,15 @@
 { gcc9Stdenv, lib, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
-, pcre, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
+, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
 
 gcc9Stdenv.mkDerivation rec {
   pname = "libdnf";
-  version = "0.55.2";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "0hiydwfa90nsrqk5ffa6ks1g73wnsgjgq7z7gwq9jj76a7gpfbfq";
+    sha256 = "0an8giv0lm0qqc76fpmqg42ra081mlj62b9r0s1p0sgb3270l76l";
   };
 
   patches = lib.optionals stdenv.isDarwin [ ./darwin.patch ];
diff --git a/pkgs/tools/package-management/microdnf/default.nix b/pkgs/tools/package-management/microdnf/default.nix
index 8e866abb3cca..498d6d21f39c 100644
--- a/pkgs/tools/package-management/microdnf/default.nix
+++ b/pkgs/tools/package-management/microdnf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microdnf";
-  version = "3.6.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "0a7lc3qsnblvznzsz3544l3n84184xi85zf7c3m3jhnmpmxsg39h";
+    sha256 = "1is8hqckjdz1h9w44iq1ljyfs5b0qd2cyivl30ny4dv8m8zba4zv";
   };
 
   nativeBuildInputs = [ pkg-config cmake gettext help2man ];
diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix
index 3b623cefd0de..2cce00693a4f 100644
--- a/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/pkgs/tools/security/bitwarden_rs/default.nix
@@ -8,13 +8,13 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "bitwarden_rs";
-  version = "1.17.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "0hi29vy23a5r23pgzdssd2gvim8vw2vmykck5cl5phq11a3az31p";
+    sha256 = "1iww8fhh4indmgw1j35whqyakd4bppmiyjpcdf2qrzg52x5binh0";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ in rustPlatform.buildRustPackage rec {
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "0hv3k5l85nz4syzamranhi237fiwkjnda8v5ssnm2nsmcm7ih9k8";
+  cargoSha256 = "0ga7ahlszja8ilng8xsrwdy7zy6bbci4mf00lknladjhlw16wibf";
   cargoBuildFlags = [ featuresFlag ];
 
   checkPhase = ''
@@ -40,7 +40,7 @@ in rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Unofficial Bitwarden compatible server written in Rust";
     homepage = "https://github.com/dani-garcia/bitwarden_rs";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ msteen ];
   };
 }
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index d85c6ca28693..c208b44bfd6e 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , makeWrapper
 , buildGoModule
 , fetchFromGitHub
@@ -12,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.11.0";
+  version = "1.12.0";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -20,10 +21,12 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0plg3hck6yqxcazjczx9m5palzz5h3qs5minzmmq8yzvfwi0shic";
+    sha256 = "0y3dcikw6gl436mhza5j0b3lm49jzl590a9ry53rkmzrv2lqx9w6";
   };
 
-  vendorSha256 = "1sycbcld5qyriqb771l52drxy4vhzm4nh9q5s6kn70nq1s2a3h7x";
+  vendorSha256 = "09lbkm7c361c2s87qi1wpfsqgpp3r862wcn98dzdg5j6pvpgwbag";
+
+  subPackages = [ "." ];
 
   doCheck = false;
 
@@ -47,9 +50,7 @@ buildGoModule rec {
   '';
 
   postFixup = ''
-    for bin in $out/bin/*; do
-      wrapProgram $bin --prefix PATH : "${wrapperPath}"
-    done
+    wrapProgram $out/bin/gopass --prefix PATH : "${wrapperPath}"
   '';
 
   meta = with lib; {
@@ -57,6 +58,7 @@ buildGoModule rec {
     homepage = "https://www.gopass.pw/";
     license = licenses.mit;
     maintainers = with maintainers; [ andir rvolosatovs ];
+    changelog = "https://github.com/gopasspw/gopass/blob/v${version}/CHANGELOG.md";
     platforms = platforms.unix;
 
     longDescription = ''
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 1ece53203b10..906ca618e468 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.14.15";
+  version = "3.14.16";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-vRtDctiulR5YmcwNCZtSU/tsRjs1+DP07NFVSL1TSuI=";
+    sha256 = "sha256-VZIeyLJBlh5/r0EHinSiPiQyCNUBFBYjDZ6nTVnZBbE=";
     rev = version;
     repo = pname;
     owner = "puppetlabs";
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 04d41b74db0f..364d3c6edc45 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -1,26 +1,36 @@
-{ lib, stdenv, fetchurl, perl /*, xmlto */}:
+{ lib, stdenv, fetchFromGitHub, docbook_xml_dtd_412, docbook_xsl, perl, w3m, xmlto }:
 
 stdenv.mkDerivation rec {
-  name = "colordiff-1.0.19";
+  pname = "colordiff";
+  version = "1.0.19";
 
-  src = fetchurl {
-    urls = [
-      "https://www.colordiff.org/${name}.tar.gz"
-      "http://www.colordiff.org/archive/${name}.tar.gz"
-    ];
-    sha256 = "069vzzgs7b44bmfh3ks2psrdb26s1w19gp9w4xxbgi7nhx6w3s26";
+  src = fetchFromGitHub {
+    owner = "daveewart";
+    repo = "colordiff";
+    rev = "v${version}";
+    sha256 = "1v7s1yn0qvn08iwm5js8mxn442392qyr7s9ij506byfd497ag7qk";
   };
 
-  buildInputs = [ perl /* xmlto */ ];
+  nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m xmlto ];
 
-  dontBuild = 1; # do not build doc yet.
+  buildInputs = [ perl ];
 
-  installPhase = ''make INSTALL_DIR=/bin MAN_DIR=/share/man/man1 DESTDIR="$out" install'';
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'TMPDIR=colordiff-''${VERSION}' ""
+  '';
+
+  installFlags = [
+    "INSTALL_DIR=/bin"
+    "MAN_DIR=/share/man/man1"
+    "DESTDIR=${placeholder "out"}"
+  ];
 
   meta = with lib; {
     description = "Wrapper for 'diff' that produces the same output but with pretty 'syntax' highlighting";
     homepage = "https://www.colordiff.org/";
-    license = licenses.gpl3;
-    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index 2e60d2a31c0c..c8eb43a51c9d 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -1,14 +1,11 @@
 { lib, stdenv, fetchurl, boost }:
 
-let
-  name = "source-highlight";
+stdenv.mkDerivation rec {
+  pname = "source-highlight";
   version = "3.1.9";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
+    url = "mirror://gnu/src-highlite/${pname}-${version}.tar.gz";
     sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs";
   };
 
@@ -26,15 +23,15 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = false;
 
-  meta = {
+  meta = with lib; {
     description = "Source code renderer with syntax highlighting";
+    longDescription = ''
+      GNU Source-highlight, given a source file, produces a document
+      with syntax highlighting.
+    '';
     homepage = "https://www.gnu.org/software/src-highlite/";
-    license = lib.licenses.gpl3Plus;
-    platforms = with lib.platforms; linux ++ darwin;
-    longDescription =
-      ''
-        GNU Source-highlight, given a source file, produces a document
-        with syntax highlighting.
-      '';
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index afcb649d921d..4d0f87354ad3 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, texinfo, which }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-1.2.2";
+  pname = "wdiff";
+  version = "1.2.2";
 
   src = fetchurl {
-    url = "mirror://gnu/wdiff/${name}.tar.gz";
+    url = "mirror://gnu/wdiff/${pname}-${version}.tar.gz";
     sha256 = "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl";
   };
 
@@ -12,11 +13,11 @@ stdenv.mkDerivation rec {
 
   checkInputs = [ which ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.gnu.org/software/wdiff/";
     description = "Comparing files on a word by word basis";
-    license = lib.licenses.gpl3Plus;
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ eelco SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }