about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/text
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/text')
-rw-r--r--nixpkgs/pkgs/tools/text/comrak/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/d2/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/difftastic/Cargo.lock9
-rw-r--r--nixpkgs/pkgs/tools/text/difftastic/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/diffutils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/goawk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/gtree/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/hcledit/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-admonish/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-emojicodes/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-i18n-helpers/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-katex/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdcat/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/text/mecab/base.nix23
-rw-r--r--nixpkgs/pkgs/tools/text/mecab/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/text/mecab/ipadic.nix15
-rw-r--r--nixpkgs/pkgs/tools/text/mecab/nodic.nix7
-rw-r--r--nixpkgs/pkgs/tools/text/mmdoc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/opencc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ov/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/papeer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/percollate/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/text/platinum-searcher/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/text/platinum-searcher/deps.nix83
-rw-r--r--nixpkgs/pkgs/tools/text/pru/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/text/pru/Gemfile.lock13
-rw-r--r--nixpkgs/pkgs/tools/text/pru/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/text/pru/gemset.nix12
-rw-r--r--nixpkgs/pkgs/tools/text/pyp/default.nix51
-rw-r--r--nixpkgs/pkgs/tools/text/riffdiff/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/robodoc/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/text/rs/default.nix66
-rw-r--r--nixpkgs/pkgs/tools/text/rsbkb/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/rst2html5/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/text/txr/default.nix74
-rw-r--r--nixpkgs/pkgs/tools/text/txt2tags/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/vgrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/xml/xmldiff/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/text/xml/xq/default.nix10
43 files changed, 172 insertions, 558 deletions
diff --git a/nixpkgs/pkgs/tools/text/comrak/default.nix b/nixpkgs/pkgs/tools/text/comrak/default.nix
index 5e52b0c39861..2254bb7e2c27 100644
--- a/nixpkgs/pkgs/tools/text/comrak/default.nix
+++ b/nixpkgs/pkgs/tools/text/comrak/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "comrak";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "kivikakk";
     repo = pname;
     rev = version;
-    sha256 = "sha256-igJphBA49878xuSlAxbI3l6252aTkXaN7XbxVaSBVOw=";
+    sha256 = "sha256-eyLgAVo4U0a1JByJsoWOnKGhDcaOhul145KeOOkmHq8=";
   };
 
-  cargoSha256 = "sha256-ucXb0SU7dpjeLzDN2OTxji3Mh+7bw+npSNsQjbOeY+s=";
+  cargoSha256 = "sha256-Q9VmiC07UxstwRPertTteeHX34zTo58a2wPkQtSwUPU=";
 
   meta = with lib; {
     description = "A CommonMark-compatible GitHub Flavored Markdown parser and formatter";
diff --git a/nixpkgs/pkgs/tools/text/d2/default.nix b/nixpkgs/pkgs/tools/text/d2/default.nix
index db3cb81dc41d..bca032d6ddf9 100644
--- a/nixpkgs/pkgs/tools/text/d2/default.nix
+++ b/nixpkgs/pkgs/tools/text/d2/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "d2";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "terrastruct";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MF8RqwoMc48JYgNUJTQKHlGl59xyHOALnFL2BWQAl24=";
+    hash = "sha256-bp45tkV7f6rGDAmhle/e3cHIqa7nPakANvk4QxetLts=";
   };
 
-  vendorHash = "sha256-SocBC/1LrdSQNfcNVa9nnPaq/UvLVIghHlUSJB7ImBk=";
+  vendorHash = "sha256-QMptNFCoJouI555WkA+4TJhaEzQgJJmca3jVpM3neeI=";
 
   excludedPackages = [ "./e2etests" ];
 
@@ -50,6 +50,6 @@ buildGoModule rec {
     description = "A modern diagram scripting language that turns text to diagrams";
     homepage = "https://d2lang.com";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ dit7ya ];
+    maintainers = with maintainers; [ dit7ya kashw2 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/difftastic/Cargo.lock b/nixpkgs/pkgs/tools/text/difftastic/Cargo.lock
index 549f575426c4..f381f2979312 100644
--- a/nixpkgs/pkgs/tools/text/difftastic/Cargo.lock
+++ b/nixpkgs/pkgs/tools/text/difftastic/Cargo.lock
@@ -237,7 +237,7 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
 
 [[package]]
 name = "difftastic"
-version = "0.51.1"
+version = "0.52.0"
 dependencies = [
  "assert_cmd",
  "bumpalo",
@@ -252,6 +252,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "libmimalloc-sys",
+ "line-numbers",
  "log",
  "mimalloc",
  "owo-colors",
@@ -448,6 +449,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "line-numbers"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793a75315eb63b8699158825bdea85d63eeb850e7543cb834abef3c7b5b53780"
+
+[[package]]
 name = "lock_api"
 version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/nixpkgs/pkgs/tools/text/difftastic/default.nix b/nixpkgs/pkgs/tools/text/difftastic/default.nix
index 77fa6334f16e..1db60b38a8de 100644
--- a/nixpkgs/pkgs/tools/text/difftastic/default.nix
+++ b/nixpkgs/pkgs/tools/text/difftastic/default.nix
@@ -16,13 +16,13 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.51.1";
+  version = "0.52.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    hash = "sha256-u03UL5QB0mdMTgRtxVe4pgLlCeLx1cG7czo7uBKQI84=";
+    hash = "sha256-ve5oUvclHGgw56UEIuEQ0tSdzad94MfL6qzc2hoB0dw=";
   };
 
   cargoLock = {
diff --git a/nixpkgs/pkgs/tools/text/diffutils/default.nix b/nixpkgs/pkgs/tools/text/diffutils/default.nix
index 040f363fa55d..35e0fb5e6b96 100644
--- a/nixpkgs/pkgs/tools/text/diffutils/default.nix
+++ b/nixpkgs/pkgs/tools/text/diffutils/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     lib.optional (coreutils != null) "PR_PROGRAM=${coreutils}/bin/pr"
     ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "gl_cv_func_getopt_gnu=yes";
 
-  doCheck = true;
+  doCheck = !(stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl);
 
   meta = with lib; {
     homepage = "https://www.gnu.org/software/diffutils/diffutils.html";
diff --git a/nixpkgs/pkgs/tools/text/goawk/default.nix b/nixpkgs/pkgs/tools/text/goawk/default.nix
index 8db2143f1b79..fc1a2bab79f4 100644
--- a/nixpkgs/pkgs/tools/text/goawk/default.nix
+++ b/nixpkgs/pkgs/tools/text/goawk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goawk";
-  version = "1.24.0";
+  version = "1.25.0";
 
   src = fetchFromGitHub {
     owner = "benhoyt";
     repo = "goawk";
     rev = "v${version}";
-    hash = "sha256-pce7g0MI23244t5ZK4UDOfQNt1m3tRpCahne0s+NRRE=";
+    hash = "sha256-vxDBtYrfSmYE2mCqhepeLr4u+zLfHxCrYSXGq05CEYQ=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/tools/text/gtree/default.nix b/nixpkgs/pkgs/tools/text/gtree/default.nix
index 91a21ea6794c..022ed0b0f0b6 100644
--- a/nixpkgs/pkgs/tools/text/gtree/default.nix
+++ b/nixpkgs/pkgs/tools/text/gtree/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gtree";
-  version = "1.9.9";
+  version = "1.9.12";
 
   src = fetchFromGitHub {
     owner = "ddddddO";
     repo = "gtree";
     rev = "v${version}";
-    hash = "sha256-CBD01MIKrd/KSQvJg9xyS7V/ed/nfQ2CQe8C3Z9+lwM=";
+    hash = "sha256-N4gw2SaNAcQULNxE+v4I+UhfziLH7zLs0cIP5mHGUx0=";
   };
 
-  vendorHash = "sha256-QxcDa499XV43p8fstENOtfe3iZ176R5/Ub5iovXlYIM=";
+  vendorHash = "sha256-3VNcis7G0k/WTt8APvFaVBoYTo+RhjpnT1cGWhQhXK0=";
 
   subPackages = [
     "cmd/gtree"
diff --git a/nixpkgs/pkgs/tools/text/hcledit/default.nix b/nixpkgs/pkgs/tools/text/hcledit/default.nix
index 1c846cb6e0f0..d5b2fb0cc0a2 100644
--- a/nixpkgs/pkgs/tools/text/hcledit/default.nix
+++ b/nixpkgs/pkgs/tools/text/hcledit/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "hcledit";
-  version = "0.2.9";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "minamijoyo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9FxQ/Y2vMyc4gLbKjhts36wtBIt90gkQZ9LQ3FO/Jig=";
+    hash = "sha256-rXmbRbM6U1JtV3t8C0LlLAdYpxd4UjxrbrPVHdqiCJ8=";
   };
 
-  vendorHash = "sha256-HWwZd5AUo1cysT4WYylQ2+JPBBr/qYNVC4JcJyUiBag=";
+  vendorHash = "sha256-9ND/vDPDn3rn213Jn1UPMmYAkMI86gYx9QLcV/oFGh4=";
 
   meta = with lib; {
     description = "A command line editor for HCL";
diff --git a/nixpkgs/pkgs/tools/text/kdiff3/default.nix b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
index 9287e5928b30..8904d1bf690e 100644
--- a/nixpkgs/pkgs/tools/text/kdiff3/default.nix
+++ b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
@@ -14,11 +14,11 @@
 
 mkDerivation rec {
   pname = "kdiff3";
-  version = "1.10.5";
+  version = "1.10.6";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-2wMm0khBGnqaxBMBx/8O83ecvwQKMw/yhQDdwtTxjIw=";
+    hash = "sha256-EzOu+dZjbGs0ZqF/0sXZbpGdTrUh6isjUoJUETau+zE=";
   };
 
   buildInputs = [ boost ];
diff --git a/nixpkgs/pkgs/tools/text/mdbook-admonish/default.nix b/nixpkgs/pkgs/tools/text/mdbook-admonish/default.nix
index 75538f65fed0..cc84b33b9f65 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-admonish/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook-admonish/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-admonish";
-  version = "1.11.1";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "tommilligan";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-cCtyYcUSmumnO3Vr4/r25++yIgwex1q9ZtgF4rRH4P0=";
+    hash = "sha256-jr77WC6b5PrPANivd6diAFfVqudtviIWBE7I8eFmCfs=";
   };
 
-  cargoHash = "sha256-JHMHUUkMUIm3aY54LZGg+H2V4UsSPt8SWZTJne/Ju5o=";
+  cargoHash = "sha256-gBkRA8QRha46y5cp5aY2R+ekdfjUX5tDuNawCwzKFi4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdbook-emojicodes/default.nix b/nixpkgs/pkgs/tools/text/mdbook-emojicodes/default.nix
index 63bf0dc6daf1..0bbcffd28fe2 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-emojicodes/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook-emojicodes/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-emojicodes";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "blyxyas";
     repo = "mdbook-emojicodes";
     rev = "${version}";
-    hash = "sha256-wj3WVDDJmRh1g4E1iqxqmu6QNNVi9pOqZDnnDX3AnFo=";
+    hash = "sha256-dlvfY2AMBvTl0j9YaT+u4CeWQGGihFD8AZaAK4/hUWU=";
   };
 
-  cargoHash = "sha256-Ia7GdMadx1Jb1BB040eRmyIpK98CsN3yjruUxUNh3co=";
+  cargoHash = "sha256-SkvAtV613+ARk79dB2zRKoLjPgdzoEKQa3JrRw9qBkA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreFoundation
diff --git a/nixpkgs/pkgs/tools/text/mdbook-i18n-helpers/default.nix b/nixpkgs/pkgs/tools/text/mdbook-i18n-helpers/default.nix
index 6e4ef6d01ad1..e3485f46295a 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-i18n-helpers/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook-i18n-helpers/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-i18n-helpers";
-  version = "0.2.2";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mdbook-i18n-helpers";
     rev = "refs/tags/${version}";
-    hash = "sha256-ea/z5+QAvQVacP2Yxz9hGh8REjsNbp/rfkDV0f9KyPg=";
+    hash = "sha256-TxSALv/uqRFdv4JZ8BCiAlirMcizGRkw0YxMCBVkgo4=";
   };
 
-  cargoHash = "sha256-4Bf6R8sVwJCFiF+j+WePxWy43KuArIuMCzXKc58+TAw=";
+  cargoHash = "sha256-BhaSK2A/z05a75dEx8c4RHKau1HRJabOcQ6/eLvcdio=";
 
   meta = with lib; {
     description = "Helpers for a mdbook i18n workflow based on Gettext";
diff --git a/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix b/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix
index 35f43ee46703..7be47c0c8d4d 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-katex";
-  version = "0.5.7";
+  version = "0.5.8";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-yOZTvCuxb2dqH06xgvS2+Vz9Vev0mI/ZEzdL8JPMu8s=";
+    hash = "sha256-YFrl0YR/+lDJW8GjLF0wk0D6Bx9zUxAoAXd9twaxrmM=";
   };
 
-  cargoHash = "sha256-zjBPOEv8jCn48QbK512O3PfLLeozr8ZHkZcfRQSQnvY=";
+  cargoHash = "sha256-wBaek9AQKwPsg9TzBmS0yBtn1G0KCnmxfmGCGCFNWxc=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdbook/default.nix b/nixpkgs/pkgs/tools/text/mdbook/default.nix
index 80afa9533084..e0529c77917b 100644
--- a/nixpkgs/pkgs/tools/text/mdbook/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.34";
+  version = "0.4.35";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "mdBook";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-QkgsFnX6J0ZgXCzGE/dTNLxdXLhCFwLsZCvmZ4SU4Zs=";
+    sha256 = "sha256-oplR34M2PbcIwrfIkA4Ttk2zt3ve883TfXGIDnfJt/4=";
   };
 
-  cargoHash = "sha256-Dhblzn7NytYeY76RmvI8cNjChnCSnTPadxPKyU5QT1Q=";
+  cargoHash = "sha256-D0XhrweO0A1+81Je4JZ0lmnbIHstNvefpmogCyB4FEE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdcat/default.nix b/nixpkgs/pkgs/tools/text/mdcat/default.nix
index 2675bd176751..86809e28487e 100644
--- a/nixpkgs/pkgs/tools/text/mdcat/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdcat/default.nix
@@ -6,26 +6,27 @@
 , asciidoctor
 , openssl
 , Security
+, SystemConfiguration
 , ansi2html
 , installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "swsnr";
     repo = "mdcat";
     rev = "mdcat-${version}";
-    sha256 = "sha256-S47xJmwOCDrJJSYP9WiUKFWR9UZDNgY3mc/fTHaKsvA=";
+    hash = "sha256-QGGZv+wk0w01eL6vAsRRUw+CuTdI949sGOM8ot4dGIc=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
-    ++ lib.optional stdenv.isDarwin Security;
+    ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
-  cargoSha256 = "sha256-g/Il3Sff9NtEfGTXBOGyRw6/GXje9kVwco0URyhv4TI=";
+  cargoHash = "sha256-VH9MmASMiD62rxDZSKmrW7N+qp0Fpm7Pcyhxpkpl/oM=";
 
   nativeCheckInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
diff --git a/nixpkgs/pkgs/tools/text/mecab/base.nix b/nixpkgs/pkgs/tools/text/mecab/base.nix
index 181eb405cbd7..d52d4e907730 100644
--- a/nixpkgs/pkgs/tools/text/mecab/base.nix
+++ b/nixpkgs/pkgs/tools/text/mecab/base.nix
@@ -1,16 +1,17 @@
 { fetchurl }:
 
-{
-    version = "0.996";
+finalAttrs: {
+  version = "0.996";
 
-    src = fetchurl {
-      url = "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE";
-      name = "mecab-0.996.tar.gz";
-      sha256 = "0ncwlqxl1hdn1x4v4kr2sn1sbbcgnhdphp0lcvk74nqkhdbk4wz0";
-    };
+  src = fetchurl {
+    url = "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE";
+    name = "mecab-${finalAttrs.version}.tar.gz";
+    hash = "sha256-4HMyV4MTW3LmZhRceBu0j62lg9UiT7JJD7bBQDumnFk=";
+  };
 
-    buildPhase = ''
-      make
-      make check
-    '';
+  configureFlags = [
+    "--with-charset=utf8"
+  ];
+
+  doCheck = true;
 }
diff --git a/nixpkgs/pkgs/tools/text/mecab/default.nix b/nixpkgs/pkgs/tools/text/mecab/default.nix
index 04293d29efb2..58396d2aa462 100644
--- a/nixpkgs/pkgs/tools/text/mecab/default.nix
+++ b/nixpkgs/pkgs/tools/text/mecab/default.nix
@@ -3,19 +3,19 @@
 let
   mecab-base = import ./base.nix { inherit fetchurl; };
 in
-stdenv.mkDerivation (mecab-base // {
-    pname = "mecab";
-    version = mecab-base.version;
+stdenv.mkDerivation (finalAttrs: ((mecab-base finalAttrs) // {
+  pname = "mecab";
 
-    postInstall = ''
-      sed -i 's|^dicdir = .*$|dicdir = ${mecab-ipadic}|' "$out/etc/mecabrc"
-    '';
+  postInstall = ''
+    sed -i 's|^dicdir = .*$|dicdir = ${mecab-ipadic}|' "$out/etc/mecabrc"
+  '';
 
-    meta = with lib; {
-      description = "Japanese morphological analysis system";
-      homepage = "http://taku910.github.io/mecab/";
-      license = licenses.bsd3;
-      platforms = platforms.unix;
-      maintainers = with maintainers; [ auntie ];
-    };
-})
+  meta = with lib; {
+    description = "Japanese morphological analysis system";
+    homepage = "http://taku910.github.io/mecab";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    mainProgram = "mecab";
+    maintainers = with maintainers; [ auntie paveloom ];
+  };
+}))
diff --git a/nixpkgs/pkgs/tools/text/mecab/ipadic.nix b/nixpkgs/pkgs/tools/text/mecab/ipadic.nix
index 026e385e7c2b..61d23f87a8ce 100644
--- a/nixpkgs/pkgs/tools/text/mecab/ipadic.nix
+++ b/nixpkgs/pkgs/tools/text/mecab/ipadic.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, mecab-nodic }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mecab-ipadic";
   version = "2.7.0-20070801";
 
   src = fetchurl {
     url = "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM";
-    name = "mecab-ipadic-2.7.0-20070801.tar.gz";
-    sha256 = "08rmkvj0f0x6jq0axrjw2y5nam0mavv6x77dp9v4al0wi1ym4bxn";
+    name = "mecab-ipadic-${finalAttrs.version}.tar.gz";
+    hash = "sha256-ti9SfYgcUEV2uu2cbvZWFVRlixdc5q4AlqYDB+SeNSM=";
   };
 
   buildInputs = [ mecab-nodic ];
 
-  configurePhase = ''
-    ./configure --with-dicdir="$out"
-  '';
-}
+  configureFlags = [
+    "--with-charset=utf8"
+    "--with-dicdir=${placeholder "out"}"
+  ];
+})
diff --git a/nixpkgs/pkgs/tools/text/mecab/nodic.nix b/nixpkgs/pkgs/tools/text/mecab/nodic.nix
index be9003623e05..5e33b09db145 100644
--- a/nixpkgs/pkgs/tools/text/mecab/nodic.nix
+++ b/nixpkgs/pkgs/tools/text/mecab/nodic.nix
@@ -3,7 +3,6 @@
 let
   mecab-base = import ./base.nix { inherit fetchurl; };
 in
-stdenv.mkDerivation (mecab-base // {
-    pname = "mecab-nodic";
-    version = mecab-base.version;
-})
+stdenv.mkDerivation (finalAttrs: ((mecab-base finalAttrs) // {
+  pname = "mecab-nodic";
+}))
diff --git a/nixpkgs/pkgs/tools/text/mmdoc/default.nix b/nixpkgs/pkgs/tools/text/mmdoc/default.nix
index 312a4f94b22f..50b7f6dcb9df 100644
--- a/nixpkgs/pkgs/tools/text/mmdoc/default.nix
+++ b/nixpkgs/pkgs/tools/text/mmdoc/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mmdoc";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "ryantm";
     repo = "mmdoc";
     rev = version;
-    hash = "sha256-W48ndjWrdJphvGDDUtcLZLBzsTfeLCi3k6UrHVroBcA=";
+    hash = "sha256-NS8i5xvCwq0pSdfxnaxnpuwmDAkfH6Tkc4N2F6aGvWY=";
   };
 
   nativeBuildInputs = [ ninja meson pkg-config xxd ];
diff --git a/nixpkgs/pkgs/tools/text/opencc/default.nix b/nixpkgs/pkgs/tools/text/opencc/default.nix
index 97f417b1b64e..4093554604f6 100644
--- a/nixpkgs/pkgs/tools/text/opencc/default.nix
+++ b/nixpkgs/pkgs/tools/text/opencc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencc";
-  version = "1.1.6";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "BYVoid";
     repo = "OpenCC";
     rev = "ver.${version}";
-    sha256 = "sha256-0aIYnUuG5XATruxwY6+LZbEdKkHP3X1N1ueVE7R37Qk=";
+    sha256 = "sha256-N7nazA0xoQ2ewOGDiJg1vBBYMdF1/qiCfNjG5CFFbuk=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/nixpkgs/pkgs/tools/text/ov/default.nix b/nixpkgs/pkgs/tools/text/ov/default.nix
index ac07611063aa..2a70d7cdaa54 100644
--- a/nixpkgs/pkgs/tools/text/ov/default.nix
+++ b/nixpkgs/pkgs/tools/text/ov/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "ov";
-  version = "0.31.0";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "noborus";
     repo = "ov";
     rev = "refs/tags/v${version}";
-    hash = "sha256-UtYFr5eFdEU/oZqwy84W/GQiFrMPWRIomqgJY3P52Ws=";
+    hash = "sha256-S84CMC02KJ5eevLxVkapCdjZh4PH95u/0AK4tpkOx2k=";
   };
 
-  vendorHash = "sha256-0Gs/GFlAl+ttprAVq9NxRLYzP/U2PD4IrY+drSIWJ/c=";
+  vendorHash = "sha256-1NdvUdPPr0Twx0hyve4/vvDR2cU+mGyws3UIf8jHfbw=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/text/papeer/default.nix b/nixpkgs/pkgs/tools/text/papeer/default.nix
index 9bca2da6ffce..4084d49373fd 100644
--- a/nixpkgs/pkgs/tools/text/papeer/default.nix
+++ b/nixpkgs/pkgs/tools/text/papeer/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "papeer";
-  version = "0.7.2";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "lapwat";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Kdy660FuPjXYF/uqndljmIvA6r+lo3D86W9pK6KqXl0=";
+    hash = "sha256-nEt2rxI9slrEkbpMpXQM6+jO0QWQsuLdOswXPCSozJs=";
   };
 
   vendorHash = "sha256-3QRSdkx9p0H+zPB//bpWCBKKjKjrx0lHMk5lFm+U7pA=";
diff --git a/nixpkgs/pkgs/tools/text/percollate/default.nix b/nixpkgs/pkgs/tools/text/percollate/default.nix
new file mode 100644
index 000000000000..6c1ce360da20
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/percollate/default.nix
@@ -0,0 +1,44 @@
+{ lib, buildNpmPackage, fetchFromGitHub, chromium, makeWrapper }:
+
+buildNpmPackage rec {
+  pname = "percollate";
+  version = "4.0.2";
+
+  src = fetchFromGitHub {
+    owner = "danburzo";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-QLbLg/zdDCZsRKgC4vR0OT//JHaapGmX33l7jIqUc1M=";
+  };
+
+  npmDepsHash = "sha256-Hxhgjdiz0zC/UlFXK8vvKZFI963Wi2Wx6iHWegr6f10=";
+
+  dontNpmBuild = true;
+
+  # Dev dependencies include an unnecessary Java dependency (epubchecker)
+  # https://github.com/danburzo/percollate/blob/v4.0.2/package.json#L40
+  npmInstallFlags = [ "--omit=dev" ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  env = {
+    PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = true;
+  };
+
+  postPatch = ''
+    substituteInPlace package.json --replace "git config core.hooksPath .git-hooks" ""
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/percollate \
+      --set PUPPETEER_EXECUTABLE_PATH ${chromium}/bin/chromium
+  '';
+
+  meta = with lib; {
+    description = "A command-line tool to turn web pages into readable PDF, EPUB, HTML, or Markdown docs";
+    homepage = "https://github.com/danburzo/percollate";
+    license = licenses.mit;
+    maintainers = [ maintainers.austinbutler ];
+    mainProgram = "percollate";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix b/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix
index ca89b7dc2d8a..cbca59bdc6e5 100644
--- a/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix
+++ b/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix
@@ -1,20 +1,27 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "the_platinum_searcher";
   version = "2.1.5";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/monochromegane/the_platinum_searcher";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "monochromegane";
     repo = "the_platinum_searcher";
-    sha256 = "1y7kl3954dimx9hp2bf1vjg1h52hj1v6cm4f5nhrqzwrawp0b6q0";
+    rev = "v${version}";
+    hash = "sha256-AJsFLleZf5yhLY5UZnaQUBQYntzBLXFh6jU2UtKg8/g=";
   };
 
-  goDeps = ./deps.nix;
+  vendorHash = "sha256-GIjPgu0e+duN5MeWcRaF5xUFCkqe2aZJCwGbLUMko08=";
+
+  patches = [
+    # Add Go Modules support. See https://github.com/monochromegane/the_platinum_searcher/pull/217.
+    (fetchpatch {
+      url = "https://github.com/monochromegane/the_platinum_searcher/pull/217/commits/69064d11c57d5fd5f66ddd95f0e789786183d3c6.patch";
+      hash = "sha256-qQ7kZYb2MWSUV6T1frIPT9nMfb20SI7lbG8YhqyQEi8=";
+    })
+  ];
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     homepage = "https://github.com/monochromegane/the_platinum_searcher";
diff --git a/nixpkgs/pkgs/tools/text/platinum-searcher/deps.nix b/nixpkgs/pkgs/tools/text/platinum-searcher/deps.nix
deleted file mode 100644
index 04fb9bd4be34..000000000000
--- a/nixpkgs/pkgs/tools/text/platinum-searcher/deps.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-[
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "a5b47d31c556af34a302ce5d659e6fea44d90de0";
-      sha256 = "0v6l48fshdjrqzyq1kwn22gy7vy434xdr1i0lm3prsf6jbln9fam";
-    };
-  }
-  {
-    goPackagePath = "github.com/jessevdk/go-flags";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jessevdk/go-flags";
-      rev = "4e64e4a4e2552194cf594243e23aa9baf3b4297e";
-      sha256 = "02x7f1wm8119s27h4dc3a4aw6shydnpnnkvzwg5xm0snn5kb4zxm";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "99064174e013895bbd9b025c31100bd1d9b590ca";
-      sha256 = "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "a49bea13b776691cb1b49873e5d8df96ec74831a";
-      sha256 = "1pcmgf88wml6ca8v63nh3nxsfvpzjv3c4qj2w2wkizbil826g7as";
-    };
-  }
-  {
-    goPackagePath = "github.com/monochromegane/conflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/monochromegane/conflag";
-      rev = "6d68c9aa4183844ddc1655481798fe4d90d483e9";
-      sha256 = "0csfr5c8d3kbna9sqhzfp2z06wq6mc6ijja1zj2i82kzsq8534wa";
-    };
-  }
-  {
-    goPackagePath = "github.com/monochromegane/go-home";
-    fetch = {
-      type = "git";
-      url = "https://github.com/monochromegane/go-home";
-      rev = "25d9dda593924a11ea52e4ffbc8abdb0dbe96401";
-      sha256 = "172chakrj22xfm0bcda4qj5zqf7lwr53pzwc3xj6wz8vd2bcxkww";
-    };
-  }
-  {
-    goPackagePath = "github.com/monochromegane/terminal";
-    fetch = {
-      type = "git";
-      url = "https://github.com/monochromegane/terminal";
-      rev = "2da212063ce19aed90ee5bbb00ad1ad7393d7f48";
-      sha256 = "1rddaq9pk5q57ildms35iihghqk505gb349pb0f6k3svchay38nh";
-    };
-  }
-  {
-    goPackagePath = "github.com/monochromegane/go-gitignore";
-    fetch = {
-      type = "git";
-      url = "https://github.com/monochromegane/go-gitignore";
-      rev = "38717d0a108ca0e5af632cd6845ca77d45b50729";
-      sha256 = "0r1inabpgg6sn6i47b02hcmd2p4dc1ab1mcy20mn1b2k3mpdj4b7";
-    };
-  }
-  {
-    goPackagePath = "github.com/shiena/ansicolor";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shiena/ansicolor";
-      rev = "a422bbe96644373c5753384a59d678f7d261ff10";
-      sha256 = "1dcn8a9z6a5dxa2m3fkppnajcls8lanbl38qggkf646yi5qsk1hc";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/text/pru/Gemfile b/nixpkgs/pkgs/tools/text/pru/Gemfile
deleted file mode 100644
index 84e6742401e7..000000000000
--- a/nixpkgs/pkgs/tools/text/pru/Gemfile
+++ /dev/null
@@ -1,2 +0,0 @@
-source 'https://rubygems.org'
-gem 'pru'
diff --git a/nixpkgs/pkgs/tools/text/pru/Gemfile.lock b/nixpkgs/pkgs/tools/text/pru/Gemfile.lock
deleted file mode 100644
index 98a00ad5368b..000000000000
--- a/nixpkgs/pkgs/tools/text/pru/Gemfile.lock
+++ /dev/null
@@ -1,13 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    pru (0.2.1)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  pru
-
-BUNDLED WITH
-   2.1.4
diff --git a/nixpkgs/pkgs/tools/text/pru/default.nix b/nixpkgs/pkgs/tools/text/pru/default.nix
deleted file mode 100644
index 5126c6dc0e27..000000000000
--- a/nixpkgs/pkgs/tools/text/pru/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, bundlerApp
-, bundlerUpdateScript
-}:
-
-bundlerApp {
-  pname = "pru";
-  gemdir = ./.;
-  exes = [ "pru" ];
-
-  meta = {
-    homepage = "https://github.com/grosser/pru";
-    description = "Pipeable Ruby";
-    longDescription = ''
-      pru allows to use Ruby scripts as filters, working as a convenient,
-      higher-level replacement of typical text processing tools (like sed, awk,
-      grep etc.).
-    '';
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ AndersonTorres ];
-  };
-
-  passthru.updateScript = bundlerUpdateScript "pru";
-}
diff --git a/nixpkgs/pkgs/tools/text/pru/gemset.nix b/nixpkgs/pkgs/tools/text/pru/gemset.nix
deleted file mode 100644
index 76d469ef1b72..000000000000
--- a/nixpkgs/pkgs/tools/text/pru/gemset.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  pru = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1imavf7wlbdfxvkrf838pp3cyfib0r7nzv0chnhyxagy1kk969r2";
-      type = "gem";
-    };
-    version = "0.2.1";
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/pyp/default.nix b/nixpkgs/pkgs/tools/text/pyp/default.nix
deleted file mode 100644
index 1ba4629220db..000000000000
--- a/nixpkgs/pkgs/tools/text/pyp/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib
-, fetchFromGitHub
-, python3
-, bc
-, jq
-}:
-
-let
-  version = "1.1.0";
-in python3.pkgs.buildPythonApplication {
-  pname = "pyp";
-  inherit version;
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "hauntsaninja";
-    repo = "pyp";
-    rev = "v${version}";
-    hash = "sha256-A1Ip41kxH17BakHEWEuymfa24eBEl5FIHAWL+iZFM4I=";
-  };
-
-  nativeBuildInputs = [
-    python3.pkgs.flit-core
-  ];
-
-  nativeCheckInputs = [
-    python3.pkgs.pytestCheckHook
-    bc
-    jq
-  ];
-
-  # without this, the tests fail because they are unable to find the pyp tool
-  # itself...
-  preCheck = ''
-     _OLD_PATH_=$PATH
-     PATH=$out/bin:$PATH
-  '';
-
-  # And a cleanup
-  postCheck = ''
-    PATH=$_OLD_PATH_
-  '';
-
-  meta = {
-    homepage = "https://github.com/hauntsaninja/pyp";
-    description = "Easily run Python at the shell";
-    changelog = "https://github.com/hauntsaninja/pyp/blob/${version}/CHANGELOG.md";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ AndersonTorres ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/riffdiff/default.nix b/nixpkgs/pkgs/tools/text/riffdiff/default.nix
index c26966a15817..cd5e2caa8f0d 100644
--- a/nixpkgs/pkgs/tools/text/riffdiff/default.nix
+++ b/nixpkgs/pkgs/tools/text/riffdiff/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "riffdiff";
-  version = "2.25.2";
+  version = "2.27.0";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = "riff";
     rev = version;
-    hash = "sha256-JZWgI4yAsk+jtTyS3QZBxdAOPYmUxb7pn1SbcUeCh6Y=";
+    hash = "sha256-yrIZsCxoFV9LFh96asYxpAYv1KvrLq+RlqL8gZXaeak=";
   };
 
-  cargoHash = "sha256-Z33CGF02rPf24LaYh+wEmmGgPPw+oxMNCgMzCrUEKqk=";
+  cargoHash = "sha256-tO49qAEW15q76hLcHOtniwLqGy29MZ/dabyZHYAsiME=";
 
   meta = with lib; {
     description = "A diff filter highlighting which line parts have changed";
diff --git a/nixpkgs/pkgs/tools/text/robodoc/default.nix b/nixpkgs/pkgs/tools/text/robodoc/default.nix
deleted file mode 100644
index 83881cee29b3..000000000000
--- a/nixpkgs/pkgs/tools/text/robodoc/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, autoreconfHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "robodoc";
-  version = "4.99.44";
-
-  src = fetchFromGitHub {
-    owner = "gumpu";
-    repo = "ROBODoc";
-    rev = "v${version}";
-    sha256 = "l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE=";
-  };
-
-  postConfigure = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace Docs/makefile.am \
-      --replace 'man1_MANS = robodoc.1 robohdrs.1' 'man1_MANS ='
-  '';
-
-  nativeBuildInputs = [ autoreconfHook ];
-
-  hardeningDisable = [ "format" ];
-
-  meta = with lib; {
-    homepage = "https://github.com/gumpu/ROBODoc";
-    description = "Documentation Extraction Tool";
-    longDescription = ''
-      ROBODoc is program documentation tool. The idea is to include for every
-      function or procedure a standard header containing all sorts of
-      information about the procedure or function. ROBODoc extracts these
-      headers from the source file and puts them in a separate
-      autodocs-file. ROBODoc thus allows you to include the program
-      documentation in the source code and avoid having to maintain two separate
-      documents. Or as Petteri puts it: "robodoc is very useful - especially for
-      programmers who don't like writing documents with Word or some other
-      strange tool."
-
-      ROBODoc can format the headers in a number of different formats: HTML,
-      RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links
-      between headers. You can even include parts of your source code.
-
-      ROBODoc works with many programming languages: For instance C, Pascal,
-      Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++,
-      Java -- basically any program in which you can use remarks/comments.
-    '';
-    license = with licenses; gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; all;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/rs/default.nix b/nixpkgs/pkgs/tools/text/rs/default.nix
deleted file mode 100644
index 141d72dfe077..000000000000
--- a/nixpkgs/pkgs/tools/text/rs/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, installShellFiles
-, libbsd
-}:
-
-stdenv.mkDerivation rec {
-  pname = "rs";
-  version = "20200313";
-
-  src = fetchurl {
-    url = "https://www.mirbsd.org/MirOS/dist/mir/rs/${pname}-${version}.tar.gz";
-    sha256 = "0gxwlfk7bzivpp2260w2r6gkyl7vdi05cggn1fijfnp8kzf1b4li";
-  };
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  buildInputs = [ libbsd ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    ${stdenv.cc}/bin/cc utf8.c rs.c -o rs -lbsd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm 755 rs -t $out/bin
-    installManPage rs.1
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.mirbsd.org/htman/i386/man1/rs.htm";
-    description = "Reshape a data array from standard input";
-    longDescription = ''
-      rs reads the standard input, interpreting each line as a row of blank-
-      separated entries in an array, transforms the array according to the op-
-      tions, and writes it on the standard output. With no arguments (argc < 2)
-      it transforms stream input into a columnar format convenient for terminal
-      viewing, i.e. if the length (in bytes!) of the first line is smaller than
-      the display width, -et is implied, -t otherwise.
-
-      The shape of the input array is deduced from the number of lines and the
-      number of columns on the first line. If that shape is inconvenient, a more
-      useful one might be obtained by skipping some of the input with the -k
-      option. Other options control interpretation of the input columns.
-
-      The shape of the output array is influenced by the rows and cols specifi-
-      cations, which should be positive integers. If only one of them is a po-
-      sitive integer, rs computes a value for the other which will accommodate
-      all of the data. When necessary, missing data are supplied in a manner
-      specified by the options and surplus data are deleted. There are options
-      to control presentation of the output columns, including transposition of
-      the rows and columns.
-    '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/rsbkb/default.nix b/nixpkgs/pkgs/tools/text/rsbkb/default.nix
index fd02babac0b0..1510a63b050f 100644
--- a/nixpkgs/pkgs/tools/text/rsbkb/default.nix
+++ b/nixpkgs/pkgs/tools/text/rsbkb/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rsbkb";
-  version = "1.2";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "trou";
     repo = "rsbkb";
     rev = "release-${version}";
-    hash = "sha256-Y6YTjEbefNUPcl6rNYWVZLGZYTUPr5pvfLabS+zDWqA=";
+    hash = "sha256-+plf7BoYpEFPRsGKNrvLF8TAU3Z7nyx6Td6uRBoNGiE=";
   };
 
-  cargoHash = "sha256-RMX+ZdPaqtqRJvhHFJJrPZnBGwQwZSCXNg1oNo+v2+8=";
+  cargoHash = "sha256-HyosR/5tZCRU2CNnnGITEuESW30Zq3s33UFNcLmEWIA=";
 
   # Setup symlinks for all the utilities,
   # busybox style
diff --git a/nixpkgs/pkgs/tools/text/rst2html5/default.nix b/nixpkgs/pkgs/tools/text/rst2html5/default.nix
deleted file mode 100644
index 61b75130fe1b..000000000000
--- a/nixpkgs/pkgs/tools/text/rst2html5/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, python3Packages, fetchPypi }:
-
-python3Packages.buildPythonPackage rec {
-  pname = "rst2html5";
-  version = "2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-Ejjja/fm6wXTf9YtjCYZsNDB8X5oAtyPoUIsYFDuZfc=";
-  };
-
-  buildInputs = with python3Packages; [
-    beautifulsoup4
-    docutils
-    genshi
-    pygments
-  ];
-
-  meta = with lib;{
-    homepage = "https://rst2html5.readthedocs.io/en/latest/";
-    description = "Converts ReSTructuredText to (X)HTML5";
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/txr/default.nix b/nixpkgs/pkgs/tools/text/txr/default.nix
deleted file mode 100644
index dceedbdc5101..000000000000
--- a/nixpkgs/pkgs/tools/text/txr/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, coreutils
-, libffi
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "txr";
-  version = "291";
-
-  src = fetchurl {
-    url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-Btk3PanJa6hyoM+hfQq+EhIMaL2edyhfxx96Kpy+aaA=";
-  };
-
-  buildInputs = [ libffi ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-  checkTarget = "tests";
-
-  postPatch = ''
-    substituteInPlace tests/017/realpath.tl --replace /usr/bin /bin
-    substituteInPlace tests/017/realpath.expected --replace /usr/bin /bin
-
-    substituteInPlace tests/018/process.tl --replace /usr/bin/env ${lib.getBin coreutils}/bin/env
-  '';
-
-  preCheck = let
-    disabledTests = lib.concatStringsSep " " [
-      # - tries to set sticky bits
-      "tests/018/chmod.tl"
-      # - warning: unbound function crypt
-      "tests/018/crypt.tl"
-    ];
-  in ''
-    rm ${disabledTests}
-  '';
-
-  postInstall = ''
-    mkdir -p $out/share/vim-plugins/txr/{syntax,ftdetect}
-
-    cp {tl,txr}.vim $out/share/vim-plugins/txr/syntax/
-
-    cat > $out/share/vim-plugins/txr/ftdetect/txr.vim <<EOF
-      au BufRead,BufNewFile *.txr set filetype=txr | set lisp
-      au BufRead,BufNewFile *.tl,*.tlo set filetype=tl | set lisp
-    EOF
-    mkdir -p $out/share/nvim
-    ln -s $out/share/vim-plugins/txr $out/share/nvim/site
-  '';
-
-  meta = {
-    homepage = "https://nongnu.org/txr";
-    description = "An Original, New Programming Language for Convenient Data Munging";
-    longDescription = ''
-      TXR is a general-purpose, multi-paradigm programming language. It
-      comprises two languages integrated into a single tool: a text scanning and
-      extraction language referred to as the TXR Pattern Language (sometimes
-      just "TXR"), and a general-purpose dialect of Lisp called TXR Lisp.
-
-      TXR can be used for everything from "one liner" data transformation tasks
-      at the command line, to data scanning and extracting scripts, to full
-      application development in a wide range of areas.
-    '';
-    changelog = "https://www.kylheku.com/cgit/txr/tree/RELNOTES?h=txr-${finalAttrs.version}";
-    license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ AndersonTorres dtzWill ];
-    platforms = lib.platforms.all;
-    broken = stdenv.isDarwin && stdenv.isx86_64; # ofborg fails while testing
-  };
-})
diff --git a/nixpkgs/pkgs/tools/text/txt2tags/default.nix b/nixpkgs/pkgs/tools/text/txt2tags/default.nix
index d15eff7f24b8..8ff39ac1ebfe 100644
--- a/nixpkgs/pkgs/tools/text/txt2tags/default.nix
+++ b/nixpkgs/pkgs/tools/text/txt2tags/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "txt2tags";
-  version = "3.8";
+  version = "3.9";
 
   format = "setuptools";
 
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "txt2tags";
     repo = "txt2tags";
     rev = "refs/tags/${version}";
-    hash = "sha256-urLsA2oeQM0WcKNDgaxKJOgBPGohJT6Zq6y6bEYMTxk=";
+    hash = "sha256-PwPGJJg79ny13gEb1WmgIVHcXQppI/j5mhIyOZjR19k=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/text/ugrep/default.nix b/nixpkgs/pkgs/tools/text/ugrep/default.nix
index edfc8cce6d08..608ec5345aab 100644
--- a/nixpkgs/pkgs/tools/text/ugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ugrep/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ugrep";
-  version = "4.1.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = "ugrep";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-FZGZ60+SGCFOfdUOlUXMZee4Il0UmT8zRmsAVX6bGYY=";
+    hash = "sha256-X2tRjQ948fnyCn7vQbpmDqktMfP4A/s7bVfrKDed5nw=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 9509d9b79083..7ac57de731a5 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.28.3";
+  version = "2.29.1";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    hash = "sha256-uRQGTVEueIe7tk0jd25V2MIBBxbWmXLYDu2lCofq/uY=";
+    hash = "sha256-bvj0K7d23E5QKree+PLfA9AgKFqL6YDtlmh/nEtrPbE=";
   };
 
   vendorHash = "sha256-YUazrbTeioRV+L6Ku+oJRJzp16WCLPzlAH6F25TT6Dg=";
diff --git a/nixpkgs/pkgs/tools/text/vgrep/default.nix b/nixpkgs/pkgs/tools/text/vgrep/default.nix
index f6a14e6024b5..9022c5f5c03b 100644
--- a/nixpkgs/pkgs/tools/text/vgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/vgrep/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vgrep";
-  version = "2.6.1";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "vrothberg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8xLyk1iid3xDCAuZwz1oXsEyboLaxvzm1BEyA2snQt4=";
+    hash = "sha256-+KZNNkTuZyF02YDZX3u1KdhOcZ3+Ud6aDGL/sGUN1hI=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/tools/text/xml/xmldiff/default.nix b/nixpkgs/pkgs/tools/text/xml/xmldiff/default.nix
deleted file mode 100644
index d9dbd70b6483..000000000000
--- a/nixpkgs/pkgs/tools/text/xml/xmldiff/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, buildPythonApplication
-, fetchFromGitHub
-, lxml
-, setuptools
-, six
-}:
-
-buildPythonApplication rec {
-  pname = "xmldiff";
-  version = "2.4";
-
-  src = fetchFromGitHub {
-    owner = "Shoobx";
-    repo = pname;
-    rev = version;
-    hash = "sha256-xqudHYfwOce2C0pcFzId0JDIIC6R5bllmVKsH+CvTdE=";
-  };
-
-  propagatedBuildInputs = [
-    lxml
-    setuptools
-    six
-  ];
-
-  meta = with lib; {
-    homepage = "https://xmldiff.readthedocs.io/en/stable/";
-    description = "A library and command line utility for diffing xml";
-    longDescription = ''
-      xmldiff is a library and a command-line utility for making diffs out of
-      XML. This may seem like something that doesn't need a dedicated utility,
-      but change detection in hierarchical data is very different from change
-      detection in flat data. XML type formats are also not only used for
-      computer readable data, it is also often used as a format for hierarchical
-      data that can be rendered into human readable formats. A traditional diff
-      on such a format would tell you line by line the differences, but this
-      would not be be readable by a human. xmldiff provides tools to make human
-      readable diffs in those situations.
-    '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres anpryl ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/xml/xq/default.nix b/nixpkgs/pkgs/tools/text/xml/xq/default.nix
index 9c6db5bd5fe7..84dc36511bb9 100644
--- a/nixpkgs/pkgs/tools/text/xml/xq/default.nix
+++ b/nixpkgs/pkgs/tools/text/xml/xq/default.nix
@@ -2,21 +2,21 @@
 , buildGoModule
 , fetchFromGitHub
 , testers
-, xq
+, xq-xml
 }:
 
 buildGoModule rec {
   pname = "xq";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "sibprogrammer";
     repo = "xq";
     rev = "v${version}";
-    hash = "sha256-Z14x1b25wKNm9fECkNqGJglK/Z8Xq8VHmYfp5aEvvMU=";
+    hash = "sha256-bhJ8zMZQZn/VzhulkfGOW+uyS8E43TIREAvKIsEPonA=";
   };
 
-  vendorHash = "sha256-CP4QsrTkFcOLDxnFc0apevXRmXHA9aJSU4AK9+TAxOU=";
+  vendorHash = "sha256-iJ1JMvIJqXLkZXuzn2rzKnLbiagTocg/6mJN3Pgd/4w=";
 
   ldflags = [
     "-s"
@@ -27,7 +27,7 @@ buildGoModule rec {
 
   passthru.tests = {
     version = testers.testVersion {
-      package = xq;
+      package = xq-xml;
     };
   };