about summary refs log tree commit diff
path: root/pkgs/tools/text
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/text')
-rw-r--r--pkgs/tools/text/a2ps/default.nix46
-rw-r--r--pkgs/tools/text/abbreviate/default.nix41
-rw-r--r--pkgs/tools/text/agrep/default.nix43
-rw-r--r--pkgs/tools/text/aha/default.nix29
-rw-r--r--pkgs/tools/text/align/default.nix23
-rw-r--r--pkgs/tools/text/amber/default.nix2
-rw-r--r--pkgs/tools/text/anew/default.nix28
-rw-r--r--pkgs/tools/text/anewer/default.nix23
-rw-r--r--pkgs/tools/text/angle-grinder/default.nix26
-rw-r--r--pkgs/tools/text/ansifilter/default.nix37
-rw-r--r--pkgs/tools/text/ascii/default.nix37
-rw-r--r--pkgs/tools/text/asciigraph/default.nix25
-rw-r--r--pkgs/tools/text/autocorrect/Cargo.lock1153
-rw-r--r--pkgs/tools/text/autocorrect/default.nix8
-rw-r--r--pkgs/tools/text/base16384/default.nix28
-rw-r--r--pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch25
-rw-r--r--pkgs/tools/text/bashblog/default.nix63
-rw-r--r--pkgs/tools/text/book-summary/default.nix24
-rw-r--r--pkgs/tools/text/boxes/default.nix46
-rw-r--r--pkgs/tools/text/catdoc/default.nix33
-rw-r--r--pkgs/tools/text/catdocx/default.nix32
-rw-r--r--pkgs/tools/text/cconv/default.nix25
-rw-r--r--pkgs/tools/text/chars/default.nix2
-rw-r--r--pkgs/tools/text/choose/default.nix26
-rw-r--r--pkgs/tools/text/chroma/default.nix38
-rw-r--r--pkgs/tools/text/chroma/src.json11
-rw-r--r--pkgs/tools/text/cidrgrep/default.nix26
-rw-r--r--pkgs/tools/text/clima/default.nix33
-rw-r--r--pkgs/tools/text/cmigemo/default.nix39
-rw-r--r--pkgs/tools/text/cmigemo/no-http-tool-check.patch23
-rw-r--r--pkgs/tools/text/codesearch/default.nix24
-rw-r--r--pkgs/tools/text/colordiff/default.nix40
-rw-r--r--pkgs/tools/text/coloursum/default.nix2
-rw-r--r--pkgs/tools/text/comrak/default.nix24
-rw-r--r--pkgs/tools/text/convertlit/default.nix38
-rw-r--r--pkgs/tools/text/copyright-update/default.nix27
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix51
-rw-r--r--pkgs/tools/text/csvdiff/default.nix26
-rw-r--r--pkgs/tools/text/csview/default.nix23
-rw-r--r--pkgs/tools/text/csvquote/csvquote-path.patch14
-rw-r--r--pkgs/tools/text/csvquote/default.nix47
-rw-r--r--pkgs/tools/text/d2/default.nix55
-rw-r--r--pkgs/tools/text/dadadodo/default.nix28
-rw-r--r--pkgs/tools/text/dcs/default.nix47
-rw-r--r--pkgs/tools/text/dfmt/default.nix28
-rw-r--r--pkgs/tools/text/diction/default.nix23
-rw-r--r--pkgs/tools/text/diffr/default.nix2
-rw-r--r--pkgs/tools/text/diffsitter/default.nix80
-rw-r--r--pkgs/tools/text/diffstat/default.nix28
-rw-r--r--pkgs/tools/text/difftastic/Cargo.lock1263
-rw-r--r--pkgs/tools/text/difftastic/default.nix51
-rw-r--r--pkgs/tools/text/dirdiff/default.nix65
-rw-r--r--pkgs/tools/text/dirdiff/dirdiff-2.1-vars.patch32
-rw-r--r--pkgs/tools/text/discount/default.nix43
-rw-r--r--pkgs/tools/text/discount/fix-configure-path.patch12
-rw-r--r--pkgs/tools/text/djot-js/default.nix36
-rw-r--r--pkgs/tools/text/dos2unix/default.nix23
-rw-r--r--pkgs/tools/text/dt/default.nix45
-rw-r--r--pkgs/tools/text/each/default.nix26
-rw-r--r--pkgs/tools/text/ebook-tools/default.nix22
-rw-r--r--pkgs/tools/text/enca/default.nix28
-rw-r--r--pkgs/tools/text/enscript/0001-use-system-getopt.patch68
-rw-r--r--pkgs/tools/text/enscript/default.nix52
-rw-r--r--pkgs/tools/text/epub2txt2/default.nix24
-rw-r--r--pkgs/tools/text/epubcheck/default.nix43
-rw-r--r--pkgs/tools/text/esh/default.nix41
-rw-r--r--pkgs/tools/text/fanficfare/default.nix39
-rw-r--r--pkgs/tools/text/fastmod/default.nix2
-rw-r--r--pkgs/tools/text/frangipanni/default.nix23
-rw-r--r--pkgs/tools/text/frawk/default.nix45
-rw-r--r--pkgs/tools/text/frogmouth/default.nix45
-rw-r--r--pkgs/tools/text/fst/default.nix39
-rw-r--r--pkgs/tools/text/gawk/default.nix61
-rw-r--r--pkgs/tools/text/gawk/gawkextlib.nix4
-rw-r--r--pkgs/tools/text/gist/default.nix17
-rw-r--r--pkgs/tools/text/gjo/default.nix26
-rw-r--r--pkgs/tools/text/glogg/default.nix4
-rw-r--r--pkgs/tools/text/gnugrep/default.nix4
-rw-r--r--pkgs/tools/text/gnupatch/Abort_when_cleaning_up_fails.patch51
-rw-r--r--pkgs/tools/text/gnupatch/default.nix13
-rw-r--r--pkgs/tools/text/goawk/default.nix43
-rw-r--r--pkgs/tools/text/grin/default.nix34
-rw-r--r--pkgs/tools/text/grip-search/default.nix40
-rw-r--r--pkgs/tools/text/groff/default.nix136
-rw-r--r--pkgs/tools/text/groff/site.tmac26
-rw-r--r--pkgs/tools/text/gtranslator/default.nix71
-rw-r--r--pkgs/tools/text/gtree/default.nix46
-rw-r--r--pkgs/tools/text/gucci/default.nix38
-rw-r--r--pkgs/tools/text/hck/default.nix30
-rw-r--r--pkgs/tools/text/hcledit/default.nix26
-rw-r--r--pkgs/tools/text/highlight/default.nix14
-rw-r--r--pkgs/tools/text/html-tidy/default.nix42
-rw-r--r--pkgs/tools/text/html2text/default.nix26
-rw-r--r--pkgs/tools/text/huniq/default.nix21
-rw-r--r--pkgs/tools/text/hyx/default.nix31
-rw-r--r--pkgs/tools/text/icdiff/default.nix34
-rw-r--r--pkgs/tools/text/igrep/default.nix8
-rw-r--r--pkgs/tools/text/invoice2data/default.nix65
-rw-r--r--pkgs/tools/text/ispell/default.nix38
-rw-r--r--pkgs/tools/text/jbofihe/default.nix29
-rw-r--r--pkgs/tools/text/jen/default.nix30
-rw-r--r--pkgs/tools/text/jotdown/default.nix27
-rw-r--r--pkgs/tools/text/jsawk/default.nix29
-rw-r--r--pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch177
-rw-r--r--pkgs/tools/text/jumanpp/default.nix50
-rw-r--r--pkgs/tools/text/justify/default.nix37
-rw-r--r--pkgs/tools/text/kakasi/default.nix35
-rw-r--r--pkgs/tools/text/kdiff3/default.nix6
-rw-r--r--pkgs/tools/text/kytea/default.nix32
-rw-r--r--pkgs/tools/text/kytea/gcc-O3.patch13
-rw-r--r--pkgs/tools/text/l2md/default.nix32
-rw-r--r--pkgs/tools/text/languagetool-rust/default.nix4
-rw-r--r--pkgs/tools/text/languagetool/default.nix41
-rw-r--r--pkgs/tools/text/ledger2beancount/default.nix57
-rw-r--r--pkgs/tools/text/link-grammar/default.nix67
-rw-r--r--pkgs/tools/text/ltex-ls/default.nix34
-rw-r--r--pkgs/tools/text/lv/default.nix33
-rw-r--r--pkgs/tools/text/mairix/default.nix27
-rw-r--r--pkgs/tools/text/mairix/mmap.patch161
-rw-r--r--pkgs/tools/text/mark/default.nix25
-rw-r--r--pkgs/tools/text/markdownlint-cli/default.nix28
-rw-r--r--pkgs/tools/text/markdownlint-cli2/default.nix32
-rw-r--r--pkgs/tools/text/markscribe/default.nix29
-rw-r--r--pkgs/tools/text/math-review/default.nix34
-rw-r--r--pkgs/tools/text/mawk/default.nix25
-rw-r--r--pkgs/tools/text/mb2md/default.nix39
-rw-r--r--pkgs/tools/text/mdbook-admonish/default.nix8
-rw-r--r--pkgs/tools/text/mdbook-cmdrun/default.nix37
-rw-r--r--pkgs/tools/text/mdbook-d2/default.nix34
-rw-r--r--pkgs/tools/text/mdbook-emojicodes/default.nix33
-rw-r--r--pkgs/tools/text/mdbook-epub/default.nix2
-rw-r--r--pkgs/tools/text/mdbook-footnote/default.nix4
-rw-r--r--pkgs/tools/text/mdbook-graphviz/default.nix8
-rw-r--r--pkgs/tools/text/mdbook-i18n-helpers/default.nix27
-rw-r--r--pkgs/tools/text/mdbook-katex/default.nix8
-rw-r--r--pkgs/tools/text/mdbook-kroki-preprocessor/default.nix41
-rw-r--r--pkgs/tools/text/mdbook-linkcheck/default.nix6
-rw-r--r--pkgs/tools/text/mdbook-man/default.nix24
-rw-r--r--pkgs/tools/text/mdbook-mermaid/default.nix8
-rw-r--r--pkgs/tools/text/mdbook-open-on-gh/default.nix23
-rw-r--r--pkgs/tools/text/mdbook-pagetoc/default.nix23
-rw-r--r--pkgs/tools/text/mdbook-pdf/default.nix18
-rw-r--r--pkgs/tools/text/mdbook-plantuml/default.nix2
-rw-r--r--pkgs/tools/text/mdbook-toc/default.nix2
-rw-r--r--pkgs/tools/text/mdbook/default.nix41
-rw-r--r--pkgs/tools/text/mdcat/default.nix18
-rw-r--r--pkgs/tools/text/mdhtml/default.nix28
-rw-r--r--pkgs/tools/text/miller/default.nix33
-rw-r--r--pkgs/tools/text/mmdoc/default.nix36
-rw-r--r--pkgs/tools/text/morsel/default.nix23
-rw-r--r--pkgs/tools/text/mpage/default.nix33
-rw-r--r--pkgs/tools/text/mrkd/default.nix52
-rw-r--r--pkgs/tools/text/multitran/mtutils/default.nix2
-rw-r--r--pkgs/tools/text/mw/default.nix37
-rw-r--r--pkgs/tools/text/namazu/default.nix34
-rw-r--r--pkgs/tools/text/nerdfix/default.nix27
-rw-r--r--pkgs/tools/text/nkf/default.nix31
-rw-r--r--pkgs/tools/text/nltk-data/default.nix (renamed from pkgs/tools/text/nltk_data/default.nix)40
-rw-r--r--pkgs/tools/text/num-utils/default.nix29
-rw-r--r--pkgs/tools/text/numdiff/default.nix26
-rw-r--r--pkgs/tools/text/odt2txt/default.nix24
-rw-r--r--pkgs/tools/text/opencc/default.nix43
-rw-r--r--pkgs/tools/text/ov/default.nix71
-rw-r--r--pkgs/tools/text/papeer/default.nix25
-rw-r--r--pkgs/tools/text/paperoni/Cargo.lock3014
-rw-r--r--pkgs/tools/text/paperoni/default.nix52
-rwxr-xr-xpkgs/tools/text/papertrail/Gemfile4
-rw-r--r--pkgs/tools/text/papertrail/Gemfile.lock17
-rw-r--r--pkgs/tools/text/papertrail/default.nix32
-rw-r--r--pkgs/tools/text/papertrail/gemset.nix26
-rw-r--r--pkgs/tools/text/par/default.nix34
-rw-r--r--pkgs/tools/text/pbgopy/default.nix23
-rw-r--r--pkgs/tools/text/peco/default.nix26
-rw-r--r--pkgs/tools/text/percollate/default.nix44
-rw-r--r--pkgs/tools/text/pinyin-tool/default.nix4
-rw-r--r--pkgs/tools/text/platinum-searcher/default.nix32
-rw-r--r--pkgs/tools/text/pn/default.nix25
-rw-r--r--pkgs/tools/text/podiff/default.nix26
-rw-r--r--pkgs/tools/text/poedit/default.nix6
-rw-r--r--pkgs/tools/text/pomsky/Cargo.lock1236
-rw-r--r--pkgs/tools/text/pomsky/default.nix45
-rw-r--r--pkgs/tools/text/popfile/default.nix60
-rw-r--r--pkgs/tools/text/proselint/default.nix2
-rw-r--r--pkgs/tools/text/qprint/default.nix30
-rw-r--r--pkgs/tools/text/rare-regex/default.nix52
-rw-r--r--pkgs/tools/text/readability-cli/default.nix40
-rw-r--r--pkgs/tools/text/reckon/default.nix5
-rw-r--r--pkgs/tools/text/recode/default.nix43
-rw-r--r--pkgs/tools/text/repgrep/default.nix53
-rw-r--r--pkgs/tools/text/replace/default.nix35
-rw-r--r--pkgs/tools/text/replace/malloc.patch13
-rw-r--r--pkgs/tools/text/reveal-md/default.nix42
-rw-r--r--pkgs/tools/text/rgxg/default.nix19
-rw-r--r--pkgs/tools/text/riffdiff/default.nix23
-rw-r--r--pkgs/tools/text/ripgrep-all/default.nix5
-rw-r--r--pkgs/tools/text/ripgrep/default.nix63
-rw-r--r--pkgs/tools/text/rnr/default.nix24
-rw-r--r--pkgs/tools/text/rosie/default.nix63
-rw-r--r--pkgs/tools/text/rpl/default.nix37
-rw-r--r--pkgs/tools/text/rsbkb/default.nix35
-rw-r--r--pkgs/tools/text/runiq/default.nix25
-rw-r--r--pkgs/tools/text/ruplacer/default.nix8
-rw-r--r--pkgs/tools/text/rust-petname/default.nix22
-rw-r--r--pkgs/tools/text/sad/default.nix37
-rw-r--r--pkgs/tools/text/schema2ldif/default.nix42
-rw-r--r--pkgs/tools/text/scraper/default.nix28
-rw-r--r--pkgs/tools/text/sd/default.nix2
-rw-r--r--pkgs/tools/text/seehecht/default.nix27
-rw-r--r--pkgs/tools/text/sgml/jade/default.nix44
-rw-r--r--pkgs/tools/text/sgml/linuxdoc-tools/default.nix62
-rw-r--r--pkgs/tools/text/sgml/openjade/default.nix28
-rw-r--r--pkgs/tools/text/sgml/openjade/msggen.patch34
-rw-r--r--pkgs/tools/text/sgml/opensp/default.nix62
-rw-r--r--pkgs/tools/text/sgml/opensp/fix-register-storage-class.patch11
-rw-r--r--pkgs/tools/text/sgml/opensp/setup-hook.sh22
-rw-r--r--pkgs/tools/text/sgrep/default.nix40
-rw-r--r--pkgs/tools/text/shab/default.nix74
-rw-r--r--pkgs/tools/text/shfmt/default.nix38
-rw-r--r--pkgs/tools/text/shocco/default.nix29
-rw-r--r--pkgs/tools/text/sift/default.nix39
-rw-r--r--pkgs/tools/text/silver-searcher/bash-completion.patch5
-rw-r--r--pkgs/tools/text/silver-searcher/default.nix35
-rw-r--r--pkgs/tools/text/smu/default.nix29
-rw-r--r--pkgs/tools/text/snippetpixie/default.nix89
-rw-r--r--pkgs/tools/text/sorted-grep/default.nix57
-rw-r--r--pkgs/tools/text/source-highlight/default.nix71
-rw-r--r--pkgs/tools/text/subedit/default.nix34
-rw-r--r--pkgs/tools/text/tab/default.nix42
-rw-r--r--pkgs/tools/text/teip/default.nix47
-rw-r--r--pkgs/tools/text/termbook/Cargo.lock2900
-rw-r--r--pkgs/tools/text/termbook/default.nix61
-rw-r--r--pkgs/tools/text/tesh/default.nix21
-rw-r--r--pkgs/tools/text/tidy-viewer/default.nix30
-rw-r--r--pkgs/tools/text/tml/default.nix29
-rw-r--r--pkgs/tools/text/to-html/default.nix31
-rw-r--r--pkgs/tools/text/topfew-rs/default.nix26
-rw-r--r--pkgs/tools/text/topfew/default.nix37
-rw-r--r--pkgs/tools/text/tuc/default.nix22
-rw-r--r--pkgs/tools/text/tv/default.nix24
-rw-r--r--pkgs/tools/text/txt2tags/default.nix38
-rw-r--r--pkgs/tools/text/u2ps/default.nix32
-rw-r--r--pkgs/tools/text/ugrep/default.nix54
-rw-r--r--pkgs/tools/text/unfurl/default.nix33
-rw-r--r--pkgs/tools/text/uni2ascii/default.nix41
-rw-r--r--pkgs/tools/text/unoconv/default.nix41
-rw-r--r--pkgs/tools/text/unrtf/default.nix32
-rw-r--r--pkgs/tools/text/untex/default.nix30
-rw-r--r--pkgs/tools/text/uwc/default.nix25
-rw-r--r--pkgs/tools/text/vale/default.nix58
-rw-r--r--pkgs/tools/text/vale/styles.nix144
-rw-r--r--pkgs/tools/text/validator-nu/default.nix84
-rw-r--r--pkgs/tools/text/vgrep/default.nix33
-rw-r--r--pkgs/tools/text/wdiff/default.nix29
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix31
-rw-r--r--pkgs/tools/text/wrap/default.nix41
-rw-r--r--pkgs/tools/text/write-good/default.nix28
-rw-r--r--pkgs/tools/text/xidel/default.nix96
-rw-r--r--pkgs/tools/text/xml/basex/basex.svg81
-rw-r--r--pkgs/tools/text/xml/basex/default.nix68
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix20
-rw-r--r--pkgs/tools/text/xml/jing-trang/default.nix2
-rw-r--r--pkgs/tools/text/xml/rnv/default.nix20
-rw-r--r--pkgs/tools/text/xml/rxp/default.nix21
-rw-r--r--pkgs/tools/text/xml/xml2/default.nix41
-rw-r--r--pkgs/tools/text/xml/xmlformat/default.nix29
-rw-r--r--pkgs/tools/text/xml/xmloscopy/default.nix54
-rw-r--r--pkgs/tools/text/xml/xmlstarlet/default.nix49
-rw-r--r--pkgs/tools/text/xml/xq/default.nix42
-rw-r--r--pkgs/tools/text/xpaste/default.nix32
-rw-r--r--pkgs/tools/text/xsv/default.nix4
-rw-r--r--pkgs/tools/text/xurls/default.nix24
-rw-r--r--pkgs/tools/text/yaml-merge/default.nix30
-rw-r--r--pkgs/tools/text/yx/default.nix43
-rw-r--r--pkgs/tools/text/zet/default.nix31
-rw-r--r--pkgs/tools/text/zim-tools/default.nix31
-rw-r--r--pkgs/tools/text/zoekt/default.nix35
-rw-r--r--pkgs/tools/text/zstxtns-utils/default.nix39
277 files changed, 849 insertions, 17983 deletions
diff --git a/pkgs/tools/text/a2ps/default.nix b/pkgs/tools/text/a2ps/default.nix
deleted file mode 100644
index 78d4c4dcad9f..000000000000
--- a/pkgs/tools/text/a2ps/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, autoconf
-, bison
-, file
-, perl
-, pkg-config
-, boehmgc
-, gperf
-, libpaper
-}:
-
-stdenv.mkDerivation rec {
-  pname = "a2ps";
-  version = "4.15.6";
-
-  src = fetchurl {
-    url = "mirror://gnu/a2ps/a2ps-${version}.tar.gz";
-    hash = "sha256-h/+dgByxGWkYHVuM+LZeZeWyS7DHahuCXoCY8pBvvfQ=";
-  };
-
-  postPatch = ''
-    substituteInPlace afm/make_fonts_map.sh --replace "/bin/rm" "rm"
-    substituteInPlace tests/defs.in --replace "/bin/rm" "rm"
-  '';
-
-  nativeBuildInputs = [ autoconf bison file perl pkg-config ];
-  buildInputs = [ boehmgc gperf libpaper ];
-
-  strictDeps = true;
-
-  meta = with lib; {
-    description = "Anything to PostScript converter and pretty-printer";
-    longDescription = ''
-      GNU a2ps converts files into PostScript for printing or viewing. It uses a nice default format,
-      usually two pages on each physical page, borders surrounding pages, headers with useful information
-      (page number, printing date, file name or supplied header), line numbering, symbol substitution as
-      well as pretty printing for a wide range of programming languages.
-    '';
-    homepage = "https://www.gnu.org/software/a2ps/";
-    license = licenses.gpl3Plus;
-    maintainers = [ maintainers.bennofs ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/abbreviate/default.nix b/pkgs/tools/text/abbreviate/default.nix
deleted file mode 100644
index 2f1e5bc812ab..000000000000
--- a/pkgs/tools/text/abbreviate/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-}:
-
-buildGoModule rec {
-  pname = "abbreviate";
-  version = "1.6.0";
-
-  src = fetchFromGitHub {
-    owner = "dnnrly";
-    repo = "abbreviate";
-    rev = "v${version}";
-    hash = "sha256-foGg+o+BbPsfpph+XHIfyPaknQD1N1rcZW58kgZ5HYM=";
-  };
-
-  vendorHash = "sha256-9z3M3FEjllNpae+5EcLVkF1rAtOQzUQGebJeU7QsmTA=";
-
-  nativeBuildInputs = [
-    installShellFiles
-  ];
-
-  ldflags = [ "-s" "-w" ];
-
-  postInstall = ''
-    installShellCompletion --cmd abbreviate \
-      --bash <($out/bin/abbreviate completion bash) \
-      --fish <($out/bin/abbreviate completion fish) \
-      --zsh <($out/bin/abbreviate completion zsh)
-  '';
-
-  meta = with lib; {
-    description = "Shorten your strings using common abbreviations";
-    mainProgram = "abbreviate";
-    homepage = "https://github.com/dnnrly/abbreviate";
-    changelog = "https://github.com/dnnrly/abbreviate/releases/tag/${src.rev}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/agrep/default.nix b/pkgs/tools/text/agrep/default.nix
deleted file mode 100644
index 229f7860441b..000000000000
--- a/pkgs/tools/text/agrep/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchFromGitHub,
-}:
-let
-  # This repository has numbered versions, but not Git tags.
-  rev = "b7d180fe73636740f694ec60c1ffab52b06e7150";
-in
-stdenv.mkDerivation {
-  pname = "agrep";
-  version = "3.41.5-unstable-2022-03-23";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "Wikinaut";
-    repo = "agrep";
-    hash = "sha256-2J4bw5BVZgTEcIn9IuD5Q8/L+8tldDbToDefuxDf85g=";
-  };
-
-  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
-
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-std=c89";
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm 555 agrep -t "$out/bin"
-    install -Dm 444 docs/* -t "$out/doc"
-
-    runHook postInstall
-  '';
-
-  meta = {
-    description = "Approximate grep for fast fuzzy string searching";
-    mainProgram = "agrep";
-    homepage = "https://www.tgries.de/agrep/";
-    maintainers = with lib.maintainers; [ momeemt ];
-    changelog = "https://github.com/Wikinaut/agrep/blob/${rev}/CHANGES";
-    license = lib.licenses.isc;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/aha/default.nix b/pkgs/tools/text/aha/default.nix
deleted file mode 100644
index 2344602a276c..000000000000
--- a/pkgs/tools/text/aha/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  pname = "aha";
-  version = "0.5.1";
-
-  src = fetchFromGitHub {
-    sha256 = "1gywad0rvvz3c5balz8cxsnx0562hj2ngzqyr8zsy2mb4pn0lpgv";
-    rev = version;
-    repo = "aha";
-    owner = "theZiz";
-  };
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "ANSI HTML Adapter";
-    mainProgram = "aha";
-    longDescription = ''
-      aha takes ANSI SGR-coloured input and produces W3C-conformant HTML code.
-    '';
-    homepage = "https://github.com/theZiz/aha";
-    license = with licenses; [ lgpl2Plus mpl11 ];
-    maintainers = with maintainers; [ pSub ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/align/default.nix b/pkgs/tools/text/align/default.nix
deleted file mode 100644
index fa97b97ad261..000000000000
--- a/pkgs/tools/text/align/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "align";
-  version = "1.1.3";
-
-  src = fetchFromGitHub {
-    owner = "Guitarbum722";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "17gs3417633z71kc6l5zqg4b3rjhpn2v8qs8rnfrk4nbwzz4nrq3";
-  };
-
-  vendorHash = null;
-
-  meta = with lib; {
-    homepage = "https://github.com/Guitarbum722/align";
-    description = "General purpose application and library for aligning text";
-    mainProgram = "align";
-    maintainers = with maintainers; [ hrhino ];
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix
index 0b81281fad1a..ce8243770b04 100644
--- a/pkgs/tools/text/amber/default.nix
+++ b/pkgs/tools/text/amber/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-nBSgP30Izskq9RbhVIyqWzZgG5ZWHVdiukldw+Q0rco=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ];
 
   meta = with lib; {
     description = "Code search-and-replace tool";
diff --git a/pkgs/tools/text/anew/default.nix b/pkgs/tools/text/anew/default.nix
deleted file mode 100644
index 35c7d872f3d8..000000000000
--- a/pkgs/tools/text/anew/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "anew";
-  version = "0.1.1";
-
-  src = fetchFromGitHub {
-    owner = "tomnomnom";
-    repo = "anew";
-    rev = "v${version}";
-    hash = "sha256-NQSs99/2GPOtXkO7k+ar16G4Ecu4CPGMd/CTwEhcyto=";
-  };
-
-  vendorHash = null;
-
-  ldflags = [ "-s" "-w" ];
-
-  meta = with lib; {
-    description = "Tool for adding new lines to files, skipping duplicates";
-    mainProgram = "anew";
-    homepage = "https://github.com/tomnomnom/anew";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/anewer/default.nix b/pkgs/tools/text/anewer/default.nix
deleted file mode 100644
index 69c4eb39b351..000000000000
--- a/pkgs/tools/text/anewer/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "anewer";
-  version = "0.1.6";
-
-  src = fetchFromGitHub {
-    owner = "ysf";
-    repo = pname;
-    rev = version;
-    sha256 = "181mi674354bddnq894yyq587w7skjh35vn61i41vfi6lqz5dy3d";
-  };
-
-  cargoSha256 = "sha256-LJ0l5CZM5NqdbCZe4ELkYf9EkKyBxL/LrNmFy+JS6gM=";
-
-  meta = with lib; {
-    description = "Append lines from stdin to a file if they don't already exist in the file";
-    mainProgram = "anewer";
-    homepage = "https://github.com/ysf/anewer";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/angle-grinder/default.nix b/pkgs/tools/text/angle-grinder/default.nix
deleted file mode 100644
index 322cd12463c8..000000000000
--- a/pkgs/tools/text/angle-grinder/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "angle-grinder";
-  version = "0.19.4";
-
-  src = fetchFromGitHub {
-    owner = "rcoh";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-1SZho04qJcNi84ZkDmxoVkLx9VJX04QINZQ6ZEoCq+c=";
-  };
-
-  cargoHash = "sha256-+l0+zaZSPOk4gJLHZ9LFFbYlZ5vkS68Jg2dWPHSkzKw=";
-
-  meta = with lib; {
-    description = "Slice and dice logs on the command line";
-    homepage = "https://github.com/rcoh/angle-grinder";
-    license = licenses.mit;
-    maintainers = with maintainers; [ bbigras ];
-    mainProgram = "agrind";
-  };
-}
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
deleted file mode 100644
index 686b8c9f4171..000000000000
--- a/pkgs/tools/text/ansifilter/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, lib, stdenv, pkg-config, boost, lua }:
-
-stdenv.mkDerivation rec {
-  pname = "ansifilter";
-  version = "2.20";
-
-  src = fetchurl {
-    url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    hash = "sha256-Neydcaf05WATN5N8dzSzKm40bA8FT00xY3aCPP5nkGc=";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ boost lua ];
-
-  postPatch = ''
-    # avoid timestamp non-determinism with '-n'
-    substituteInPlace makefile --replace 'gzip -9f' 'gzip -9nf'
-  '';
-
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-    "conf_dir=/etc/ansifilter"
-  ];
-
-  meta = with lib; {
-    description = "Tool to convert ANSI to other formats";
-    mainProgram = "ansifilter";
-    longDescription = ''
-      Tool to remove ANSI or convert them to another format
-      (HTML, TeX, LaTeX, RTF, Pango or BBCode)
-    '';
-    homepage = "http://www.andre-simon.de/doku/ansifilter/en/ansifilter.html";
-    license = licenses.gpl3;
-    maintainers = [ maintainers.Adjective-Object ];
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-}
diff --git a/pkgs/tools/text/ascii/default.nix b/pkgs/tools/text/ascii/default.nix
deleted file mode 100644
index 6a280bc516f9..000000000000
--- a/pkgs/tools/text/ascii/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchFromGitLab, gitUpdater, asciidoctor }:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "ascii";
-  version = "3.30";
-
-  src = fetchFromGitLab {
-    owner = "esr";
-    repo = "ascii";
-    rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-TE9YR5Va9tXaf2ZyNxz7d8lZRTgnD4Lz7FyqRDl1HNY=";
-  };
-
-  nativeBuildInputs = [
-    asciidoctor
-  ];
-
-  prePatch = ''
-    sed -i -e "s|^PREFIX = .*|PREFIX = $out|" Makefile
-  '';
-
-  preInstall = ''
-    mkdir -vp "$out/bin" "$out/share/man/man1"
-  '';
-
-  passthru.updateScript = gitUpdater { };
-
-  meta = with lib; {
-    description = "Interactive ASCII name and synonym chart";
-    mainProgram = "ascii";
-    homepage = "http://www.catb.org/~esr/ascii/";
-    changelog = "https://gitlab.com/esr/ascii/-/blob/${finalAttrs.version}/NEWS.adoc";
-    license = licenses.bsd2;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-})
diff --git a/pkgs/tools/text/asciigraph/default.nix b/pkgs/tools/text/asciigraph/default.nix
deleted file mode 100644
index 0da6b7e87297..000000000000
--- a/pkgs/tools/text/asciigraph/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "asciigraph";
-  version = "0.7.1";
-
-  src = fetchFromGitHub {
-    owner = "guptarohit";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-pCfjk8ViMY2iAus2/hibSZXgKY9YBFRH3vsD19MTJ+8=";
-  };
-
-  vendorHash = null;
-
-  ldflags = [ "-s" "-w" ];
-
-  meta = with lib; {
-    homepage = "https://github.com/guptarohit/asciigraph";
-    description = "Lightweight ASCII line graph ╭┈╯ command line app";
-    mainProgram = "asciigraph";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ mmahut ];
-  };
-}
diff --git a/pkgs/tools/text/autocorrect/Cargo.lock b/pkgs/tools/text/autocorrect/Cargo.lock
index 5e272adb048d..db77e85f8829 100644
--- a/pkgs/tools/text/autocorrect/Cargo.lock
+++ b/pkgs/tools/text/autocorrect/Cargo.lock
@@ -4,24 +4,24 @@ version = 3
 
 [[package]]
 name = "addr2line"
-version = "0.21.0"
+version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
 dependencies = [
  "gimli",
 ]
 
 [[package]]
-name = "adler"
-version = "1.0.2"
+name = "adler2"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
@@ -34,61 +34,84 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
 [[package]]
 name = "anstream"
-version = "0.6.5"
+version = "0.6.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338"
 dependencies = [
  "anstyle",
  "anstyle-parse",
  "anstyle-query",
  "anstyle-wincon",
  "colorchoice",
+ "is_terminal_polyfill",
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.3"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.2"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
 dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.2"
+version = "3.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
 dependencies = [
  "anstyle",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.85",
+]
+
+[[package]]
+name = "auto_impl"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
 
 [[package]]
 name = "autocorrect"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
  "autocorrect-derive 0.3.0",
  "criterion",
@@ -109,9 +132,9 @@ dependencies = [
 
 [[package]]
 name = "autocorrect"
-version = "2.9.0"
+version = "2.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b426e7dbc9997d772eeb5436cbb85e95136fdf7835a8f05085b811e5482ebd49"
+checksum = "f3dbfcf450a8941768e27de85c70a9288328f6e829e90b7479ba63b8deb02004"
 dependencies = [
  "autocorrect-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "diff",
@@ -129,12 +152,12 @@ dependencies = [
 
 [[package]]
 name = "autocorrect-cli"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
- "autocorrect 2.9.0",
+ "autocorrect 2.13.0",
+ "autocorrect-lsp",
  "clap",
  "ignore",
- "lazy_static",
  "log",
  "num_cpus",
  "owo-colors",
@@ -143,7 +166,6 @@ dependencies = [
  "sudo",
  "threadpool",
  "tokio",
- "walkdir",
 ]
 
 [[package]]
@@ -166,17 +188,26 @@ dependencies = [
 
 [[package]]
 name = "autocorrect-java"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
- "autocorrect 2.9.0",
+ "autocorrect 2.13.0",
  "jni",
 ]
 
 [[package]]
+name = "autocorrect-lsp"
+version = "2.9.4"
+dependencies = [
+ "autocorrect 2.13.0",
+ "tokio",
+ "tower-lsp",
+]
+
+[[package]]
 name = "autocorrect-node"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
- "autocorrect 2.9.0",
+ "autocorrect 2.13.0",
  "autocorrect-cli",
  "napi",
  "napi-build",
@@ -185,69 +216,68 @@ dependencies = [
 
 [[package]]
 name = "autocorrect-py"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
- "autocorrect 2.9.0",
+ "autocorrect 2.13.0",
  "pyo3",
 ]
 
 [[package]]
 name = "autocorrect-rb"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
- "autocorrect 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocorrect 2.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "magnus",
 ]
 
 [[package]]
 name = "autocorrect-wasm"
-version = "2.9.0"
+version = "2.13.0"
 dependencies = [
- "autocorrect 2.9.0",
- "serde",
+ "autocorrect 2.13.0",
  "serde_json",
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
 dependencies = [
  "addr2line",
- "cc",
  "cfg-if",
  "libc",
  "miniz_oxide",
  "object",
  "rustc-demangle",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bindgen"
-version = "0.69.1"
+version = "0.69.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.6.0",
  "cexpr",
  "clang-sys",
+ "itertools 0.12.1",
  "lazy_static",
  "lazycell",
- "peeking_take_while",
  "proc-macro2",
  "quote",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
@@ -258,9 +288,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
 
 [[package]]
 name = "block-buffer"
@@ -273,9 +303,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.8.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c"
 dependencies = [
  "memchr",
  "serde",
@@ -283,15 +313,15 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
 name = "bytes"
-version = "1.5.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"
 
 [[package]]
 name = "cast"
@@ -301,11 +331,11 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.1.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f"
 dependencies = [
- "libc",
+ "shlex",
 ]
 
 [[package]]
@@ -331,9 +361,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "ciborium"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
  "ciborium-io",
  "ciborium-ll",
@@ -342,15 +372,15 @@ dependencies = [
 
 [[package]]
 name = "ciborium-io"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
 name = "ciborium-ll"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
  "ciborium-io",
  "half",
@@ -358,20 +388,20 @@ dependencies = [
 
 [[package]]
 name = "clang-sys"
-version = "1.6.1"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
 dependencies = [
  "glob",
  "libc",
- "libloading 0.7.4",
+ "libloading",
 ]
 
 [[package]]
 name = "clap"
-version = "4.4.11"
+version = "4.5.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -379,9 +409,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.11"
+version = "4.5.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
 dependencies = [
  "anstream",
  "anstyle",
@@ -391,33 +421,33 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
 
 [[package]]
 name = "colorchoice"
-version = "1.0.0"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
 
 [[package]]
 name = "combine"
-version = "4.6.6"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
 dependencies = [
  "bytes",
  "memchr",
@@ -425,14 +455,14 @@ dependencies = [
 
 [[package]]
 name = "console"
-version = "0.15.7"
+version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
 dependencies = [
  "encode_unicode",
  "lazy_static",
  "libc",
- "windows-sys 0.45.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -456,24 +486,24 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.6"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
 dependencies = [
  "cfg-if",
 ]
@@ -490,7 +520,7 @@ dependencies = [
  "clap",
  "criterion-plot",
  "is-terminal",
- "itertools",
+ "itertools 0.10.5",
  "num-traits",
  "once_cell",
  "oorandom",
@@ -511,41 +541,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
 dependencies = [
  "cast",
- "itertools",
+ "itertools 0.10.5",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "crypto-common"
@@ -559,12 +587,25 @@ dependencies = [
 
 [[package]]
 name = "ctor"
-version = "0.2.5"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
+checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
 dependencies = [
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown 0.14.5",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -585,9 +626,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
 
 [[package]]
 name = "encode_unicode"
@@ -597,9 +638,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
 dependencies = [
  "cfg-if",
 ]
@@ -612,9 +653,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -622,27 +663,27 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.1"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
 
 [[package]]
 name = "filetime"
-version = "0.2.23"
+version = "0.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
- "windows-sys 0.52.0",
+ "libredox",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.28"
+version = "1.0.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -664,46 +705,75 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures"
+version = "0.3.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
 dependencies = [
  "futures-core",
+ "futures-sink",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
 
 [[package]]
 name = "futures-io"
-version = "0.3.29"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.85",
+]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
 
 [[package]]
 name = "futures-util"
-version = "0.3.29"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
 dependencies = [
+ "futures-channel",
  "futures-core",
  "futures-io",
+ "futures-macro",
+ "futures-sink",
  "futures-task",
  "memchr",
  "pin-project-lite",
@@ -723,9 +793,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
  "cfg-if",
  "libc",
@@ -734,9 +804,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.1"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
 
 [[package]]
 name = "glob"
@@ -746,9 +816,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "globset"
-version = "0.4.14"
+version = "0.4.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
+checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19"
 dependencies = [
  "aho-corasick",
  "bstr",
@@ -759,9 +829,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.22"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
@@ -778,33 +848,49 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "1.8.2"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.3"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
 
 [[package]]
 name = "heck"
-version = "0.4.1"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hermit-abi"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -824,9 +910,9 @@ dependencies = [
 
 [[package]]
 name = "httparse"
-version = "1.8.0"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"
 
 [[package]]
 name = "httpdate"
@@ -836,9 +922,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -851,7 +937,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2",
  "tokio",
  "tower-service",
  "tracing",
@@ -884,9 +970,9 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.21"
+version = "0.4.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060"
+checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b"
 dependencies = [
  "crossbeam-deque",
  "globset",
@@ -900,12 +986,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
 dependencies = [
  "equivalent",
- "hashbrown",
+ "hashbrown 0.15.0",
 ]
 
 [[package]]
@@ -928,22 +1014,28 @@ checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
 
 [[package]]
 name = "ipnet"
-version = "2.9.0"
+version = "2.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.9"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
 dependencies = [
- "hermit-abi",
- "rustix",
- "windows-sys 0.48.0",
+ "hermit-abi 0.4.0",
+ "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
 name = "itertools"
 version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -953,10 +1045,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "jni"
@@ -980,18 +1081,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.72"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "lazy_static"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
 
 [[package]]
 name = "lazycell"
@@ -1001,41 +1102,42 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
 name = "libc"
-version = "0.2.151"
+version = "0.2.161"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
 
 [[package]]
 name = "libloading"
-version = "0.7.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
 dependencies = [
  "cfg-if",
- "winapi",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
-name = "libloading"
-version = "0.8.1"
+name = "libredox"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
- "cfg-if",
- "windows-sys 0.48.0",
+ "bitflags 2.6.0",
+ "libc",
+ "redox_syscall",
 ]
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
 
 [[package]]
 name = "lock_api"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1043,37 +1145,51 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "lsp-types"
+version = "0.94.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1"
+dependencies = [
+ "bitflags 1.3.2",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "url",
+]
 
 [[package]]
 name = "magnus"
-version = "0.4.4"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc87660cd7daa49fddbfd524c836de54d5c927d520cd163f43700c5087c57d6c"
+checksum = "b1597ef40aa8c36be098249e82c9a20cf7199278ac1c1a1a995eeead6a184479"
 dependencies = [
  "magnus-macros",
  "rb-sys",
  "rb-sys-env",
+ "seq-macro",
 ]
 
 [[package]]
 name = "magnus-macros"
-version = "0.3.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206cb23bfeea05180c97522ef6a3e52a4eb17b0ed2f30ee3ca9c4f994d2378ae"
+checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
 
 [[package]]
 name = "memoffset"
@@ -1085,15 +1201,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
 name = "mime"
 version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1107,31 +1214,32 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
 dependencies = [
- "adler",
+ "adler2",
 ]
 
 [[package]]
 name = "mio"
-version = "0.8.10"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
 dependencies = [
+ "hermit-abi 0.3.9",
  "libc",
  "wasi",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "napi"
-version = "2.14.1"
+version = "2.16.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1133249c46e92da921bafc8aba4912bf84d6c475f7625183772ed2d0844dc3a7"
+checksum = "214f07a80874bb96a8433b3cdfc84980d56c7b02e1a0d7ba4ba0db5cef785e2b"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.6.0",
  "ctor",
  "napi-derive",
  "napi-sys",
@@ -1141,29 +1249,29 @@ dependencies = [
 
 [[package]]
 name = "napi-build"
-version = "2.1.0"
+version = "2.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4b4532cf86bfef556348ac65e561e3123879f0e7566cca6d43a6ff5326f13df"
+checksum = "e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a"
 
 [[package]]
 name = "napi-derive"
-version = "2.14.3"
+version = "2.16.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b0c0743f6a3f29c20851b8377f01d485a837e2bfa57dd56d519ab7ed98ae2af"
+checksum = "17435f7a00bfdab20b0c27d9c56f58f6499e418252253081bfff448099da31d1"
 dependencies = [
  "cfg-if",
  "convert_case",
  "napi-derive-backend",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "napi-derive-backend"
-version = "1.0.56"
+version = "1.0.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4869e4d80615fdab57dffe38c36a5bc62fae37352a00a35ee7aca1cea41b1bb3"
+checksum = "967c485e00f0bf3b1bdbe510a38a4606919cf1d34d9a37ad41f25a81aa077abe"
 dependencies = [
  "convert_case",
  "once_cell",
@@ -1171,16 +1279,16 @@ dependencies = [
  "quote",
  "regex",
  "semver",
- "syn 1.0.109",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "napi-sys"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2503fa6af34dc83fb74888df8b22afe933b58d37daf7d80424b1c60c68196b8b"
+checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3"
 dependencies = [
- "libloading 0.8.1",
+ "libloading",
 ]
 
 [[package]]
@@ -1195,9 +1303,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
 dependencies = [
  "autocfg",
 ]
@@ -1208,7 +1316,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.9",
  "libc",
 ]
 
@@ -1220,24 +1328,24 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.36.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.19.0"
+version = "1.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
 
 [[package]]
 name = "oorandom"
-version = "11.1.3"
+version = "11.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9"
 
 [[package]]
 name = "owo-colors"
@@ -1247,9 +1355,9 @@ checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
 
 [[package]]
 name = "parking_lot"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -1257,24 +1365,18 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.9"
+version = "0.9.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
-name = "peeking_take_while"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
-
-[[package]]
 name = "percent-encoding"
 version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1282,9 +1384,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.5"
+version = "2.7.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
+checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442"
 dependencies = [
  "memchr",
  "thiserror",
@@ -1293,9 +1395,9 @@ dependencies = [
 
 [[package]]
 name = "pest_derive"
-version = "2.7.5"
+version = "2.7.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
+checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd"
 dependencies = [
  "pest",
  "pest_generator",
@@ -1303,22 +1405,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.5"
+version = "2.7.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
+checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.5"
+version = "2.7.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
+checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d"
 dependencies = [
  "once_cell",
  "pest",
@@ -1326,10 +1428,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "pin-project"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.85",
+]
+
+[[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"
 
 [[package]]
 name = "pin-utils"
@@ -1339,9 +1461,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "plotters"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
+checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
 dependencies = [
  "num-traits",
  "plotters-backend",
@@ -1352,24 +1474,24 @@ dependencies = [
 
 [[package]]
 name = "plotters-backend"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
 
 [[package]]
 name = "plotters-svg"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
 dependencies = [
  "plotters-backend",
 ]
 
 [[package]]
 name = "pretty_assertions"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
+checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d"
 dependencies = [
  "diff",
  "yansi",
@@ -1377,9 +1499,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.70"
+version = "1.0.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
 dependencies = [
  "unicode-ident",
 ]
@@ -1393,7 +1515,7 @@ dependencies = [
  "cfg-if",
  "indoc",
  "libc",
- "memoffset 0.6.5",
+ "memoffset",
  "parking_lot",
  "pyo3-build-config",
  "pyo3-ffi",
@@ -1455,18 +1577,18 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
  "either",
  "rayon-core",
@@ -1474,9 +1596,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -1484,18 +1606,18 @@ dependencies = [
 
 [[package]]
 name = "rb-sys"
-version = "0.9.83"
+version = "0.9.102"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e5b8d560b60790a3e60e56e73a8c7be88ac14e6af39fc82b5eca72c71753840"
+checksum = "df4dec4b1d304c3b308a2cd86b1216ea45dd4361f4e9fa056f108332d0a450c1"
 dependencies = [
  "rb-sys-build",
 ]
 
 [[package]]
 name = "rb-sys-build"
-version = "0.9.83"
+version = "0.9.102"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2d2bfd00002007d7e9ad93d0397437933040caf452d260c26dbef5fd95ae1a6"
+checksum = "1d71de3e29d174b8fb17b5d4470f27d7aa2605f8a9d05fda0d3aeff30e05a570"
 dependencies = [
  "bindgen",
  "lazy_static",
@@ -1503,7 +1625,7 @@ dependencies = [
  "quote",
  "regex",
  "shell-words",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
@@ -1514,18 +1636,18 @@ checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
 
 [[package]]
 name = "redox_syscall"
-version = "0.4.1"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.6.0",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1535,9 +1657,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1546,15 +1668,15 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
  "base64",
  "bytes",
@@ -1578,6 +1700,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-rustls",
@@ -1592,23 +1715,24 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
+ "cfg-if",
  "getrandom",
  "libc",
  "spin",
  "untrusted",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.23"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
 
 [[package]]
 name = "rustc-hash"
@@ -1618,11 +1742,11 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.6.0",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -1631,9 +1755,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.10"
+version = "0.21.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
 dependencies = [
  "log",
  "ring",
@@ -1662,9 +1786,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.16"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 
 [[package]]
 name = "same-file"
@@ -1713,50 +1837,57 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+
+[[package]]
+name = "seq-macro"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
 
 [[package]]
 name = "serde"
-version = "1.0.193"
+version = "1.0.213"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.193"
+version = "1.0.213"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.132"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
 dependencies = [
  "itoa",
+ "memchr",
  "ryu",
  "serde",
 ]
 
 [[package]]
 name = "serde_repr"
-version = "0.1.17"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
@@ -1773,9 +1904,9 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.9.27"
+version = "0.9.34+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c"
+checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
 dependencies = [
  "indexmap",
  "itoa",
@@ -1803,9 +1934,9 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
 
 [[package]]
 name = "shlex"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
 name = "slab"
@@ -1818,28 +1949,18 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
-
-[[package]]
-name = "socket2"
-version = "0.4.10"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "socket2"
-version = "0.5.5"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1850,9 +1971,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 
 [[package]]
 name = "strsim"
-version = "0.10.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
 
 [[package]]
 name = "sudo"
@@ -1877,9 +1998,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.40"
+version = "2.0.85"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e"
+checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1887,6 +2008,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
 name = "system-configuration"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1909,9 +2036,9 @@ dependencies = [
 
 [[package]]
 name = "tar"
-version = "0.4.40"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
 dependencies = [
  "filetime",
  "libc",
@@ -1920,41 +2047,41 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.12"
+version = "0.12.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
+checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
 
 [[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall",
+ "once_cell",
  "rustix",
- "windows-sys 0.48.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
@@ -1978,9 +2105,9 @@ dependencies = [
 
 [[package]]
 name = "tinyvec"
-version = "1.6.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
 dependencies = [
  "tinyvec_macros",
 ]
@@ -1993,30 +2120,29 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.35.0"
+version = "1.41.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c"
+checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb"
 dependencies = [
  "backtrace",
  "bytes",
  "libc",
  "mio",
- "num_cpus",
  "pin-project-lite",
- "socket2 0.5.5",
+ "socket2",
  "tokio-macros",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.2.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
 ]
 
 [[package]]
@@ -2031,23 +2157,76 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.10"
+version = "0.7.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
 dependencies = [
  "bytes",
  "futures-core",
  "futures-sink",
  "pin-project-lite",
  "tokio",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project",
+ "pin-project-lite",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
+
+[[package]]
+name = "tower-lsp"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4ba052b54a6627628d9b3c34c176e7eda8359b7da9acd497b9f20998d118508"
+dependencies = [
+ "async-trait",
+ "auto_impl",
+ "bytes",
+ "dashmap",
+ "futures",
+ "httparse",
+ "lsp-types",
+ "memchr",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-util",
+ "tower",
+ "tower-lsp-macros",
  "tracing",
 ]
 
 [[package]]
+name = "tower-lsp-macros"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.85",
+]
+
+[[package]]
 name = "tower-service"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
 
 [[package]]
 name = "tracing"
@@ -2056,10 +2235,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
  "pin-project-lite",
+ "tracing-attributes",
  "tracing-core",
 ]
 
 [[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.85",
+]
+
+[[package]]
 name = "tracing-core"
 version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2082,36 +2273,36 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ucd-trie"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
+checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.12"
+version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
 
 [[package]]
 name = "unindent"
@@ -2121,9 +2312,9 @@ checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
 
 [[package]]
 name = "unsafe-libyaml"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
 
 [[package]]
 name = "untrusted"
@@ -2133,32 +2324,33 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "url"
-version = "2.5.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
 dependencies = [
  "form_urlencoded",
  "idna",
  "percent-encoding",
+ "serde",
 ]
 
 [[package]]
 name = "utf8parse"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
 
 [[package]]
 name = "version_check"
-version = "0.9.4"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -2181,11 +2373,12 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
 dependencies = [
  "cfg-if",
+ "once_cell",
  "serde",
  "serde_json",
  "wasm-bindgen-macro",
@@ -2193,24 +2386,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.39"
+version = "0.4.45"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -2220,9 +2413,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2230,28 +2423,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.40",
+ "syn 2.0.85",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
 
 [[package]]
 name = "web-sys"
-version = "0.3.66"
+version = "0.3.72"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
+checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -2259,48 +2452,17 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.3"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
 dependencies = [
- "windows-targets 0.42.2",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
@@ -2318,22 +2480,16 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
-name = "windows-targets"
-version = "0.42.2"
+name = "windows-sys"
+version = "0.59.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
 dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -2353,42 +2509,31 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -2398,15 +2543,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -2416,15 +2555,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
 
 [[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
+name = "windows_i686_gnullvm"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -2434,15 +2573,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -2452,15 +2585,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -2470,15 +2597,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -2488,9 +2609,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
 
 [[package]]
 name = "winreg"
@@ -2504,9 +2625,9 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "1.1.2"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d367426ae76bdfce3d8eaea6e94422afd6def7d46f9c89e2980309115b3c2c41"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
  "linux-raw-sys",
@@ -2515,6 +2636,6 @@ dependencies = [
 
 [[package]]
 name = "yansi"
-version = "0.5.1"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
diff --git a/pkgs/tools/text/autocorrect/default.nix b/pkgs/tools/text/autocorrect/default.nix
index 19e69a468ffd..457bdf9243dc 100644
--- a/pkgs/tools/text/autocorrect/default.nix
+++ b/pkgs/tools/text/autocorrect/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "autocorrect";
-  version = "2.9.0";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "huacnlee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NCDJoKOH4ZaXtGXZ7bgOXrjgrY8Edui+EOOI8/yfW08=";
+    sha256 = "sha256-12Ell1C5sKj+0HHmlZ3U2Vx5hXvMl/DqAXnfhcfLeF8=";
   };
 
   cargoLock = {
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     cp ${./Cargo.lock} Cargo.lock
   '';
 
-  buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ];
 
   cargoBuildFlags = [ "-p" "autocorrect-cli" ];
   cargoTestFlags = [ "-p" "autocorrect-cli" ];
@@ -32,6 +32,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://huacnlee.github.io/autocorrect";
     changelog = "https://github.com/huacnlee/autocorrect/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/text/base16384/default.nix b/pkgs/tools/text/base16384/default.nix
deleted file mode 100644
index 2d6ffd48a29c..000000000000
--- a/pkgs/tools/text/base16384/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-}:
-
-stdenv.mkDerivation rec {
-  pname = "base16384";
-  version = "2.3.1";
-
-  src = fetchFromGitHub {
-    owner = "fumiama";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-2HZeom+8eEH4CrphCoOV+wJbqhYKVUcAQrYLyEVACkQ=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = with lib; {
-    description = "Encode binary files to printable utf16be";
-    mainProgram = "base16384";
-    homepage = "https://github.com/fumiama/base16384";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aleksana ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch b/pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch
deleted file mode 100644
index 7e6c78dd9dcb..000000000000
--- a/pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1990ac93c9dbf3ada0eb2f045ef1aa95bbef7018 Mon Sep 17 00:00:00 2001
-From: "P. R. d. O" <d.ol.rod@tutanota.com>
-Date: Thu, 21 Apr 2022 07:40:30 -0600
-Subject: [PATCH] Setting markdown_bin
-
----
- bb.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bb.sh b/bb.sh
-index 9d8e645..40fb54d 100755
---- a/bb.sh
-+++ b/bb.sh
-@@ -160,7 +160,7 @@ global_variables() {
- 
-     # Markdown location. Trying to autodetect by default.
-     # The invocation must support the signature 'markdown_bin in.md > out.html'
--    [[ -f Markdown.pl ]] && markdown_bin=./Markdown.pl || markdown_bin=$(which Markdown.pl 2>/dev/null || which markdown 2>/dev/null)
-+    markdown_bin=@markdown_path@
- }
- 
- # Check for the validity of some variables
--- 
-2.35.1
-
diff --git a/pkgs/tools/text/bashblog/default.nix b/pkgs/tools/text/bashblog/default.nix
deleted file mode 100644
index 54e5d6f748e0..000000000000
--- a/pkgs/tools/text/bashblog/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, makeWrapper
-, substituteAll
-, perlPackages
-# Flags to enable processors
-# Currently, Markdown.pl does not work
-, usePandoc ? true
-, pandoc }:
-
-let
-  inherit (perlPackages) TextMarkdown;
-  # As bashblog supports various markdown processors
-  # we can set flags to enable a certain processor
-  markdownpl_path = "${perlPackages.TextMarkdown}/bin/Markdown.pl";
-  pandoc_path = "${pandoc}/bin/pandoc";
-
-in stdenv.mkDerivation {
-  pname = "bashblog";
-  version = "unstable-2022-03-26";
-
-  src = fetchFromGitHub {
-    owner = "cfenollosa";
-    repo = "bashblog";
-    rev = "c3d4cc1d905560ecfefce911c319469f7a7ff8a8";
-    sha256 = "sha256-THlP/JuaZzDq9QctidwLRiUVFxRhGNhRKleWbQiqsgg=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildInputs = [ TextMarkdown ]
-    ++ lib.optionals usePandoc [ pandoc ];
-
-  patches = [
-    (substituteAll {
-      src = ./0001-Setting-markdown_bin.patch;
-      markdown_path = if usePandoc then pandoc_path else markdownpl_path;
-    })
-  ];
-
-  postPatch = ''
-    patchShebangs bb.sh
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    install -Dm755 bb.sh $out/bin/bashblog
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Single Bash script to create blogs";
-    mainProgram = "bashblog";
-    homepage = "https://github.com/cfenollosa/bashblog";
-    license = licenses.gpl3Only;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ wolfangaukang ];
-  };
-}
diff --git a/pkgs/tools/text/book-summary/default.nix b/pkgs/tools/text/book-summary/default.nix
deleted file mode 100644
index 374c107f9a3d..000000000000
--- a/pkgs/tools/text/book-summary/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, rustPlatform
-, fetchCrate
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "book-summary";
-  version = "0.2.1";
-
-  src = fetchCrate {
-    inherit pname version;
-    hash = "sha256-dxM6bqgHp4IaG03NriHvoT3al2u5Sz/I5ajlgzpjG1c=";
-  };
-
-  cargoHash = "sha256-QwydecdQaxvh6vWZvO30zgvvgUT6T5dvGRSmcuTUJmc=";
-
-  meta = with lib; {
-    description = "Book auto-summary for gitbook and mdBook";
-    mainProgram = "book-summary";
-    homepage = "https://github.com/dvogt23/book-summary";
-    license = licenses.mit;
-    maintainers = with teams; iog.members;
-  };
-}
diff --git a/pkgs/tools/text/boxes/default.nix b/pkgs/tools/text/boxes/default.nix
deleted file mode 100644
index 68e5b9c7ddca..000000000000
--- a/pkgs/tools/text/boxes/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, gccStdenv, fetchFromGitHub, bison, flex, pcre2, libunistring, ncurses }:
-
-gccStdenv.mkDerivation rec {
-  pname = "boxes";
-  version = "2.3.0";
-
-  src = fetchFromGitHub {
-    owner = "ascii-boxes";
-    repo = "boxes";
-    rev = "v${version}";
-    hash = "sha256-/gc/5vDflmEwOtQbtLwRcchyr22rLQcWqs5GrwRxY70=";
-  };
-
-  # Building instructions:
-  # https://boxes.thomasjensen.com/build.html#building-on-linux--unix
-  nativeBuildInputs = [ bison flex ];
-
-  buildInputs = [ pcre2 libunistring ncurses ];
-
-  dontConfigure = true;
-
-  # Makefile references a system wide config file in '/usr/share'. Instead, we
-  # move it within the store by default.
-  preBuild = ''
-    substituteInPlace Makefile \
-      --replace-fail "GLOBALCONF = /usr/share/boxes" \
-                "GLOBALCONF=${placeholder "out"}/share/boxes/boxes-config"
-  '';
-
-  makeFlags = [ "CC=${gccStdenv.cc.targetPrefix}cc" ];
-
-  installPhase = ''
-    install -Dm755 -t $out/bin out/boxes
-    install -Dm644 -t $out/share/boxes boxes-config
-    install -Dm644 -t $out/share/man/man1 doc/boxes.1
-  '';
-
-  meta = with lib; {
-    description = "Command line program which draws, removes, and repairs ASCII art boxes";
-    mainProgram = "boxes";
-    homepage = "https://boxes.thomasjensen.com";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ waiting-for-dev ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/catdoc/default.nix b/pkgs/tools/text/catdoc/default.nix
deleted file mode 100644
index 38d1ba5e06e4..000000000000
--- a/pkgs/tools/text/catdoc/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  pname = "catdoc";
-  version = "0.95";
-
-  src = fetchurl {
-    url = "http://ftp.wagner.pp.ru/pub/catdoc/${pname}-${version}.tar.gz";
-    sha256 = "514a84180352b6bf367c1d2499819dfa82b60d8c45777432fa643a5ed7d80796";
-  };
-
-  patches = [
-    (fetchpatch {
-      url = "https://sources.debian.org/data/main/c/catdoc/1:0.95-4.1/debian/patches/05-CVE-2017-11110.patch";
-      sha256 = "1ljnwvssvzig94hwx8843b88p252ww2lbxh8zybcwr3kwwlcymx7";
-    })
-  ];
-
-  # Remove INSTALL file to avoid `make` misinterpreting it as an up-to-date
-  # target on case-insensitive filesystems e.g. Darwin
-  preInstall = ''
-    rm -v INSTALL
-  '';
-
-  configureFlags = [ "--disable-wordview" ];
-
-  meta = with lib; {
-    description = "MS-Word/Excel/PowerPoint to text converter";
-    platforms = platforms.all;
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [];
-  };
-}
diff --git a/pkgs/tools/text/catdocx/default.nix b/pkgs/tools/text/catdocx/default.nix
deleted file mode 100644
index 27eb964eb3c2..000000000000
--- a/pkgs/tools/text/catdocx/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, unzip, catdoc }:
-
-stdenv.mkDerivation {
-  pname = "catdocx";
-  version = "unstable-2017-01-02";
-
-  src = fetchFromGitHub {
-    owner = "jncraton";
-    repo = "catdocx";
-    rev = "04fa0416ec1f116d4996685e219f0856d99767cb";
-    sha256 = "1sxiqhkvdqn300ygfgxdry2dj2cqzjhkzw13c6349gg5vxfypcjh";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out/libexec $out/bin
-    cp catdocx.sh $out/libexec
-    chmod +x $out/libexec/catdocx.sh
-    wrapProgram $out/libexec/catdocx.sh --prefix PATH : "${lib.makeBinPath [ unzip catdoc ]}"
-    ln -s $out/libexec/catdocx.sh $out/bin/catdocx
-  '';
-
-  meta = with lib; {
-    description = "Extracts plain text from docx files";
-    mainProgram = "catdocx";
-    homepage = "https://github.com/jncraton/catdocx";
-    license = with licenses; [ bsd3 ];
-    maintainers = [ maintainers.michalrus ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/cconv/default.nix b/pkgs/tools/text/cconv/default.nix
deleted file mode 100644
index 872db0a44970..000000000000
--- a/pkgs/tools/text/cconv/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "cconv";
-  version = "0.6.3";
-
-  src = fetchFromGitHub {
-    owner = "xiaoyjy";
-    repo = "cconv";
-    rev = "v${version}";
-    sha256 = "RAFl/+I+usUfeG/l17F3ltThK7G4+TekyQGwzQIgeH8=";
-  };
-
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libiconv ];
-
-  meta = with lib; {
-    description = "Iconv based simplified-traditional chinese conversion tool";
-    mainProgram = "cconv";
-    homepage = "https://github.com/xiaoyjy/cconv";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = [ maintainers.redfish64 ];
-  };
-}
diff --git a/pkgs/tools/text/chars/default.nix b/pkgs/tools/text/chars/default.nix
index 509953e8059b..ca2ad027c2cf 100644
--- a/pkgs/tools/text/chars/default.nix
+++ b/pkgs/tools/text/chars/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-wqyExG4haco6jg1zpbouz3xMR7sjiVIAC16PnDU2tc8=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
 
   meta = with lib; {
     description = "Commandline tool to display information about unicode characters";
diff --git a/pkgs/tools/text/choose/default.nix b/pkgs/tools/text/choose/default.nix
deleted file mode 100644
index c3afeb492280..000000000000
--- a/pkgs/tools/text/choose/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "choose";
-  version = "1.3.4";
-
-  src = fetchFromGitHub {
-    owner = "theryangeary";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-yW1quDyQn2xhrlhhPj9DKq7g8LlYKvEKDFj3xSagRTU=";
-  };
-
-  cargoSha256 = "sha256-0INC0LFzlnFnt5pCiU4xePxU8a6GiU1L8bg7zcuFl2k=";
-
-  meta = with lib; {
-    description = "Human-friendly and fast alternative to cut and (sometimes) awk";
-    mainProgram = "choose";
-    homepage = "https://github.com/theryangeary/choose";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ sohalt ];
-  };
-}
diff --git a/pkgs/tools/text/chroma/default.nix b/pkgs/tools/text/chroma/default.nix
deleted file mode 100644
index e577451af165..000000000000
--- a/pkgs/tools/text/chroma/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-let
-  srcInfo = lib.importJSON ./src.json;
-in
-
-buildGoModule rec {
-  pname = "chroma";
-  version = "2.8.0";
-
-  # To update:
-  # nix-prefetch-git --rev v${version} https://github.com/alecthomas/chroma.git > src.json
-  src = fetchFromGitHub {
-    owner  = "alecthomas";
-    repo   = pname;
-    rev    = "v${version}";
-    inherit (srcInfo) sha256;
-  };
-
-  vendorHash = "sha256-Bol5yMvNYuoVnSjEgf3h6X4CeUooy2Hpdy3SCaNXXOE=";
-
-  modRoot = "./cmd/chroma";
-
-  # substitute version info as done in goreleaser builds
-  ldflags = [
-    "-X" "main.version=${version}"
-    "-X" "main.commit=${srcInfo.rev}"
-    "-X" "main.date=${srcInfo.date}"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/alecthomas/chroma";
-    description = "General purpose syntax highlighter in pure Go";
-    license = licenses.mit;
-    maintainers = [ maintainers.sternenseemann ];
-    mainProgram = "chroma";
-  };
-}
diff --git a/pkgs/tools/text/chroma/src.json b/pkgs/tools/text/chroma/src.json
deleted file mode 100644
index 8bba14faf188..000000000000
--- a/pkgs/tools/text/chroma/src.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "url": "https://github.com/alecthomas/chroma.git",
-  "rev": "e8acfc274c22a76fd38030d2977a2246cd4322b3",
-  "date": "2023-06-30T08:43:39+10:00",
-  "path": "/nix/store/57y15g11dmdy2s6vxrjzl03s03j509gy-chroma",
-  "sha256": "0fdgpi5r0k42qzdn4lxh81ww1zcn9mwfildwrqf1s7crsqmr9dc5",
-  "fetchLFS": false,
-  "fetchSubmodules": false,
-  "deepClone": false,
-  "leaveDotGit": false
-}
diff --git a/pkgs/tools/text/cidrgrep/default.nix b/pkgs/tools/text/cidrgrep/default.nix
deleted file mode 100644
index ddc67097fb28..000000000000
--- a/pkgs/tools/text/cidrgrep/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule {
-  pname = "cidrgrep";
-  version = "unstable-2020-11-17";
-
-  src = fetchFromGitHub {
-    owner = "tomdoherty";
-    repo = "cidrgrep";
-    rev = "8ad5af533e8dc33ea18ff19b7c6a41550748fe0e";
-    hash = "sha256-Bp1cST6/8ppvpgNxjUpwL498C9vTJmoWOKLJgmWqfEs=";
-  };
-
-  vendorHash = null;
-
-  postInstall = ''
-    mv $out/bin/cmd $out/bin/cidrgrep
-  '';
-
-  meta = {
-    description = "Like grep but for IPv4 CIDRs";
-    mainProgram = "cidrgrep";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ das_j ];
-  };
-}
diff --git a/pkgs/tools/text/clima/default.nix b/pkgs/tools/text/clima/default.nix
deleted file mode 100644
index 65483e115269..000000000000
--- a/pkgs/tools/text/clima/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "clima";
-  version = "1.1.0";
-
-  src = fetchFromGitHub {
-    owner = "Canop";
-    repo = "clima";
-    rev = "v${version}";
-    hash = "sha256-CRnAxhkuCTyHR4uQofA51Dm3+YKqm3iwBkFNkbLTv1A=";
-  };
-
-  cargoHash = "sha256-jKY+Ta6lqMBUlqSViKk3W0CiO8oU+ucmleKDYRA54HQ=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  meta = with lib; {
-    description = "Minimal viewer for Termimad";
-    homepage = "https://github.com/Canop/clima";
-    changelog = "https://github.com/Canop/clima/releases/tag/${src.rev}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-    mainProgram = "clima";
-  };
-}
diff --git a/pkgs/tools/text/cmigemo/default.nix b/pkgs/tools/text/cmigemo/default.nix
deleted file mode 100644
index 20cee369e73f..000000000000
--- a/pkgs/tools/text/cmigemo/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, iconv, nkf, perl, which
-, skk-dicts
-}:
-
-stdenv.mkDerivation {
-  pname = "cmigemo";
-  version = "1.3e";
-
-  src = fetchFromGitHub {
-    owner = "koron";
-    repo = "cmigemo";
-    rev = "e0f6145f61e0b7058c3006f344e58571d9fdd83a";
-    sha256 = "00a6kdmxp16b8x0p04ws050y39qspd1bqlfq74bkirc55b77a2m1";
-  };
-
-  nativeBuildInputs = [ iconv nkf perl which ];
-
-  postUnpack = ''
-    cp ${skk-dicts}/share/SKK-JISYO.L source/dict/
-  '';
-
-  patches = [ ./no-http-tool-check.patch ];
-
-  makeFlags = [ "INSTALL=install" ];
-
-  buildFlags = [ (if stdenv.isDarwin then "osx-all" else "gcc-all") ];
-
-  installTargets = [ (if stdenv.isDarwin then "osx-install" else "gcc-install") ];
-
-  meta = with lib; {
-    description = "Tool that supports Japanese incremental search with Romaji";
-    mainProgram = "cmigemo";
-    homepage = "https://www.kaoriya.net/software/cmigemo";
-    license = licenses.mit;
-    maintainers = [ maintainers.cohei ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/cmigemo/no-http-tool-check.patch b/pkgs/tools/text/cmigemo/no-http-tool-check.patch
deleted file mode 100644
index 518bfa0e6171..000000000000
--- a/pkgs/tools/text/cmigemo/no-http-tool-check.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/configure b/configure
-index 4480261..2fb9b34 100755
---- a/configure
-+++ b/configure
-@@ -28,18 +28,6 @@ do
-   esac
- done
- 
--# Check HTTP access tool
--if CHECK_COMMAND curl ; then
--  PROGRAM_HTTP="curl -O"
--elif CHECK_COMMAND wget ; then
--  PROGRAM_HTTP="wget"
--elif CHECK_COMMAND fetch ; then
--  PROGRAM_HTTP="fetch"
--else
--  echo "ERROR: Require one of HTTP access tools (curl, wget or fetch)."
--  exit 1
--fi
--
- # Check encoding filter
- if CHECK_COMMAND qkc ; then
-   PROGRAM_ENCODEFILTER="qkc -q -u"
diff --git a/pkgs/tools/text/codesearch/default.nix b/pkgs/tools/text/codesearch/default.nix
deleted file mode 100644
index 7a948388e09c..000000000000
--- a/pkgs/tools/text/codesearch/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "codesearch";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "codesearch";
-    rev = "v${version}";
-    sha256 = "sha256-i03w8PZ31j5EutUZaamZsHz+z4qgX4prePbj5DLA78s=";
-  };
-
-  vendorHash = null;
-
-  ldflags = [ "-s" "-w" ];
-
-  meta = with lib; {
-    description = "Fast, indexed regexp search over large file trees";
-    homepage = "https://github.com/google/codesearch";
-    license = [ licenses.bsd3 ];
-    maintainers = with maintainers; [ bennofs ];
-  };
-}
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
deleted file mode 100644
index 69473bd2c6f6..000000000000
--- a/pkgs/tools/text/colordiff/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, docbook_xml_dtd_412, docbook_xsl, perl, w3m-batch, xmlto, diffutils }:
-
-stdenv.mkDerivation rec {
-  pname = "colordiff";
-  version = "1.0.21";
-
-  src = fetchFromGitHub {
-    owner = "daveewart";
-    repo = "colordiff";
-    rev = "v${version}";
-    sha256 = "sha256-TNOw6dqsT0dOIddRoGwEF85CaQF8ICMFUi+GiG5WWpk=";
-  };
-
-  nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m-batch xmlto ];
-
-  buildInputs = [ perl ];
-
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace 'TMPDIR=colordiff-''${VERSION}' ""
-
-    substituteInPlace colordiff.pl \
-      --replace '= "diff";' '= "${diffutils}/bin/diff";'
-  '';
-
-  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.gpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ SuperSandro2000 ];
-    mainProgram = "colordiff";
-  };
-}
diff --git a/pkgs/tools/text/coloursum/default.nix b/pkgs/tools/text/coloursum/default.nix
index 78f583e3f73d..8e84a1de14bc 100644
--- a/pkgs/tools/text/coloursum/default.nix
+++ b/pkgs/tools/text/coloursum/default.nix
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-dhcTpff4h37MHNbLoYUZiolSclSGcFrMJ3kKLCZAVAw=";
 
-  buildInputs = lib.optional stdenv.isDarwin Security;
+  buildInputs = lib.optional stdenv.hostPlatform.isDarwin Security;
 
   meta = with lib; {
     description = "Colourise your checksum output";
diff --git a/pkgs/tools/text/comrak/default.nix b/pkgs/tools/text/comrak/default.nix
deleted file mode 100644
index 05eee8cc8136..000000000000
--- a/pkgs/tools/text/comrak/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "comrak";
-  version = "0.23.0";
-
-  src = fetchFromGitHub {
-    owner = "kivikakk";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-RUwJxoD6H0CgS7xyfzMLdoy19p/FuOg82EbocZh7vWs=";
-  };
-
-  cargoHash = "sha256-rbGl7jQABZu4aMpzlv49uMuKmw7U+9zLS6pAJIJajR8=";
-
-  meta = with lib; {
-    description = "CommonMark-compatible GitHub Flavored Markdown parser and formatter";
-    mainProgram = "comrak";
-    homepage = "https://github.com/kivikakk/comrak";
-    changelog = "https://github.com/kivikakk/comrak/blob/${version}/changelog.txt";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/convertlit/default.nix b/pkgs/tools/text/convertlit/default.nix
deleted file mode 100644
index 417007fbd3ba..000000000000
--- a/pkgs/tools/text/convertlit/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{lib, stdenv, fetchzip, libtommath}:
-
-stdenv.mkDerivation rec {
-  pname = "convertlit";
-  version = "1.8";
-
-  src = fetchzip {
-    url = "http://www.convertlit.com/convertlit${lib.replaceStrings ["."] [""] version}src.zip";
-    sha256 = "182nsin7qscgbw2h92m0zadh3h8q410h5cza6v486yjfvla3dxjx";
-    stripRoot = false;
-  };
-
-  buildInputs = [libtommath];
-
-  hardeningDisable = [ "format" ];
-
-  buildPhase = ''
-    cd lib
-    make
-    cd ../clit18
-    substituteInPlace Makefile \
-      --replace ../libtommath-0.30/libtommath.a -ltommath
-    make
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp clit $out/bin
-  '';
-
-  meta = {
-    homepage = "http://www.convertlit.com/";
-    description = "Tool for converting Microsoft Reader ebooks to more open formats";
-    mainProgram = "clit";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/text/copyright-update/default.nix b/pkgs/tools/text/copyright-update/default.nix
deleted file mode 100644
index 72cecf1e9246..000000000000
--- a/pkgs/tools/text/copyright-update/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, perl }:
-
-stdenv.mkDerivation rec {
-  pname = "copyright-update";
-  version = "2016.1018";
-
-  src = fetchFromGitHub {
-    name = "${pname}-${version}-src";
-    owner = "jaalto";
-    repo = "project--copyright-update";
-    rev = "release/${version}";
-    sha256 = "1kj6jlgyxrgvrpv7fcgbibfqqa83xljp17v6sas42dlb105h6sgd";
-  };
-
-  buildInputs = [ perl ];
-
-  installFlags = [ "INSTALL=install" "prefix=$(out)" ];
-
-  meta = with lib; {
-    homepage = "https://github.com/jaalto/project--copyright-update";
-    description = "Updates the copyright information in a set of files";
-    mainProgram = "copyright-update";
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.rycee ];
-  };
-}
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
deleted file mode 100644
index d5685a9c56c7..000000000000
--- a/pkgs/tools/text/crowdin-cli/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, gawk
-, git
-, gnugrep
-, installShellFiles
-, jre
-, makeWrapper
-, crowdin-cli
-, testers
-, unzip
-}:
-
-stdenv.mkDerivation rec {
-  pname = "crowdin-cli";
-  version = "4.0.0";
-
-  src = fetchurl {
-    url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    hash = "sha256-7KyQUnl2O/raQLcP5VsMCX3084Mn6HFfxjJmksAkWBc=";
-  };
-
-  nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
-
-  installPhase = ''
-    runHook preInstall
-
-    install -D crowdin-cli.jar $out/lib/crowdin-cli.jar
-
-    installShellCompletion --cmd crowdin --bash ./crowdin_completion
-
-    makeWrapper ${jre}/bin/java $out/bin/crowdin \
-      --argv0 crowdin \
-      --add-flags "-jar $out/lib/crowdin-cli.jar" \
-      --prefix PATH : ${lib.makeBinPath [ gawk gnugrep git ]}
-
-    runHook postInstall
-  '';
-
-  passthru.tests.version = testers.testVersion { package = crowdin-cli; };
-
-  meta = with lib; {
-    mainProgram = "crowdin";
-    homepage = "https://github.com/crowdin/crowdin-cli/";
-    description = "Command-line client for the Crowdin API";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.mit;
-    maintainers = with maintainers; [ DamienCassou ];
-  };
-}
diff --git a/pkgs/tools/text/csvdiff/default.nix b/pkgs/tools/text/csvdiff/default.nix
deleted file mode 100644
index 90faa060bed0..000000000000
--- a/pkgs/tools/text/csvdiff/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "csvdiff";
-  version = "1.4.0";
-
-  src = fetchFromGitHub {
-    owner = "aswinkarthik";
-    repo = "csvdiff";
-    rev = "v${version}";
-    hash = "sha256-66R5XxrNQ1YMMQicw0VCF/XzRo//5Gqdjlher/uMoTE=";
-  };
-
-  vendorHash = "sha256-rhOjBMCyfirEI/apL3ObHfKZeuNPGSt84R9lwCbRIpg=";
-
-  meta = with lib; {
-    homepage = "https://aswinkarthik.github.io/csvdiff/";
-    description = "Fast diff tool for comparing csv files";
-    mainProgram = "csvdiff";
-    license = licenses.mit;
-    maintainers = with maintainers; [ turion ];
-  };
-}
diff --git a/pkgs/tools/text/csview/default.nix b/pkgs/tools/text/csview/default.nix
deleted file mode 100644
index 1aa63333d89c..000000000000
--- a/pkgs/tools/text/csview/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ fetchFromGitHub, lib, rustPlatform }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "csview";
-  version = "1.3.2";
-
-  src = fetchFromGitHub {
-    owner = "wfxr";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-ci0PyTZJIEagBCymtrYR/ntgYym1aGKNX4COfrE99mY=";
-  };
-
-  cargoHash = "sha256-/pswnb2vNtw8zSoWuC7oZPJ4yxVuy1c4ES1NUHhnG6I=";
-
-  meta = with lib; {
-    description = "High performance csv viewer with cjk/emoji support";
-    mainProgram = "csview";
-    homepage = "https://github.com/wfxr/csview";
-    license = with licenses; [ mit /* or */ asl20 ];
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/csvquote/csvquote-path.patch b/pkgs/tools/text/csvquote/csvquote-path.patch
deleted file mode 100644
index a3f87055f238..000000000000
--- a/pkgs/tools/text/csvquote/csvquote-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/csvheader
-+++ b/csvheader
-@@ -29,10 +29,6 @@ while getopts "d:tq:r:" arg; do
-     esac
- done
- 
--CSVQUOTE=`which csvquote` || CSVQUOTE="./csvquote"
--if [ ! -f $CSVQUOTE ]; then
--    echo "csvquote program not found. exiting"
--    exit 1
--fi
-+CSVQUOTE=@out@/bin/csvquote
- 
- $CSVQUOTE $@ | head -n 1 | tr "$DEL" '\n' | nl -ba | $CSVQUOTE -u -d "$DEL" -q "$QUO" -r "$REC"
diff --git a/pkgs/tools/text/csvquote/default.nix b/pkgs/tools/text/csvquote/default.nix
deleted file mode 100644
index e4bf9b5a3377..000000000000
--- a/pkgs/tools/text/csvquote/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, patsh
-}:
-
-stdenv.mkDerivation rec {
-  pname = "csvquote";
-  version = "0.1.5";
-
-  src = fetchFromGitHub {
-    owner = "dbro";
-    repo = "csvquote";
-    rev = "v${version}";
-    hash = "sha256-847JAoDEfA9K4LB8z9cqSw+GTImqmITBylB/4odLDb0=";
-  };
-
-  patches = [
-    # patch csvheader to use csvquote from the derivation
-    ./csvquote-path.patch
-  ];
-
-  nativeBuildInputs = [
-    patsh
-  ];
-
-  makeFlags = [
-    "BINDIR=$(out)/bin"
-  ];
-
-  preInstall = ''
-    mkdir -p "$out/bin"
-  '';
-
-  postInstall = ''
-    substituteAllInPlace $out/bin/csvheader
-    patsh $out/bin/csvheader -fs ${builtins.storeDir}
-  '';
-
-  meta = with lib; {
-    description = "Enables common unix utilities like cut, awk, wc, head to work correctly with csv data containing delimiters and newlines";
-    homepage = "https://github.com/dbro/csvquote";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/d2/default.nix b/pkgs/tools/text/d2/default.nix
deleted file mode 100644
index 8a6641102269..000000000000
--- a/pkgs/tools/text/d2/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-, git
-, testers
-, d2
-}:
-
-buildGoModule rec {
-  pname = "d2";
-  version = "0.6.5";
-
-  src = fetchFromGitHub {
-    owner = "terrastruct";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-yEYdFpIIY+nAaeMPEwgz0th2rf67LeYK19Ov9QB/7J0=";
-  };
-
-  vendorHash = "sha256-aoc8KSznkWJpn0Ye7FUOH5sNQ4fslIGJhIaQdGrwcqQ=";
-
-  excludedPackages = [ "./e2etests" ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X oss.terrastruct.com/d2/lib/version.Version=v${version}"
-  ];
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  postInstall = ''
-    installManPage ci/release/template/man/d2.1
-  '';
-
-  nativeCheckInputs = [ git ];
-
-  preCheck = ''
-    # See https://github.com/terrastruct/d2/blob/master/docs/CONTRIBUTING.md#running-tests.
-    export TESTDATA_ACCEPT=1
-  '';
-
-  passthru.tests.version = testers.testVersion {
-    package = d2;
-    version = "v${version}";
-  };
-
-  meta = with lib; {
-    description = "Modern diagram scripting language that turns text to diagrams";
-    homepage = "https://d2lang.com";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ dit7ya kashw2 ];
-  };
-}
diff --git a/pkgs/tools/text/dadadodo/default.nix b/pkgs/tools/text/dadadodo/default.nix
deleted file mode 100644
index dc1a18ae23f2..000000000000
--- a/pkgs/tools/text/dadadodo/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "dadadodo";
-  version = "1.04";
-
-  src = fetchurl {
-    url = "https://www.jwz.org/dadadodo/${pname}-${version}.tar.gz";
-    sha256 = "1pzwp3mim58afjrc92yx65mmgr1c834s1v6z4f4gyihwjn8bn3if";
-  };
-
-  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp dadadodo $out/bin
-  '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = with lib; {
-    description = "Markov chain-based text generator";
-    mainProgram = "dadadodo";
-    homepage = "http://www.jwz.org/dadadodo";
-    maintainers = with maintainers; [ pSub ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/dcs/default.nix b/pkgs/tools/text/dcs/default.nix
deleted file mode 100644
index 0f438e4ff571..000000000000
--- a/pkgs/tools/text/dcs/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, yuicompressor
-, zopfli
-, stdenv
-}:
-buildGoModule {
-  pname = "dcs";
-  version = "unstable-2021-04-07";
-
-  src = fetchFromGitHub {
-    owner = "Debian";
-    repo = "dcs";
-    rev = "da46accc4d55e9bfde1a6852ac5a9e730fcbbb2c";
-    hash = "sha256-N+6BXlKn1YTlh0ZdPNWa0nuJNcQtlUIc9TocM8cbzQk=";
-  };
-
-  vendorHash = "sha256-l2mziuisx0HzuP88rS5M+Wha6lu8P036wJYZlmzjWfs=";
-
-  # Depends on dcs binaries
-  doCheck = false;
-
-  nativeBuildInputs = [
-    yuicompressor
-    zopfli
-  ];
-
-  postBuild = ''
-    make -C static -j$NIX_BUILD_CORES
-  '';
-
-  postInstall = ''
-    mkdir -p $out/share/dcs
-    cp -r cmd/dcs-web/templates $out/share/dcs
-    cp -r static $out/share/dcs
-  '';
-
-  meta = with lib; {
-    description = "Debian Code Search";
-    homepage = "https://github.com/Debian/dcs";
-    license = licenses.bsd3;
-    maintainers = [ ];
-    broken = stdenv.isAarch64
-      || stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dcs.x86_64-darwin
-  };
-}
diff --git a/pkgs/tools/text/dfmt/default.nix b/pkgs/tools/text/dfmt/default.nix
deleted file mode 100644
index c31335e560f1..000000000000
--- a/pkgs/tools/text/dfmt/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, python3
-, fetchPypi
-}:
-
-let
-  inherit (python3.pkgs)
-    buildPythonApplication
-    pythonOlder;
-in
-buildPythonApplication rec {
-  pname = "dfmt";
-  version = "1.2.0";
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7af6360ca8d556f1cfe82b97f03b8d1ea5a9d6de1fa3018290c844b6566d9d6e";
-  };
-
-  meta = with lib; {
-    description = "Format paragraphs, comments and doc strings";
-    mainProgram = "dfmt";
-    homepage = "https://github.com/dmerejkowsky/dfmt";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ cole-h ];
-  };
-}
diff --git a/pkgs/tools/text/diction/default.nix b/pkgs/tools/text/diction/default.nix
deleted file mode 100644
index be486cccf549..000000000000
--- a/pkgs/tools/text/diction/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "diction";
-  version = "1.13";
-
-  src = fetchurl {
-    url = "http://www.moria.de/~michael/diction/${pname}-${version}.tar.gz";
-    sha256 = "08fi971b8qa4xycxbgb42i6b5ms3qx9zpp5hwpbxy2vypfs0wph9";
-  };
-
-  meta = {
-    description = "GNU style and diction utilities";
-    longDescription = ''
-      Diction and style are two old standard Unix commands. Diction identifies
-      wordy and commonly misused phrases. Style analyses surface
-      characteristics of a document, including sentence length and other
-      readability measures.
-    '';
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/diffr/default.nix b/pkgs/tools/text/diffr/default.nix
index 9abc2fac5150..fbdf221d1206 100644
--- a/pkgs/tools/text/diffr/default.nix
+++ b/pkgs/tools/text/diffr/default.nix
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-RmQu55OnKfeuDGcJrfjhMKnxDatdowkvh3Kh4N8I8Sg=";
 
-  buildInputs = (lib.optional stdenv.isDarwin Security);
+  buildInputs = (lib.optional stdenv.hostPlatform.isDarwin Security);
 
   preCheck = ''
     export DIFFR_TESTS_BINARY_PATH=$releaseDir/diffr
diff --git a/pkgs/tools/text/diffsitter/default.nix b/pkgs/tools/text/diffsitter/default.nix
deleted file mode 100644
index e13ad3bff23b..000000000000
--- a/pkgs/tools/text/diffsitter/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ lib
-, fetchFromGitHub
-, linkFarm
-, makeWrapper
-, rustPlatform
-, tree-sitter
-}:
-
-let
-  # based on https://github.com/NixOS/nixpkgs/blob/aa07b78b9606daf1145a37f6299c6066939df075/pkgs/development/tools/parsing/tree-sitter/default.nix#L85-L104
-  withPlugins = grammarFn:
-    let
-      grammars = grammarFn tree-sitter.builtGrammars;
-    in
-    linkFarm "grammars"
-      (map
-        (drv:
-          let
-            name = lib.strings.getName drv;
-          in
-          {
-            name =
-              "lib" +
-              (lib.strings.removeSuffix "-grammar" name)
-              + ".so";
-            path = "${drv}/parser";
-          }
-        )
-        grammars);
-
-  libPath = withPlugins (_: tree-sitter.allGrammars);
-in
-rustPlatform.buildRustPackage rec {
-  pname = "diffsitter";
-  version = "0.8.3";
-
-  src = fetchFromGitHub {
-    owner = "afnanenayet";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-XYuX8NMVnVyOo3I2CmMS/TE47wQaigc8sen3ap2geSU=";
-    fetchSubmodules = false;
-  };
-
-  cargoHash = "sha256-re0FRoyENpo+BF88U9ARuB05W03Slgm4nw1yxcpOA4o=";
-
-  buildNoDefaultFeatures = true;
-  buildFeatures = [
-    "dynamic-grammar-libs"
-  ];
-
-  nativeBuildInputs = [
-    makeWrapper
-  ];
-
-  postInstall = ''
-    # completions are not yet implemented
-    # so we can safely remove this without installing the completions
-    rm $out/bin/diffsitter_completions
-
-    wrapProgram "$out/bin/diffsitter" \
-      --prefix LD_LIBRARY_PATH : "${libPath}"
-  '';
-
-  doCheck = false;
-  # failures:
-  #     tests::diff_hunks_snapshot::_medium_cpp_cpp_false_expects
-  #     tests::diff_hunks_snapshot::_medium_cpp_cpp_true_expects
-  #     tests::diff_hunks_snapshot::_medium_rust_rs_false_expects
-  #     tests::diff_hunks_snapshot::_medium_rust_rs_true_expects
-  #     tests::diff_hunks_snapshot::_short_python_py_true_expects
-  #     tests::diff_hunks_snapshot::_short_rust_rs_true_expects
-
-  meta = with lib; {
-    homepage = "https://github.com/afnanenayet/diffsitter";
-    description = "Tree-sitter based AST difftool to get meaningful semantic diffs";
-    license = licenses.mit;
-    maintainers = with maintainers; [ bbigras ];
-  };
-}
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
deleted file mode 100644
index 0e5b8d9a7174..000000000000
--- a/pkgs/tools/text/diffstat/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ fetchurl, lib, stdenv }:
-
-stdenv.mkDerivation rec {
-  pname = "diffstat";
-  version = "1.66";
-
-  src = fetchurl {
-    urls = [
-      "ftp://ftp.invisible-island.net/diffstat/diffstat-${version}.tgz"
-      "https://invisible-mirror.net/archives/diffstat/diffstat-${version}.tgz"
-    ];
-    sha256 = "sha256-9UUxu+Mujg+kYfAYtB469Ra2MggBcvNh8F5QNn7Ltp4=";
-  };
-
-  meta = with lib; {
-    description = "Read output of diff and display a histogram of the changes";
-    mainProgram = "diffstat";
-    longDescription = ''
-      diffstat reads the output of diff and displays a histogram of the
-      insertions, deletions, and modifications per-file. It is useful for
-      reviewing large, complex patch files.
-    '';
-    homepage = "https://invisible-island.net/diffstat/";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/tools/text/difftastic/Cargo.lock b/pkgs/tools/text/difftastic/Cargo.lock
deleted file mode 100644
index b9d4208b8e38..000000000000
--- a/pkgs/tools/text/difftastic/Cargo.lock
+++ /dev/null
@@ -1,1263 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "ahash"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
-dependencies = [
- "cfg-if",
- "once_cell",
- "version_check",
- "zerocopy",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "allocator-api2"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
-
-[[package]]
-name = "assert_cmd"
-version = "2.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9834fcc22e0874394a010230586367d4a3e9f11b560f469262678547e1d2575e"
-dependencies = [
- "bstr",
- "doc-comment",
- "predicates",
- "predicates-core",
- "predicates-tree",
- "wait-timeout",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
-
-[[package]]
-name = "bstr"
-version = "1.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
-dependencies = [
- "memchr",
- "regex-automata 0.4.6",
- "serde",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
-
-[[package]]
-name = "cc"
-version = "1.0.90"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "clap"
-version = "3.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-dependencies = [
- "atty",
- "bitflags 1.3.2",
- "clap_lex",
- "indexmap 1.9.3",
- "once_cell",
- "strsim",
- "termcolor",
- "terminal_size",
- "textwrap",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
-
-[[package]]
-name = "const_format"
-version = "0.2.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673"
-dependencies = [
- "const_format_proc_macros",
-]
-
-[[package]]
-name = "const_format_proc_macros"
-version = "0.2.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-xid",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
-
-[[package]]
-name = "crossterm"
-version = "0.27.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
-dependencies = [
- "bitflags 2.5.0",
- "crossterm_winapi",
- "libc",
- "mio",
- "parking_lot",
- "signal-hook",
- "signal-hook-mio",
- "winapi",
-]
-
-[[package]]
-name = "crossterm_winapi"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "diff"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
-
-[[package]]
-name = "difflib"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
-
-[[package]]
-name = "difftastic"
-version = "0.58.0"
-dependencies = [
- "assert_cmd",
- "bumpalo",
- "cc",
- "clap",
- "const_format",
- "crossterm",
- "glob",
- "hashbrown 0.14.3",
- "home",
- "humansize",
- "ignore",
- "itertools 0.11.0",
- "lazy_static",
- "libc",
- "libmimalloc-sys",
- "line-numbers",
- "log",
- "mimalloc",
- "owo-colors",
- "predicates",
- "pretty_assertions",
- "pretty_env_logger",
- "radix-heap",
- "rayon",
- "regex",
- "rustc-hash",
- "serde",
- "serde_json",
- "smallvec",
- "strsim",
- "strum",
- "tree-sitter",
- "tree_magic_mini",
- "typed-arena",
- "unicode-width",
- "version_check",
- "wu-diff",
-]
-
-[[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
-name = "either"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
-
-[[package]]
-name = "env_logger"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
-dependencies = [
- "humantime",
- "is-terminal",
- "log",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "errno"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "fixedbitset"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-
-[[package]]
-name = "float-cmp"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "globset"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
-dependencies = [
- "aho-corasick",
- "bstr",
- "log",
- "regex-automata 0.4.6",
- "regex-syntax 0.8.2",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-dependencies = [
- "ahash",
- "allocator-api2",
-]
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "home"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-dependencies = [
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "humansize"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
-dependencies = [
- "libm",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "ignore"
-version = "0.4.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
-dependencies = [
- "crossbeam-utils",
- "globset",
- "lazy_static",
- "log",
- "memchr",
- "regex",
- "same-file",
- "thread_local",
- "walkdir",
- "winapi-util",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
-dependencies = [
- "equivalent",
- "hashbrown 0.14.3",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.9",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "is-terminal"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
-dependencies = [
- "hermit-abi 0.3.9",
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.153"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
-
-[[package]]
-name = "libm"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
-
-[[package]]
-name = "libmimalloc-sys"
-version = "0.1.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7705fc40f6ed493f73584abbb324e74f96b358ff60dfe5659a0f8fc12c590a69"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "line-numbers"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b25f5068853805faa3c19f44d0c401446e4eb3f47cc808fa331eec30f0ba35c"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
-
-[[package]]
-name = "lock_api"
-version = "0.4.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
-
-[[package]]
-name = "memchr"
-version = "2.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
-
-[[package]]
-name = "mimalloc"
-version = "0.1.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0dfa131390c2f6bdb3242f65ff271fcdaca5ff7b6c08f28398be7f2280e3926"
-dependencies = [
- "libmimalloc-sys",
-]
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "mio"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
-[[package]]
-name = "normalize-line-endings"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
-
-[[package]]
-name = "num-traits"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
-
-[[package]]
-name = "os_str_bytes"
-version = "6.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
-
-[[package]]
-name = "owo-colors"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "petgraph"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
-dependencies = [
- "fixedbitset",
- "indexmap 2.2.6",
-]
-
-[[package]]
-name = "predicates"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c"
-dependencies = [
- "difflib",
- "float-cmp",
- "itertools 0.10.5",
- "normalize-line-endings",
- "predicates-core",
- "regex",
-]
-
-[[package]]
-name = "predicates-core"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
-
-[[package]]
-name = "predicates-tree"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
-dependencies = [
- "predicates-core",
- "termtree",
-]
-
-[[package]]
-name = "pretty_assertions"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
-dependencies = [
- "diff",
- "yansi",
-]
-
-[[package]]
-name = "pretty_env_logger"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c"
-dependencies = [
- "env_logger",
- "log",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "radix-heap"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ffec9df464013295b499298811e6a3de31bf8128092135826517db12dee601"
-
-[[package]]
-name = "rayon"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "regex"
-version = "1.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata 0.3.9",
- "regex-syntax 0.7.5",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax 0.7.5",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax 0.8.2",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustix"
-version = "0.37.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
-
-[[package]]
-name = "ryu"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "serde"
-version = "1.0.197"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.197"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.114"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "signal-hook"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
-name = "signal-hook-mio"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
-dependencies = [
- "libc",
- "mio",
- "signal-hook",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "strum"
-version = "0.25.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.25.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.55"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
-dependencies = [
- "rustix",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "termtree"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
-
-[[package]]
-name = "textwrap"
-version = "0.16.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
-dependencies = [
- "terminal_size",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "tree-sitter"
-version = "0.20.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d"
-dependencies = [
- "cc",
- "regex",
-]
-
-[[package]]
-name = "tree_magic_mini"
-version = "3.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ee137597cdb361b55a4746983e4ac1b35ab6024396a419944ad473bb915265"
-dependencies = [
- "fnv",
- "home",
- "memchr",
- "nom",
- "once_cell",
- "petgraph",
-]
-
-[[package]]
-name = "typed-arena"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wait-timeout"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.4",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.4",
- "windows_aarch64_msvc 0.52.4",
- "windows_i686_gnu 0.52.4",
- "windows_i686_msvc 0.52.4",
- "windows_x86_64_gnu 0.52.4",
- "windows_x86_64_gnullvm 0.52.4",
- "windows_x86_64_msvc 0.52.4",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
-
-[[package]]
-name = "wu-diff"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e3e6735fcde06432870db8dc9d7e3ab1b93727c14eaef329969426299f28893"
-
-[[package]]
-name = "yansi"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
-
-[[package]]
-name = "zerocopy"
-version = "0.7.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
-dependencies = [
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.7.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
deleted file mode 100644
index 5b14aa322582..000000000000
--- a/pkgs/tools/text/difftastic/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib
-, fetchpatch
-, rustPlatform
-, fetchFromGitHub
-, testers
-, difftastic
-}:
-
-let
-  mimallocPatch = fetchpatch {
-    # fixes compilation error on x86_64-darwin
-    # remove after update to libmimalloc-sys >= 0.1.29
-    # (fixed in mimalloc >= 1.7.6 which is included with libmimalloc-sys >= 0.1.29)
-    url = "https://github.com/microsoft/mimalloc/commit/40e0507a5959ee218f308d33aec212c3ebeef3bb.patch";
-    hash = "sha256-DK0LqsVXXiEVQSQCxZ5jyZMg0UJJx9a/WxzCroYSHZc=";
-  };
-in
-rustPlatform.buildRustPackage rec {
-  pname = "difftastic";
-  version = "0.58.0";
-
-  src = fetchFromGitHub {
-    owner = "wilfred";
-    repo = pname;
-    rev = version;
-    hash = "sha256-PTc8/NhWsLcKJj+9ebV/YaWEmyOWKJCYUjmVbr4z2SY=";
-  };
-
-  cargoLock.lockFile = ./Cargo.lock;
-
-  # skip flaky tests
-  checkFlags = [
-    "--skip=options::tests::test_detect_display_width"
-  ];
-
-  postPatch = ''
-    patch -d $cargoDepsCopy/libmimalloc-sys-0.1.24/c_src/mimalloc \
-      -p1 < ${mimallocPatch}
-  '';
-
-  passthru.tests.version = testers.testVersion { package = difftastic; };
-
-  meta = with lib; {
-    description = "Syntax-aware diff";
-    homepage = "https://github.com/Wilfred/difftastic";
-    changelog = "https://github.com/Wilfred/difftastic/blob/${version}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ethancedwards8 figsoda matthiasbeyer ];
-    mainProgram = "difft";
-  };
-}
diff --git a/pkgs/tools/text/dirdiff/default.nix b/pkgs/tools/text/dirdiff/default.nix
deleted file mode 100644
index c0347aface09..000000000000
--- a/pkgs/tools/text/dirdiff/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ copyDesktopItems, fetchurl, lib, makeDesktopItem, stdenv, tcl, tk }:
-
-stdenv.mkDerivation rec {
-  pname = "dirdiff";
-  version = "2.1";
-
-  src = fetchurl {
-    url = "mirror://samba/paulus/${pname}-${version}.tar.gz";
-    sha256 = "0lljd8av68j70733yshzzhxjr1lm0vgmbqsm8f02g03qsma3cdyb";
-  };
-
-  nativeBuildInputs = [ copyDesktopItems ];
-  buildInputs = [ tcl tk ];
-
-  # Some light path patching.
-  patches = [ ./dirdiff-2.1-vars.patch ];
-  postPatch = ''
-    for file in dirdiff Makefile; do
-      substituteInPlace "$file" \
-          --subst-var out \
-          --subst-var-by tcl ${tcl} \
-          --subst-var-by tk ${tk}
-    done
-  '';
-
-  env = {
-    NIX_CFLAGS_COMPILE = "-DUSE_INTERP_RESULT";
-    NIX_LDFLAGS = "-ltcl";
-  };
-
-  # If we don't create the directories ourselves, then 'make install' creates
-  # files named 'bin' and 'lib'.
-  preInstall = ''
-    mkdir -p $out/bin $out/lib
-  '';
-
-  installFlags = [
-    "BINDIR=${placeholder "out"}/bin"
-    "LIBDIR=${placeholder "out"}/lib"
-  ];
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = "dirdiff";
-      exec = "dirdiff";
-      desktopName = "Dirdiff";
-      genericName = "Directory Diff Viewer";
-      comment = "Diff and merge directory trees";
-      categories = [ "Development" ];
-    })
-  ];
-
-  meta = with lib; {
-    description = "Graphical directory tree diff and merge tool";
-    mainProgram = "dirdiff";
-    longDescription = ''
-      Dirdiff is a graphical tool for displaying the differences between
-      directory trees and for merging changes from one tree into another.
-    '';
-    homepage = "https://www.samba.org/ftp/paulus/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ khumba ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/dirdiff/dirdiff-2.1-vars.patch b/pkgs/tools/text/dirdiff/dirdiff-2.1-vars.patch
deleted file mode 100644
index 4e7aa025754a..000000000000
--- a/pkgs/tools/text/dirdiff/dirdiff-2.1-vars.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff '--color=auto' -ru dirdiff-2.1/dirdiff dirdiff-2.1-patched/dirdiff
---- dirdiff-2.1/dirdiff	2005-04-20 03:09:53.000000000 -0700
-+++ dirdiff-2.1-patched/dirdiff	2021-02-14 22:54:09.837692023 -0800
-@@ -1,6 +1,6 @@
- #!/bin/sh
- # Tcl ignores the next line \
--exec wish "$0" -- "${1+$@}"
-+exec @tk@/bin/wish "$0" -- "${1+$@}"
- 
- # Copyright (C) 1999-2004 Paul Mackerras.  All rights reserved.
- # This program is free software; it may be used, copied, modified
-@@ -17,7 +17,7 @@
- set TclExe [info nameofexecutable]
- set compound_ok [expr {$tcl_version >= 8.4}]
- 
--set nofilecmp [catch {load libfilecmp.so.0.0}]
-+set nofilecmp [catch {load @out@/lib/libfilecmp.so.0.0}]
- set rcsflag {}
- set diffbflag {}
- set diffBflag {}
-diff '--color=auto' -ru dirdiff-2.1/Makefile dirdiff-2.1-patched/Makefile
---- dirdiff-2.1/Makefile	2005-04-19 03:22:01.000000000 -0700
-+++ dirdiff-2.1-patched/Makefile	2021-02-14 22:54:58.575400923 -0800
-@@ -7,7 +7,7 @@
- INSTALL=install
- 
- # You may need to change the -I arguments depending on your system
--CFLAGS=-O3 -I/usr/include/tcl8.3/ -I/usr/include/tcl
-+CFLAGS=-O3 -I@tcl@/include
- 
- all:	libfilecmp.so.0.0
- 
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
deleted file mode 100644
index e71b5941ea93..000000000000
--- a/pkgs/tools/text/discount/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  version = "3.0.0d";
-  pname = "discount";
-
-  src = fetchFromGitHub {
-    owner = "Orc";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-fFSlW9qnH3NL9civ793LrScOJSuRe9i377BgpNzOXa0=";
-  };
-
-  patches = [ ./fix-configure-path.patch ];
-  configureScript = "./configure.sh";
-  configureFlags = [
-    "--shared"
-    "--debian-glitch" # use deterministic mangling
-    "--pkg-config"
-    "--h1-title"
-  ];
-
-  enableParallelBuilding = true;
-  installTargets = [ "install.everything" ];
-
-  doCheck = true;
-
-  postFixup = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -id "$out/lib/libmarkdown.dylib" "$out/lib/libmarkdown.dylib"
-    for exe in $out/bin/*; do
-      install_name_tool -change libmarkdown.dylib "$out/lib/libmarkdown.dylib" "$exe"
-    done
-  '';
-
-  meta = with lib; {
-    description = "Implementation of Markdown markup language in C";
-    homepage = "http://www.pell.portland.or.us/~orc/Code/discount/";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ shell ];
-    mainProgram = "markdown";
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/discount/fix-configure-path.patch b/pkgs/tools/text/discount/fix-configure-path.patch
deleted file mode 100644
index 045b369b4b69..000000000000
--- a/pkgs/tools/text/discount/fix-configure-path.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN discount-2.1.6-original/configure.inc discount-2.1.6/configure.inc
---- discount-2.1.6-original/configure.inc	2014-10-10 15:34:24.158325345 +0100
-+++ discount-2.1.6/configure.inc	2014-10-10 15:34:33.553325321 +0100
-@@ -32,7 +32,7 @@
- # this preamble code is executed when this file is sourced and it picks
- # interesting things off the command line.
- #
--ac_default_path="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin"
-+ac_default_path=$PATH
- 
- ac_standard="--src=DIR		where the source lives (.)
- --prefix=DIR		where to install the final product (/usr/local)
diff --git a/pkgs/tools/text/djot-js/default.nix b/pkgs/tools/text/djot-js/default.nix
deleted file mode 100644
index 656d7d0f6ba8..000000000000
--- a/pkgs/tools/text/djot-js/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-, installShellFiles
-}:
-
-buildNpmPackage rec {
-  pname = "djot-js";
-  version = "0.3.1";
-
-  src = fetchFromGitHub {
-    owner = "jgm";
-    repo = "djot.js";
-    rev = "@djot/djot@${version}";
-    hash = "sha256-dQfjI+8cKqn4qLT9eUKfCP++BFCWQ/MmrlQNVRNCFuU=";
-  };
-
-  npmDepsHash = "sha256-FjrjwhVv2WRjbEga9w37lwz7KYgTTHGsoqt496Uq/0c=";
-
-  nativeBuildInputs = [
-    installShellFiles
-  ];
-
-  postInstall = ''
-    installManPage doc/djot.1
-  '';
-
-  meta = with lib; {
-    description = "JavaScript implementation of djot";
-    homepage = "https://github.com/jgm/djot.js";
-    changelog = "https://github.com/jgm/djot.js/blob/${src.rev}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-    mainProgram = "djot";
-  };
-}
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
deleted file mode 100644
index 9785b21e0dcb..000000000000
--- a/pkgs/tools/text/dos2unix/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{lib, stdenv, fetchurl, perl, gettext }:
-
-stdenv.mkDerivation rec {
-  pname = "dos2unix";
-  version = "7.5.2";
-
-  src = fetchurl {
-    url = "https://waterlan.home.xs4all.nl/dos2unix/${pname}-${version}.tar.gz";
-    sha256 = "sha256-JkdCRGYIRC60j5bCCvbaMDyzqSs2TnLLfiT4gjnEvzo=";
-  };
-
-  nativeBuildInputs = [ perl gettext ];
-  makeFlags = [ "prefix=${placeholder "out"}" ];
-
-  meta = with lib; {
-    description = "Convert text files with DOS or Mac line breaks to Unix line breaks and vice versa";
-    homepage = "https://waterlan.home.xs4all.nl/dos2unix.html";
-    changelog = "https://sourceforge.net/p/dos2unix/dos2unix/ci/dos2unix-${version}/tree/dos2unix/NEWS.txt?format=raw";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ c0bw3b ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/dt/default.nix b/pkgs/tools/text/dt/default.nix
deleted file mode 100644
index aa478b16dd69..000000000000
--- a/pkgs/tools/text/dt/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, testers
-, zig_0_11
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "dt";
-  version = "1.3.1";
-
-  src = fetchFromGitHub {
-    owner = "so-dang-cool";
-    repo = "dt";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-qHfvHf4T0wWnzqp5FfLg7n7te24xc2aMEdTK3Iia8Q0=";
-  };
-
-  nativeBuildInputs = [ zig_0_11.hook ];
-
-  passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
-
-  meta = {
-    homepage = "https://dt.plumbing";
-    description = "Duct tape for your unix pipes";
-    longDescription = ''
-      dt is a utility and programming language. The utility is intended for
-      ergonomic in-the-shell execution. The language is straightforward (in
-      the most literal sense) with a minimal syntax that allows for
-      high-level, higher-order programming.
-
-      It's meant to supplement (not replace!) other tools like awk, sed,
-      xargs, and shell built-ins. Something like the Perl one-liners popular
-      yesteryear, but hopefully easier to read and reason through.
-
-      In short, dt is intended to be generally useful, with zero pretense of
-      elegance.
-    '';
-    changelog = "https://github.com/so-dang-cool/dt/releases/tag/v${finalAttrs.version}";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ booniepepper ];
-    platforms = lib.platforms.unix;
-    mainProgram = "dt";
-  };
-})
diff --git a/pkgs/tools/text/each/default.nix b/pkgs/tools/text/each/default.nix
deleted file mode 100644
index 6f24ee66fe40..000000000000
--- a/pkgs/tools/text/each/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "each";
-  version = "0.2.0";
-
-  src = fetchFromGitHub {
-    owner = "arraypad";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-5Aa/uHWrU4bpWd28Uddnuhmi6guHy09W9AU8sAfea6I=";
-  };
-
-  cargoSha256 = "sha256-sH9rraPNAIlW2KQVaZfYa10c1HHQpDgedY1+9e94RLE=";
-
-  meta = with lib; {
-    description = " A better way of working with structured data on the command line";
-    mainProgram = "each";
-    homepage = "https://github.com/arraypad/each";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ thiagokokada ];
-  };
-}
diff --git a/pkgs/tools/text/ebook-tools/default.nix b/pkgs/tools/text/ebook-tools/default.nix
deleted file mode 100644
index 5efdb69fe453..000000000000
--- a/pkgs/tools/text/ebook-tools/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, libxml2, libzip }:
-
-stdenv.mkDerivation rec {
-  pname = "ebook-tools";
-  version = "0.2.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/ebook-tools/ebook-tools-${version}.tar.gz";
-    sha256 = "1bi7wsz3p5slb43kj7lgb3r6lb91lvb6ldi556k4y50ix6b5khyb";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libxml2 libzip ];
-
-  meta = with lib; {
-    homepage = "http://ebook-tools.sourceforge.net";
-    description = "Tools and library for dealing with various ebook file formats";
-    maintainers = [ ];
-    platforms = platforms.all;
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/tools/text/enca/default.nix b/pkgs/tools/text/enca/default.nix
deleted file mode 100644
index f3098a22f41a..000000000000
--- a/pkgs/tools/text/enca/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchurl, libiconv, recode }:
-
-stdenv.mkDerivation rec {
-  pname = "enca";
-  version = "1.19";
-
-  src = fetchurl {
-    url = "https://dl.cihar.com/enca/${pname}-${version}.tar.xz";
-    sha256 = "1f78jmrggv3jymql8imm5m9yc8nqjw5l99mpwki2245l8357wj1s";
-  };
-
-  buildInputs = [ recode libiconv ];
-
-  meta = with lib; {
-    description = "Detects the encoding of text files and reencodes them";
-
-    longDescription = ''
-        Enca detects the encoding of text files, on the basis of knowledge
-        of their language. It can also convert them to other encodings,
-        allowing you to recode files without knowing their current encoding.
-        It supports most of Central and East European languages, and a few
-        Unicode variants, independently on language.
-    '';
-
-    license = licenses.gpl2Only;
-
-  };
-}
diff --git a/pkgs/tools/text/enscript/0001-use-system-getopt.patch b/pkgs/tools/text/enscript/0001-use-system-getopt.patch
deleted file mode 100644
index 0ae8776f361e..000000000000
--- a/pkgs/tools/text/enscript/0001-use-system-getopt.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 4c5cbf6db71cf2981fc836ed370c82149748d8ea Mon Sep 17 00:00:00 2001
-From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
-Date: Wed, 6 Dec 2023 22:57:19 +0000
-Subject: [PATCH] use system getopt
-
-the file compat/getopt.h also needs to be removed otherwise it will
-create conflicts with the system includes
----
- compat/Makefile.am | 4 ++--
- compat/Makefile.in | 6 +++---
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/compat/Makefile.am b/compat/Makefile.am
-index aefc06f..23aaf81 100644
---- a/compat/Makefile.am
-+++ b/compat/Makefile.am
-@@ -25,7 +25,7 @@
- AUTOMAKE_OPTIONS = no-dependencies
- 
- noinst_LIBRARIES = libcompat.a
--libcompat_a_SOURCES = getopt.c getopt1.c xalloc.c regex.c
-+libcompat_a_SOURCES = xalloc.c regex.c
- libcompat_a_LIBADD = @LIBOBJS@ @ALLOCA@
- libcompat_a_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
- 
-@@ -34,7 +34,7 @@ libcompat_a_SOURCES_windelta =	\
- 	+../w32/getpwd.c	\
- 	+../w32/getuid.c
- 
--noinst_HEADERS = getopt.h regex.h xalloc.h
-+noinst_HEADERS = regex.h xalloc.h
- 
- EXTRA_DIST = ChangeLog.old strerror.c memmove.c memcpy.c strtol.c	\
- 	strtoul.c gettext.h
-diff --git a/compat/Makefile.in b/compat/Makefile.in
-index edfc620..dee05d7 100644
---- a/compat/Makefile.in
-+++ b/compat/Makefile.in
-@@ -137,7 +137,7 @@ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
- am__v_AR_0 = @echo "  AR      " $@;
- am__v_AR_1 = 
- libcompat_a_AR = $(AR) $(ARFLAGS)
--am_libcompat_a_OBJECTS = getopt.$(OBJEXT) getopt1.$(OBJEXT) \
-+am_libcompat_a_OBJECTS = \
- 	xalloc.$(OBJEXT) regex.$(OBJEXT)
- libcompat_a_OBJECTS = $(am_libcompat_a_OBJECTS)
- AM_V_P = $(am__v_P_@AM_V@)
-@@ -326,7 +326,7 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- AUTOMAKE_OPTIONS = no-dependencies
- noinst_LIBRARIES = libcompat.a
--libcompat_a_SOURCES = getopt.c getopt1.c xalloc.c regex.c
-+libcompat_a_SOURCES = xalloc.c regex.c
- libcompat_a_LIBADD = @LIBOBJS@ @ALLOCA@
- libcompat_a_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
- libcompat_a_SOURCES_windelta = \
-@@ -334,7 +334,7 @@ libcompat_a_SOURCES_windelta = \
- 	+../w32/getpwd.c	\
- 	+../w32/getuid.c
- 
--noinst_HEADERS = getopt.h regex.h xalloc.h
-+noinst_HEADERS = regex.h xalloc.h
- EXTRA_DIST = ChangeLog.old strerror.c memmove.c memcpy.c strtol.c	\
- 	strtoul.c gettext.h
- 
--- 
-2.42.0
-
diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix
deleted file mode 100644
index e5aeb75ca626..000000000000
--- a/pkgs/tools/text/enscript/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib, stdenv, fetchurl, gettext }:
-
-stdenv.mkDerivation rec {
-  pname = "enscript";
-  version = "1.6.6";
-
-  src = fetchurl {
-    url = "mirror://gnu/enscript/enscript-${version}.tar.gz";
-    sha256 = "1fy0ymvzrrvs889zanxcaxjfcxarm2d3k43c9frmbl1ld7dblmkd";
-  };
-
-  patches = [
-    # fix compile failure on macos. use system getopt like linux
-    # requires that compat/getopt.h is also removed
-    # https://savannah.gnu.org/bugs/?64307
-    ./0001-use-system-getopt.patch
-  ];
-
-  postPatch = ''
-    # the delete component of 0001-use-system-getopt.patch
-    rm compat/getopt.h
-    # Fix building on Darwin with GCC.
-    substituteInPlace compat/regex.c --replace \
-       __private_extern__  '__attribute__ ((visibility ("hidden")))'
-  '';
-
-  buildInputs = [ gettext ];
-
-  doCheck = true;
-
-  meta = {
-    description = "Converter from ASCII to PostScript, HTML, or RTF";
-
-    longDescription =
-      '' GNU Enscript converts ASCII files to PostScript, HTML, or RTF and
-         stores generated output to a file or sends it directly to the
-         printer.  It includes features for `pretty-printing'
-         (language-sensitive code highlighting) in several programming
-         languages.
-
-         Enscript can be easily extended to handle different output media and
-         it has many options that can be used to customize printouts.
-      '';
-
-    license = lib.licenses.gpl3Plus;
-
-    homepage = "https://www.gnu.org/software/enscript/";
-
-    maintainers = [ ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/epub2txt2/default.nix b/pkgs/tools/text/epub2txt2/default.nix
deleted file mode 100644
index af335773ea0c..000000000000
--- a/pkgs/tools/text/epub2txt2/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  pname = "epub2txt2";
-  version = "2.06";
-
-  src = fetchFromGitHub {
-    owner = "kevinboone";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    sha256 = "sha256-zzcig5XNh9TqUHginsfoC47WrKavqi6k6ezir+OOMJk=";
-  };
-
-  makeFlags = [ "CC:=$(CC)" "PREFIX:=$(out)" ];
-
-  meta = {
-    description = "Simple command-line utility for Linux, for extracting text from EPUB documents";
-    homepage = "https://github.com/kevinboone/epub2txt2";
-    license = lib.licenses.gpl3Only;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.leonid ];
-    mainProgram = "epub2txt";
-  };
-}
diff --git a/pkgs/tools/text/epubcheck/default.nix b/pkgs/tools/text/epubcheck/default.nix
deleted file mode 100644
index abd2803508bb..000000000000
--- a/pkgs/tools/text/epubcheck/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, stdenv, fetchzip
-, jre, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "epubcheck";
-  version = "5.1.0";
-
-  src = fetchzip {
-    url = "https://github.com/w3c/epubcheck/releases/download/v${version}/epubcheck-${version}.zip";
-    sha256 = "sha256-gskQ02lGka3nBHSDXO3TpKSQzaoaJUQY9AvWG7L+1YM=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cp -r lib/* $out/lib
-
-    mkdir -p $out/libexec/epubcheck
-    cp epubcheck.jar $out/libexec/epubcheck
-
-    classpath=$out/libexec/epubcheck/epubcheck.jar
-    for jar in $out/lib/*.jar; do
-      classpath="$classpath:$jar"
-    done
-
-    mkdir -p $out/bin
-    makeWrapper ${jre}/bin/java $out/bin/epubcheck \
-      --add-flags "-classpath $classpath com.adobe.epubcheck.tool.Checker"
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/w3c/epubcheck";
-    description = "Validation tool for EPUB";
-    mainProgram = "epubcheck";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = with licenses; [ asl20 bsd3 mpl10 w3c ];
-    platforms = platforms.all;
-    maintainers = with maintainers; [ eadwu ];
-  };
-}
diff --git a/pkgs/tools/text/esh/default.nix b/pkgs/tools/text/esh/default.nix
deleted file mode 100644
index abbeb29234da..000000000000
--- a/pkgs/tools/text/esh/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, asciidoctor, gawk, gnused, runtimeShell }:
-
-stdenv.mkDerivation rec {
-  pname = "esh";
-  version = "0.1.1";
-
-  src = fetchFromGitHub {
-    owner = "jirutka";
-    repo = "esh";
-    rev = "v${version}";
-    sha256 = "1ddaji5nplf1dyvgkrhqjy8m5djaycqcfhjv30yprj1avjymlj6w";
-  };
-
-  nativeBuildInputs = [ asciidoctor ];
-
-  buildInputs = [ gawk gnused ];
-
-  makeFlags = [ "prefix=$(out)" "DESTDIR=" ];
-
-  postPatch = ''
-    patchShebangs .
-    substituteInPlace esh \
-        --replace '"/bin/sh"' '"${runtimeShell}"' \
-        --replace '"awk"' '"${gawk}/bin/awk"' \
-        --replace 'sed' '${gnused}/bin/sed'
-    substituteInPlace tests/test-dump.exp \
-        --replace '#!/bin/sh' '#!${runtimeShell}'
-  '';
-
-  doCheck = true;
-  checkTarget = "test";
-
-  meta = with lib; {
-    description = "Simple templating engine based on shell";
-    mainProgram = "esh";
-    homepage = "https://github.com/jirutka/esh";
-    license = licenses.mit;
-    maintainers = with maintainers; [ mnacamura ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
deleted file mode 100644
index 9aee49e391d9..000000000000
--- a/pkgs/tools/text/fanficfare/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, python3Packages, fetchPypi }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "fanficfare";
-  version = "4.35.0";
-  pyproject = true;
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-hPBURlsrr/7c26YFZo5UT7PTs8s+D8BXxjU/uposHjQ=";
-  };
-
-  nativeBuildInputs = with python3Packages; [
-    setuptools
-  ];
-
-  propagatedBuildInputs = with python3Packages; [
-    beautifulsoup4
-    brotli
-    chardet
-    cloudscraper
-    html5lib
-    html2text
-    requests
-    requests-file
-    urllib3
-  ];
-
-  doCheck = false; # no tests exist
-
-  meta = with lib; {
-    description = "Tool for making eBooks from fanfiction web sites";
-    mainProgram = "fanficfare";
-    homepage = "https://github.com/JimmXinu/FanFicFare";
-    license = licenses.gpl3;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ dwarfmaster ];
-  };
-}
diff --git a/pkgs/tools/text/fastmod/default.nix b/pkgs/tools/text/fastmod/default.nix
index e7b2f3b107c9..f8cc3055e905 100644
--- a/pkgs/tools/text/fastmod/default.nix
+++ b/pkgs/tools/text/fastmod/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-sFrABp4oYhel+GONFsTbunq+4We2DicvF9A3FT/ZArc=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ];
 
   meta = with lib; {
     description = "Utility that makes sweeping changes to large, shared code bases";
diff --git a/pkgs/tools/text/frangipanni/default.nix b/pkgs/tools/text/frangipanni/default.nix
deleted file mode 100644
index f95c6b4f1636..000000000000
--- a/pkgs/tools/text/frangipanni/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "frangipanni";
-  version = "0.5.0";
-
-  src = fetchFromGitHub {
-    owner = "birchb1024";
-    repo = "frangipanni";
-    rev = "v${version}";
-    sha256 = "sha256-jIXyqwZWfCBSDTTodHTct4V5rjYv7h4Vcw7cXOFk17w=";
-  };
-
-  vendorHash = "sha256-TSN5M/UCTtfoTf1hDCfrJMCFdSwL/NVXssgt4aefom8=";
-
-  meta = with lib; {
-    description = "Convert lines of text into a tree structure";
-    mainProgram = "frangipanni";
-    homepage = "https://github.com/birchb1024/frangipanni";
-    license = licenses.mit;
-    maintainers = with maintainers; [ siraben ];
-  };
-}
diff --git a/pkgs/tools/text/frawk/default.nix b/pkgs/tools/text/frawk/default.nix
deleted file mode 100644
index 2b9f2e0beaa8..000000000000
--- a/pkgs/tools/text/frawk/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, rustPlatform
-, fetchCrate
-, libxml2
-, ncurses
-, zlib
-, features ? [ "default" ]
-, llvmPackages_12
-, stdenv
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "frawk";
-  version = "0.4.8";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-wPnMJDx3aF1Slx5pjLfii366pgNU3FJBdznQLuUboYA=";
-  };
-
-  cargoSha256 = "sha256-Xk+iH90Nb2koCdGmVSiRl8Nq26LlFdJBuKmvcbgnkgs=";
-
-  buildInputs = [ libxml2 ncurses zlib ];
-
-  buildNoDefaultFeatures = true;
-  buildFeatures = features;
-
-  preBuild = lib.optionalString (lib.elem "default" features || lib.elem "llvm_backend" features) ''
-    export LLVM_SYS_120_PREFIX=${llvmPackages_12.llvm.dev}
-  '' + lib.optionalString (lib.elem "default" features || lib.elem "unstable" features) ''
-    export RUSTC_BOOTSTRAP=1
-  '';
-
-  # depends on cpu instructions that may not be available on builders
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Small programming language for writing short programs processing textual data";
-    mainProgram = "frawk";
-    homepage = "https://github.com/ezrosent/frawk";
-    changelog = "https://github.com/ezrosent/frawk/releases/tag/v${version}";
-    license = with licenses; [ mit /* or */ asl20 ];
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/frogmouth/default.nix b/pkgs/tools/text/frogmouth/default.nix
deleted file mode 100644
index b2551b6387d6..000000000000
--- a/pkgs/tools/text/frogmouth/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, python3
-, fetchFromGitHub
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "frogmouth";
-  version = "0.9.1";
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "Textualize";
-    repo = "frogmouth";
-    rev = "v${version}";
-    hash = "sha256-0fcCON/M9JklE7X9aRfzTkEFG4ckJqLoQlYCSrWHHGQ=";
-  };
-
-  nativeBuildInputs = [
-    python3.pkgs.poetry-core
-    python3.pkgs.pythonRelaxDepsHook
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    httpx
-    textual
-    typing-extensions
-    xdg
-  ];
-
-  pythonRelaxDeps = [
-    "httpx"
-    "textual"
-  ];
-
-  pythonImportsCheck = [ "frogmouth" ];
-
-  meta = with lib; {
-    description = "Markdown browser for your terminal";
-    mainProgram = "frogmouth";
-    homepage = "https://github.com/Textualize/frogmouth";
-    changelog = "https://github.com/Textualize/frogmouth/blob/${src.rev}/ChangeLog.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/fst/default.nix b/pkgs/tools/text/fst/default.nix
deleted file mode 100644
index 0ad2075de08f..000000000000
--- a/pkgs/tools/text/fst/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, rustPlatform
-, fetchCrate
-, stdenv
-, libiconv
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "fst";
-  version = "0.4.3";
-
-  src = fetchCrate {
-    inherit version;
-    crateName = "fst-bin";
-    sha256 = "sha256-x2rvLMOhatMWU2u5GAdpYy2uuwZLi3apoE6aaTF+M1g=";
-  };
-
-  cargoHash = "sha256-yTbEaw+BbjVks3j7/b75kGoUjVftLaVYvYIdI/bbfdk=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    csv="$(mktemp)"
-    fst="$(mktemp)"
-    printf "abc,1\nabcd,1" > "$csv"
-    $out/bin/fst map "$csv" "$fst" --force
-    $out/bin/fst fuzzy "$fst" 'abc'
-    $out/bin/fst --help > /dev/null
-  '';
-
-  meta = with lib; {
-    description = "Represent large sets and maps compactly with finite state transducers";
-    mainProgram = "fst";
-    homepage = "https://github.com/BurntSushi/fst";
-    license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = with maintainers; [ rmcgibbo ];
-  };
-}
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index 8857fa29d1c6..977a44fae2b8 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -1,29 +1,29 @@
 { lib, stdenv, fetchurl
+, removeReferencesTo
 , runtimeShellPackage
-# TODO: links -lsigsegv but loses the reference for some reason
-, withSigsegv ? (false && stdenv.hostPlatform.system != "x86_64-cygwin"), libsigsegv
+, texinfo
 , interactive ? false, readline
 , autoreconfHook # no-pma fix
 
 /* Test suite broke on:
-       stdenv.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1
-    || stdenv.isDarwin # XXX: `locale' segfaults
-    || stdenv.isSunOS  # XXX: `_backsmalls1' fails, locale stuff?
-    || stdenv.isFreeBSD
+       stdenv.hostPlatform.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1
+    || stdenv.hostPlatform.isDarwin # XXX: `locale' segfaults
+    || stdenv.hostPlatform.isSunOS  # XXX: `_backsmalls1' fails, locale stuff?
+    || stdenv.hostPlatform.isFreeBSD
 */
-, doCheck ? (interactive && stdenv.isLinux), glibcLocales ? null
+, doCheck ? (interactive && stdenv.hostPlatform.isLinux), glibcLocales ? null
 , locale ? null
 }:
 
-assert (doCheck && stdenv.isLinux) -> glibcLocales != null;
+assert (doCheck && stdenv.hostPlatform.isLinux) -> glibcLocales != null;
 
 stdenv.mkDerivation rec {
   pname = "gawk" + lib.optionalString interactive "-interactive";
-  version = "5.2.2";
+  version = "5.3.1";
 
   src = fetchurl {
     url = "mirror://gnu/gawk/gawk-${version}.tar.xz";
-    hash = "sha256-PB/OFEa0y+4c0nO9fsZLyH2J9hU3RxzT4F4zqWWiUOk=";
+    hash = "sha256-aU23ZIEqYjZCPU/0DOt7bExEEwG3KtUCu1wn4AzVb3g=";
   };
 
   # PIE is incompatible with the "persistent malloc" ("pma") feature.
@@ -36,18 +36,26 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "info" ]
     ++ lib.optional (!interactive) "man";
 
+  strictDeps = true;
+
   # no-pma fix
-  nativeBuildInputs = [ autoreconfHook ]
-    ++ lib.optional (doCheck && stdenv.isLinux) glibcLocales;
+  nativeBuildInputs = [
+    autoreconfHook
+    texinfo
+  ] ++ lib.optionals interactive [
+    removeReferencesTo
+  ] ++ lib.optionals (doCheck && stdenv.hostPlatform.isLinux) [
+    glibcLocales
+  ];
 
-  buildInputs = [
+  buildInputs = lib.optionals interactive [
     runtimeShellPackage
-  ] ++ lib.optional withSigsegv libsigsegv
-    ++ lib.optional interactive readline
-    ++ lib.optional stdenv.isDarwin locale;
+    readline
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    locale
+  ];
 
   configureFlags = [
-    (if withSigsegv then "--with-libsigsegv-prefix=${libsigsegv}" else "--without-libsigsegv")
     (if interactive then "--with-readline=${readline.dev}" else "--without-readline")
   ];
 
@@ -57,16 +65,17 @@ stdenv.mkDerivation rec {
 
   inherit doCheck;
 
-  postInstall = ''
+  postInstall = (if interactive then ''
+    remove-references-to -t "$NIX_CC" "$out"/bin/gawkbug
+    patchShebangs --host "$out"/bin/gawkbug
+  '' else ''
+    rm "$out"/bin/gawkbug
+  '') + ''
     rm "$out"/bin/gawk-*
     ln -s gawk.1 "''${!outputMan}"/share/man/man1/awk.1
   '';
 
-  passthru = {
-    libsigsegv = if withSigsegv then libsigsegv else null; # for stdenv bootstrap
-  };
-
-  meta = with lib; {
+  meta = {
     homepage = "https://www.gnu.org/software/gawk/";
     description = "GNU implementation of the Awk programming language";
     longDescription = ''
@@ -82,9 +91,9 @@ stdenv.mkDerivation rec {
       makes it possible to handle many data-reformatting jobs with just a few
       lines of code.
     '';
-    license = licenses.gpl3Plus;
-    platforms = platforms.unix ++ platforms.windows;
-    maintainers = [ ];
+    license = lib.licenses.gpl3Plus;
+    platforms = lib.platforms.unix ++ lib.platforms.windows;
+    maintainers = lib.teams.helsinki-systems.members;
     mainProgram = "gawk";
   };
 }
diff --git a/pkgs/tools/text/gawk/gawkextlib.nix b/pkgs/tools/text/gawk/gawkextlib.nix
index 86bf2beaa91d..eaf7799a4860 100644
--- a/pkgs/tools/text/gawk/gawkextlib.nix
+++ b/pkgs/tools/text/gawk/gawkextlib.nix
@@ -109,14 +109,14 @@ let
       #! No such device
       #  mdb_env_open(env, /dev/null)
       #! Operation not supported by device
-      doCheck = !stdenv.isDarwin;
+      doCheck = !stdenv.hostPlatform.isDarwin;
     };
     mbs = buildExtension {
       inherit gawkextlib;
       name = "mbs";
       extraBuildInputs = [ glibcLocales ];
       #! "spät": length: 5, mbs_length: 6, wcswidth: 4
-      doCheck = !stdenv.isDarwin;
+      doCheck = !stdenv.hostPlatform.isDarwin;
     };
     mpfr = buildExtension {
       inherit gawkextlib;
diff --git a/pkgs/tools/text/gist/default.nix b/pkgs/tools/text/gist/default.nix
deleted file mode 100644
index d2676b379970..000000000000
--- a/pkgs/tools/text/gist/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ buildRubyGem, lib, ruby }:
-
-buildRubyGem rec {
-  inherit ruby;
-  name = "${gemName}-${version}";
-  gemName = "gist";
-  version = "6.0.0";
-  source.sha256 = "0qnd1jqd7b04871v4l73grcmi7c0pivm8nsfrqvwivm4n4b3c2hd";
-
-  meta = with lib; {
-    description = "Upload code to https://gist.github.com (or github enterprise)";
-    homepage = "http://defunkt.io/gist/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
-    platforms = ruby.meta.platforms;
-  };
-}
diff --git a/pkgs/tools/text/gjo/default.nix b/pkgs/tools/text/gjo/default.nix
deleted file mode 100644
index d7fcd3a0845a..000000000000
--- a/pkgs/tools/text/gjo/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "gjo";
-  version = "1.0.3";
-
-  src = fetchFromGitHub {
-    owner = "skanehira";
-    repo = "gjo";
-    rev = version;
-    hash = "sha256-vEk5MZqwAMgqMLjwRJwnbx8nVyF3U2iUz0S3L0GmCh4=";
-  };
-
-  vendorHash = null;
-
-  meta = with lib; {
-    description = "Small utility to create JSON objects";
-    mainProgram = "gjo";
-    homepage = "https://github.com/skanehira/gjo";
-    license = licenses.mit;
-    maintainers = with maintainers; [ doronbehar ];
-  };
-}
diff --git a/pkgs/tools/text/glogg/default.nix b/pkgs/tools/text/glogg/default.nix
index 7a6562aab143..04aac6b0b871 100644
--- a/pkgs/tools/text/glogg/default.nix
+++ b/pkgs/tools/text/glogg/default.nix
@@ -11,7 +11,7 @@ mkDerivation rec {
     sha256 = "0hf1c2m8n88frmxmyn0ndr8129p7iky49nq565sw1asaydm5z6pb";
   };
 
-  postPatch = lib.optionalString stdenv.isDarwin ''
+  postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
     substituteInPlace glogg.pro \
       --replace "boost_program_options-mt" "boost_program_options"
   '';
@@ -21,7 +21,7 @@ mkDerivation rec {
 
   qmakeFlags = [ "VERSION=${version}" ];
 
-  postInstall = lib.optionalString stdenv.isDarwin ''
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
     mkdir -p $out/Applications
     mv $out/bin/glogg.app $out/Applications/glogg.app
     rm -fr $out/{bin,share}
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index 7298fe881bea..bbb876703f2b 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -27,12 +27,12 @@ stdenv.mkDerivation {
   outputs = [ "out" "info" ]; # the man pages are rather small
 
   nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
-  buildInputs = [ pcre2 libiconv runtimeShellPackage ];
+  buildInputs = [ pcre2 libiconv ] ++ lib.optional (!stdenv.hostPlatform.isWindows) runtimeShellPackage;
 
   # cygwin: FAIL: multibyte-white-space
   # freebsd: FAIL mb-non-UTF8-performance
   # x86_64-darwin: fails 'stack-overflow' tests on Rosetta 2 emulator
-  doCheck = !stdenv.isCygwin && !stdenv.isFreeBSD && !(stdenv.isDarwin && stdenv.hostPlatform.isx86_64) && !stdenv.buildPlatform.isRiscV64;
+  doCheck = !stdenv.hostPlatform.isCygwin && !stdenv.hostPlatform.isFreeBSD && !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) && !stdenv.buildPlatform.isRiscV64;
 
   # On macOS, force use of mkdir -p, since Grep's fallback
   # (./install-sh) is broken.
diff --git a/pkgs/tools/text/gnupatch/Abort_when_cleaning_up_fails.patch b/pkgs/tools/text/gnupatch/Abort_when_cleaning_up_fails.patch
new file mode 100644
index 000000000000..ab3baf80f8c1
--- /dev/null
+++ b/pkgs/tools/text/gnupatch/Abort_when_cleaning_up_fails.patch
@@ -0,0 +1,51 @@
+From b7b028a77bd855f6f56b17c8837fc1cca77b469d Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Fri, 28 Jun 2019 00:30:25 +0200
+Subject: Abort when cleaning up fails
+
+When a fatal error triggers during cleanup, another attempt will be made to
+clean up, which will likely lead to the same fatal error.  So instead, bail out
+when that happens.
+src/patch.c (cleanup): Bail out when called recursively.
+(main): There is no need to call output_files() before cleanup() as cleanup()
+already does that.
+---
+ src/patch.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/patch.c b/src/patch.c
+index 4616a48..02fd982 100644
+--- a/src/patch.c
++++ b/src/patch.c
+@@ -685,7 +685,6 @@ main (int argc, char **argv)
+     }
+     if (outstate.ofp && (ferror (outstate.ofp) || fclose (outstate.ofp) != 0))
+       write_fatal ();
+-    output_files (NULL);
+     cleanup ();
+     delete_files ();
+     if (somefailed)
+@@ -1991,7 +1990,6 @@ void
+ fatal_exit (int sig)
+ {
+   cleanup ();
+-
+   if (sig)
+     exit_with_signal (sig);
+ 
+@@ -2011,6 +2009,12 @@ remove_if_needed (char const *name, bool *needs_removal)
+ static void
+ cleanup (void)
+ {
++  static bool already_cleaning_up;
++
++  if (already_cleaning_up)
++    return;
++  already_cleaning_up = true;
++
+   remove_if_needed (TMPINNAME, &TMPINNAME_needs_removal);
+   remove_if_needed (TMPOUTNAME, &TMPOUTNAME_needs_removal);
+   remove_if_needed (TMPPATNAME, &TMPPATNAME_needs_removal);
+-- 
+cgit v1.1
+
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index c19e087ea547..fee1a0eed8c6 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
     # https://git.savannah.gnu.org/cgit/patch.git/patch/?id=b5a91a01e5d0897facdd0f49d64b76b0f02b43e1
     ./Allow_input_files_to_be_missing_for_ed-style_patches.patch
 
+    # https://git.savannah.gnu.org/cgit/patch.git/patch/?id=b7b028a77bd855f6f56b17c8837fc1cca77b469d
+    ./Abort_when_cleaning_up_fails.patch
+
     # https://git.savannah.gnu.org/cgit/patch.git/patch/?id=123eaff0d5d1aebe128295959435b9ca5909c26d
     ./CVE-2018-1000156.patch
 
@@ -44,11 +47,11 @@ stdenv.mkDerivation rec {
     description = "GNU Patch, a program to apply differences to files";
     mainProgram = "patch";
 
-    longDescription =
-      '' GNU Patch takes a patch file containing a difference listing
-         produced by the diff program and applies those differences to one or
-         more original files, producing patched versions.
-      '';
+    longDescription = ''
+      GNU Patch takes a patch file containing a difference listing
+      produced by the diff program and applies those differences to one or
+      more original files, producing patched versions.
+    '';
 
     homepage = "https://savannah.gnu.org/projects/patch";
 
diff --git a/pkgs/tools/text/goawk/default.nix b/pkgs/tools/text/goawk/default.nix
deleted file mode 100644
index 70c9fb8d5531..000000000000
--- a/pkgs/tools/text/goawk/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ buildGoModule, fetchFromGitHub, lib, stdenv, gawk }:
-
-buildGoModule rec {
-  pname = "goawk";
-  version = "1.27.0";
-
-  src = fetchFromGitHub {
-    owner = "benhoyt";
-    repo = "goawk";
-    rev = "v${version}";
-    hash = "sha256-KB9N345xkgsPfI4DQYFag7qSdFv/JSU18YG8IPFrcQA=";
-  };
-
-  vendorHash = null;
-
-  nativeCheckInputs = [ gawk ];
-
-  postPatch = ''
-    substituteInPlace goawk_test.go \
-      --replace "TestCommandLine" "SkipCommandLine" \
-      --replace "TestDevStdout" "SkipDevStdout" \
-      --replace "TestFILENAME" "SkipFILENAME" \
-      --replace "TestWildcards" "SkipWildcards"
-
-    substituteInPlace interp/interp_test.go \
-      --replace "TestShellCommand" "SkipShellCommand"
-  '';
-
-  checkFlags = [
-    "-awk"
-    "${gawk}/bin/gawk"
-  ];
-
-  doCheck = (stdenv.system != "aarch64-darwin");
-
-  meta = with lib; {
-    description = "POSIX-compliant AWK interpreter written in Go";
-    homepage = "https://benhoyt.com/writings/goawk/";
-    license = licenses.mit;
-    mainProgram = "goawk";
-    maintainers = with maintainers; [ abbe ];
-  };
-}
diff --git a/pkgs/tools/text/grin/default.nix b/pkgs/tools/text/grin/default.nix
deleted file mode 100644
index 5217451a984b..000000000000
--- a/pkgs/tools/text/grin/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, fetchFromGitHub, fetchpatch, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "grin";
-  version = "1.3.0";
-  namePrefix = "";
-
-  src = fetchFromGitHub {
-    owner = "matthew-brett";
-    repo = pname;
-    rev = "1.3.0";
-    hash = "sha256-exKUy7LaDtpq0rJLSuNYsIcynpB4QLtLIE6T/ncB7RQ=";
-  };
-
-  patches = [
-    # https://github.com/matthew-brett/grin/pull/4
-    (fetchpatch {
-      name = "replace-nose-with-nose3.patch";
-      url = "https://github.com/matthew-brett/grin/commit/ba473fa4f5da1b337ee80d7d31772a4e41ffa62d.patch";
-      hash = "sha256-CnWHynKSsXYjSsTLdPuwpcIndrCdq3cQYS8teg5EM0A=";
-    })
-  ];
-
-  nativeCheckInputs = with python3Packages; [
-    nose3
-  ];
-
-  meta = {
-    homepage = "https://github.com/matthew-brett/grin";
-    description = "Grep program configured the way I like it";
-    platforms = lib.platforms.all;
-    maintainers = [ lib.maintainers.sjagoe ];
-  };
-}
diff --git a/pkgs/tools/text/grip-search/default.nix b/pkgs/tools/text/grip-search/default.nix
deleted file mode 100644
index dd272af06bf3..000000000000
--- a/pkgs/tools/text/grip-search/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, boost, pkg-config, cmake, catch2 }:
-
-stdenv.mkDerivation rec {
-  pname = "grip-search";
-  version = "0.8";
-
-  src = fetchFromGitHub {
-    owner = "sc0ty";
-    repo = "grip";
-    rev = "v${version}";
-    sha256 = "0bkqarylgzhis6fpj48qbifcd6a26cgnq8784hgnm707rq9kb0rx";
-  };
-
-  nativeBuildInputs = [ pkg-config cmake catch2 ];
-
-  doCheck = true;
-
-  buildInputs = [ boost ];
-
-  patches = [
-    # Can be removed after this upstream PR gets merged: https://github.com/sc0ty/grip/pull/6
-    (fetchpatch {
-      name = "include-cstdint.patch";
-      url = "https://github.com/sc0ty/grip/commit/da37b3c805306ee4ea617ce3f1487b8ee9876e50.patch";
-      hash = "sha256-Xh++oDn5qn5NPgng7gfeCkO5FN9OmW+8fGhDLpAJfR8=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace src/general/config.h --replace-fail "CUSTOM-BUILD" "${version}"
-  '';
-
-  meta = with lib; {
-    description = "Fast, indexed regexp search over large file trees";
-    homepage = "https://github.com/sc0ty/grip";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ tex ];
-  };
-}
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
deleted file mode 100644
index 6e10144bb587..000000000000
--- a/pkgs/tools/text/groff/default.nix
+++ /dev/null
@@ -1,136 +0,0 @@
-{ lib, stdenv, fetchurl, perl
-, enableGhostscript ? false
-, ghostscript, gawk, libX11, libXaw, libXt, libXmu # for postscript and html output
-, enableHtml ? false, psutils, netpbm # for html output
-, enableIconv ? false, iconv
-, enableLibuchardet ? false, libuchardet # for detecting input file encoding in preconv(1)
-, buildPackages
-, autoreconfHook
-, pkg-config
-, texinfo
-, bison
-, bash
-}:
-
-stdenv.mkDerivation rec {
-  pname = "groff";
-  version = "1.23.0";
-
-  src = fetchurl {
-    url = "mirror://gnu/groff/${pname}-${version}.tar.gz";
-    hash = "sha256-a5dX9ZK3UYtJAutq9+VFcL3Mujeocf3bLTCuOGNRHBM=";
-  };
-
-  outputs = [ "out" "man" "doc" "info" "perl" ];
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    # BASH_PROG gets replaced with a path to the build bash which doesn't get automatically patched by patchShebangs
-    substituteInPlace contrib/gdiffmk/gdiffmk.sh \
-      --replace "@BASH_PROG@" "/bin/sh"
-  '' + lib.optionalString enableHtml ''
-    substituteInPlace src/preproc/html/pre-html.cpp \
-      --replace "psselect" "${psutils}/bin/psselect" \
-      --replace "pnmcut" "${lib.getBin netpbm}/bin/pnmcut" \
-      --replace "pnmcrop" "${lib.getBin netpbm}/bin/pnmcrop" \
-      --replace "pnmtopng" "${lib.getBin netpbm}/bin/pnmtopng"
-    substituteInPlace tmac/www.tmac.in \
-      --replace "pnmcrop" "${lib.getBin netpbm}/bin/pnmcrop" \
-      --replace "pngtopnm" "${lib.getBin netpbm}/bin/pngtopnm" \
-      --replace "@PNMTOPS_NOSETPAGE@" "${lib.getBin netpbm}/bin/pnmtops -nosetpage"
-  '' + lib.optionalString (enableGhostscript || enableHtml) ''
-    substituteInPlace contrib/pdfmark/pdfroff.sh \
-      --replace '$GROFF_GHOSTSCRIPT_INTERPRETER' "${lib.getBin ghostscript}/bin/gs" \
-      --replace '$GROFF_AWK_INTERPRETER' "${lib.getBin gawk}/bin/gawk"
-  '';
-
-  strictDeps = true;
-  nativeBuildInputs = [ autoreconfHook pkg-config texinfo ]
-    # Required due to the patch that changes .ypp files.
-    ++ lib.optional (stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "9") bison;
-  buildInputs = [ perl bash ]
-    ++ lib.optionals enableGhostscript [ ghostscript gawk libX11 libXaw libXt libXmu ]
-    ++ lib.optionals enableHtml [ psutils netpbm ]
-    ++ lib.optionals enableIconv [ iconv ]
-    ++ lib.optionals enableLibuchardet [ libuchardet ];
-
-  # Builds running without a chroot environment may detect the presence
-  # of /usr/X11 in the host system, leading to an impure build of the
-  # package. To avoid this issue, X11 support is explicitly disabled.
-  configureFlags = lib.optionals (!enableGhostscript) [
-    "--without-x"
-  ] ++ [
-    "ac_cv_path_PERL=${buildPackages.perl}/bin/perl"
-  ] ++ lib.optionals enableGhostscript [
-    "--with-gs=${lib.getBin ghostscript}/bin/gs"
-    "--with-awk=${lib.getBin gawk}/bin/gawk"
-    "--with-appresdir=${placeholder "out"}/lib/X11/app-defaults"
-  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "gl_cv_func_signbit=yes"
-  ];
-
-  makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    # Trick to get the build system find the proper 'native' groff
-    # http://www.mail-archive.com/bug-groff@gnu.org/msg01335.html
-    "GROFF_BIN_PATH=${buildPackages.groff}/bin"
-    "GROFFBIN=${buildPackages.groff}/bin/groff"
-  ];
-
-  doCheck = true;
-
-  postInstall = ''
-    for f in 'man.local' 'mdoc.local'; do
-        cat '${./site.tmac}' >>"$out/share/groff/site-tmac/$f"
-    done
-
-    moveToOutput bin/gropdf $perl
-    moveToOutput bin/pdfmom $perl
-    moveToOutput bin/roff2text $perl
-    moveToOutput bin/roff2pdf $perl
-    moveToOutput bin/roff2ps $perl
-    moveToOutput bin/roff2dvi $perl
-    moveToOutput bin/roff2ps $perl
-    moveToOutput bin/roff2html $perl
-    moveToOutput bin/glilypond $perl
-    moveToOutput bin/mmroff $perl
-    moveToOutput bin/roff2x $perl
-    moveToOutput bin/afmtodit $perl
-    moveToOutput bin/gperl $perl
-    moveToOutput bin/chem $perl
-
-    moveToOutput bin/gpinyin $perl
-    moveToOutput lib/groff/gpinyin $perl
-    substituteInPlace $perl/bin/gpinyin \
-      --replace $out/lib/groff/gpinyin $perl/lib/groff/gpinyin
-
-    moveToOutput bin/grog $perl
-    moveToOutput lib/groff/grog $perl
-    substituteInPlace $perl/bin/grog \
-      --replace $out/lib/groff/grog $perl/lib/groff/grog
-
-    find $perl/ -type f -print0 | xargs --null sed -i 's|${buildPackages.perl}|${perl}|'
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.gnu.org/software/groff/";
-    description = "GNU Troff, a typesetting package that reads plain text and produces formatted output";
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ pSub ];
-
-    longDescription = ''
-      groff is the GNU implementation of troff, a document formatting
-      system.  Included in this release are implementations of troff,
-      pic, eqn, tbl, grn, refer, -man, -mdoc, -mom, and -ms macros,
-      and drivers for PostScript, TeX dvi format, HP LaserJet 4
-      printers, Canon CAPSL printers, HTML and XHTML format (beta
-      status), and typewriter-like devices.  Also included is a
-      modified version of the Berkeley -me macros, the enhanced
-      version gxditview of the X11 xditview previewer, and an
-      implementation of the -mm macros.
-    '';
-
-    outputsToInstall = [ "out" "perl" ];
-  };
-}
diff --git a/pkgs/tools/text/groff/site.tmac b/pkgs/tools/text/groff/site.tmac
deleted file mode 100644
index 6f0f18dea6d5..000000000000
--- a/pkgs/tools/text/groff/site.tmac
+++ /dev/null
@@ -1,26 +0,0 @@
-.
-.if n \{\
-.  \" With groff 1.23.0 "[t]he 'utf8' output device now maps the input
-.  \" characters '^' (caret, circumflex accent, or 'hat') and '~' (tilde)
-.  \" to U+02C6 (modifier letter circumflex accent) and U+02DC (small tilde),
-.  \" respectively, for consistency with groff's other output devices.
-.  \" This change is expected to expose glyph usage errors in man pages.
-.  \" See [http://git.savannah.gnu.org/cgit/groff.git/tree/PROBLEMS] for
-.  \" a recipe that will conceal these errors"
-.  \" -- https://lists.gnu.org/archive/html/groff/2023-07/msg00051.html
-.  \"
-.  \" Conceal glyph usage errors in man pages with the following
-.  \" character translations for non-keyboard characters to make them searchable.
-.  if '\*[.T]'utf8' \{\
-.    char \- \N'45'
-.    char - \N'45'
-.    char \' \[aq]
-.    char ' \[aq]
-.    char ` \[ga]
-.    char ^ \[ha]
-.    char ~ \[ti]
-.  \}
-.\}
-.
-.ds doc-default-operating-system Nixpkgs
-.ds doc-volume-operating-system Nixpkgs
diff --git a/pkgs/tools/text/gtranslator/default.nix b/pkgs/tools/text/gtranslator/default.nix
deleted file mode 100644
index ce56bdab43b1..000000000000
--- a/pkgs/tools/text/gtranslator/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, itstool
-, gettext
-, desktop-file-utils
-, wrapGAppsHook4
-, libxml2
-, libadwaita
-, libgda6
-, libsoup_3
-, libspelling
-, json-glib
-, glib
-, gtk4
-, gtksourceview5
-, gnome
-, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gtranslator";
-  version = "46.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-tK8xhIkUkf2JwaBGVlIxAVbAfRVraiThwH86TPdXlWg=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    itstool
-    gettext
-    desktop-file-utils
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    libxml2
-    glib
-    gtk4
-    gtksourceview5
-    libadwaita
-    libgda6
-    libsoup_3
-    libspelling
-    json-glib
-    gettext
-    gsettings-desktop-schemas
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "GNOME translation making program";
-    mainProgram = "gtranslator";
-    homepage = "https://gitlab.gnome.org/GNOME/gtranslator";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ bobby285271 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/text/gtree/default.nix b/pkgs/tools/text/gtree/default.nix
deleted file mode 100644
index e9710ae7a654..000000000000
--- a/pkgs/tools/text/gtree/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, testers
-, gtree
-}:
-
-buildGoModule rec {
-  pname = "gtree";
-  version = "1.10.10";
-
-  src = fetchFromGitHub {
-    owner = "ddddddO";
-    repo = "gtree";
-    rev = "v${version}";
-    hash = "sha256-sljqO1aYVD7l3ngAeShqzAXKSannBHY7Cx19Kf1xPa0=";
-  };
-
-  vendorHash = "sha256-yxbnASN3vUpRdsxfVsN/zigfpPJKcJaLfFBTtUUW2t0=";
-
-  subPackages = [
-    "cmd/gtree"
-  ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=main.Version=${version}"
-    "-X=main.Revision=${src.rev}"
-  ];
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = gtree;
-    };
-  };
-
-  meta = with lib; {
-    description = "Generate directory trees and directories using Markdown or programmatically";
-    mainProgram = "gtree";
-    homepage = "https://github.com/ddddddO/gtree";
-    changelog = "https://github.com/ddddddO/gtree/releases/tag/${src.rev}";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/gucci/default.nix b/pkgs/tools/text/gucci/default.nix
deleted file mode 100644
index c4e0ef81503d..000000000000
--- a/pkgs/tools/text/gucci/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, testers, gucci }:
-
-buildGoModule rec {
-  pname = "gucci";
-  version = "1.6.10";
-
-  src = fetchFromGitHub {
-    owner = "noqcks";
-    repo = "gucci";
-    rev = "refs/tags/${version}";
-    sha256 = "sha256-bwPQQtaPHby96C5ZHZhBTok+m8GPPS40U1CUPVYqCa4=";
-  };
-
-  vendorHash = "sha256-/4OnbtxxhXQnmSV6UbjgzXdL7szhL9rKiG5BR8FsyqI=";
-
-  ldflags = [ "-s" "-w" "-X main.AppVersion=${version}" ];
-
-  passthru.tests.version = testers.testVersion {
-    package = gucci;
-  };
-
-  checkFlags = [
-    "-short"
-    # Integration tests rely on Ginkgo but fail.
-    # Related: https://github.com/onsi/ginkgo/issues/602
-    #
-    # Disable integration tests.
-    "-skip=^TestIntegration"
-  ];
-
-  meta = with lib; {
-    description = "Simple CLI templating tool written in golang";
-    mainProgram = "gucci";
-    homepage = "https://github.com/noqcks/gucci";
-    license = licenses.mit;
-    maintainers = with maintainers; [ braydenjw ];
-  };
-}
diff --git a/pkgs/tools/text/hck/default.nix b/pkgs/tools/text/hck/default.nix
deleted file mode 100644
index 1a8238059e4f..000000000000
--- a/pkgs/tools/text/hck/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, cmake
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "hck";
-  version = "0.10.0";
-
-  src = fetchFromGitHub {
-    owner = "sstadick";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-L/jad3T89VFub0JBC/o/xc4RI+/tF0hbhZdSxmSs+lo=";
-  };
-
-  cargoHash = "sha256-9v3yZNKBZ0XQkA7J50GH/Z4JQUQ48HnjNXr90ZBHXgI=";
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = with lib; {
-    description = "Close to drop in replacement for cut that can use a regex delimiter instead of a fixed string";
-    homepage = "https://github.com/sstadick/hck";
-    changelog = "https://github.com/sstadick/hck/blob/v${version}/CHANGELOG.md";
-    license = with licenses; [ mit /* or */ unlicense ];
-    maintainers = with maintainers; [ figsoda gepbird ];
-    mainProgram = "hck";
-  };
-}
diff --git a/pkgs/tools/text/hcledit/default.nix b/pkgs/tools/text/hcledit/default.nix
deleted file mode 100644
index 86c1e226fd0e..000000000000
--- a/pkgs/tools/text/hcledit/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "hcledit";
-  version = "0.2.11";
-
-  src = fetchFromGitHub {
-    owner = "minamijoyo";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-UtZ59S8Cn29HNE9UpmJFtPkB8TMpDUOzlLMf78a+Vd4=";
-  };
-
-  vendorHash = "sha256-huDM8kPA6vQcoJTxiWzVFZKHrTKw1ip32hMZJYZM0og=";
-
-  meta = with lib; {
-    description = "Command line editor for HCL";
-    mainProgram = "hcledit";
-    homepage = "https://github.com/minamijoyo/hcledit";
-    license = licenses.mit;
-    maintainers = with maintainers; [ aleksana ];
-  };
-}
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 312c84921499..c843d6c0b529 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -3,19 +3,19 @@
 let
   self = stdenv.mkDerivation rec {
     pname = "highlight";
-    version = "4.12";
+    version = "4.14";
 
     src = fetchFromGitLab {
       owner = "saalen";
       repo = "highlight";
       rev = "v${version}";
-      sha256 = "sha256-TFMU9owxBGrrbatk7Jj9xP8OEJNjXnjbwnW6Xq34awI=";
+      hash = "sha256-UxbgYspocoy9ul2dhIhvIwqKMeWSG7vJY1df3UkgpHQ=";
     };
 
     enableParallelBuilding = true;
 
     nativeBuildInputs = [ pkg-config swig perl ]
-      ++ lib.optional stdenv.isDarwin gcc;
+      ++ lib.optional stdenv.hostPlatform.isDarwin gcc;
 
     buildInputs = [ getopt lua boost libxcrypt ];
 
@@ -35,15 +35,15 @@ let
 
     # This has to happen _before_ the main build because it does a
     # `make clean' for some reason.
-    preBuild = lib.optionalString (!stdenv.isDarwin) ''
+    preBuild = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
       make -C extras/swig $makeFlags perl
     '';
 
-    postCheck = lib.optionalString (!stdenv.isDarwin) ''
+    postCheck = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
       perl -Iextras/swig extras/swig/testmod.pl
     '';
 
-    preInstall = lib.optionalString (!stdenv.isDarwin) ''
+    preInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
       mkdir -p $out/${perl.libPrefix}
       install -m644 extras/swig/highlight.{so,pm} $out/${perl.libPrefix}
       make -C extras/swig clean # Clean up intermediate files.
@@ -59,5 +59,5 @@ let
   };
 
 in
-  if stdenv.isDarwin then self
+  if stdenv.hostPlatform.isDarwin then self
   else perl.pkgs.toPerlModule self
diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
deleted file mode 100644
index 16e6035cef89..000000000000
--- a/pkgs/tools/text/html-tidy/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libxslt, html-tidy }:
-
-stdenv.mkDerivation rec {
-  pname = "html-tidy";
-  version = "5.8.0";
-
-  src = fetchFromGitHub {
-    owner = "htacg";
-    repo = "tidy-html5";
-    rev = version;
-    hash = "sha256-vzVWQodwzi3GvC9IcSQniYBsbkJV20iZanF33A0Gpe0=";
-  };
-
-  # https://github.com/htacg/tidy-html5/pull/1036
-  patches = (fetchpatch {
-    url = "https://github.com/htacg/tidy-html5/commit/e9aa038bd06bd8197a0dc049380bc2945ff55b29.diff";
-    sha256 = "sha256-Q2GjinNBWLL+HXUtslzDJ7CJSTflckbjweiSMCnIVwg=";
-  });
-
-  nativeBuildInputs = [ cmake libxslt/*manpage*/ ]
-    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) html-tidy;
-
-  cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DHOST_TIDY=tidy"
-  ];
-
-  # ATM bin/tidy is statically linked, as upstream provides no other option yet.
-  # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107
-
-  meta = with lib; {
-    description = "HTML validator and `tidier'";
-    longDescription = ''
-      HTML Tidy is a command-line tool and C library that can be
-      used to validate and fix HTML data.
-    '';
-    license = licenses.libpng; # very close to it - the 3 clauses are identical
-    homepage = "http://html-tidy.org";
-    platforms = platforms.all;
-    maintainers = with maintainers; [ edwtjo ];
-    mainProgram = "tidy";
-  };
-}
diff --git a/pkgs/tools/text/html2text/default.nix b/pkgs/tools/text/html2text/default.nix
deleted file mode 100644
index 247ee8e814df..000000000000
--- a/pkgs/tools/text/html2text/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchFromGitLab, autoreconfHook, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "html2text";
-  version = "2.2.3";
-
-  src = fetchFromGitLab {
-    owner = "grobian";
-    repo = "html2text";
-    rev = "v${version}";
-    hash = "sha256-7Ch51nJ5BeRqs4PEIPnjCGk+Nm2ydgJQCtkcpihXun8=";
-  };
-
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = lib.optional stdenv.isDarwin libiconv;
-
-  meta = {
-    description = "Convert HTML to plain text";
-    mainProgram = "html2text";
-    homepage = "https://gitlab.com/grobian/html2text";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.eikek ];
-  };
-}
diff --git a/pkgs/tools/text/huniq/default.nix b/pkgs/tools/text/huniq/default.nix
deleted file mode 100644
index 3bb1252ae0c6..000000000000
--- a/pkgs/tools/text/huniq/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, rustPlatform, fetchCrate }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "huniq";
-  version = "2.7.0";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-5GvHM05qY/Jj1mPYwn88Zybn6Nn5nJIaw0XP8iCcrwE=";
-  };
-
-  cargoSha256 = "sha256-pwDaLHJbVpZe7dAtd5/ytyHZkUHjCcNjtw3q7HF1qVQ=";
-
-  meta = with lib; {
-    description = "Command line utility to remove duplicates from the given input";
-    mainProgram = "huniq";
-    homepage = "https://github.com/koraa/huniq";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/hyx/default.nix b/pkgs/tools/text/hyx/default.nix
deleted file mode 100644
index 3cbcac20966a..000000000000
--- a/pkgs/tools/text/hyx/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, memstreamHook }:
-
-stdenv.mkDerivation rec {
-  pname = "hyx";
-  version = "2024.02.29";
-
-  src = fetchurl {
-    url = "https://yx7.cc/code/hyx/hyx-${lib.replaceStrings [ "-" ] [ "." ] version}.tar.xz";
-    sha256 = "sha256-dufx3zsabeet7Rp0d60MIuNqisIQd6UgE7WDZYNHl3E=";
-  };
-
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace Makefile \
-      --replace "-Wl,-z,relro,-z,now -fpic -pie" ""
-  '';
-
-  buildInputs = lib.optional (stdenv.system == "x86_64-darwin") memstreamHook;
-
-  installPhase = ''
-    install -vD hyx $out/bin/hyx
-  '';
-
-  meta = with lib; {
-    description = "minimalistic but powerful Linux console hex editor";
-    mainProgram = "hyx";
-    homepage = "https://yx7.cc/code/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/text/icdiff/default.nix b/pkgs/tools/text/icdiff/default.nix
deleted file mode 100644
index 1ab884b12d4d..000000000000
--- a/pkgs/tools/text/icdiff/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, fetchFromGitHub, python3Packages, bash, git, less }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "icdiff";
-  version = "1.9.5";
-
-  src = fetchFromGitHub {
-    owner = "jeffkaufman";
-    repo = "icdiff";
-    rev = "release-${version}";
-    sha256 = "080v8h09pv8qwplin4kwfm0kmqjwdqjfxbpcdrv16sv4hwfwl5qd";
-  };
-
-  nativeCheckInputs = [
-    bash
-    git
-    less
-  ];
-
-  # error: could not lock config file /homeless-shelter/.gitconfig: No such file or directory
-  doCheck = false;
-
-  checkPhase = ''
-    patchShebangs test.sh
-    ./test.sh ${python3Packages.python.interpreter}
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.jefftk.com/icdiff";
-    description = "Side-by-side highlighted command line diffs";
-    maintainers = with maintainers; [ ];
-    license = licenses.psfl;
-  };
-}
diff --git a/pkgs/tools/text/igrep/default.nix b/pkgs/tools/text/igrep/default.nix
index db947ca2cc38..a4c4a134c4b6 100644
--- a/pkgs/tools/text/igrep/default.nix
+++ b/pkgs/tools/text/igrep/default.nix
@@ -9,18 +9,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "igrep";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "konradsz";
     repo = "igrep";
     rev = "v${version}";
-    hash = "sha256-L5mHuglU0CvTi02pbR8xfezBoH8L/DS+7jgvYvb4yro=";
+    hash = "sha256-ZZhzBGLpzd9+rok+S/ypKpWXVzXaA1CnviC7LfgP/CU=";
   };
 
-  cargoHash = "sha256-k63tu5Ffus4z0yd8vQ79q4+tokWAXD05Pvv9JByfnDg=";
+  cargoHash = "sha256-raSz/+u7P04qHmvdfYoWKOKtNtaFlgmT8Nw0ImhCMkU=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
 
   passthru.tests = {
     version = testers.testVersion { package = igrep; command = "ig --version"; };
diff --git a/pkgs/tools/text/invoice2data/default.nix b/pkgs/tools/text/invoice2data/default.nix
deleted file mode 100644
index b2179d3f63b2..000000000000
--- a/pkgs/tools/text/invoice2data/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ lib
-, fetchFromGitHub
-, fetchpatch
-, ghostscript
-, imagemagick
-, poppler_utils
-, python3
-, tesseract5
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "invoice2data";
-  version = "0.4.4";
-  format = "setuptools";
-
-  src = fetchFromGitHub {
-    owner = "invoice-x";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-pAvkp8xkHYi/7ymbxaT7/Jhu44j2P8emm8GyXC6IBnI=";
-  };
-
-  patches = [
-    # https://github.com/invoice-x/invoice2data/pull/522
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/invoice-x/invoice2data/commit/ccea3857c7c8295ca51dc24de6cde78774ea7e64.patch";
-      hash = "sha256-BhqPW4hWG/EaR3qBv5a68dcvIMrCCT74GdDHr0Mss5Q=";
-    })
-  ];
-
-  nativeBuildInputs = with python3.pkgs; [
-    setuptools-git
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    dateparser
-    pdfminer-six
-    pillow
-    pyyaml
-    setuptools
-  ];
-
-  makeWrapperArgs = ["--prefix" "PATH" ":" (lib.makeBinPath [
-    ghostscript
-    imagemagick
-    tesseract5
-    poppler_utils
-  ])];
-
-  # Tests fails even when ran manually on my ubuntu machine !!
-  doCheck = false;
-
-  pythonImportsCheck = [
-    "invoice2data"
-  ];
-
-  meta = with lib; {
-    description = "Data extractor for PDF invoices";
-    mainProgram = "invoice2data";
-    homepage = "https://github.com/invoice-x/invoice2data";
-    license = licenses.mit;
-    maintainers = with maintainers; [ psyanticy ];
-  };
-}
diff --git a/pkgs/tools/text/ispell/default.nix b/pkgs/tools/text/ispell/default.nix
deleted file mode 100644
index 3dea94d0912b..000000000000
--- a/pkgs/tools/text/ispell/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchurl, bison, ncurses }:
-
-stdenv.mkDerivation rec {
-  pname = "ispell";
-  version = "3.4.06";
-
-  src = fetchurl {
-    url = "https://www.cs.hmc.edu/~geoff/tars/${pname}-${version}.tar.gz";
-    sha256 = "sha256-F8kWM9TIB1rMUDFjoWRj/FSrHHRTKArTnNPbdceD66Y=";
-  };
-
-  buildInputs = [ bison ncurses ];
-
-  postPatch = ''
-    cat >> local.h <<EOF
-    ${lib.optionalString (!stdenv.isDarwin) "#define USG"}
-    #define TERMLIB "-lncurses"
-    #define LANGUAGES "{american,MASTERDICTS=american.med,HASHFILES=americanmed.hash}"
-    #define MASTERHASH "americanmed.hash"
-    #define BINDIR "$out/bin"
-    #define LIBDIR "$out/lib"
-    #define ELISPDIR "{$out}/share/emacs/site-lisp"
-    #define TEXINFODIR "$out/share/info"
-    #define MAN1DIR "$out/share/man/man1"
-    #define MAN4DIR "$out/share/man/man4"
-    #define MAN45DIR "$out/share/man/man5"
-    #define MINIMENU
-    #define HAS_RENAME
-    EOF
-  '';
-
-  meta = with lib; {
-    description = "Interactive spell-checking program for Unix";
-    homepage = "https://www.cs.hmc.edu/~geoff/ispell.html";
-    license = licenses.free;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/jbofihe/default.nix b/pkgs/tools/text/jbofihe/default.nix
deleted file mode 100644
index 111b019c3b13..000000000000
--- a/pkgs/tools/text/jbofihe/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, bison, flex, perl, }:
-
-stdenv.mkDerivation rec {
-  pname = "jbofihe";
-  version = "0.43";
-
-  src = fetchFromGitHub {
-    owner = "lojban";
-    repo = "jbofihe";
-    rev = "v${version}";
-    sha256 = "1xx7x1256sjncyzx656jl6jl546vn8zz0siymqalz6v9yf341p98";
-  };
-
-  nativeBuildInputs = [ bison flex perl ];
-
-  doCheck = true;
-  checkPhase = ''
-    runHook preCheck
-    (cd tests && ./run *.in)
-    runHook postCheck
-  '';
-
-  meta = with lib; {
-    description = "Parser & analyser for Lojban";
-    homepage = "https://github.com/lojban/jbofihe";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ chkno ];
-  };
-}
diff --git a/pkgs/tools/text/jen/default.nix b/pkgs/tools/text/jen/default.nix
deleted file mode 100644
index cfd8298c3725..000000000000
--- a/pkgs/tools/text/jen/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, rustPlatform
-, fetchCrate
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "jen";
-  version = "1.6.0";
-
-  src = fetchCrate {
-    inherit pname version;
-    hash = "sha256-fpv/IzU23yAz1cumTbdQP6wHJX2U4acNxq8Zrx+YQVs=";
-  };
-
-  cargoHash = "sha256-LKiPG7k5UgaESP1ShsIWNMnm9resbRje746txOBo+Qs=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  meta = with lib; {
-    description = "Simple CLI generation tool for creating large datasets";
-    mainProgram = "jen";
-    homepage = "https://github.com/whitfin/jen";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/jotdown/default.nix b/pkgs/tools/text/jotdown/default.nix
deleted file mode 100644
index c3b61b4f739b..000000000000
--- a/pkgs/tools/text/jotdown/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "jotdown";
-  version = "0.4.0";
-
-  src = fetchFromGitHub {
-    owner = "hellux";
-    repo = "jotdown";
-    rev = version;
-    hash = "sha256-Q1BjmcA5otOkeEe8KQiqKGKHSeGntj+ktcNMrdbGHZI=";
-  };
-
-  cargoHash = "sha256-bkMJ7ApM+GsshwIFuYsH19CnU6ebq0GfwQvVp9QD46A=";
-
-  meta = with lib; {
-    description = "Minimal Djot CLI";
-    mainProgram = "jotdown";
-    homepage = "https://github.com/hellux/jotdown";
-    changelog = "https://github.com/hellux/jotdown/blob/${src.rev}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/jsawk/default.nix b/pkgs/tools/text/jsawk/default.nix
deleted file mode 100644
index 9547e65dc43d..000000000000
--- a/pkgs/tools/text/jsawk/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, spidermonkey_102 }:
-
-stdenv.mkDerivation {
-  pname = "jsawk";
-  version = "1.5-pre";
-  src = fetchFromGitHub {
-    owner = "micha";
-    repo = "jsawk";
-    rev = "5a14c4af3c7b59807701b70a954ecefc6f77e978";
-    sha256 = "0z3vdr3c8nvdrrxkjv9b4xg47mdb2hsknxpimw6shgwbigihapyr";
-  };
-  dontBuild = true;
-  nativeBuildInputs = [ makeWrapper ];
-  installPhase = ''
-    mkdir -p $out/bin
-    cp $src/jsawk $out/bin/
-    wrapProgram $out/bin/jsawk \
-      --prefix PATH : "${spidermonkey_102}/bin"
-  '';
-
-  meta = {
-    description = "Like awk, but for JSON";
-    mainProgram = "jsawk";
-    homepage = "https://github.com/micha/jsawk";
-    license = lib.licenses.publicDomain;
-    maintainers = with lib.maintainers; [ puffnfresh ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch b/pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch
deleted file mode 100644
index d41bada82def..000000000000
--- a/pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From c52a5046e19718a43d48c9b3cfdc121d964e8c3b Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Fri, 28 Jan 2022 17:43:35 +0100
-Subject: [PATCH] Exclude all tests from the build
-
-For some reason it isn't sufficient to set `-DJPP_ENABLE_TESTS=OFF`.
-Doing that because the tests on 2.0.0-rc3 don't seem to be working and
-the vendored catch2 doesn't build with glibc 2.34.
----
- src/CMakeLists.txt               |  3 +--
- src/core/CMakeLists.txt          | 11 +----------
- src/core/analysis/CMakeLists.txt |  2 --
- src/core/codegen/CMakeLists.txt  |  3 ---
- src/core/spec/CMakeLists.txt     |  2 --
- src/core/training/CMakeLists.txt |  2 --
- src/jumandic/CMakeLists.txt      |  8 +-------
- src/rnn/CMakeLists.txt           |  5 +----
- src/util/CMakeLists.txt          |  2 --
- 9 files changed, 4 insertions(+), 34 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 169dff5..64b6a07 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -67,7 +67,6 @@ function(jpp_feature_codegen)
- endfunction(jpp_feature_codegen)
- 
- add_subdirectory(util)
--add_subdirectory(testing)
- add_subdirectory(core)
- add_subdirectory(jumandic)
--add_subdirectory(rnn)
-\ No newline at end of file
-+add_subdirectory(rnn)
-diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
-index c63d134..01c825e 100644
---- a/src/core/CMakeLists.txt
-+++ b/src/core/CMakeLists.txt
-@@ -55,20 +55,11 @@ set(core_hdrs
-   ${core_hdrs}
-   )
- 
--set(core_test_srcs
--  ${core_test_srcs}
--  ${core_tsrcs}
--  test/test_analyzer_env.h
--  ../testing/test_analyzer.h
--  )
--
- add_library(jpp_core ${core_srcs} ${core_hdrs} ${libs3p_pegtl_headers})
--jpp_test_executable(jpp_core_tests ${core_test_srcs})
- 
- target_include_directories(jpp_core PUBLIC ${jpp_core_cfg_dir})
- 
- target_link_libraries(jpp_core PUBLIC jpp_util jpp_rnn PRIVATE pathie)
--target_link_libraries(jpp_core_tests jpp_core jpp_core_train)
- 
- if (${JPP_USE_PROTOBUF})
-   target_include_directories(jpp_core PUBLIC ${Protobuf_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-@@ -78,4 +69,4 @@ endif()
- add_subdirectory(benchmarks)
- if (${JPP_ENABLE_DEV_TOOLS})
-   add_subdirectory(devtools)
--endif ()
-\ No newline at end of file
-+endif ()
-diff --git a/src/core/analysis/CMakeLists.txt b/src/core/analysis/CMakeLists.txt
-index 526263e..1b32f8d 100644
---- a/src/core/analysis/CMakeLists.txt
-+++ b/src/core/analysis/CMakeLists.txt
-@@ -79,5 +79,3 @@ jpp_core_files(core_hdrs
-   )
- 
- 
--jpp_test_executable(jpp_core_analysis_tests ${core_analysis_tsrc})
--target_link_libraries(jpp_core_analysis_tests jpp_core)
-diff --git a/src/core/codegen/CMakeLists.txt b/src/core/codegen/CMakeLists.txt
-index a905cee..fa759c7 100644
---- a/src/core/codegen/CMakeLists.txt
-+++ b/src/core/codegen/CMakeLists.txt
-@@ -30,7 +30,4 @@ set(jpp_codegen_tsrcs
- 
- add_library(jpp_core_codegen ${jpp_codegen_srcs} ${jpp_codegen_hdrs})
- 
--jpp_test_executable(jpp_codegen_tests ${jpp_codegen_tsrcs})
--target_include_directories(jpp_codegen_tests PRIVATE ${cgtest02_INCLUDE})
- target_link_libraries(jpp_core_codegen jpp_core)
--target_link_libraries(jpp_codegen_tests jpp_core_codegen)
-\ No newline at end of file
-diff --git a/src/core/spec/CMakeLists.txt b/src/core/spec/CMakeLists.txt
-index f495d67..da827b9 100644
---- a/src/core/spec/CMakeLists.txt
-+++ b/src/core/spec/CMakeLists.txt
-@@ -33,5 +33,3 @@ jpp_core_files(core_hdrs
- 
-   )
- 
--jpp_test_executable(jpp_core_spec_tests ${core_spec_tsrc} ${libs3p_pegtl_headers})
--target_link_libraries(jpp_core_spec_tests jpp_core)
-\ No newline at end of file
-diff --git a/src/core/training/CMakeLists.txt b/src/core/training/CMakeLists.txt
-index 960437e..4ede9e1 100644
---- a/src/core/training/CMakeLists.txt
-+++ b/src/core/training/CMakeLists.txt
-@@ -39,7 +39,5 @@ set(core_train_hdrs
- 
- 
- add_library(jpp_core_train ${core_train_src} ${core_train_hdrs})
--jpp_test_executable(jpp_core_train_tests ${core_train_tsrc})
- 
- target_link_libraries(jpp_core_train jpp_core)
--target_link_libraries(jpp_core_train_tests jpp_core_train)
-\ No newline at end of file
-diff --git a/src/jumandic/CMakeLists.txt b/src/jumandic/CMakeLists.txt
-index bef3149..85a8b5d 100644
---- a/src/jumandic/CMakeLists.txt
-+++ b/src/jumandic/CMakeLists.txt
-@@ -53,10 +53,6 @@ if (${JPP_USE_PROTOBUF})
- endif ()
- 
- 
--jpp_test_executable(jpp_jumandic_tests ${jumandic_tests})
--jpp_test_executable(jpp_bug_tests ${bug_test_sources})
--target_include_directories(jpp_jumandic_tests PRIVATE ${jpp_jumandic_cg_INCLUDE})
--
- add_executable(jpp_jumandic_bootstrap main/bootstrap.cc)
- add_executable(jumanpp_v2 main/jumanpp.cc)
- add_executable(jumanpp_v2_train main/jumanpp_train.cc main/jumanpp_train.h)
-@@ -64,11 +60,9 @@ add_executable(jpp_jumandic_pathdiff main/path_diff.cc)
- target_include_directories(jpp_jumandic_pathdiff PRIVATE ${jpp_jumandic_cg_INCLUDE})
- 
- target_link_libraries(jpp_jumandic jpp_jumandic_spec)
--target_link_libraries(jpp_jumandic_tests jpp_jumandic jpp_core_train)
--target_link_libraries(jpp_bug_tests jpp_jumandic jpp_core_train)
- target_link_libraries(jpp_jumandic_bootstrap jpp_jumandic)
- target_link_libraries(jumanpp_v2 jpp_jumandic)
- target_link_libraries(jumanpp_v2_train jpp_jumandic jpp_core_train)
- target_link_libraries(jpp_jumandic_pathdiff jpp_jumandic)
- 
--install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jumanpp_v2 RENAME jumanpp DESTINATION bin)
-\ No newline at end of file
-+install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jumanpp_v2 RENAME jumanpp DESTINATION bin)
-diff --git a/src/rnn/CMakeLists.txt b/src/rnn/CMakeLists.txt
-index 448ba51..ca09a00 100644
---- a/src/rnn/CMakeLists.txt
-+++ b/src/rnn/CMakeLists.txt
-@@ -1,12 +1,9 @@
- set(jpp_rnn_sources mikolov_rnn.cc)
- set(jpp_rnn_includes mikolov_rnn.h simple_rnn_impl.h mikolov_rnn_impl.h rnn_arg_parse.h)
--set(jpp_rnn_tests mikolov_rnn_test.cc)
- 
- add_library(jpp_rnn ${jpp_rnn_sources} ${jpp_rnn_includes} )
- add_library(jumanpp_rnn_legacy legacy/rnnlmlib.h legacy/rnnlmlib_static.h legacy/rnnlmlib_static.cpp)
- 
--jpp_test_executable(jpp_rnn_tests ${jpp_rnn_tests})
- target_link_libraries(jpp_rnn jpp_util)
--target_link_libraries(jpp_rnn_tests jpp_rnn jumanpp_rnn_legacy)
- 
--target_link_libraries(jumanpp_rnn_legacy jpp_util)
-\ No newline at end of file
-+target_link_libraries(jumanpp_rnn_legacy jpp_util)
-diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt
-index 53b6c57..c4599d5 100644
---- a/src/util/CMakeLists.txt
-+++ b/src/util/CMakeLists.txt
-@@ -25,8 +25,6 @@ endif()
- 
- 
- add_library(jpp_util ${jpp_util_sources} ${jpp_util_headers} ${BACKWARD_headers})
--jpp_test_executable(jpp_util_test ${jpp_util_test_srcs} ${jpp_util_headers})
--target_link_libraries(jpp_util_test jpp_util)
- target_link_libraries(jpp_util ${CMAKE_THREAD_LIBS_INIT})
- target_include_directories(jpp_util PUBLIC ${JPP_LIBS_DIR} ${JPP_SRC_DIR})
- target_compile_features(jpp_util PUBLIC
--- 
-2.33.1
-
diff --git a/pkgs/tools/text/jumanpp/default.nix b/pkgs/tools/text/jumanpp/default.nix
deleted file mode 100644
index 382b2f319c14..000000000000
--- a/pkgs/tools/text/jumanpp/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, cmake, protobuf, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "jumanpp";
-  version = "2.0.0-rc3";
-
-  src = fetchurl {
-    url = "https://github.com/ku-nlp/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ASdr6qbkSe71M7QmuuwidCa4xQhDVoXBJ2XqvSY53pQ=";
-  };
-
-  patches = [
-    ./0001-Exclude-all-tests-from-the-build.patch
-    # https://github.com/ku-nlp/jumanpp/pull/132
-    (fetchpatch {
-      name = "fix-unused-warning.patch";
-      url = "https://github.com/ku-nlp/jumanpp/commit/cc0d555287c8b214e9d6f0279c449a4e035deee4.patch";
-      sha256 = "sha256-yRKwuUJ2UPXJcjxBGhSOmcQI/EOijiJDMmmmSRdNpX8=";
-    })
-    (fetchpatch {
-      name = "update-libs.patch";
-      url = "https://github.com/ku-nlp/jumanpp/commit/5e9068f56ae310ed7c1df185b14d49654ffe1ab6.patch";
-      sha256 = "sha256-X49/ZoLT0OGePLZYlgacNxA1dHM4WYdQ8I4LW3sW16E=";
-    })
-    (fetchpatch {
-      name = "fix-mmap-on-apple-m1.patch";
-      url = "https://github.com/ku-nlp/jumanpp/commit/0c22249f12928d0c962f03f229026661bf0c7921.patch";
-      sha256 = "sha256-g6CuruqyoMJxU/hlNoALx1QnFM8BlTsTd0pwlVrco3I=";
-    })
-  ];
-  cmakeFlags = [ "-DJPP_ENABLE_TESTS=OFF" ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ protobuf ]
-    ++ lib.optional stdenv.isDarwin libiconv;
-
-  meta = with lib; {
-    description = "Japanese morphological analyser using a recurrent neural network language model (RNNLM)";
-    mainProgram = "jumanpp";
-    longDescription = ''
-      JUMAN++ is a new morphological analyser that considers semantic
-      plausibility of word sequences by using a recurrent neural network
-      language model (RNNLM).
-    '';
-    homepage = "https://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ mt-caret ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/justify/default.nix b/pkgs/tools/text/justify/default.nix
deleted file mode 100644
index 86de7365663e..000000000000
--- a/pkgs/tools/text/justify/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitea
-, cmake
-}:
-
-stdenv.mkDerivation rec {
-  pname = "justify";
-  version = "unstable-2022-03-19";
-
-  src = fetchFromGitea {
-    domain = "tildegit.org";
-    owner = "jns";
-    repo = "justify";
-    rev = "0d397c20ed921c8e091bf18e548d174e15810e62";
-    sha256 = "sha256-406OhJt2Ila/LIhfqJXhbFqFxJJiRyMVI4/VK8Y43kc=";
-  };
-
-  postPatch = ''
-    sed '1i#include <algorithm>' -i src/stringHelper.h # gcc12
-  '';
-
-  nativeBuildInputs = [ cmake ];
-
-  installPhase = ''
-    install -D justify $out/bin/justify
-  '';
-
-  meta = with lib; {
-    homepage = "https://tildegit.org/jns/justify";
-    description = "Simple text alignment tool that supports left/right/center/fill justify alignment";
-    license = licenses.gpl3Only;
-    platforms = platforms.unix;
-    mainProgram = "justify";
-    maintainers = with maintainers; [ xfnw ];
-  };
-}
diff --git a/pkgs/tools/text/kakasi/default.nix b/pkgs/tools/text/kakasi/default.nix
deleted file mode 100644
index fa509f1b4a72..000000000000
--- a/pkgs/tools/text/kakasi/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchurl, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "kakasi";
-  version = "2.3.6";
-
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
-
-  meta = with lib; {
-    description = "Kanji Kana Simple Inverter";
-    longDescription = ''
-      KAKASI is the language processing filter to convert Kanji
-      characters to Hiragana, Katakana or Romaji and may be
-      helpful to read Japanese documents.
-    '';
-    homepage    = "http://kakasi.namazu.org/";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.unix;
-  };
-
-  src = fetchurl {
-    url = "http://kakasi.namazu.org/stable/kakasi-${version}.tar.xz";
-    sha256 = "1qry3xqb83pjgxp3my8b1sy77z4f0893h73ldrvdaky70cdppr9f";
-  };
-
-  postPatch = ''
-    for a in tests/kakasi-* ; do
-      substituteInPlace $a \
-        --replace "/bin/echo" echo
-    done
-  '';
-
-  doCheck = false; # fails 1 of 6 tests
-
-}
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 456b2c568d82..69aa0f50e665 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "kdiff3";
-  version = "1.11.1";
+  version = "1.11.4";
 
   src = fetchurl {
     url = "mirror://kde/stable/kdiff3/kdiff3-${finalAttrs.version}.tar.xz";
-    hash = "sha256-MPFKWrbg1VEWgpF42CdlTDDoQhwE/pcA085npTCEYpg=";
+    hash = "sha256-rt573JqpZ1rukP0qNScFLtMbMJGNQuaQelksunzmp8M=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [ "-Wno-dev" ];
 
-  postInstall = lib.optionalString stdenv.isDarwin ''
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
     ln -s "$out/Applications/KDE/kdiff3.app/Contents/MacOS" "$out/bin"
   '';
 
diff --git a/pkgs/tools/text/kytea/default.nix b/pkgs/tools/text/kytea/default.nix
deleted file mode 100644
index 322fa77ebad6..000000000000
--- a/pkgs/tools/text/kytea/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-
-  pname = "kytea";
-  version = "0.4.7";
-
-  src = fetchurl {
-    url    = "http://www.phontron.com/kytea/download/${pname}-${version}.tar.gz";
-    sha256 = "0ilzzwn5vpvm65bnbyb9f5rxyxy3jmbafw9w0lgl5iad1ka36jjk";
-  };
-
-  patches = [ ./gcc-O3.patch ];
-
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
-
-  meta = with lib; {
-    homepage = "http://www.phontron.com/kytea/";
-    description = "General toolkit developed for analyzing text";
-
-    longDescription = ''
-      A general toolkit developed for analyzing text, with a focus on Japanese,
-      Chinese and other languages requiring word or morpheme segmentation.
-    '';
-
-    license = licenses.asl20;
-
-    maintainers = with maintainers; [ ericsagnes ];
-    platforms = platforms.unix;
-  };
-
-}
diff --git a/pkgs/tools/text/kytea/gcc-O3.patch b/pkgs/tools/text/kytea/gcc-O3.patch
deleted file mode 100644
index 71b1d0c3b16e..000000000000
--- a/pkgs/tools/text/kytea/gcc-O3.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/lib/kytea-util.cpp b/src/lib/kytea-util.cpp
-index 7c8c4c6..4492df1 100644
---- a/src/lib/kytea-util.cpp
-+++ b/src/lib/kytea-util.cpp
-@@ -49,5 +49,8 @@ void checkValueVecEqual(const std::vector<T> * a, const std::vector<T> * b) {
- 
-+template void checkValueVecEqual(const std::vector<unsigned int> & a, const std::vector<unsigned int> & b);
- template void checkValueVecEqual(const std::vector<unsigned int> * a, const std::vector<unsigned int> * b);
-+template void checkValueVecEqual(const std::vector<short> & a, const std::vector<short> & b);
- template void checkValueVecEqual(const std::vector<short> * a, const std::vector<short> * b);
- template void checkValueVecEqual(const std::vector<vector<KyteaString> > * a, const std::vector<vector<KyteaString> > * b);
-+template void checkValueVecEqual(const std::vector<int> & a, const std::vector<int> & b);
- template void checkValueVecEqual(const std::vector<int> * a, const std::vector<int> * b);
diff --git a/pkgs/tools/text/l2md/default.nix b/pkgs/tools/text/l2md/default.nix
deleted file mode 100644
index d8bb04378f07..000000000000
--- a/pkgs/tools/text/l2md/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchzip, libgit2 }:
-
-stdenv.mkDerivation rec {
-  pname = "l2md";
-  version = "unstable-2021-10-27";
-
-  src = fetchzip {
-    url = "https://git.kernel.org/pub/scm/linux/kernel/git/dborkman/l2md.git/snapshot/l2md-9db252bc1716ebaf0abd3a47a59ea78e4e6253d6.tar.gz";
-    sha256 = "sha256-H/leDUwQM55akyXsmTnI2YsnG4i1KQtf4bBt1fizy8E=";
-  };
-
-  buildInputs = [ libgit2 ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp l2md $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Convert public-inbox archives to maildir messages";
-    mainProgram = "l2md";
-    longDescription = ''
-      Quick and dirty hack to import lore.kernel.org list archives via git,
-      to export them in maildir format or through a pipe, and to keep them
-      periodically synced.
-    '';
-    homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/dborkman/l2md.git";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ yoctocell ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/languagetool-rust/default.nix b/pkgs/tools/text/languagetool-rust/default.nix
index eda1060320c8..15b0ccb46611 100644
--- a/pkgs/tools/text/languagetool-rust/default.nix
+++ b/pkgs/tools/text/languagetool-rust/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = [ "full" ];
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
 
   checkFlags = [
     # requires network access
@@ -68,7 +68,7 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_words_delete"
   ];
 
-  postInstall = ''
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
     installShellCompletion --cmd ltrs \
       --bash <($out/bin/ltrs completions bash) \
       --fish <($out/bin/ltrs completions fish) \
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
deleted file mode 100644
index df634c510c8a..000000000000
--- a/pkgs/tools/text/languagetool/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchzip, jre, makeWrapper, nixosTests }:
-
-stdenv.mkDerivation rec {
-  pname = "LanguageTool";
-  version = "6.4";
-
-  src = fetchzip {
-    url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "sha256-MIP7+K3kmzrqXWcR23Rn+gMYR0zrGnnCYGhv81P2Pc4=";
-  };
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ jre ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share
-    mv -- * $out/share/
-
-    for lt in languagetool{,-commandline,-server};do
-      makeWrapper ${jre}/bin/java $out/bin/$lt \
-        --add-flags "-cp $out/share/ -jar $out/share/$lt.jar"
-    done
-
-    makeWrapper ${jre}/bin/java $out/bin/languagetool-http-server \
-      --add-flags "-cp $out/share/languagetool-server.jar org.languagetool.server.HTTPServer"
-
-    runHook postInstall
-  '';
-
-  passthru.tests.languagetool = nixosTests.languagetool;
-
-  meta = with lib; {
-    homepage = "https://languagetool.org";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ edwtjo ];
-    platforms = jre.meta.platforms;
-    description = "Proofreading program for English, French German, Polish, and more";
-  };
-}
diff --git a/pkgs/tools/text/ledger2beancount/default.nix b/pkgs/tools/text/ledger2beancount/default.nix
deleted file mode 100644
index 385222937676..000000000000
--- a/pkgs/tools/text/ledger2beancount/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages, beancount }:
-
-let
-  perlDeps = with perlPackages; [
-    DateCalc
-    DateTimeFormatStrptime
-    enum
-    FileBaseDir
-    GetoptLongDescriptive
-    ListMoreUtils
-    RegexpCommon
-    StringInterpolate
-    YAMLLibYAML
-  ];
-
-in stdenv.mkDerivation rec {
-  pname = "ledger2beancount";
-  version = "2.7";
-
-  src = fetchFromGitHub {
-    owner = "beancount";
-    repo = "ledger2beancount";
-    rev = version;
-    sha256 = "sha256-2LIP3ljK1HMAwjk2ueIf9pFL+UUnGDgx9GYNtRztdFY=";
-  };
-
-  dontBuild = true;
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perlPackages.perl beancount ] ++ perlDeps;
-
-  makeFlags = [ "prefix=$(out)" ];
-  installFlags = [ "INSTALL=install" ];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -r $src/bin $out/bin
-  '';
-
-  postFixup = ''
-    wrapProgram "$out/bin/ledger2beancount" \
-      --set PERL5LIB "${perlPackages.makeFullPerlPath perlDeps}"
-  '';
-
-  meta = with lib; {
-    description = "Ledger to Beancount text-based converter";
-    longDescription = ''
-      A script to automatically convert Ledger-based textual ledgers to Beancount ones.
-
-      Conversion is based on (concrete) syntax, so that information that is not meaningful for accounting reasons but still valuable (e.g., comments, formatting, etc.) can be preserved.
-    '';
-    homepage = "https://github.com/beancount/ledger2beancount";
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ pablovsky ];
-  };
-}
diff --git a/pkgs/tools/text/link-grammar/default.nix b/pkgs/tools/text/link-grammar/default.nix
deleted file mode 100644
index 68d38d7505d4..000000000000
--- a/pkgs/tools/text/link-grammar/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, pkg-config
-, python3
-, flex
-, sqlite
-, libedit
-, runCommand
-, dieHook
-}:
-
-let
-
-link-grammar = stdenv.mkDerivation rec {
-  pname = "link-grammar";
-  version = "5.10.5";
-
-  outputs = [ "bin" "out" "dev" "man" ];
-
-  src = fetchurl {
-    url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-MkcQzYEyl1/5zLU1CXMvdVhHOxwZ8XiSAAo97bhhiu0=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    python3
-    flex
-  ];
-
-  buildInputs = [
-    sqlite
-    libedit
-  ];
-
-  configureFlags = [
-    "--disable-java-bindings"
-  ];
-
-  doCheck = true;
-
-  passthru.tests = {
-    quick = runCommand "link-grammar-quick-test" {
-      buildInputs = [
-        link-grammar
-        dieHook
-      ];
-    } ''
-      echo "Furiously sleep ideas green colorless." | link-parser en | grep "No complete linkages found." || die "Grammaticaly invalid sentence was parsed."
-      echo "Colorless green ideas sleep furiously." | link-parser en | grep "Found .* linkages." || die "Grammaticaly valid sentence was not parsed."
-      touch $out
-    '';
-  };
-
-  meta = with lib; {
-    description = "Grammar Checking library";
-    homepage = "https://www.abisource.com/projects/link-grammar/";
-    changelog = "https://github.com/opencog/link-grammar/blob/link-grammar-${version}/ChangeLog";
-    license = licenses.lgpl21Only;
-    maintainers = with maintainers; [ jtojnar ];
-    platforms = platforms.unix;
-  };
-};
-
-in
-  link-grammar
diff --git a/pkgs/tools/text/ltex-ls/default.nix b/pkgs/tools/text/ltex-ls/default.nix
deleted file mode 100644
index 744c4f3345e7..000000000000
--- a/pkgs/tools/text/ltex-ls/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenvNoCC, fetchurl, makeBinaryWrapper, jre_headless }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "ltex-ls";
-  version = "16.0.0";
-
-  src = fetchurl {
-    url = "https://github.com/valentjn/ltex-ls/releases/download/${version}/ltex-ls-${version}.tar.gz";
-    sha256 = "sha256-lW1TfTckqhCmhjcvduISY9qAdKPM/0cobxbIrCq5JkQ=";
-  };
-
-  nativeBuildInputs = [ makeBinaryWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -rfv bin/ lib/ $out
-    rm -fv $out/bin/.lsp-cli.json $out/bin/*.bat
-    for file in $out/bin/{ltex-ls,ltex-cli}; do
-      wrapProgram $file --set JAVA_HOME "${jre_headless}"
-    done
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://valentjn.github.io/ltex/";
-    description = "LSP language server for LanguageTool";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ vinnymeller ];
-    platforms = jre_headless.meta.platforms;
-  };
-}
diff --git a/pkgs/tools/text/lv/default.nix b/pkgs/tools/text/lv/default.nix
deleted file mode 100644
index ad76cf51d11f..000000000000
--- a/pkgs/tools/text/lv/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation rec {
-  pname = "lv";
-  version = "4.51";
-
-  src = fetchurl {
-    url = "mirror://debian/pool/main/l/${pname}/${pname}_${version}.orig.tar.gz";
-    sha256 = "0yf3idz1qspyff1if41xjpqqcaqa8q8icslqlnz0p9dj36gmm5l3";
-  };
-
-  makeFlags = [ "prefix=${placeholder "out"}" ];
-
-  buildInputs = [ ncurses ];
-
-  configurePhase = ''
-    mkdir -p build
-    cd build
-    ../src/configure
-  '';
-
-  preInstall = ''
-    mkdir -p $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Powerful multi-lingual file viewer / grep";
-    homepage = "https://web.archive.org/web/20160310122517/www.ff.iij4u.or.jp/~nrt/lv/";
-    license = licenses.gpl2Plus;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ kayhide ];
-  };
-}
diff --git a/pkgs/tools/text/mairix/default.nix b/pkgs/tools/text/mairix/default.nix
deleted file mode 100644
index 3528a054b291..000000000000
--- a/pkgs/tools/text/mairix/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, zlib, bzip2, bison, flex }:
-
-stdenv.mkDerivation rec {
-  pname = "mairix";
-  version = "0.24";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/mairix/mairix-${version}.tar.gz";
-    sha256 = "0msaxz5c5hf7k1ci16i67m4ynrbrpsxbqzk84nz6z2vnkh3jww50";
-  };
-
-  buildInputs = [ zlib bzip2 bison flex ];
-
-  # https://github.com/rc0/mairix/pull/19
-  patches = [ ./mmap.patch ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "http://www.rc0.org.uk/mairix";
-    license = lib.licenses.gpl2Plus;
-    description = "Program for indexing and searching email messages stored in maildir, MH or mbox";
-    mainProgram = "mairix";
-    maintainers = with lib.maintainers; [viric];
-    platforms = with lib.platforms; all;
-  };
-}
diff --git a/pkgs/tools/text/mairix/mmap.patch b/pkgs/tools/text/mairix/mmap.patch
deleted file mode 100644
index 241083f2dde5..000000000000
--- a/pkgs/tools/text/mairix/mmap.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-Making mairix work with mbox files over 2GB.
-
-https://github.com/rc0/mairix/pull/19
-
-diff --git a/mairix.h b/mairix.h
-index 2480492..cb25824 100644
---- a/mairix.h
-+++ b/mairix.h
-@@ -327,9 +327,9 @@ enum data_to_rfc822_error {
-   DTR8_BAD_HEADERS, /* corrupt headers */
-   DTR8_BAD_ATTACHMENT /* corrupt attachment (e.g. no body part) */
- };
--struct rfc822 *data_to_rfc822(struct msg_src *src, char *data, int length, enum data_to_rfc822_error *error);
--void create_ro_mapping(const char *filename, unsigned char **data, int *len);
--void free_ro_mapping(unsigned char *data, int len);
-+struct rfc822 *data_to_rfc822(struct msg_src *src, char *data, size_t length, enum data_to_rfc822_error *error);
-+void create_ro_mapping(const char *filename, unsigned char **data, size_t *len);
-+void free_ro_mapping(unsigned char *data, size_t len);
- char *format_msg_src(struct msg_src *src);
- 
- /* In tok.c */
-diff --git a/mbox.c b/mbox.c
-index ebbfa78..396e27d 100644
---- a/mbox.c
-+++ b/mbox.c
-@@ -816,7 +816,7 @@ void build_mbox_lists(struct database *db, const char *folder_base, /*{{{*/
-         mb->n_old_msgs_valid = mb->n_msgs;
-       } else {
-         unsigned char *va;
--        int len;
-+        size_t len;
-         create_ro_mapping(mb->path, &va, &len);
-         if (va) {
-           rescan_mbox(mb, (char *) va, len);
-@@ -852,7 +852,7 @@ int add_mbox_messages(struct database *db)/*{{{*/
-   int any_new = 0;
-   int N;
-   unsigned char *va;
--  int valen;
-+  size_t valen;
-   enum data_to_rfc822_error error;
- 
-   for (i=0; i<db->n_mboxen; i++) {
-diff --git a/reader.c b/reader.c
-index 71ac5bd..18f0108 100644
---- a/reader.c
-+++ b/reader.c
-@@ -81,7 +81,8 @@ static void read_toktable2_db(char *data, struct toktable2_db *toktable, int sta
- /*}}}*/
- struct read_db *open_db(char *filename)/*{{{*/
- {
--  int fd, len;
-+  int fd;
-+  size_t len;
-   char *data;
-   struct stat sb;
-   struct read_db *result;
-diff --git a/reader.h b/reader.h
-index 9b5dfa3..d709cc4 100644
---- a/reader.h
-+++ b/reader.h
-@@ -138,7 +138,7 @@ struct toktable2_db {/*{{{*/
- struct read_db {/*{{{*/
-   /* Raw file parameters, needed later for munmap */
-   char *data;
--  int len;
-+  size_t len;
- 
-   /* Pathname information */
-   int n_msgs;
-diff --git a/rfc822.c b/rfc822.c
-index b411f85..9c8e1a4 100644
---- a/rfc822.c
-+++ b/rfc822.c
-@@ -990,7 +990,7 @@ static void scan_status_flags(const char *s, struct headers *hdrs)/*{{{*/
- 
- /*{{{ data_to_rfc822() */
- struct rfc822 *data_to_rfc822(struct msg_src *src,
--    char *data, int length,
-+    char *data, size_t length,
-     enum data_to_rfc822_error *error)
- {
-   struct rfc822 *result;
-@@ -1265,7 +1265,7 @@ static struct ro_mapping *add_ro_cache(const char *filename, int fd, size_t len)
- }
- #endif /* USE_GZIP_MBOX || USE_BZIP_MBOX */
- 
--void create_ro_mapping(const char *filename, unsigned char **data, int *len)/*{{{*/
-+void create_ro_mapping(const char *filename, unsigned char **data, size_t *len)/*{{{*/
- {
-   struct stat sb;
-   int fd;
-@@ -1386,7 +1386,7 @@ comp_error:
-   data_alloc_type = ALLOC_MMAP;
- }
- /*}}}*/
--void free_ro_mapping(unsigned char *data, int len)/*{{{*/
-+void free_ro_mapping(unsigned char *data, size_t len)/*{{{*/
- {
-   int r;
- 
-@@ -1414,7 +1414,7 @@ static struct msg_src *setup_msg_src(char *filename)/*{{{*/
- /*}}}*/
- struct rfc822 *make_rfc822(char *filename)/*{{{*/
- {
--  int len;
-+  size_t len;
-   unsigned char *data;
-   struct rfc822 *result;
- 
-diff --git a/search.c b/search.c
-index 18b51ee..97967bc 100644
---- a/search.c
-+++ b/search.c
-@@ -681,7 +681,7 @@ static void mbox_terminate(const unsigned char *data, int len, FILE *out)/*{{{*/
- static void append_file_to_mbox(const char *path, FILE *out)/*{{{*/
- {
-   unsigned char *data;
--  int len;
-+  size_t len;
-   create_ro_mapping(path, &data, &len);
-   if (data) {
-     fprintf(out, "From mairix@mairix Mon Jan  1 12:34:56 1970\n");
-@@ -698,8 +698,8 @@ static int had_failed_checksum;
- 
- static void get_validated_mbox_msg(struct read_db *db, int msg_index,/*{{{*/
-                                    int *mbox_index,
--                                   unsigned char **mbox_data, int *mbox_len,
--                                   unsigned char **msg_data,  int *msg_len)
-+                                   unsigned char **mbox_data, size_t *mbox_len,
-+                                   unsigned char **msg_data,  size_t *msg_len)
- {
-   /* msg_data==NULL if checksum mismatches */
-   unsigned char *start;
-@@ -738,7 +738,7 @@ static void append_mboxmsg_to_mbox(struct read_db *db, int msg_index, FILE *out)
- {
-   /* Need to common up code with try_copy_to_path */
-   unsigned char *mbox_start, *msg_start;
--  int mbox_len, msg_len;
-+  size_t mbox_len, msg_len;
-   int mbox_index;
- 
-   get_validated_mbox_msg(db, msg_index, &mbox_index, &mbox_start, &mbox_len, &msg_start, &msg_len);
-@@ -759,7 +759,7 @@ static void append_mboxmsg_to_mbox(struct read_db *db, int msg_index, FILE *out)
- static void try_copy_to_path(struct read_db *db, int msg_index, char *target_path)/*{{{*/
- {
-   unsigned char *data;
--  int mbox_len, msg_len;
-+  size_t mbox_len, msg_len;
-   int mbi;
-   FILE *out;
-   unsigned char *start;
-@@ -1214,7 +1214,7 @@ static int do_search(struct read_db *db, char **args, char *output_path, int sho
-                 unsigned int mbix, msgix;
-                 int start, len, after_end;
-                 unsigned char *mbox_start, *msg_start;
--                int mbox_len, msg_len;
-+                size_t mbox_len, msg_len;
-                 int mbox_index;
- 
-                 start = db->mtime_table[i];
diff --git a/pkgs/tools/text/mark/default.nix b/pkgs/tools/text/mark/default.nix
deleted file mode 100644
index 8aaa5c09b670..000000000000
--- a/pkgs/tools/text/mark/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "mark";
-  version = "9.1.4";
-
-  src = fetchFromGitHub {
-    owner  = "kovetskiy";
-    repo   = "mark";
-    rev    = version;
-    sha256 = "sha256-nAgEegtRT4c2wJzVOY41JgM/JVW5xQjRnhXUzjwqxLY=";
-  };
-
-  vendorHash = "sha256-2rEwZffM+RK0baz8m+fXN2NGYskv4zO67cWC4rx+hfI=";
-
-  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
-
-  meta = with lib; {
-    description = "Tool for syncing your markdown documentation with Atlassian Confluence pages";
-    mainProgram = "mark";
-    homepage = "https://github.com/kovetskiy/mark";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ rguevara84 ];
-  };
-}
diff --git a/pkgs/tools/text/markdownlint-cli/default.nix b/pkgs/tools/text/markdownlint-cli/default.nix
deleted file mode 100644
index 12b19d3a7165..000000000000
--- a/pkgs/tools/text/markdownlint-cli/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-}:
-
-buildNpmPackage rec {
-  pname = "markdownlint-cli";
-  version = "0.41.0";
-
-  src = fetchFromGitHub {
-    owner = "igorshubovych";
-    repo = "markdownlint-cli";
-    rev = "v${version}";
-    hash = "sha256-qRbfOxMCm5pUAi0KHookOOnKaTShBUkTkrqZX4QGezk=";
-  };
-
-  npmDepsHash = "sha256-UwyjaEKYA81J0DR2yFqYVp4e7l3Jol/R8hgaijNpBaU=";
-
-  dontNpmBuild = true;
-
-  meta = {
-    description = "Command line interface for MarkdownLint";
-    homepage = "https://github.com/igorshubovych/markdownlint-cli";
-    license = lib.licenses.mit;
-    mainProgram = "markdownlint";
-    maintainers = with lib.maintainers; [ ambroisie ];
-  };
-}
diff --git a/pkgs/tools/text/markdownlint-cli2/default.nix b/pkgs/tools/text/markdownlint-cli2/default.nix
deleted file mode 100644
index 7ffacaa08db7..000000000000
--- a/pkgs/tools/text/markdownlint-cli2/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-}:
-
-buildNpmPackage rec {
-  pname = "markdownlint-cli2";
-  version = "0.9.0";
-
-  src = fetchFromGitHub {
-    owner = "DavidAnson";
-    repo = "markdownlint-cli2";
-    rev = "v${version}";
-    hash = "sha256-qtdR7Rhz+HLZJX82OrN+twOsvFOv99e4BBDVV1UayPI=";
-  };
-
-  npmDepsHash = "sha256-Fx0lDcvzLRVSAX0apKmu1CBfnGmGQR9FQEdhHUtue/c=";
-
-  postPatch = ''
-    ln -s npm-shrinkwrap.json package-lock.json
-  '';
-
-  dontNpmBuild = true;
-
-  meta = {
-    changelog = "https://github.com/DavidAnson/markdownlint-cli2/blob/${src.rev}/CHANGELOG.md";
-    description = "Fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the markdownlint library";
-    homepage = "https://github.com/DavidAnson/markdownlint-cli2";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ natsukium ];
-  };
-}
diff --git a/pkgs/tools/text/markscribe/default.nix b/pkgs/tools/text/markscribe/default.nix
deleted file mode 100644
index c2ee3a596e97..000000000000
--- a/pkgs/tools/text/markscribe/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "markscribe";
-  version = "0.6.0";
-
-  src = fetchFromGitHub {
-    owner = "muesli";
-    repo = "markscribe";
-    rev = "v${version}";
-    hash = "sha256-I8WSG9rMqgf2QADQetlYTSUIQH1Iv8cMVw/3uIwEDPc=";
-  };
-
-  vendorHash = "sha256-leeP2+W+bnYASls3k0l4jpz1rc1mAkMWUfrY2uBUUdQ=";
-
-  ldflags = [ "-s" "-w" ];
-
-  meta = with lib; {
-    description = "Your personal markdown scribe with template-engine and Git(Hub) & RSS powers";
-    mainProgram = "markscribe";
-    homepage = "https://github.com/muesli/markscribe";
-    changelog = "https://github.com/muesli/markscribe/releases/tag/${src.rev}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/math-review/default.nix b/pkgs/tools/text/math-review/default.nix
deleted file mode 100644
index 6206c67bf1c1..000000000000
--- a/pkgs/tools/text/math-review/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, nix-update-script
-, fetchFromGitLab
-, buildNpmPackage
-, nodejs
-}:
-
-buildNpmPackage rec {
-  pname = "math-preview";
-  version = "5.1.1";
-
-  src = fetchFromGitLab {
-    owner = "matsievskiysv";
-    repo = "math-preview";
-    rev = "v${version}";
-    hash = "sha256-P3TZ/D6D2PvwPV6alSrDEQujzgI8DhK4VOuCC0BCIFo=";
-  };
-
-  npmDepsHash = "sha256-GAPhG3haM9UNdj6tCz8I4j7v6rvNbatdu7NjCeENj3s=";
-  dontNpmBuild = true;
-
-  passthru = {
-    updateScript = nix-update-script { };
-  };
-
-  meta = with lib; {
-    description = "Emacs preview math inline";
-    mainProgram = "math-preview";
-    license = licenses.gpl3Plus;
-    homepage = "https://gitlab.com/matsievskiysv/math-preview";
-    maintainers = with maintainers; [ renesat ];
-    inherit (nodejs.meta) platforms;
-  };
-}
diff --git a/pkgs/tools/text/mawk/default.nix b/pkgs/tools/text/mawk/default.nix
deleted file mode 100644
index 7af363405102..000000000000
--- a/pkgs/tools/text/mawk/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchurl, buildPackages }:
-
-stdenv.mkDerivation rec {
-  pname = "mawk";
-  version = "1.3.4-20240123";
-
-  src = fetchurl {
-    urls = [
-      "ftp://ftp.invisible-island.net/mawk/mawk-${version}.tgz"
-      "https://invisible-mirror.net/archives/mawk/mawk-${version}.tgz"
-    ];
-    sha256 = "sha256-qOMZqDdEsfH7aYjfoYnWGIf4ZukUDMmknrADsrBlXog=";
-  };
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  meta = with lib; {
-    description = "Interpreter for the AWK Programming Language";
-    mainProgram = "mawk";
-    homepage = "https://invisible-island.net/mawk/mawk.html";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ ehmry ];
-    platforms = with platforms; unix;
-  };
-}
diff --git a/pkgs/tools/text/mb2md/default.nix b/pkgs/tools/text/mb2md/default.nix
deleted file mode 100644
index 3594d4753d85..000000000000
--- a/pkgs/tools/text/mb2md/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, fetchurl, makeWrapper, perlPackages }:
-
-let
-  perlDeps = with perlPackages; [ TimeDate ];
-in
-stdenv.mkDerivation rec {
-  version = "3.20";
-  pname = "mb2md";
-
-  src = fetchurl {
-    url = "http://batleth.sapienti-sat.org/projects/mb2md/mb2md-${version}.pl.gz";
-    sha256 = "0bvkky3c90738h3skd2f1b2yy5xzhl25cbh9w2dy97rs86ssjidg";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perlPackages.perl ];
-
-  unpackPhase = ''
-    sourceRoot=.
-    gzip -d < $src > mb2md.pl
-  '';
-
-  installPhase = ''
-    install -D $sourceRoot/mb2md.pl $out/bin/mb2md
-  '';
-
-  postFixup = ''
-    wrapProgram $out/bin/mb2md \
-      --set PERL5LIB "${perlPackages.makePerlPath perlDeps}"
-  '';
-
-  meta = with lib; {
-    description = "mbox to maildir tool";
-    mainProgram = "mb2md";
-    license = licenses.publicDomain;
-    platforms = platforms.all;
-    maintainers = [ maintainers.jb55 ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-admonish/default.nix b/pkgs/tools/text/mdbook-admonish/default.nix
index f579315cd908..da29d25dcb33 100644
--- a/pkgs/tools/text/mdbook-admonish/default.nix
+++ b/pkgs/tools/text/mdbook-admonish/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-admonish";
-  version = "1.17.1";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "tommilligan";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Jj3mbsH/rFrUTWcgT4+KQJ2Bae58STHBB+7oZwbrhLk=";
+    hash = "sha256-GNQIOjgHCt3XPCzF0RjV9YStI8psLdHhTPuTkdgx8vA=";
   };
 
-  cargoHash = "sha256-a2JGpIvI65djxyB1LZFWgIQmhsLPLhiYkyvqKwysgQo=";
+  cargoHash = "sha256-CG4WvAFDqtRUjF4kJ29363F6jWRChIXgT5i6ozwV4pw=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "Preprocessor for mdbook to add Material Design admonishments";
diff --git a/pkgs/tools/text/mdbook-cmdrun/default.nix b/pkgs/tools/text/mdbook-cmdrun/default.nix
deleted file mode 100644
index 8945a7cbd83b..000000000000
--- a/pkgs/tools/text/mdbook-cmdrun/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, mdbook
-, nodePackages
-, python3
-, util-linux
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-cmdrun";
-  version = "0.6.0-unstable-2024-04-15";
-
-  src = fetchFromGitHub {
-    owner = "FauconFan";
-    repo = pname;
-    rev = "d1fef67f100563c2a433b1f5dd5a71810db6b90d";
-    hash = "sha256-Q2h64XCyDxLmmCNC3wTw81pBotaMEUjY5y0Oq6q20cQ=";
-  };
-
-  nativeCheckInputs = [
-    mdbook # used by tests/book.rs
-    nodePackages.nodejs # used by tests/regression/inline_call/input.md
-    python3 # used by tests/regression/py_*
-    util-linux # used by tests/regression/shell/input.md
-  ];
-
-  cargoHash = "sha256-gT3DyQRJWn1HuR6fXeqk8aUPb+jmC+V1McdDN2JGXuI=";
-
-  meta = with lib; {
-    description = "mdbook preprocessor to run arbitrary commands";
-    mainProgram = "mdbook-cmdrun";
-    homepage = "https://github.com/FauconFan/mdbook-cmdrun";
-    license = licenses.mit;
-    maintainers = with maintainers; [ pinpox matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-d2/default.nix b/pkgs/tools/text/mdbook-d2/default.nix
deleted file mode 100644
index 61176e202020..000000000000
--- a/pkgs/tools/text/mdbook-d2/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-d2";
-  version = "unstable-2023-03-30";
-
-  src = fetchFromGitHub {
-    owner = "danieleades";
-    repo = "mdbook-d2";
-    rev = "93f3037ad9730d134c929cfc90d9bd592a48a1a9";
-    hash = "sha256-cmmOmJHARIBCQQEsffnBh4nc2XEDPBzLPcCrOwfTKS8=";
-  };
-
-  cargoHash = "sha256-ACwEWK5upeRLo7HU+1kKunecnEeZm0ufUaQjJkXM/4I=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.CoreFoundation
-    darwin.apple_sdk.frameworks.CoreServices
-  ];
-
-  meta = with lib; {
-    description = "D2 diagram generator plugin for MdBook";
-    mainProgram = "mdbook-d2";
-    homepage = "https://github.com/danieleades/mdbook-d2";
-    changelog = "https://github.com/danieleades/mdbook-d2/blob/${src.rev}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ blaggacao matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-emojicodes/default.nix b/pkgs/tools/text/mdbook-emojicodes/default.nix
deleted file mode 100644
index d57ba39b803c..000000000000
--- a/pkgs/tools/text/mdbook-emojicodes/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-emojicodes";
-  version = "0.3.0";
-
-  src = fetchFromGitHub {
-    owner = "blyxyas";
-    repo = "mdbook-emojicodes";
-    rev = "${version}";
-    hash = "sha256-dlvfY2AMBvTl0j9YaT+u4CeWQGGihFD8AZaAK4/hUWU=";
-  };
-
-  cargoHash = "sha256-SkvAtV613+ARk79dB2zRKoLjPgdzoEKQa3JrRw9qBkA=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.CoreFoundation
-  ];
-
-  meta = with lib; {
-    description = "MDBook preprocessor for converting emojicodes (e.g. `: cat :`) into emojis 🐱";
-    mainProgram = "mdbook-emojicodes";
-    homepage = "https://github.com/blyxyas/mdbook-emojicodes";
-    changelog = "https://github.com/blyxyas/mdbook-emojicodes/releases/tag/${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ blaggacao matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-epub/default.nix b/pkgs/tools/text/mdbook-epub/default.nix
index 48dbe92ca6ce..d9418f67b145 100644
--- a/pkgs/tools/text/mdbook-epub/default.nix
+++ b/pkgs/tools/text/mdbook-epub/default.nix
@@ -28,7 +28,7 @@ in rustPlatform.buildRustPackage {
 
   buildInputs = [
     bzip2
-  ] ++ lib.optionals stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     CoreServices
   ];
 
diff --git a/pkgs/tools/text/mdbook-footnote/default.nix b/pkgs/tools/text/mdbook-footnote/default.nix
index 7beeb3e33c63..791cb07d02be 100644
--- a/pkgs/tools/text/mdbook-footnote/default.nix
+++ b/pkgs/tools/text/mdbook-footnote/default.nix
@@ -15,9 +15,9 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-WUMgm1hwsU9BeheLfb8Di0AfvVQ6j92kXxH2SyG3ses=";
   };
 
-  cargoSha256 = "sha256-Ig+uVCO5oHIkkvFsKiBiUFzjUgH/Pydn4MVJHb2wKGc=";
+  cargoHash = "sha256-Ig+uVCO5oHIkkvFsKiBiUFzjUgH/Pydn4MVJHb2wKGc=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "Preprocessor for mdbook to support the inclusion of automatically numbered footnotes";
diff --git a/pkgs/tools/text/mdbook-graphviz/default.nix b/pkgs/tools/text/mdbook-graphviz/default.nix
index 721beb6ac179..9328cba50f6c 100644
--- a/pkgs/tools/text/mdbook-graphviz/default.nix
+++ b/pkgs/tools/text/mdbook-graphviz/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-graphviz";
-  version = "0.1.7";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "dylanowen";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FuAjuU4IXXuas+ubSuTMrZiYTGcZCuLTCSTJXtY2nlw=";
+    hash = "sha256-QLgTUQWfGoUV7L+nZKyO7yBYFi8/puikWkmDHQihc50=";
   };
 
-  cargoHash = "sha256-d4s9wmjqMHjev1Y4nAobFnCc5NTdklXcs7XTRXFMEjU=";
+  cargoHash = "sha256-cMCNZ8Ezp7bFx4EnuZCXhqoaE0yN3iK9KnCYBYGPHKc=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
   nativeCheckInputs = [ graphviz ];
 
diff --git a/pkgs/tools/text/mdbook-i18n-helpers/default.nix b/pkgs/tools/text/mdbook-i18n-helpers/default.nix
deleted file mode 100644
index f9343e163798..000000000000
--- a/pkgs/tools/text/mdbook-i18n-helpers/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-i18n-helpers";
-  version = "0.3.4";
-
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "mdbook-i18n-helpers";
-    # TODO fix once upstream uses semver for tags again
-    rev = "refs/tags/mdbook-i18n-helpers-${version}";
-    hash = "sha256-nIavOBWPyCmCLwPcDbjjG1sa71HObGnhms9sSCAR2iA=";
-  };
-
-  cargoHash = "sha256-bBUgsZHvJPwsdM3DjhaoAvIkPXQ6gzPOdfcE5rAnMQk=";
-
-  meta = with lib; {
-    description = "Helpers for a mdbook i18n workflow based on Gettext";
-    homepage = "https://github.com/google/mdbook-i18n-helpers";
-    changelog = "https://github.com/google/mdbook-i18n-helpers/releases/tag/${version}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ teutat3s matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-katex/default.nix b/pkgs/tools/text/mdbook-katex/default.nix
index b6c2a1ec1d30..f87e3491a184 100644
--- a/pkgs/tools/text/mdbook-katex/default.nix
+++ b/pkgs/tools/text/mdbook-katex/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-katex";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-OTMPf/ZlUtqKz8Lb0uFOhad33N6SaCIZ86I2ajZ19fU=";
+    hash = "sha256-F+yNfXBTAg9S6R85bGStumr1OXdWN3o95TxC0qgUeME=";
   };
 
-  cargoHash = "sha256-U8uDcNkEyz7zAqCTthY5SVGshsJRKRaoBLOpBpQ9sho=";
+  cargoHash = "sha256-01lr6ZS+7MmgKmuP+xEX7j1x2qDofmzeevUqY/UqRUw=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "Preprocessor for mdbook, rendering LaTeX equations to HTML at build time";
diff --git a/pkgs/tools/text/mdbook-kroki-preprocessor/default.nix b/pkgs/tools/text/mdbook-kroki-preprocessor/default.nix
deleted file mode 100644
index e69c8185e3c3..000000000000
--- a/pkgs/tools/text/mdbook-kroki-preprocessor/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, openssl
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-kroki-preprocessor";
-  version = "0.2.0";
-
-  src = fetchFromGitHub {
-    owner = "joelcourtney";
-    repo = "mdbook-kroki-preprocessor";
-    rev = "v${version}";
-    hash = "sha256-3BxIhJK0YWZBEbbNwMKixo1icEn+QKJwoskgIEaZcGQ=";
-  };
-
-  cargoHash = "sha256-9jIB80vtskpR3/QYhaA0JFw6IhIsS9VnCnJtE5RfDRk=";
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  buildInputs = [
-    openssl
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.CoreFoundation
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  meta = with lib; {
-    description = "Render Kroki diagrams from files or code blocks in mdbook";
-    mainProgram = "mdbook-kroki-preprocessor";
-    homepage = "https://github.com/joelcourtney/mdbook-kroki-preprocessor";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ blaggacao matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-linkcheck/default.nix b/pkgs/tools/text/mdbook-linkcheck/default.nix
index 878b93b055de..7ff872a9d0de 100644
--- a/pkgs/tools/text/mdbook-linkcheck/default.nix
+++ b/pkgs/tools/text/mdbook-linkcheck/default.nix
@@ -12,11 +12,11 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-ZbraChBHuKAcUA62EVHZ1RygIotNEEGv24nhSPAEj00=";
   };
 
-  cargoSha256 = "sha256-AwixlCL5ZcLgj9wYeBvkSy2U6J8alXf488l8DMn73w4=";
+  cargoHash = "sha256-AwixlCL5ZcLgj9wYeBvkSy2U6J8alXf488l8DMn73w4=";
 
-  buildInputs = if stdenv.isDarwin then [ Security ] else [ openssl ];
+  buildInputs = if stdenv.hostPlatform.isDarwin then [ Security ] else [ openssl ];
 
-  nativeBuildInputs = lib.optionals (!stdenv.isDarwin) [ pkg-config ];
+  nativeBuildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ];
 
   OPENSSL_NO_VENDOR = 1;
 
diff --git a/pkgs/tools/text/mdbook-man/default.nix b/pkgs/tools/text/mdbook-man/default.nix
deleted file mode 100644
index 904a4d29112e..000000000000
--- a/pkgs/tools/text/mdbook-man/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-man";
-  version = "unstable-2022-11-05";
-
-  src = fetchFromGitHub {
-    owner = "vv9k";
-    repo = pname;
-    rev = "b9537dfbb241d7456835ed7e9d27ab8c8184e5f6";
-    hash = "sha256-ssAk60jnwYzAjseL26/3FaDv1vBAylgdE+vLhWZ8It4=";
-  };
-
-  cargoHash = "sha256-cR86eFhP9Swh+Ff8FNbAfWpWMkliOAyPwDQ6lRvU+nk=";
-
-  meta = with lib; {
-    description = "Generate manual pages from mdBooks";
-    mainProgram = "mdbook-man";
-    homepage = "https://github.com/vv9k/mdbook-man";
-    license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer ];
-  };
-}
-
diff --git a/pkgs/tools/text/mdbook-mermaid/default.nix b/pkgs/tools/text/mdbook-mermaid/default.nix
index 52211b273710..b4e837a2082a 100644
--- a/pkgs/tools/text/mdbook-mermaid/default.nix
+++ b/pkgs/tools/text/mdbook-mermaid/default.nix
@@ -7,18 +7,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-mermaid";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "badboy";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Qyt5N6Fito++5lpjDXlzupmguue9kc409IpaDkIRgxw=";
+    hash = "sha256-elDKxtGMLka9Ss5CNnzw32ndxTUliNUgPXp7e4KUmBo=";
   };
 
-  cargoHash = "sha256-ji38ZNOZ+SDL7+9dvaRIA38EsqMqYWpSmZntexJqcMU=";
+  cargoHash = "sha256-BnbllOsidqDEfKs0pd6AzFjzo51PKm9uFSwmOGTW3ug=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
     CoreServices
   ];
 
diff --git a/pkgs/tools/text/mdbook-open-on-gh/default.nix b/pkgs/tools/text/mdbook-open-on-gh/default.nix
deleted file mode 100644
index a4c592dfbd2a..000000000000
--- a/pkgs/tools/text/mdbook-open-on-gh/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-open-on-gh";
-  version = "2.4.3";
-
-  src = fetchFromGitHub {
-    owner = "badboy";
-    repo = pname;
-    rev = version;
-    hash = "sha256-73738Vei7rQ67LQIOrHPGOtsBnHClaXClRWDmA5pP58=";
-  };
-
-  cargoHash = "sha256-TQBjgQaoI88xGdhkffNWRH6aZ99WWbkkpiPu4LqBD3g=";
-
-  meta = with lib; {
-    description = "mdbook preprocessor to add a open-on-github link on every page";
-    mainProgram = "mdbook-open-on-gh";
-    homepage = "https://github.com/badboy/mdbook-open-on-gh";
-    license = [ licenses.mpl20 ];
-    maintainers = with maintainers; [ matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-pagetoc/default.nix b/pkgs/tools/text/mdbook-pagetoc/default.nix
deleted file mode 100644
index 77b3b754b1af..000000000000
--- a/pkgs/tools/text/mdbook-pagetoc/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook-pagetoc";
-  version = "0.2.0";
-
-  src = fetchFromGitHub {
-    owner = "slowsage";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-A8J3cKSA//NGIVK3uE43YH3ph9DHGFlg7uOo10j2Kh8=";
-  };
-
-  cargoHash = "sha256-FvDvPXA4/dxVOIt1LwesBrWEsjdYcrhHescQVAiggBA=";
-
-  meta = with lib; {
-    description = "Table of contents for mdbook (in sidebar)";
-    mainProgram = "mdbook-pagetoc";
-    homepage = "https://github.com/slowsage/mdbook-pagetoc";
-    license = licenses.mit;
-    maintainers = with maintainers; [ blaggacao matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdbook-pdf/default.nix b/pkgs/tools/text/mdbook-pdf/default.nix
index 472f5e3b8629..ab889398ceff 100644
--- a/pkgs/tools/text/mdbook-pdf/default.nix
+++ b/pkgs/tools/text/mdbook-pdf/default.nix
@@ -3,41 +3,37 @@
 , fetchCrate
 , rustPlatform
 , pkg-config
-, rustfmt
 , openssl
 , CoreServices
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-pdf";
-  version = "0.1.8";
+  version = "0.1.10";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-UPSh0/8HFaLvnU95Gyd+uQaRvWeXlp+HViVUKX0I1jI=";
+    hash = "sha256-zRoO84ij7zF1I8ijXS/oApMKfS3e04+5/CgahAemqCA=";
   };
 
-  cargoHash = "sha256-WYG2EkfEqjOOelxwivk5srtTNLxEPGX1ztwntvgft1I=";
+  cargoHash = "sha256-eay3tl4edeM05D+0iIu8Zw4L1N2Bk1csLo0AwNdyCdA=";
 
   nativeBuildInputs = [
     pkg-config
-    rustfmt
   ];
 
   buildInputs = [
     openssl
-  ] ++ lib.optionals stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     CoreServices
   ];
 
   # Stop downloading from the Internet to
   # generate the Chrome Devtools Protocol
-  DOCS_RS=true;
+  env.DOCS_RS = true;
 
-  # # Stop formating with rustfmt, pending version update for
-  # # https://github.com/mdrokz/auto_generate_cdp/pull/8
-  # # to remove rustfmt dependency
-  # DO_NOT_FORMAT=true;
+  # Stop formatting with rustfmt
+  env.DO_NOT_FORMAT = true;
 
   # No test.
   doCheck = false;
diff --git a/pkgs/tools/text/mdbook-plantuml/default.nix b/pkgs/tools/text/mdbook-plantuml/default.nix
index e5ee827d816e..e3665aa2f43f 100644
--- a/pkgs/tools/text/mdbook-plantuml/default.nix
+++ b/pkgs/tools/text/mdbook-plantuml/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ CoreServices ];
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "mdBook preprocessor to render PlantUML diagrams to png images in the book output directory";
diff --git a/pkgs/tools/text/mdbook-toc/default.nix b/pkgs/tools/text/mdbook-toc/default.nix
index a9c3855964b5..2555e03c124c 100644
--- a/pkgs/tools/text/mdbook-toc/default.nix
+++ b/pkgs/tools/text/mdbook-toc/default.nix
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-95W0gERjwL9r0+DOgxQu+sjSFSThWeShLAqlDQiGxFw=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "Preprocessor for mdbook to add inline Table of Contents support";
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
deleted file mode 100644
index 4939cfc62623..000000000000
--- a/pkgs/tools/text/mdbook/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, nix, rustPlatform, CoreServices, installShellFiles }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "mdbook";
-  version = "0.4.37";
-
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = "mdBook";
-    rev = "refs/tags/v${version}";
-    sha256 = "sha256-A8ZSqIG+rGKwggs9ogvbMIi9gClFKe8gS6D5W426ebc=";
-  };
-
-  cargoHash = "sha256-8GQM4pHiFbyoRkOx3SXuIV118ndzL+O+eA+Gd2jbsdI=";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
-
-  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
-    installShellCompletion --cmd mdbook \
-      --bash <($out/bin/mdbook completions bash) \
-      --fish <($out/bin/mdbook completions fish) \
-      --zsh  <($out/bin/mdbook completions zsh )
-  '';
-
-  passthru = {
-    tests = {
-      inherit nix;
-    };
-  };
-
-  meta = with lib; {
-    description = "Create books from MarkDown";
-    mainProgram = "mdbook";
-    homepage = "https://github.com/rust-lang/mdBook";
-    changelog = "https://github.com/rust-lang/mdBook/blob/v${version}/CHANGELOG.md";
-    license = [ licenses.mpl20 ];
-    maintainers = with maintainers; [ havvy Frostman matthiasbeyer ];
-  };
-}
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index a928b74a1518..7a4c40f92946 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -13,20 +13,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "2.1.2";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "swsnr";
     repo = "mdcat";
     rev = "mdcat-${version}";
-    hash = "sha256-qdNORp9THxHWR95uVcYtCy59OQqdop1012thZN5i64w=";
+    hash = "sha256-Y0tWhqRGrjex/yKWmRu4+hSRM9/vchsYyx26x/HBuRw=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ];
 
-  cargoHash = "sha256-/avxRvT35LxCBWkTYJDCtdd95VC67epZIPCMv994uBo=";
+  cargoHash = "sha256-f2YmrmRlQTCBTzG7DWJVldP/lOhl2iCnhnOLHx1QJDc=";
 
   nativeCheckInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
@@ -44,12 +44,12 @@ rustPlatform.buildRustPackage rec {
   postInstall = ''
     installManPage $releaseDir/build/mdcat-*/out/mdcat.1
     ln -sr $out/bin/{mdcat,mdless}
-
+  '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
     for bin in mdcat mdless; do
-      installShellCompletion \
-        --bash $releaseDir/build/mdcat-*/out/completions/$bin.bash \
-        --fish $releaseDir/build/mdcat-*/out/completions/$bin.fish \
-        --zsh $releaseDir/build/mdcat-*/out/completions/_$bin
+      installShellCompletion --cmd $bin \
+        --bash <($out/bin/$bin --completions bash) \
+        --fish <($out/bin/$bin --completions fish) \
+        --zsh <($out/bin/$bin --completions zsh)
     done
   '';
 
diff --git a/pkgs/tools/text/mdhtml/default.nix b/pkgs/tools/text/mdhtml/default.nix
deleted file mode 100644
index 4c68eb32d9dd..000000000000
--- a/pkgs/tools/text/mdhtml/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitea
-}:
-
-buildGoModule rec {
-  pname = "mdhtml";
-  version = "1.0";
-
-  src = fetchFromGitea {
-    domain = "codeberg.org";
-    owner = "Tomkoid";
-    repo = pname;
-    rev = version;
-    hash = "sha256-Fv5XpWA2ebqXdA+46gZQouuZ3XxH4WDj/W6xJ0ETg8E=";
-  };
-
-  vendorHash = null;
-
-  meta = with lib; {
-    description = "Really simple CLI Markdown to HTML converter with styling support";
-    homepage = "https://codeberg.org/Tomkoid/mdhtml";
-    license = licenses.mit;
-    changelog = "https://codeberg.org/Tomkoid/mdhtml/releases";
-    maintainers = with maintainers; [ tomkoid ];
-    mainProgram = "mdhtml";
-  };
-}
diff --git a/pkgs/tools/text/miller/default.nix b/pkgs/tools/text/miller/default.nix
deleted file mode 100644
index 5107b22fc6d0..000000000000
--- a/pkgs/tools/text/miller/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, fetchFromGitHub, buildGoModule }:
-
-buildGoModule rec {
-  pname = "miller";
-  version = "6.12.0";
-
-  src = fetchFromGitHub {
-    owner = "johnkerl";
-    repo = "miller";
-    rev = "v${version}";
-    sha256 = "sha256-0M9wdKn6SdqNAcEcIb4mkkDCUBYQ/mW+0OYt35vq9yw=";
-  };
-
-  outputs = [ "out" "man" ];
-
-  vendorHash = "sha256-WelwnwsdOhAq4jdmFAYvh4lDMsmaAItdrbC//MfWHjU=";
-
-  postInstall = ''
-    mkdir -p $man/share/man/man1
-    mv ./man/mlr.1 $man/share/man/man1
-  '';
-
-  subPackages = [ "cmd/mlr" ];
-
-  meta = with lib; {
-    description = "Like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed";
-    homepage    = "https://github.com/johnkerl/miller";
-    license     = licenses.bsd2;
-    maintainers = with maintainers; [ mstarzyk ];
-    mainProgram = "mlr";
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/mmdoc/default.nix b/pkgs/tools/text/mmdoc/default.nix
deleted file mode 100644
index e7bf45dbb4c8..000000000000
--- a/pkgs/tools/text/mmdoc/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmark-gfm
-, xxd
-, fastJson
-, libzip
-, ninja
-, meson
-, pkg-config
-}:
-
-stdenv.mkDerivation rec {
-  pname = "mmdoc";
-  version = "0.20.0";
-
-  src = fetchFromGitHub {
-    owner = "ryantm";
-    repo = "mmdoc";
-    rev = version;
-    hash = "sha256-NS8i5xvCwq0pSdfxnaxnpuwmDAkfH6Tkc4N2F6aGvWY=";
-  };
-
-  nativeBuildInputs = [ ninja meson pkg-config xxd ];
-
-  buildInputs = [ cmark-gfm fastJson libzip ];
-
-  meta = with lib; {
-    description = "Minimal Markdown Documentation";
-    mainProgram = "mmdoc";
-    homepage = "https://github.com/ryantm/mmdoc";
-    license = licenses.cc0;
-    maintainers = with maintainers; [ ryantm ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/morsel/default.nix b/pkgs/tools/text/morsel/default.nix
deleted file mode 100644
index 416f2e65782f..000000000000
--- a/pkgs/tools/text/morsel/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "morsel";
-  version = "0.1.1";
-
-  src = fetchFromGitHub {
-    owner = "SamLee514";
-    repo = "morsel";
-    rev = "v${version}";
-    hash = "sha256-bb+88GIyd92kHJAs25mJ9vmq0Ha2q0fdHnpTXhX2BFE=";
-  };
-
-  cargoHash = "sha256-XRl71n+rV6MTQMz957K5/25SX9HvYVW6qAuHTdfRLLs=";
-
-  meta = with lib; {
-    description = "Command line tool to translate morse code input to text in real time";
-    mainProgram = "morsel";
-    homepage = "https://github.com/SamLee514/morsel";
-    license = licenses.mit;
-    maintainers = with maintainers; [ siraben ];
-  };
-}
diff --git a/pkgs/tools/text/mpage/default.nix b/pkgs/tools/text/mpage/default.nix
deleted file mode 100644
index e7a114ec6577..000000000000
--- a/pkgs/tools/text/mpage/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ fetchurl, lib, stdenv }:
-
-stdenv.mkDerivation rec {
-  pname = "mpage";
-  version = "2.5.8";
-
-  src = fetchurl {
-    url = "https://www.mesa.nl/pub/mpage/mpage-${version}.tgz";
-    sha256 = "sha256-I1HpHSV5SzWN9mGPF6cBOijTUOwgQI/gb4Ej3EZz/pM=";
-  };
-
-  postPatch = ''
-    sed -i "Makefile" -e "s|^ *PREFIX *=.*$|PREFIX = $out|g"
-    substituteInPlace Makefile --replace 'gcc' '${stdenv.cc.targetPrefix}cc'
-  '';
-
-  meta = {
-    description = "Many-to-one page printing utility";
-    mainProgram = "mpage";
-
-    longDescription = ''
-      Mpage reads plain text files or PostScript documents and prints
-      them on a PostScript printer with the text reduced in size so
-      that several pages appear on one sheet of paper.  This is useful
-      for viewing large printouts on a small amount of paper.  It uses
-      ISO 8859.1 to print 8-bit characters.
-    '';
-
-    license = "liberal";  # a non-copyleft license, see `Copyright' file
-    homepage = "http://www.mesa.nl/pub/mpage/";
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/mrkd/default.nix b/pkgs/tools/text/mrkd/default.nix
deleted file mode 100644
index b43b6cfdf6ab..000000000000
--- a/pkgs/tools/text/mrkd/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, python3
-, fetchPypi
-}:
-
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-      # https://github.com/refi64/mrkd/pull/6
-      mistune = super.mistune.overridePythonAttrs (old: rec {
-        version = "0.8.4";
-        src = fetchPypi {
-          inherit (old) pname;
-          inherit version;
-          hash = "sha256-WaNCnbU8ULXGvMigf4hIywDX3IvbQxpKtBkg0gHUdW4=";
-        };
-        meta = old.meta // {
-          knownVulnerabilities = [
-            "CVE-2022-34749"
-          ];
-        };
-      });
-    };
-  };
-in python.pkgs.buildPythonApplication rec {
-  pname = "mrkd";
-  version = "0.2.0";
-
-  format = "setuptools";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "456f8c1be99da268554b29c6b5383532e58119def5a65d85270bc6a0ecc26aaf";
-  };
-
-  propagatedBuildInputs = with python.pkgs; [
-    jinja2
-    mistune
-    pygments
-    setuptools
-  ];
-
-  pythonImportsCheck = [ "mrkd" ];
-
-  meta = with lib; {
-    description = "Write man pages using Markdown, and convert them to Roff or HTML";
-    homepage = "https://github.com/refi64/mrkd";
-    license = licenses.bsd2;
-    mainProgram = "mrkd";
-    maintainers = with maintainers; [ prusnak ];
-  };
-}
diff --git a/pkgs/tools/text/multitran/mtutils/default.nix b/pkgs/tools/text/multitran/mtutils/default.nix
index f37a8f1bd342..658daf9ce230 100644
--- a/pkgs/tools/text/multitran/mtutils/default.nix
+++ b/pkgs/tools/text/multitran/mtutils/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "Multitran: simple command line utilities for dictionary maintenance";
     mainProgram = "mtquery";
     license = lib.licenses.gpl2Only;
-    maintainers = with lib.maintainers; [viric];
+    maintainers = [ ];
     platforms = with lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/text/mw/default.nix b/pkgs/tools/text/mw/default.nix
deleted file mode 100644
index c85b01828037..000000000000
--- a/pkgs/tools/text/mw/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, buildNpmPackage
-}:
-
-buildNpmPackage rec {
-  pname = "mw";
-  version = "unstable-2023-08-04";
-
-  src = fetchFromGitHub {
-    owner = "mark-when";
-    repo = "mw";
-    rev = "a8676da1c7812a051456fabcb980c52a72f6e75e";
-    hash = "sha256-i95WuTH8qY+0PYQA9kOykQL+4d4oB2Hlvg9sfGtDeCo=";
-  };
-
-  npmDepsHash = "sha256-D1hTaoM4j81qrrLMoKJ7OxJTfRoht3/yqgJs95EFxY4=";
-
-  # correctly substitute the usage message
-  postPatch = ''
-    substituteInPlace src/index.ts  --replace \
-    '.usage("$0' '.usage("mw'
-  '';
-
-  meta = {
-    changelog = "https://github.com/mark-when/mw/blob/${src.rev}/CHANGELOG.md";
-    description = "Markwhen CLI";
-    homepage = "https://github.com/mark-when/mw";
-    license = lib.licenses.mit;
-    longDescription = ''
-      Markwhen is an interactive text-to-timeline tool. Write markdown-ish text and it gets converted into a nice looking cascading timeline.
-    '';
-    mainProgram = "mw";
-    maintainers = with lib.maintainers; [ dit7ya ];
-  };
-}
diff --git a/pkgs/tools/text/namazu/default.nix b/pkgs/tools/text/namazu/default.nix
deleted file mode 100644
index e748515b0513..000000000000
--- a/pkgs/tools/text/namazu/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ fetchurl, lib, stdenv, perl, perlPackages, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "namazu";
-  version = "2.0.21";
-
-  src = fetchurl {
-    url = "http://namazu.org/stable/${pname}-${version}.tar.gz";
-    sha256 = "1xvi7hrprdchdpzhg3fvk4yifaakzgydza5c0m50h1yvg6vay62w";
-  };
-
-  buildInputs = [ perl perlPackages.FileMMagic ];
-  nativeBuildInputs = [ makeWrapper ];
-
-  postInstall = ''
-    wrapProgram $out/bin/mknmz --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.FileMMagic ]}
-  '';
-
-  meta = {
-    description = "Full-text search engine";
-
-    longDescription = ''
-      Namazu is a full-text search engine intended for easy use.  Not
-      only does it work as a small or medium scale Web search engine,
-      but also as a personal search system for email or other files.
-    '';
-
-    license = lib.licenses.gpl2Plus;
-    homepage = "http://namazu.org/";
-
-    platforms = lib.platforms.gnu ++ lib.platforms.linux;  # arbitrary choice
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/tools/text/nerdfix/default.nix b/pkgs/tools/text/nerdfix/default.nix
deleted file mode 100644
index fdad3094bbec..000000000000
--- a/pkgs/tools/text/nerdfix/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "nerdfix";
-  version = "0.4.0";
-
-  src = fetchFromGitHub {
-    owner = "loichyan";
-    repo = "nerdfix";
-    rev = "v${version}";
-    hash = "sha256-V9f39/9k9kYjngYOSXJYblaKDABPCZbVWxD0p3ZWzlY=";
-  };
-
-  cargoHash = "sha256-PkUQZPLzvVJ7s1D9TkMmgIVQiR/E79BRCYmjZVcHIv8=";
-
-  meta = with lib; {
-    description = "Nerdfix helps you to find/fix obsolete nerd font icons in your project";
-    mainProgram = "nerdfix";
-    homepage = "https://github.com/loichyan/nerdfix";
-    changelog = "https://github.com/loichyan/nerdfix/blob/${src.rev}/CHANGELOG.md";
-    license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/nkf/default.nix b/pkgs/tools/text/nkf/default.nix
deleted file mode 100644
index ae51ad37243b..000000000000
--- a/pkgs/tools/text/nkf/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  pname = "nkf";
-  version = "2.1.5";
-
-  src = fetchurl {
-    url = "mirror://osdn/nkf/70406/${pname}-${version}.tar.gz";
-    sha256 = "0i5dbcb9aipwr8ym4mhvgf1in3frl6y8h8x96cprz9s7b11xz9yi";
-  };
-
-  patches = [
-    # Pull upstream fix for parllel build failures
-    (fetchpatch {
-      name = "parallel-install.patch";
-      url = "http://git.osdn.net/view?p=nkf/nkf.git;a=patch;h=9ccff5975bec7963e591e042e1ab1139252a4dc9";
-      sha256 = "00f0x414gfch650b20w0yj5x2bd67hchmadl7v54lk3vdgkc6jwj";
-    })
-  ];
-
-  makeFlags = [ "prefix=$(out)" ];
-
-  meta = {
-    description = "Tool for converting encoding of Japanese text";
-    mainProgram = "nkf";
-    homepage = "https://nkf.osdn.jp/";
-    license = lib.licenses.zlib;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.auntie ];
-  };
-}
diff --git a/pkgs/tools/text/nltk_data/default.nix b/pkgs/tools/text/nltk-data/default.nix
index 6445dd8c06e2..56ec586cc397 100644
--- a/pkgs/tools/text/nltk_data/default.nix
+++ b/pkgs/tools/text/nltk-data/default.nix
@@ -1,7 +1,7 @@
 { lib, newScope, fetchFromGitHub, unzip, stdenvNoCC }:
 let
   base = {
-    version = "unstable-2023-02-02";
+    version = "0-unstable-2024-07-29";
     nativeBuildInputs = [ unzip ];
     dontBuild = true;
     meta = with lib; {
@@ -17,14 +17,14 @@ let
       src = fetchFromGitHub {
         owner = "nltk";
         repo = "nltk_data";
-        rev = "5db857e6f7df11eabb5e5665836db9ec8df07e28";
+        rev = "cfe82914f3c2d24363687f1db3b05e8b9f687e2b";
         inherit hash;
         sparseCheckout = [ "packages/${location}/${pname}.zip" ];
       };
     in
     stdenvNoCC.mkDerivation (base // {
       inherit pname src;
-      version = base.version;
+      inherit (base) version;
       installPhase = ''
         runHook preInstall
 
@@ -38,24 +38,34 @@ let
     });
 in
 lib.makeScope newScope (self: {
-  punkt = makeNltkDataPackage ({
+  punkt = makeNltkDataPackage {
     pname = "punkt";
     location = "tokenizers";
-    hash = "sha256-rMkgn3xzmSJNv8//kqbPF2Xq3Gf16lgA1Wx8FPYbaQo=";
-  });
-  averaged_perceptron_tagger = makeNltkDataPackage ({
+    hash = "sha256-OzMkruoYbFKqzuimOXIpE5lhHz8tmSqOFoLT+fjdTVg=";
+  };
+  punkt_tab = makeNltkDataPackage {
+    pname = "punkt_tab";
+    location = "tokenizers";
+    hash = "sha256-OzMkruoYbFKqzuimOXIpE5lhHz8tmSqOFoLT+fjdTVg=";
+  };
+  averaged_perceptron_tagger = makeNltkDataPackage {
     pname = "averaged_perceptron_tagger";
     location = "taggers";
-    hash = "sha256-ilTs4HWPUoHxQb4kWEy3wJ6QsE/98+EQya44gtV2inw=";
-  });
-  snowball_data = makeNltkDataPackage ({
+    hash = "sha256-tl3Cn2okhBkUtTXvAmFRx72Brez6iTGRdmFTwFmpk3M=";
+  };
+  snowball_data = makeNltkDataPackage {
     pname = "snowball_data";
     location = "stemmers";
-    hash = "sha256-Y6LERPtaRbCtWmJCvMAd2xH02xdrevZBFNYvP9N4+3s=";
-  });
-  stopwords = makeNltkDataPackage ({
+    hash = "sha256-mNefwOPVJGz9kXV3LV4DuV7FJpNir/Nwg4ujd0CogEk=";
+  };
+  stopwords = makeNltkDataPackage {
     pname = "stopwords";
     location = "corpora";
-    hash = "sha256-Rj1jnt6IDEmBbSIHHueyEvPmdE4EZ6/bJ3qehniebbk=";
-  });
+    hash = "sha256-8lMjW5YI8h6dHJ/83HVY2OYGDyKPpgkUAKPISiAKqqk=";
+  };
+  wordnet = makeNltkDataPackage {
+    pname = "wordnet";
+    location = "corpora";
+    hash = "sha256-8lMjW5YI8h6dHJ/83HVY2OYGDyKPpgkUAKPISiAKqqk=";
+  };
 })
diff --git a/pkgs/tools/text/num-utils/default.nix b/pkgs/tools/text/num-utils/default.nix
deleted file mode 100644
index 14784a4e8cfc..000000000000
--- a/pkgs/tools/text/num-utils/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl, perl }:
-
-stdenv.mkDerivation rec {
-  pname = "num-utils";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://suso.suso.org/programs/num-utils/downloads/num-utils-${version}.tar.gz";
-    sha256 = "0kn6yskjww2agcqvas5l2xp55mp4njdxqkdicchlji3qzih2fn83";
-  };
-
-  buildInputs = [ perl ];
-
-  patchPhase = ''
-    substituteInPlace Makefile --replace "-o 0 -g 0" "" --replace "\$(RPMDIR)" ""
-  '';
-  makeFlags = [
-    "TOPDIR=${placeholder "out"}"
-    "PERL=${perl}/bin/perl"
-  ];
-
-  meta = with lib; {
-    description = "Programs for dealing with numbers from the command line";
-    homepage = "https://suso.suso.org/xulu/Num-utils";
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.catern ];
-  };
-}
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
deleted file mode 100644
index 317d29003cd3..000000000000
--- a/pkgs/tools/text/numdiff/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl, libintl }:
-
-
-stdenv.mkDerivation rec {
-  pname = "numdiff";
-  version = "5.9.0";
-
-  src = fetchurl {
-    url = "mirror://savannah/numdiff/numdiff-${version}.tar.gz";
-    sha256 = "1vzmjh8mhwwysn4x4m2vif7q2k8i19x8azq7pzmkwwj4g48lla47";
-  };
-
-  buildInputs = [ libintl ];
-
-  meta = with lib; {
-    description = ''
-      A little program that can be used to compare putatively similar files
-      line by line and field by field, ignoring small numeric differences
-      or/and different numeric formats
-    '';
-    homepage = "https://www.nongnu.org/numdiff/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/odt2txt/default.nix b/pkgs/tools/text/odt2txt/default.nix
deleted file mode 100644
index 480c07f9cdcc..000000000000
--- a/pkgs/tools/text/odt2txt/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, zlib, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "odt2txt";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "${meta.homepage}/archive/v${version}.tar.gz";
-    sha256 = "23a889109ca9087a719c638758f14cc3b867a5dcf30a6c90bf6a0985073556dd";
-  };
-
-  configurePhase="export makeFlags=\"DESTDIR=$out\"";
-
-  buildInputs = [ zlib libiconv ];
-
-  meta = {
-    description = "Simple .odt to .txt converter";
-    mainProgram = "odt2txt";
-    homepage = "https://github.com/dstosberg/odt2txt";
-    platforms = lib.platforms.all;
-    license = lib.licenses.gpl2Only;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix
deleted file mode 100644
index bc4630b87178..000000000000
--- a/pkgs/tools/text/opencc/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchFromGitHub,
-  cmake,
-  python3,
-  opencc,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "opencc";
-  version = "1.1.7";
-
-  src = fetchFromGitHub {
-    owner = "BYVoid";
-    repo = "OpenCC";
-    rev = "ver.${version}";
-    sha256 = "sha256-N7nazA0xoQ2ewOGDiJg1vBBYMdF1/qiCfNjG5CFFbuk=";
-  };
-
-  nativeBuildInputs =
-    [
-      cmake
-      python3
-    ]
-    ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
-      opencc # opencc_dict
-    ];
-
-  meta = with lib; {
-    homepage = "https://github.com/BYVoid/OpenCC";
-    license = licenses.asl20;
-    description = "Project for conversion between Traditional and Simplified Chinese";
-    longDescription = ''
-      Open Chinese Convert (OpenCC) is an opensource project for conversion between
-      Traditional Chinese and Simplified Chinese, supporting character-level conversion,
-      phrase-level conversion, variant conversion and regional idioms among Mainland China,
-      Taiwan and Hong kong.
-    '';
-    maintainers = with maintainers; [ sifmelcara ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/text/ov/default.nix b/pkgs/tools/text/ov/default.nix
deleted file mode 100644
index 76271f3d389b..000000000000
--- a/pkgs/tools/text/ov/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-, pandoc
-, makeWrapper
-, testers
-, ov
-}:
-
-buildGoModule rec {
-  pname = "ov";
-  version = "0.34.1";
-
-  src = fetchFromGitHub {
-    owner = "noborus";
-    repo = "ov";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-1IFjnBIa/xCX2nY0RHhj/7OCYErY9QB/OBMaf3wDvrc=";
-  };
-
-  vendorHash = "sha256-USMDIgB4LhI4kzSg2kkCXfbN9t49WEg0fUtAcZkngac=";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=main.Version=v${version}"
-    "-X=main.Revision=${src.rev}"
-  ];
-
-  subPackages = [ "." ];
-
-  nativeBuildInputs = [
-    installShellFiles
-    pandoc
-    makeWrapper
-  ];
-
-  outputs = [ "out" "doc" ];
-
-  postInstall = ''
-    installShellCompletion --cmd ov \
-      --bash <($out/bin/ov completion bash) \
-      --fish <($out/bin/ov completion fish) \
-      --zsh <($out/bin/ov completion zsh)
-
-    mkdir -p $out/share/$name
-    cp $src/ov-less.yaml $out/share/$name/less-config.yaml
-    makeWrapper $out/bin/ov $out/bin/ov-less --add-flags "--config $out/share/$name/less-config.yaml"
-
-    mkdir -p $doc/share/doc/$name
-    pandoc -s < $src/README.md > $doc/share/doc/$name/README.html
-    mkdir -p $doc/share/$name
-    cp $src/ov.yaml $doc/share/$name/sample-config.yaml
-  '';
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = ov;
-      version = "v${version}";
-    };
-  };
-
-  meta = with lib; {
-    description = "Feature-rich terminal-based text viewer";
-    homepage = "https://noborus.github.io/ov";
-    changelog = "https://github.com/noborus/ov/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ farcaller figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/papeer/default.nix b/pkgs/tools/text/papeer/default.nix
deleted file mode 100644
index b8cbc477b174..000000000000
--- a/pkgs/tools/text/papeer/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "papeer";
-  version = "0.8.1";
-
-  src = fetchFromGitHub {
-    owner = "lapwat";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-nEt2rxI9slrEkbpMpXQM6+jO0QWQsuLdOswXPCSozJs=";
-  };
-
-  vendorHash = "sha256-3QRSdkx9p0H+zPB//bpWCBKKjKjrx0lHMk5lFm+U7pA=";
-
-  doCheck = false; # uses network
-
-  meta = {
-    description = "Convert websites into ebooks and markdown";
-    mainProgram = "papeer";
-    homepage = "https://papeer.tech/";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ ehmry ];
-  };
-}
diff --git a/pkgs/tools/text/paperoni/Cargo.lock b/pkgs/tools/text/paperoni/Cargo.lock
deleted file mode 100644
index e08a993ea54a..000000000000
--- a/pkgs/tools/text/paperoni/Cargo.lock
+++ /dev/null
@@ -1,3014 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "addr2line"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "aead"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "aes"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561"
-dependencies = [
- "aes-soft",
- "aesni",
- "cipher",
-]
-
-[[package]]
-name = "aes-gcm"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "ghash",
- "subtle",
-]
-
-[[package]]
-name = "aes-soft"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072"
-dependencies = [
- "cipher",
- "opaque-debug",
-]
-
-[[package]]
-name = "aesni"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce"
-dependencies = [
- "cipher",
- "opaque-debug",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.71"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
-
-[[package]]
-name = "async-channel"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
-dependencies = [
- "concurrent-queue",
- "event-listener",
- "futures-core",
-]
-
-[[package]]
-name = "async-executor"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
-dependencies = [
- "async-lock",
- "async-task",
- "concurrent-queue",
- "fastrand",
- "futures-lite",
- "slab",
-]
-
-[[package]]
-name = "async-global-executor"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
-dependencies = [
- "async-channel",
- "async-executor",
- "async-io",
- "async-lock",
- "blocking",
- "futures-lite",
- "once_cell",
-]
-
-[[package]]
-name = "async-io"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
-dependencies = [
- "async-lock",
- "autocfg",
- "cfg-if",
- "concurrent-queue",
- "futures-lite",
- "log 0.4.17",
- "parking",
- "polling",
- "rustix",
- "slab",
- "socket2",
- "waker-fn",
-]
-
-[[package]]
-name = "async-lock"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
-dependencies = [
- "event-listener",
-]
-
-[[package]]
-name = "async-std"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
-dependencies = [
- "async-channel",
- "async-global-executor",
- "async-io",
- "async-lock",
- "crossbeam-utils",
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-lite",
- "gloo-timers",
- "kv-log-macro",
- "log 0.4.17",
- "memchr",
- "once_cell",
- "pin-project-lite",
- "pin-utils",
- "slab",
- "wasm-bindgen-futures",
-]
-
-[[package]]
-name = "async-task"
-version = "4.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
-
-[[package]]
-name = "async-trait"
-version = "0.1.68"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "atomic-waker"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "backtrace"
-version = "0.3.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "base-x"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
-
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "blocking"
-version = "1.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
-dependencies = [
- "async-channel",
- "async-lock",
- "async-task",
- "atomic-waker",
- "fastrand",
- "futures-lite",
- "log 0.4.17",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
-
-[[package]]
-name = "bytes"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
-
-[[package]]
-name = "cc"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-integer",
- "num-traits",
- "time 0.1.45",
- "wasm-bindgen",
- "winapi",
-]
-
-[[package]]
-name = "cipher"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim 0.8.0",
- "textwrap",
- "unicode-width",
- "vec_map",
- "yaml-rust",
-]
-
-[[package]]
-name = "colored"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
-dependencies = [
- "atty",
- "lazy_static",
- "winapi",
-]
-
-[[package]]
-name = "comfy-table"
-version = "3.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c93d79ba722818d1a6aedfbe2cf4889330c856d0c6772951efbbf3dd283c070a"
-dependencies = [
- "crossterm",
- "strum",
- "strum_macros",
-]
-
-[[package]]
-name = "concurrent-queue"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "console"
-version = "0.15.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
-dependencies = [
- "encode_unicode",
- "lazy_static",
- "libc",
- "windows-sys 0.42.0",
-]
-
-[[package]]
-name = "const_fn"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
-
-[[package]]
-name = "convert_case"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-
-[[package]]
-name = "cookie"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951"
-dependencies = [
- "aes-gcm",
- "base64",
- "hkdf",
- "hmac",
- "percent-encoding",
- "rand 0.8.5",
- "sha2",
- "time 0.2.27",
- "version_check",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "cpuid-bool"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba"
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "crossterm"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ebde6a9dd5e331cd6c6f48253254d117642c31653baa475e394657c59c1f7d"
-dependencies = [
- "bitflags",
- "crossterm_winapi",
- "libc",
- "mio",
- "parking_lot 0.11.2",
- "signal-hook",
- "signal-hook-mio",
- "winapi",
-]
-
-[[package]]
-name = "crossterm_winapi"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a6966607622438301997d3dac0d2f6e9a90c68bb6bc1785ea98456ab93c0507"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "crypto-mac"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
-[[package]]
-name = "cssparser"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
-dependencies = [
- "cssparser-macros",
- "dtoa-short",
- "itoa 0.4.8",
- "matches",
- "phf",
- "proc-macro2",
- "quote",
- "smallvec",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "cssparser-macros"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
-dependencies = [
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "ctor"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
-dependencies = [
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "ctr"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "curl"
-version = "0.4.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
-dependencies = [
- "curl-sys",
- "libc",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "socket2",
- "winapi",
-]
-
-[[package]]
-name = "curl-sys"
-version = "0.4.61+curl-8.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d05c10f541ae6f3bc5b3d923c20001f47db7d5f0b2bc6ad16490133842db79"
-dependencies = [
- "cc",
- "libc",
- "libnghttp2-sys",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
- "winapi",
-]
-
-[[package]]
-name = "darling"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2",
- "quote",
- "strsim 0.10.0",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a"
-dependencies = [
- "darling_core",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "derive_builder"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
-dependencies = [
- "derive_builder_macro",
-]
-
-[[package]]
-name = "derive_builder_core"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "derive_builder_macro"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
-dependencies = [
- "derive_builder_core",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "derive_more"
-version = "0.99.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
-dependencies = [
- "convert_case",
- "proc-macro2",
- "quote",
- "rustc_version 0.4.0",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "directories"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
-[[package]]
-name = "discard"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
-
-[[package]]
-name = "dtoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
-
-[[package]]
-name = "dtoa-short"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6"
-dependencies = [
- "dtoa",
-]
-
-[[package]]
-name = "either"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
-
-[[package]]
-name = "encode_unicode"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "epub-builder"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d8b1b5059c4b990da60cb6fee785e49ea09d1ed8249d91e2dddfd92b74b7cbc"
-dependencies = [
- "chrono",
- "error-chain",
- "html-escape",
- "lazy_static",
- "mustache",
- "regex",
- "tempdir",
- "uuid",
- "zip",
-]
-
-[[package]]
-name = "errno"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "error-chain"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
-dependencies = [
- "backtrace",
- "version_check",
-]
-
-[[package]]
-name = "event-listener"
-version = "2.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
-
-[[package]]
-name = "fastrand"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "flexi_logger"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "081e9563bb9600593f0f5d38c24f0e3dc550cd301b4872b986e20f1874104791"
-dependencies = [
- "atty",
- "chrono",
- "glob",
- "lazy_static",
- "log 0.4.17",
- "regex",
- "thiserror",
- "yansi",
-]
-
-[[package]]
-name = "flume"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bebadab126f8120d410b677ed95eee4ba6eb7c6dd8e34a5ec88a08050e26132"
-dependencies = [
- "futures-core",
- "futures-sink",
- "spinning_top",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "futf"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
-dependencies = [
- "mac",
- "new_debug_unreachable",
-]
-
-[[package]]
-name = "futures"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
-
-[[package]]
-name = "futures-lite"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
-dependencies = [
- "fastrand",
- "futures-core",
- "futures-io",
- "memchr",
- "parking",
- "pin-project-lite",
- "waker-fn",
-]
-
-[[package]]
-name = "futures-macro"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
-
-[[package]]
-name = "futures-task"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
-
-[[package]]
-name = "futures-util"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "ghash"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"
-dependencies = [
- "opaque-debug",
- "polyval",
-]
-
-[[package]]
-name = "gimli"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
-
-[[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "gloo-timers"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
-dependencies = [
- "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "hkdf"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f"
-dependencies = [
- "digest",
- "hmac",
-]
-
-[[package]]
-name = "hmac"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
-dependencies = [
- "crypto-mac",
- "digest",
-]
-
-[[package]]
-name = "html-escape"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476"
-dependencies = [
- "utf8-width",
-]
-
-[[package]]
-name = "html5ever"
-version = "0.25.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
-dependencies = [
- "log 0.4.17",
- "mac",
- "markup5ever",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "http"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
-dependencies = [
- "bytes 1.4.0",
- "fnv",
- "itoa 1.0.6",
-]
-
-[[package]]
-name = "http-client"
-version = "6.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1947510dc91e2bf586ea5ffb412caad7673264e14bb39fb9078da114a94ce1a5"
-dependencies = [
- "async-std",
- "async-trait",
- "cfg-if",
- "http-types",
- "isahc",
- "log 0.4.17",
-]
-
-[[package]]
-name = "http-types"
-version = "2.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad"
-dependencies = [
- "anyhow",
- "async-channel",
- "async-std",
- "base64",
- "cookie",
- "futures-lite",
- "infer",
- "pin-project-lite",
- "rand 0.7.3",
- "serde",
- "serde_json",
- "serde_qs",
- "serde_urlencoded",
- "url",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
-name = "idna"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indicatif"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b"
-dependencies = [
- "console",
- "lazy_static",
- "number_prefix",
- "regex",
-]
-
-[[package]]
-name = "infer"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "isahc"
-version = "0.9.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2948a0ce43e2c2ef11d7edf6816508998d99e13badd1150be0914205df9388a"
-dependencies = [
- "bytes 0.5.6",
- "crossbeam-utils",
- "curl",
- "curl-sys",
- "flume",
- "futures-lite",
- "http",
- "log 0.4.17",
- "once_cell",
- "slab",
- "sluice",
- "tracing",
- "tracing-futures",
- "url",
- "waker-fn",
-]
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
-[[package]]
-name = "itoa"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-
-[[package]]
-name = "js-sys"
-version = "0.3.62"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "kuchiki"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358"
-dependencies = [
- "cssparser",
- "html5ever",
- "matches",
- "selectors",
-]
-
-[[package]]
-name = "kv-log-macro"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
-dependencies = [
- "log 0.4.17",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.144"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
-
-[[package]]
-name = "libnghttp2-sys"
-version = "0.1.7+1.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ed28aba195b38d5ff02b9170cbff627e336a20925e43b4945390401c5dc93f"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "libz-sys"
-version = "1.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f"
-
-[[package]]
-name = "lock_api"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.17",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
- "value-bag",
-]
-
-[[package]]
-name = "mac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
-
-[[package]]
-name = "markup5ever"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
-dependencies = [
- "log 0.4.17",
- "phf",
- "phf_codegen",
- "string_cache",
- "string_cache_codegen",
- "tendril",
-]
-
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
-name = "md5"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
-name = "mime_guess"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
-dependencies = [
- "mime",
- "unicase",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.7.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
-dependencies = [
- "libc",
- "log 0.4.17",
- "miow",
- "ntapi",
- "winapi",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "mustache"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51956ef1c5d20a1384524d91e616fb44dfc7d8f249bf696d49c97dd3289ecab5"
-dependencies = [
- "log 0.3.9",
- "serde",
-]
-
-[[package]]
-name = "new_debug_unreachable"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
-[[package]]
-name = "nodrop"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
-
-[[package]]
-name = "ntapi"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "number_prefix"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
-
-[[package]]
-name = "object"
-version = "0.30.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.87"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "paperoni"
-version = "0.6.1-alpha1"
-dependencies = [
- "async-std",
- "base64",
- "chrono",
- "clap",
- "colored",
- "comfy-table",
- "derive_builder",
- "directories",
- "epub-builder",
- "flexi_logger",
- "futures",
- "html5ever",
- "indicatif",
- "itertools",
- "kuchiki",
- "lazy_static",
- "log 0.4.17",
- "md5",
- "regex",
- "surf",
- "thiserror",
- "url",
-]
-
-[[package]]
-name = "parking"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
-
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core 0.9.7",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "phf"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-dependencies = [
- "phf_macros",
- "phf_shared 0.8.0",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
-dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
-dependencies = [
- "phf_shared 0.8.0",
- "rand 0.7.3",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
-dependencies = [
- "phf_shared 0.10.0",
- "rand 0.8.5",
-]
-
-[[package]]
-name = "phf_macros"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
-dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "pin-project"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
-name = "polling"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
-dependencies = [
- "autocfg",
- "bitflags",
- "cfg-if",
- "concurrent-queue",
- "libc",
- "log 0.4.17",
- "pin-project-lite",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "polyval"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd"
-dependencies = [
- "cpuid-bool",
- "opaque-debug",
- "universal-hash",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "precomputed-hash"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
-dependencies = [
- "fuchsia-cprng",
- "libc",
- "rand_core 0.3.1",
- "rdrand",
- "winapi",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
- "rand_pcg",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.9",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_users"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
-dependencies = [
- "getrandom 0.2.9",
- "redox_syscall",
- "thiserror",
-]
-
-[[package]]
-name = "regex"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver 0.9.0",
-]
-
-[[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver 1.0.17",
-]
-
-[[package]]
-name = "rustix"
-version = "0.37.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
-dependencies = [
- "bitflags",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "schannel"
-version = "0.1.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
-dependencies = [
- "windows-sys 0.42.0",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "selectors"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
-dependencies = [
- "bitflags",
- "cssparser",
- "derive_more",
- "fxhash",
- "log 0.4.17",
- "matches",
- "phf",
- "phf_codegen",
- "precomputed-hash",
- "servo_arc",
- "smallvec",
- "thin-slice",
-]
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
-[[package]]
-name = "serde"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
-dependencies = [
- "itoa 1.0.6",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_qs"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
-dependencies = [
- "percent-encoding",
- "serde",
- "thiserror",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
-dependencies = [
- "form_urlencoded",
- "itoa 1.0.6",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "servo_arc"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
-dependencies = [
- "nodrop",
- "stable_deref_trait",
-]
-
-[[package]]
-name = "sha1"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
-dependencies = [
- "sha1_smol",
-]
-
-[[package]]
-name = "sha1_smol"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
-
-[[package]]
-name = "sha2"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
-dependencies = [
- "block-buffer",
- "cfg-if",
- "cpufeatures",
- "digest",
- "opaque-debug",
-]
-
-[[package]]
-name = "signal-hook"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
-name = "signal-hook-mio"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
-dependencies = [
- "libc",
- "mio",
- "signal-hook",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "siphasher"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
-
-[[package]]
-name = "slab"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "sluice"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
-dependencies = [
- "async-channel",
- "futures-core",
- "futures-io",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "socket2"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "spinning_top"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9eb1a2f4c41445a3a0ff9abc5221c5fcd28e1f13cd7c0397706f9ac938ddb0"
-dependencies = [
- "lock_api",
-]
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
-[[package]]
-name = "standback"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
-dependencies = [
- "version_check",
-]
-
-[[package]]
-name = "stdweb"
-version = "0.4.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
-dependencies = [
- "discard",
- "rustc_version 0.2.3",
- "stdweb-derive",
- "stdweb-internal-macros",
- "stdweb-internal-runtime",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "stdweb-derive"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
-dependencies = [
- "proc-macro2",
- "quote",
- "serde",
- "serde_derive",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "stdweb-internal-macros"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
-dependencies = [
- "base-x",
- "proc-macro2",
- "quote",
- "serde",
- "serde_derive",
- "serde_json",
- "sha1",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "stdweb-internal-runtime"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
-
-[[package]]
-name = "string_cache"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
-dependencies = [
- "new_debug_unreachable",
- "once_cell",
- "parking_lot 0.12.1",
- "phf_shared 0.10.0",
- "precomputed-hash",
- "serde",
-]
-
-[[package]]
-name = "string_cache_codegen"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
-dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
- "proc-macro2",
- "quote",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "strum"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
-
-[[package]]
-name = "strum_macros"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "subtle"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
-[[package]]
-name = "surf"
-version = "2.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "718b1ae6b50351982dedff021db0def601677f2120938b070eadb10ba4038dd7"
-dependencies = [
- "async-std",
- "async-trait",
- "cfg-if",
- "encoding_rs",
- "futures-util",
- "getrandom 0.2.9",
- "http-client",
- "http-types",
- "log 0.4.17",
- "mime_guess",
- "once_cell",
- "pin-project-lite",
- "serde",
- "serde_json",
- "web-sys",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempdir"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
-dependencies = [
- "rand 0.4.6",
- "remove_dir_all",
-]
-
-[[package]]
-name = "tendril"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
-dependencies = [
- "futf",
- "mac",
- "utf-8",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "thin-slice"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
-
-[[package]]
-name = "thiserror"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "time"
-version = "0.2.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
-dependencies = [
- "const_fn",
- "libc",
- "standback",
- "stdweb",
- "time-macros",
- "version_check",
- "winapi",
-]
-
-[[package]]
-name = "time-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
-dependencies = [
- "proc-macro-hack",
- "time-macros-impl",
-]
-
-[[package]]
-name = "time-macros-impl"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
-dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "standback",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "tracing"
-version = "0.1.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
-dependencies = [
- "cfg-if",
- "log 0.4.17",
- "pin-project-lite",
- "tracing-attributes",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-attributes"
-version = "0.1.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "tracing-futures"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
-dependencies = [
- "pin-project",
- "tracing",
-]
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
-name = "universal-hash"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
-[[package]]
-name = "url"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
- "serde",
-]
-
-[[package]]
-name = "utf-8"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-
-[[package]]
-name = "utf8-width"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
-
-[[package]]
-name = "uuid"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
-dependencies = [
- "getrandom 0.2.9",
-]
-
-[[package]]
-name = "value-bag"
-version = "1.0.0-alpha.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
-dependencies = [
- "ctor",
- "version_check",
-]
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "waker-fn"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822"
-dependencies = [
- "bumpalo",
- "log 0.4.17",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn 2.0.15",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "083abe15c5d88556b77bdf7aef403625be9e327ad37c62c4e4129af740168163"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb"
-
-[[package]]
-name = "web-sys"
-version = "0.3.62"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b5f940c7edfdc6d12126d98c9ef4d1b3d470011c47c76a6581df47ad9ba721"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "yaml-rust"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992"
-
-[[package]]
-name = "yansi"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
-
-[[package]]
-name = "zip"
-version = "0.5.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
-dependencies = [
- "byteorder",
- "crc32fast",
- "thiserror",
- "time 0.1.45",
-]
diff --git a/pkgs/tools/text/paperoni/default.nix b/pkgs/tools/text/paperoni/default.nix
deleted file mode 100644
index 1ceb29f1265a..000000000000
--- a/pkgs/tools/text/paperoni/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, curl
-, stdenv
-, pkg-config
-, zlib
-, openssl
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "paperoni";
-  version = "0.6.1-alpha1";
-
-  src = fetchFromGitHub {
-    owner = "hipstermojo";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-vTylnDtoPpiRtk/vew1hLq3g8pepWRVqBEBnvSif4Zw=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-  };
-
-  nativeBuildInputs = [
-    curl
-  ] ++ lib.optionals stdenv.isLinux [
-    pkg-config
-  ];
-
-  buildInputs = [
-    curl
-    zlib
-  ] ++ lib.optionals stdenv.isLinux [
-    openssl
-  ];
-
-  # update Cargo.lock to work with openssl 3
-  postPatch = ''
-    ln -sf ${./Cargo.lock} Cargo.lock
-  '';
-
-  meta = with lib; {
-    description = "Article extractor in Rust";
-    mainProgram = "paperoni";
-    homepage = "https://github.com/hipstermojo/paperoni";
-    changelog = "https://github.com/hipstermojo/paperoni/releases/tag/${src.rev}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/tools/text/papertrail/Gemfile b/pkgs/tools/text/papertrail/Gemfile
deleted file mode 100755
index 199cd1422aaa..000000000000
--- a/pkgs/tools/text/papertrail/Gemfile
+++ /dev/null
@@ -1,4 +0,0 @@
-# frozen_string_literal: true
-source "https://rubygems.org"
-
-gem "papertrail"
diff --git a/pkgs/tools/text/papertrail/Gemfile.lock b/pkgs/tools/text/papertrail/Gemfile.lock
deleted file mode 100644
index 37cd23eab6f5..000000000000
--- a/pkgs/tools/text/papertrail/Gemfile.lock
+++ /dev/null
@@ -1,17 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    ansi (1.5.0)
-    chronic (0.10.2)
-    papertrail (0.10.1)
-      ansi (~> 1.5)
-      chronic (~> 0.10)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  papertrail
-
-BUNDLED WITH
-   2.1.4
diff --git a/pkgs/tools/text/papertrail/default.nix b/pkgs/tools/text/papertrail/default.nix
deleted file mode 100644
index 5e2b080f9852..000000000000
--- a/pkgs/tools/text/papertrail/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, bundlerEnv, ruby, bundlerUpdateScript }:
-
-let
-  papertrail-env = bundlerEnv {
-    name = "papertrail-env";
-    inherit ruby;
-    gemfile = ./Gemfile;
-    lockfile = ./Gemfile.lock;
-    gemset = ./gemset.nix;
-  };
-in stdenv.mkDerivation {
-  pname = "papertrail";
-  version = (import ./gemset.nix).papertrail.version;
-
-  dontUnpack = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    ln -s ${papertrail-env}/bin/papertrail $out/bin/papertrail
-  '';
-
-  passthru.updateScript = bundlerUpdateScript "papertrail";
-
-  meta = with lib; {
-    description = "Command-line client for Papertrail log management service";
-    mainProgram = "papertrail";
-    homepage    = "https://github.com/papertrail/papertrail-cli/";
-    license     = licenses.mit;
-    maintainers = with maintainers; [ nicknovitski ];
-    platforms   = ruby.meta.platforms;
-  };
-}
diff --git a/pkgs/tools/text/papertrail/gemset.nix b/pkgs/tools/text/papertrail/gemset.nix
deleted file mode 100644
index dcdfcdf7ea58..000000000000
--- a/pkgs/tools/text/papertrail/gemset.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  ansi = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14ims9zfal4gs2wpx2m5rd8zsrl2k794d359shkrsgg3fhr2a22l";
-      type = "gem";
-    };
-    version = "1.5.0";
-  };
-  chronic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
-      type = "gem";
-    };
-    version = "0.10.2";
-  };
-  papertrail = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0vb7bh7qh5hr4v3w711bl0yrr3rlhz5c3h3qx3fq31dr5y4100v7";
-      type = "gem";
-    };
-    version = "0.10.1";
-  };
-}
diff --git a/pkgs/tools/text/par/default.nix b/pkgs/tools/text/par/default.nix
deleted file mode 100644
index c62df86835c0..000000000000
--- a/pkgs/tools/text/par/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{lib, stdenv, fetchurl}:
-
-stdenv.mkDerivation rec {
-  pname = "par";
-  version = "1.53.0";
-
-  src = fetchurl {
-    url = "http://www.nicemice.net/par/Par-${version}.tar.gz";
-    sha256 = "sha256-yAnGIOuCtYlVOsVLmJjI2lUZbSYjOdE8BG8r5ErEeAQ=";
-  };
-
-  makefile = "protoMakefile";
-  preBuild = ''
-    makeFlagsArray+=(CC="${stdenv.cc.targetPrefix}cc -c" LINK1=${stdenv.cc.targetPrefix}cc)
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp par $out/bin
-
-    mkdir -p $out/share/man/man1
-    cp  par.1 $out/share/man/man1
-  '';
-
-
-  meta = with lib; {
-    homepage = "http://www.nicemice.net/par/";
-    description = "Paragraph reflow for email";
-    mainProgram = "par";
-    platforms = platforms.unix;
-    # See https://fedoraproject.org/wiki/Licensing/Par for license details
-    license = licenses.free;
-  };
-}
diff --git a/pkgs/tools/text/pbgopy/default.nix b/pkgs/tools/text/pbgopy/default.nix
deleted file mode 100644
index 0e1e766456a8..000000000000
--- a/pkgs/tools/text/pbgopy/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "pbgopy";
-  version = "0.3.0";
-
-  src = fetchFromGitHub {
-    owner = "nakabonne";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-P/MFDFMsqSTVErTM9izJJSMIbiOcbQ9Ya10/w6NRcYw=";
-  };
-
-  vendorHash = "sha256-S2X74My6wyDZOsEYTDilCFaYgV2vQzU0jOAY9cEkJ6A=";
-
-  meta = with lib; {
-    description = "Copy and paste between devices";
-    mainProgram = "pbgopy";
-    homepage = "https://github.com/nakabonne/pbgopy";
-    license = licenses.mit;
-    maintainers = [ maintainers.ivar ];
-  };
-}
diff --git a/pkgs/tools/text/peco/default.nix b/pkgs/tools/text/peco/default.nix
deleted file mode 100644
index 774b2f5a0d1e..000000000000
--- a/pkgs/tools/text/peco/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "peco";
-  version = "0.5.11";
-
-  subPackages = [ "cmd/peco" ];
-
-  src = fetchFromGitHub {
-    owner = "peco";
-    repo = "peco";
-    rev = "v${version}";
-    sha256 = "sha256-OVUfeNpnmuJsgD//JTn6n9n4oOBxep69LhIpHX+ru2w=";
-  };
-
-  vendorHash = "sha256-+HQz7UUgATdgSWlI1dg2DdQRUSke9MyAtXgLikFhF90=";
-
-  meta = with lib; {
-    description = "Simplistic interactive filtering tool";
-    mainProgram = "peco";
-    homepage = "https://github.com/peco/peco";
-    changelog = "https://github.com/peco/peco/blob/v${version}/Changes";
-    license = licenses.mit;
-    maintainers = with maintainers; [ pSub ];
-  };
-}
diff --git a/pkgs/tools/text/percollate/default.nix b/pkgs/tools/text/percollate/default.nix
deleted file mode 100644
index 09c749a1680b..000000000000
--- a/pkgs/tools/text/percollate/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, buildNpmPackage, fetchFromGitHub, chromium, makeWrapper }:
-
-buildNpmPackage rec {
-  pname = "percollate";
-  version = "4.2.1";
-
-  src = fetchFromGitHub {
-    owner = "danburzo";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-vGBGw9dUOSvSqM4WN53bb2LRduLjR6fW99C0ScdMVXk=";
-  };
-
-  npmDepsHash = "sha256-Qne4XjUmJS5e6x380CFY3Kd7/5coXHMxniMfqYIHQcQ=";
-
-  dontNpmBuild = true;
-
-  # Dev dependencies include an unnecessary Java dependency (epubchecker)
-  # https://github.com/danburzo/percollate/blob/v4.2.1/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 = "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/pkgs/tools/text/pinyin-tool/default.nix b/pkgs/tools/text/pinyin-tool/default.nix
index 9d434d1aa98f..e287c2a5cc79 100644
--- a/pkgs/tools/text/pinyin-tool/default.nix
+++ b/pkgs/tools/text/pinyin-tool/default.nix
@@ -11,9 +11,9 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1gwqwxlvdrm4sdyqkvpvvfi6jh6qqn6qybn0z66wm06k62f8zj5b";
   };
 
-  cargoSha256 = "1ixl4bsb8c8dmz9s28a2v5l5f2hi3g9xjy6ribmhybpwmfs4mr4d";
+  cargoHash = "sha256-jeRKtKv8Lg/ritl42dMbEQpXaNlCIaHTrw0xtPQitMc=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
 
   meta = with lib; {
     description = "Simple command line tool for converting Chinese characters to space-separate pinyin words";
diff --git a/pkgs/tools/text/platinum-searcher/default.nix b/pkgs/tools/text/platinum-searcher/default.nix
deleted file mode 100644
index 92386af9cb34..000000000000
--- a/pkgs/tools/text/platinum-searcher/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
-
-buildGoModule rec {
-  pname = "the_platinum_searcher";
-  version = "2.2.0";
-
-  src = fetchFromGitHub {
-    owner = "monochromegane";
-    repo = "the_platinum_searcher";
-    rev = "v${version}";
-    hash = "sha256-FNHlALFwMbajaHWOehdSFeQmvZSuCZLdqGqLZ7DF+pI=";
-  };
-
-  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";
-    description = "Code search tool similar to ack and the_silver_searcher(ag)";
-    mainProgram = "pt";
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/tools/text/pn/default.nix b/pkgs/tools/text/pn/default.nix
deleted file mode 100644
index ddb6e6ea1f88..000000000000
--- a/pkgs/tools/text/pn/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libphonenumber, icu, protobuf }:
-
-stdenv.mkDerivation rec {
-  pname = "pn";
-  version = "0.9.0";
-
-  src = fetchFromGitHub {
-    owner = "Orange-OpenSource";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-vRF9MPcw/hCreHVLD6QB7g1r0wQiZv1xrfzIHj1Yf9M=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libphonenumber icu protobuf ];
-
-  meta = with lib; {
-    description = "Libphonenumber command-line wrapper";
-    mainProgram = "pn";
-    homepage = "https://github.com/Orange-OpenSource/pn";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.McSinyx ];
-  };
-}
diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix
deleted file mode 100644
index b59aba6c4615..000000000000
--- a/pkgs/tools/text/podiff/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  pname = "podiff";
-  version = "1.4";
-
-  src = fetchurl {
-    url = "ftp://download.gnu.org.ua/pub/release/podiff/podiff-1.4.tar.gz";
-    sha256 = "sha256-IxUx87CxdhWh8MqdcSo8GWaG358aZBaIx0oldK94sio=";
-  };
-
-  patchPhase = ''
-    sed "s#PREFIX=/usr#PREFIX=$out#g" -i Makefile
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-  '';
-
-  meta = with lib; {
-    description = "Finds differences in translations between two PO files, or revisions";
-    mainProgram = "podiff";
-    homepage = "http://puszcza.gnu.org.ua/software/podiff";
-    license = licenses.gpl3Plus;
-    maintainers = [ maintainers.goibhniu ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/poedit/default.nix b/pkgs/tools/text/poedit/default.nix
index 58185538193f..101a08422c18 100644
--- a/pkgs/tools/text/poedit/default.nix
+++ b/pkgs/tools/text/poedit/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "poedit";
-  version = "3.4.2";
+  version = "3.4.4";
 
   src = fetchFromGitHub {
     owner = "vslavik";
     repo = "poedit";
     rev = "v${version}-oss";
-    hash = "sha256-CfCWfKRzeGGk8/B0BLauO4Xb88/Si1ezvcGKeURgC9o=";
+    hash = "sha256-SZjsJQYJCXQendzQ2Tobg+IgkWL6lFX5YnMfruPt7UA=";
   };
 
   nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook3
@@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ dasj19 ];
     # configure: error: GTK+ build of wxWidgets is required
-    broken = stdenv.isDarwin;
+    broken = stdenv.hostPlatform.isDarwin;
   };
 }
diff --git a/pkgs/tools/text/pomsky/Cargo.lock b/pkgs/tools/text/pomsky/Cargo.lock
deleted file mode 100644
index 2064e8c6a1ff..000000000000
--- a/pkgs/tools/text/pomsky/Cargo.lock
+++ /dev/null
@@ -1,1236 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
-
-[[package]]
-name = "arbitrary"
-version = "1.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2e1373abdaa212b704512ec2bd8b26bd0b7d5c3f70117411a5d9a451383c859"
-dependencies = [
- "derive_arbitrary",
-]
-
-[[package]]
-name = "assert_cmd"
-version = "2.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
-dependencies = [
- "anstyle",
- "bstr",
- "doc-comment",
- "predicates 3.0.4",
- "predicates-core",
- "predicates-tree",
- "wait-timeout",
-]
-
-[[package]]
-name = "assert_fs"
-version = "1.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f070617a68e5c2ed5d06ee8dd620ee18fb72b99f6c094bed34cf8ab07c875b48"
-dependencies = [
- "anstyle",
- "doc-comment",
- "globwalk",
- "predicates 3.0.4",
- "predicates-core",
- "predicates-tree",
- "tempfile",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "benchmark"
-version = "0.1.3"
-dependencies = [
- "divan",
- "melody_compiler",
- "pomsky",
-]
-
-[[package]]
-name = "bindgen"
-version = "0.64.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
-dependencies = [
- "bitflags 1.3.2",
- "cexpr",
- "clang-sys",
- "lazy_static",
- "lazycell",
- "log",
- "peeking_take_while",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash",
- "shlex",
- "syn 1.0.109",
- "which",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bstr"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
-dependencies = [
- "memchr",
- "regex-automata",
- "serde",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "jobserver",
- "libc",
-]
-
-[[package]]
-name = "cexpr"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
-dependencies = [
- "nom",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "clang-sys"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
-dependencies = [
- "glob",
- "libc",
- "libloading",
-]
-
-[[package]]
-name = "clap"
-version = "4.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
-dependencies = [
- "clap_builder",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
-dependencies = [
- "anstyle",
- "clap_lex",
- "terminal_size 0.3.0",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
-
-[[package]]
-name = "condtype"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
-name = "derive_arbitrary"
-version = "1.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "difflib"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
-]
-
-[[package]]
-name = "divan"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fab20f5802e0b897093184f5dc5d23447fa715604f238dc798f6da188b230019"
-dependencies = [
- "clap",
- "condtype",
- "divan-macros",
- "linkme",
- "regex-lite",
-]
-
-[[package]]
-name = "divan-macros"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c5d6354551e0b5c451a948814fc47fe745a14eac7835c087d60162661019db4"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
-name = "either"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
-
-[[package]]
-name = "errno"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
-dependencies = [
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "fastrand"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
-
-[[package]]
-name = "float-cmp"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "globset"
-version = "0.4.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
-dependencies = [
- "aho-corasick",
- "bstr",
- "fnv",
- "log",
- "regex",
-]
-
-[[package]]
-name = "globwalk"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
-dependencies = [
- "bitflags 1.3.2",
- "ignore",
- "walkdir",
-]
-
-[[package]]
-name = "helptext"
-version = "0.1.0"
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
-
-[[package]]
-name = "home"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-dependencies = [
- "windows-sys",
-]
-
-[[package]]
-name = "ignore"
-version = "0.4.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
-dependencies = [
- "globset",
- "lazy_static",
- "log",
- "memchr",
- "regex",
- "same-file",
- "thread_local",
- "walkdir",
- "winapi-util",
-]
-
-[[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix",
- "windows-sys",
-]
-
-[[package]]
-name = "is_ci"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb"
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-
-[[package]]
-name = "jobserver"
-version = "0.1.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
-[[package]]
-name = "lexopt"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401"
-
-[[package]]
-name = "libc"
-version = "0.2.149"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
-
-[[package]]
-name = "libloading"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
-dependencies = [
- "cfg-if",
- "winapi",
-]
-
-[[package]]
-name = "linkme"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ed2ee9464ff9707af8e9ad834cffa4802f072caad90639c583dd3c62e6e608"
-dependencies = [
- "linkme-impl",
-]
-
-[[package]]
-name = "linkme-impl"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
-
-[[package]]
-name = "log"
-version = "0.4.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
-
-[[package]]
-name = "melody_compiler"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7684213d4adcea6264d0fd61379a0eb9968d0866de0f05c75dee3af02a6c6ff8"
-dependencies = [
- "once_cell",
- "pest",
- "pest_derive",
- "thiserror",
-]
-
-[[package]]
-name = "memchr"
-version = "2.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "miette"
-version = "5.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e"
-dependencies = [
- "is-terminal",
- "miette-derive",
- "once_cell",
- "owo-colors",
- "supports-color",
- "supports-hyperlinks",
- "supports-unicode",
- "terminal_size 0.1.17",
- "textwrap",
- "thiserror",
- "unicode-width",
-]
-
-[[package]]
-name = "miette-derive"
-version = "5.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
-[[package]]
-name = "normalize-line-endings"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
-
-[[package]]
-name = "num-traits"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-
-[[package]]
-name = "onig"
-version = "6.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
-dependencies = [
- "bitflags 1.3.2",
- "libc",
- "once_cell",
- "onig_sys",
-]
-
-[[package]]
-name = "onig_sys"
-version = "69.8.1"
-source = "git+https://github.com/rust-onig/rust-onig#fa90c0e97e90a056af89f183b23cd417b59ee6a2"
-dependencies = [
- "bindgen",
- "cc",
- "pkg-config",
-]
-
-[[package]]
-name = "owo-colors"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
-
-[[package]]
-name = "pcre2"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9deb1d02d6a373ee392128ba86087352a986359f32a106e2e3b08cc90cc659c9"
-dependencies = [
- "libc",
- "log",
- "pcre2-sys",
-]
-
-[[package]]
-name = "pcre2-sys"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae234f441970dbd52d4e29bee70f3b56ca83040081cb2b55b7df772b16e0b06e"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "peeking_take_while"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
-
-[[package]]
-name = "pest"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c022f1e7b65d6a24c0dbbd5fb344c66881bc01f3e5ae74a1c8100f2f985d98a4"
-dependencies = [
- "memchr",
- "thiserror",
- "ucd-trie",
-]
-
-[[package]]
-name = "pest_derive"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35513f630d46400a977c4cb58f78e1bfbe01434316e60c37d27b9ad6139c66d8"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc9fc1b9e7057baba189b5c626e2d6f40681ae5b6eb064dc7c7834101ec8123a"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df74e9e7ec4053ceb980e7c0c8bd3594e977fde1af91daba9c928e8e8c6708d"
-dependencies = [
- "once_cell",
- "pest",
- "sha2",
-]
-
-[[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
-name = "pomsky"
-version = "0.11.0"
-dependencies = [
- "arbitrary",
- "lexopt",
- "miette",
- "pomsky-syntax",
- "regex",
- "regex-test",
-]
-
-[[package]]
-name = "pomsky-bin"
-version = "0.11.0"
-dependencies = [
- "assert_cmd",
- "assert_fs",
- "helptext",
- "lexopt",
- "miette",
- "pcre2",
- "pomsky",
- "predicates 2.1.5",
- "serde",
- "serde_json",
- "supports-color",
-]
-
-[[package]]
-name = "pomsky-macro"
-version = "0.11.0"
-dependencies = [
- "pomsky",
-]
-
-[[package]]
-name = "pomsky-syntax"
-version = "0.11.0"
-dependencies = [
- "arbitrary",
- "strsim",
-]
-
-[[package]]
-name = "predicates"
-version = "2.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd"
-dependencies = [
- "difflib",
- "float-cmp",
- "itertools 0.10.5",
- "normalize-line-endings",
- "predicates-core",
- "regex",
-]
-
-[[package]]
-name = "predicates"
-version = "3.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0"
-dependencies = [
- "anstyle",
- "difflib",
- "itertools 0.11.0",
- "predicates-core",
-]
-
-[[package]]
-name = "predicates-core"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
-
-[[package]]
-name = "predicates-tree"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
-dependencies = [
- "predicates-core",
- "termtree",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "regex"
-version = "1.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-lite"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e"
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
-
-[[package]]
-name = "regex-test"
-version = "0.1.0"
-dependencies = [
- "onig",
- "pcre2",
- "regex",
-]
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustix"
-version = "0.38.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
-dependencies = [
- "bitflags 2.4.1",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "serde"
-version = "1.0.189"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.189"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.107"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "shlex"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
-
-[[package]]
-name = "smawk"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "supports-color"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89"
-dependencies = [
- "is-terminal",
- "is_ci",
-]
-
-[[package]]
-name = "supports-hyperlinks"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d"
-dependencies = [
- "is-terminal",
-]
-
-[[package]]
-name = "supports-unicode"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6c2cb240ab5dd21ed4906895ee23fe5a48acdbd15a3ce388e7b62a9b66baf7"
-dependencies = [
- "is-terminal",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
-dependencies = [
- "cfg-if",
- "fastrand",
- "redox_syscall",
- "rustix",
- "windows-sys",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
-dependencies = [
- "rustix",
- "windows-sys",
-]
-
-[[package]]
-name = "termtree"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
-
-[[package]]
-name = "textwrap"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d"
-dependencies = [
- "smawk",
- "unicode-linebreak",
- "unicode-width",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "typenum"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "unicode-linebreak"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wait-timeout"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "walkdir"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "which"
-version = "4.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
-dependencies = [
- "either",
- "home",
- "once_cell",
- "rustix",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
diff --git a/pkgs/tools/text/pomsky/default.nix b/pkgs/tools/text/pomsky/default.nix
deleted file mode 100644
index d86b138861bf..000000000000
--- a/pkgs/tools/text/pomsky/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub, pkg-config, oniguruma }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "pomsky";
-  version = "0.11";
-
-  src = fetchFromGitHub {
-    owner = "pomsky-lang";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-BoA59P0jzV08hlFO7NPB9E+fdpYB9G50dNggFkexc/c=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "onig_sys-69.8.1" = "sha256-NJv/Dooh93yQ9KYyuNBhO1c4U7Gd7X007ECXyRsztrY=";
-    };
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    rustPlatform.bindgenHook
-  ];
-
-  buildInputs = [
-    oniguruma
-  ];
-
-  env = {
-    RUSTONIG_SYSTEM_LIBONIG = true;
-  };
-
-  # thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: invalid option '--test-threads''
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Portable, modern regular expression language";
-    mainProgram = "pomsky";
-    homepage = "https://pomsky-lang.org";
-    changelog = "https://github.com/pomsky-lang/pomsky/blob/v${version}/CHANGELOG.md";
-    license = with licenses; [ mit /* or */ asl20 ];
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/popfile/default.nix b/pkgs/tools/text/popfile/default.nix
deleted file mode 100644
index b902a75bb476..000000000000
--- a/pkgs/tools/text/popfile/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv, fetchzip, makeWrapper, perlPackages,
-... }:
-
-stdenv.mkDerivation rec {
-  appname = "popfile";
-  version = "1.1.3";
-  name = "${appname}-${version}";
-
-  src = fetchzip {
-    url = "https://getpopfile.org/downloads/${appname}-${version}.zip";
-    sha256 = "0gcib9j7zxk8r2vb5dbdz836djnyfza36vi8215nxcdfx1xc7l63";
-    stripRoot = false;
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = (with perlPackages; [
-    ## These are all taken from the popfile documentation as applicable to Linux
-    ## https://getpopfile.org/docs/howtos:allplatformsrequireperl
-    perl
-    DBI
-    DBDSQLite
-    HTMLTagset
-    TimeDate # == DateParse
-    HTMLTemplate
-    # IO::Socket::Socks is not in nixpkgs
-    # IOSocketSocks
-    IOSocketSSL
-    NetSSLeay
-    SOAPLite
-  ]);
-
-  installPhase = ''
-    mkdir -p $out/bin
-    # I user `cd` rather than `cp $out/* ...` b/c the * breaks syntax
-    # highlighting in emacs for me.
-    cd $src
-    cp -r * $out/bin
-    cd $out/bin
-    chmod +x *.pl
-
-    find $out -name '*.pl' -executable | while read path; do
-      wrapProgram "$path" \
-        --prefix PERL5LIB : $PERL5LIB:$out/bin \
-        --set POPFILE_ROOT $out/bin \
-        --run 'export POPFILE_USER=''${POPFILE_USER:-$HOME/.popfile}' \
-        --run 'test -d "$POPFILE_USER" || mkdir -m 0700 -p "$POPFILE_USER"'
-    done
-  '';
-
-  meta = {
-    description = "Email classification system that automatically sorts messages and fights spam";
-    homepage = "https://getpopfile.org/";
-    license = lib.licenses.gpl2Only;
-
-    # Should work on macOS, but havent tested it.
-    # Windows support is more complicated.
-    # https://getpopfile.org/docs/faq:systemrequirements
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/text/proselint/default.nix b/pkgs/tools/text/proselint/default.nix
index 904eb2c5363f..a7ca553c1c19 100644
--- a/pkgs/tools/text/proselint/default.nix
+++ b/pkgs/tools/text/proselint/default.nix
@@ -18,6 +18,6 @@ buildPythonApplication rec {
     mainProgram = "proselint";
     homepage = "http://proselint.com";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ alibabzo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/text/qprint/default.nix b/pkgs/tools/text/qprint/default.nix
deleted file mode 100644
index c0953f69a7f9..000000000000
--- a/pkgs/tools/text/qprint/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, lib, stdenv }:
-
-stdenv.mkDerivation rec {
-  pname = "qprint";
-  version = "1.1";
-
-  src = fetchurl {
-    url = "https://www.fourmilab.ch/webtools/qprint/qprint-${version}.tar.gz";
-    sha256 = "1701cnb1nl84rmcpxzq11w4cyj4385jh3gx4aqxznwf8a4fwmagz";
-  };
-
-  doCheck = true;
-
-  checkTarget = "wringer";
-
-  preInstall = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-  '';
-
-  meta = {
-    homepage = "https://www.fourmilab.ch/webtools/qprint/";
-    license = lib.licenses.publicDomain;
-    description = "Encode and decode Quoted-Printable files";
-    mainProgram = "qprint";
-    maintainers = [ lib.maintainers.tv ];
-    platforms = lib.platforms.all;
-  };
-
-}
diff --git a/pkgs/tools/text/rare-regex/default.nix b/pkgs/tools/text/rare-regex/default.nix
deleted file mode 100644
index b565ed8aded2..000000000000
--- a/pkgs/tools/text/rare-regex/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, stdenv
-, buildGoModule
-, fetchFromGitHub
-, withPcre2 ? stdenv.isLinux
-, pcre2
-, testers
-, rare-regex
-}:
-
-buildGoModule rec {
-  pname = "rare";
-  version = "0.3.4";
-
-  src = fetchFromGitHub {
-    owner = "zix99";
-    repo = "rare";
-    rev = version;
-    hash = "sha256-T27RBIrIXlhFBjzNgN6B49qgTHcek8MajXlbRC5DTMs=";
-  };
-
-  vendorHash = "sha256-wUOtxNjL/4MosACCzPTWKWrnMZhxINfN1ppkRsqDh9M=";
-
-  buildInputs = lib.optionals withPcre2 [
-    pcre2
-  ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=main.version=${version}"
-    "-X=main.buildSha=${src.rev}"
-  ];
-
-  tags = lib.optionals withPcre2 [
-    "pcre2"
-  ];
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = rare-regex;
-    };
-  };
-
-  meta = with lib; {
-    description = "Fast text scanner/regex extractor and realtime summarizer";
-    homepage = "https://rare.zdyn.net";
-    changelog = "https://github.com/zix99/rare/releases/tag/${src.rev}";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/readability-cli/default.nix b/pkgs/tools/text/readability-cli/default.nix
deleted file mode 100644
index aea915c73ef4..000000000000
--- a/pkgs/tools/text/readability-cli/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, buildNpmPackage, fetchFromGitLab, installShellFiles }:
-
-buildNpmPackage rec {
-  pname = "readability-cli";
-  version = "2.4.4";
-
-  src = fetchFromGitLab {
-    owner = "gardenappl";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-pvAp3ZJ8/FPhrSMC8B4U1m5zuBNRP/HcsXkrW6QYgSQ=";
-  };
-
-  postPatch = ''
-    # Set a script name to avoid yargs using index.js as $0
-    substituteInPlace common.mjs \
-      --replace '.version(false)' '.version(false).scriptName("readable")'
-  '';
-
-  npmDepsHash = "sha256-X1pcgDm8C4G+hIsgx3sAVFQPadWsULvXrdLAIHnpjmE=";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  dontNpmBuild = true;
-
-  postInstall = ''
-    installManPage readability-cli.1
-    installShellCompletion --cmd readable \
-      --bash <(SHELL=bash $out/bin/readable --completion) \
-      --zsh <(SHELL=zsh $out/bin/readable --completion)
-  '';
-
-  meta = with lib; {
-    description = "Firefox Reader Mode in your terminal - get useful text from a web page using Mozilla's Readability library";
-    homepage = "https://gitlab.com/gardenappl/readability-cli";
-    license = licenses.gpl3Only;
-    maintainers = [ ];
-    mainProgram = "readable";
-  };
-}
diff --git a/pkgs/tools/text/reckon/default.nix b/pkgs/tools/text/reckon/default.nix
index 55c6b3cf9556..ccaaad0c4581 100644
--- a/pkgs/tools/text/reckon/default.nix
+++ b/pkgs/tools/text/reckon/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper }:
+{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, file }:
 
 stdenv.mkDerivation rec {
   pname = "reckon";
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
   in ''
     runHook preInstall
     mkdir -p $out/bin
-    makeWrapper ${env}/bin/reckon $out/bin/reckon
+    makeWrapper ${env}/bin/reckon $out/bin/reckon \
+      --prefix PATH : ${lib.makeBinPath [ file ]}
     runHook postInstall
   '';
 
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
deleted file mode 100644
index 0ded5eea09cd..000000000000
--- a/pkgs/tools/text/recode/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, python3Packages
-, flex
-, texinfo
-, libiconv
-, libintl
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "recode";
-  version = "3.7.14";
-
-  # Use official tarball, avoid need to bootstrap/generate build system
-  src = fetchurl {
-    url = "https://github.com/rrthomas/recode/releases/download/v${finalAttrs.version}/recode-${finalAttrs.version}.tar.gz";
-    hash = "sha256-eGqv1USFGisTsKN36sFQD4IM5iYVzMLmMLUB53Q7nzM=";
-  };
-
-  nativeBuildInputs = [ python3Packages.python flex texinfo libiconv ];
-
-  buildInputs = [ libintl ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  nativeCheckInputs = with python3Packages; [
-    cython
-    setuptools
-  ];
-
-  meta = {
-    homepage = "https://github.com/rrthomas/recode";
-    description = "Converts files between various character sets and usages";
-    mainProgram = "recode";
-    changelog = "https://github.com/rrthomas/recode/raw/v${finalAttrs.version}/NEWS";
-    platforms = lib.platforms.unix;
-    license = with lib.licenses; [ lgpl3Plus gpl3Plus ];
-    maintainers = with lib.maintainers; [ jcumming ];
-  };
-})
diff --git a/pkgs/tools/text/repgrep/default.nix b/pkgs/tools/text/repgrep/default.nix
deleted file mode 100644
index 1fb6156dfc4e..000000000000
--- a/pkgs/tools/text/repgrep/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, stdenv
-, rustPlatform
-, fetchFromGitHub
-, asciidoctor
-, installShellFiles
-, makeWrapper
-, ripgrep
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "repgrep";
-  version = "0.15.0";
-
-  src = fetchFromGitHub {
-    owner = "acheronfail";
-    repo = "repgrep";
-    rev = version;
-    hash = "sha256-6ba7EJUts0Ni9EA3ENlK+a2FaPo7JohtCyqwR9DdL1E=";
-  };
-
-  cargoHash = "sha256-XEjKTZ3qaiLWbm2wF+V97u9tGXDq/oTm249ubUE9n94=";
-
-  nativeBuildInputs = [
-    asciidoctor
-    installShellFiles
-    makeWrapper
-  ];
-
-  postInstall = ''
-    wrapProgram $out/bin/rgr \
-      --prefix PATH : ${lib.makeBinPath [ ripgrep ]}
-
-    pushd "$(dirname "$(find -path '**/repgrep-stamp' | head -n 1)")"
-    installManPage rgr.1
-    popd
-  '' + lib.optionalString (stdenv.hostPlatform.canExecute stdenv.buildPlatform) ''
-    # As it can be seen here: https://github.com/acheronfail/repgrep/blob/0.15.0/.github/workflows/release.yml#L206, the completions are just the same as ripgrep
-    installShellCompletion --cmd rgr \
-      --bash <(${lib.getExe ripgrep} --generate complete-bash | sed 's/-c rg/-c rgr/') \
-      --zsh <(${lib.getExe ripgrep} --generate complete-zsh | sed 's/-c rg/-c rgr/') \
-      --fish <(${lib.getExe ripgrep} --generate complete-fish | sed 's/-c rg/-c rgr/')
-  '';
-
-  meta = with lib; {
-    description = "Interactive replacer for ripgrep that makes it easy to find and replace across files on the command line";
-    homepage = "https://github.com/acheronfail/repgrep";
-    changelog = "https://github.com/acheronfail/repgrep/blob/${src.rev}/CHANGELOG.md";
-    license = with licenses; [ mit asl20 unlicense ];
-    maintainers = with maintainers; [ figsoda ];
-    mainProgram = "rgr";
-  };
-}
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
deleted file mode 100644
index 61c6a65322d1..000000000000
--- a/pkgs/tools/text/replace/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "replace";
-  version = "2.24";
-
-  src = fetchurl {
-    url = "http://hpux.connect.org.uk/ftp/hpux/Users/replace-${version}/replace-${version}-src-11.31.tar.gz";
-    sha256 = "18hkwhaz25s6209n5mpx9hmkyznlzygqj488p2l7nvp9zrlxb9sf";
-  };
-
-  outputs = [ "out" "man" ];
-
-  makeFlags = [
-    "TREE=\$(out)"
-    "MANTREE=\$(TREE)/share/man"
-    "CC=${stdenv.cc.targetPrefix}cc"
-  ];
-
-  preBuild = ''
-    sed -e "s@/bin/mv@$(type -P mv)@" -i replace.h
-  '';
-
-  preInstall = "mkdir -p \$out/share/man";
-  postInstall = "mv \$out/bin/replace \$out/bin/replace-literal";
-
-  patches = [./malloc.patch];
-
-  meta = {
-    description = "Tool to replace verbatim strings";
-    homepage = "https://replace.richardlloyd.org.uk/";
-    mainProgram = "replace-literal";
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/replace/malloc.patch b/pkgs/tools/text/replace/malloc.patch
deleted file mode 100644
index 1ee95c4bae18..000000000000
--- a/pkgs/tools/text/replace/malloc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -rc replace-2.24-orig/replace.h replace-2.24/replace.h
-*** replace-2.24-orig/replace.h	2004-10-07 15:15:06.000000000 +0200
---- replace-2.24/replace.h	2008-02-21 14:57:47.000000000 +0100
-***************
-*** 11,17 ****
-  #include <ctype.h>
-  #include <unistd.h>
-  #include <string.h>
-- #include <malloc.h>
-  #include <sys/stat.h>
-  #include <ftw.h>
-  #include <utime.h>
---- 11,16 ----
diff --git a/pkgs/tools/text/reveal-md/default.nix b/pkgs/tools/text/reveal-md/default.nix
deleted file mode 100644
index 9da86f2a61c8..000000000000
--- a/pkgs/tools/text/reveal-md/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-}:
-
-buildNpmPackage rec {
-  pname = "reveal-md";
-  version = "5.5.2";
-
-  src = fetchFromGitHub {
-    owner = "webpro";
-    repo = "reveal-md";
-    rev = version;
-    hash = "sha256-Uge7N6z9O1wc+nW/0k5qz+CPYbYgr7u2mulH75pXvHY=";
-  };
-
-  npmDepsHash = "sha256-+gzur0pAmZe4nrDxNQwjFn/hM9TvZEd6JzLOnJLhNtg=";
-
-  env = {
-    PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = true;
-  };
-
-  dontNpmBuild = true;
-
-  doCheck = true;
-
-  checkPhase = ''
-    runHook preCheck
-
-    npm run test
-
-    runHook postCheck
-  '';
-
-  meta = {
-    description = "Get beautiful reveal.js presentations from your Markdown files";
-    mainProgram = "reveal-md";
-    homepage = "https://github.com/webpro/reveal-md";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ sagikazarmark ];
-  };
-}
diff --git a/pkgs/tools/text/rgxg/default.nix b/pkgs/tools/text/rgxg/default.nix
deleted file mode 100644
index 4cc1722392ec..000000000000
--- a/pkgs/tools/text/rgxg/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, stdenv, fetchzip }:
-
-stdenv.mkDerivation rec {
-  pname = "rgxg";
-  version = "0.1.2";
-
-  src = fetchzip {
-    url = "https://github.com/rgxg/rgxg/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "050jxc3qhfrm9fdbzd67hlsqlp4qk1fa20q1g2v919sh7s6v77si";
-  };
-
-  meta = with lib; {
-    description = "C library and a command-line tool to generate (extended) regular expressions";
-    mainProgram = "rgxg";
-    license = licenses.zlib;
-    maintainers = with maintainers; [ hloeffler ];
-    homepage = "https://rgxg.github.io/";
-  };
-}
diff --git a/pkgs/tools/text/riffdiff/default.nix b/pkgs/tools/text/riffdiff/default.nix
deleted file mode 100644
index aadb6f26354b..000000000000
--- a/pkgs/tools/text/riffdiff/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "riffdiff";
-  version = "3.2.0";
-
-  src = fetchFromGitHub {
-    owner = "walles";
-    repo = "riff";
-    rev = version;
-    hash = "sha256-CMH+6/YGepl6SJLytfDEu7NLvPA/HHY/sDm2LTi0R8w=";
-  };
-
-  cargoHash = "sha256-w3oDpJMsfV9mIWI44YgOsNZH2vahSRCSJnYpFWBx/eU=";
-
-  meta = with lib; {
-    description = "Diff filter highlighting which line parts have changed";
-    homepage = "https://github.com/walles/riff";
-    license = licenses.mit;
-    maintainers = with maintainers; [ johnpyp ];
-    mainProgram = "riff";
-  };
-}
diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix
index daed3da28e74..a44316517dc1 100644
--- a/pkgs/tools/text/ripgrep-all/default.nix
+++ b/pkgs/tools/text/ripgrep-all/default.nix
@@ -39,8 +39,11 @@ in rustPlatform.buildRustPackage rec {
     };
   };
 
+  # override debug=true set in Cargo.toml upstream
+  RUSTFLAGS = "-C debuginfo=none";
+
   nativeBuildInputs = [ makeWrapper poppler_utils ];
-  buildInputs = lib.optional stdenv.isDarwin Security;
+  buildInputs = lib.optional stdenv.hostPlatform.isDarwin Security;
 
   nativeCheckInputs = path;
 
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
deleted file mode 100644
index 35e56b7fb3a4..000000000000
--- a/pkgs/tools/text/ripgrep/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv
-, buildPackages
-, fetchFromGitHub
-, rustPlatform
-, installShellFiles
-, pkg-config
-, Security
-, withPCRE2 ? true
-, pcre2
-}:
-
-let
-  canRunRg = stdenv.hostPlatform.emulatorAvailable buildPackages;
-  rg = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/rg";
-in rustPlatform.buildRustPackage rec {
-  pname = "ripgrep";
-  version = "14.1.0";
-
-  src = fetchFromGitHub {
-    owner = "BurntSushi";
-    repo = pname;
-    rev = version;
-    hash = "sha256-CBU1GzgWMPTVsgaPMy39VRcENw5iWRUrRpjyuGiZpPI=";
-  };
-
-  cargoHash = "sha256-8FxN5MhYduMkzym7Xx4dnVbWaBKv9pgbXMIRGiRRQew=";
-
-  nativeBuildInputs = [ installShellFiles ]
-    ++ lib.optional withPCRE2 pkg-config;
-  buildInputs = lib.optional withPCRE2 pcre2
-    ++ lib.optional stdenv.isDarwin Security;
-
-  buildFeatures = lib.optional withPCRE2 "pcre2";
-
-  preFixup = lib.optionalString canRunRg ''
-    ${rg} --generate man > rg.1
-    installManPage rg.1
-
-    installShellCompletion --cmd rg \
-      --bash <(${rg} --generate complete-bash) \
-      --fish <(${rg} --generate complete-fish) \
-      --zsh <(${rg} --generate complete-zsh)
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    file="$(mktemp)"
-    echo "abc\nbcd\ncde" > "$file"
-    ${rg} -N 'bcd' "$file"
-    ${rg} -N 'cd' "$file"
-  '' + lib.optionalString withPCRE2 ''
-    echo '(a(aa)aa)' | ${rg} -P '\((a*|(?R))*\)'
-  '';
-
-  meta = with lib; {
-    description = "Utility that combines the usability of The Silver Searcher with the raw speed of grep";
-    homepage = "https://github.com/BurntSushi/ripgrep";
-    changelog = "https://github.com/BurntSushi/ripgrep/releases/tag/${version}";
-    license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = with maintainers; [ globin ma27 zowoq ];
-    mainProgram = "rg";
-  };
-}
diff --git a/pkgs/tools/text/rnr/default.nix b/pkgs/tools/text/rnr/default.nix
deleted file mode 100644
index fbc4f1b382f8..000000000000
--- a/pkgs/tools/text/rnr/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "rnr";
-  version = "0.4.2";
-
-  src = fetchFromGitHub {
-    owner = "ismaelgv";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-g/PnvOZzlWzEHf3vvYANeJ2ogQ/6duNzhlKpKMBoBFU=";
-  };
-
-  cargoSha256 = "sha256-+oDRNBQ03MknhcTpZFKt0ipJY43LPOKbGF014rrs6dw=";
-
-  meta = with lib; {
-    description = "Command-line tool to batch rename files and directories";
-    mainProgram = "rnr";
-    homepage = "https://github.com/ismaelgv/rnr";
-    changelog = "https://github.com/ismaelgv/rnr/blob/v${version}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/rosie/default.nix b/pkgs/tools/text/rosie/default.nix
deleted file mode 100644
index e9923586b2da..000000000000
--- a/pkgs/tools/text/rosie/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib
-, stdenv
-, fetchgit
-, libbsd
-, readline
-}:
-
-stdenv.mkDerivation rec {
-  pname = "rosie";
-  version = "1.3.0";
-
-  src = fetchgit {
-    url = "https://gitlab.com/rosie-pattern-language/rosie";
-    rev = "9303e04ae2cffabdda6ccc4e2a351a47218615ff";
-    sha256 = "1smh760baf43hr56p6rh4khz3shyzda5lqva4ffxwchl7yy7r82j";
-    fetchSubmodules = true;
-  };
-
-  postUnpack = ''
-    # The Makefile calls git to update submodules, unless this file exists
-    touch ${src.name}/submodules/~~present~~
-  '';
-
-  preConfigure = ''
-    patchShebangs src/build_info.sh
-    # rosie is ran as part of `make check`,
-    # and so needs to be patched in preConfigure.
-    patchShebangs rosie
-    # Part of the same Makefile target which calls git to update submodules
-    ln -s src submodules/lua/include
-    # ldconfig is irrelevant, disable it inside `make installforce`.
-    sed -iE 's/ldconfig/echo skippin ldconfig/' Makefile
-    sed -iE '/ld.so.conf.d/d' Makefile
-  '';
-
-  preInstall = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -add_rpath $out/lib build/bin/rosie
-    install_name_tool -id $out/lib/librosie.dylib build/lib/librosie.dylib
-  '';
-
-  postInstall = ''
-    mkdir -p $out/share/emacs/site-lisp $out/share/vim-plugins $out/share/nvim
-    mv $out/lib/rosie/extra/emacs/* $out/share/emacs/site-lisp/
-    mv $out/lib/rosie/extra/vim $out/share/vim-plugins/rosie
-    ln -s $out/share/vim-plugins/rosie $out/share/nvim/site
-  '';
-
-  # librosie.so is dlopen'ed , so we disable ELF patching to preserve RUNPATH .
-  dontPatchELF = true;
-
-  makeFlags = [ "DESTDIR=${placeholder "out"}" ];
-
-  buildInputs = [ libbsd readline ];
-
-  meta = with lib; {
-    homepage = "https://rosie-lang.org";
-    description = "Tools for searching using parsing expression grammars";
-    mainProgram = "rosie";
-    license = licenses.mit;
-    maintainers = with maintainers; [ kovirobi ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/tools/text/rpl/default.nix b/pkgs/tools/text/rpl/default.nix
deleted file mode 100644
index b565de537629..000000000000
--- a/pkgs/tools/text/rpl/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, fetchPypi, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "rpl";
-  version = "1.15.6";
-
-  pyproject = true;
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-4vUnFfxiPvyg9gtwiQE3nHZBnqBtBVwhM3KQzkjzw/I=";
-  };
-
-  nativeBuildInputs = [
-    python3Packages.setuptools
-  ];
-
-  nativeCheckInputs = [
-    python3Packages.pytest-datafiles
-    python3Packages.pytestCheckHook
-  ];
-
-  propagatedBuildInputs = [
-    python3Packages.argparse-manpage
-    python3Packages.chainstream
-    python3Packages.chardet
-    python3Packages.regex
-  ];
-
-  meta = with lib; {
-    description = "Replace strings in files";
-    mainProgram = "rpl";
-    homepage = "https://github.com/rrthomas/rpl";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ cbley ];
-  };
-}
diff --git a/pkgs/tools/text/rsbkb/default.nix b/pkgs/tools/text/rsbkb/default.nix
deleted file mode 100644
index c107739d704b..000000000000
--- a/pkgs/tools/text/rsbkb/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-, enableAppletSymlinks ? true
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "rsbkb";
-  version = "1.4";
-
-  src = fetchFromGitHub {
-    owner = "trou";
-    repo = "rsbkb";
-    rev = "release-${version}";
-    hash = "sha256-c5+Q/y2tZfhXQIAs1W67/xfB+qz1Xn33tKXRGDAi3qs=";
-  };
-
-  cargoHash = "sha256-kGxYH3frBcmvBCFeF2oxAS4FALcmnRyCH1fi0NF0wSo=";
-
-  # Setup symlinks for all the utilities,
-  # busybox style
-  postInstall = lib.optionalString enableAppletSymlinks ''
-    cd $out/bin || exit 1
-    path="$(realpath --canonicalize-missing ./rsbkb)"
-    for i in $(./rsbkb list) ; do ln -s $path $i ; done
-  '';
-
-  meta = with lib; {
-    description = "Command line tools to encode/decode things";
-    homepage = "https://github.com/trou/rsbkb";
-    changelog = "https://github.com/trou/rsbkb/releases/tag/release-${version}";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ProducerMatt ];
-  };
-}
diff --git a/pkgs/tools/text/runiq/default.nix b/pkgs/tools/text/runiq/default.nix
deleted file mode 100644
index 330c4cdbf930..000000000000
--- a/pkgs/tools/text/runiq/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, rustPlatform, fetchCrate, stdenv, darwin }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "runiq";
-  version = "2.0.0";
-
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-qcgPuJOpK2fCsHAgzoIKF7upb9B3ySIZkpu9xf4JnCc=";
-  };
-
-  cargoHash = "sha256-WSMV0GNKNckN9uSPN647iDloGkNtaKcrZbeyglUappc=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  meta = with lib; {
-    description = "Efficient way to filter duplicate lines from input, à la uniq";
-    mainProgram = "runiq";
-    homepage = "https://github.com/whitfin/runiq";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/ruplacer/default.nix b/pkgs/tools/text/ruplacer/default.nix
index bb1d7dfc9904..be4d46facc23 100644
--- a/pkgs/tools/text/ruplacer/default.nix
+++ b/pkgs/tools/text/ruplacer/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruplacer";
-  version = "0.8.3";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "TankerHQ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rndWKi/EDQzTWAw2deddhTXdmIfuEVM54MOfS4mNf+Y=";
+    sha256 = "sha256-N71oiOlhMMDq0VhujV4SgnnKMQRi5SdplrTjK2vyhUE=";
   };
 
-  cargoHash = "sha256-DkhmMdpUcka6Wkyz6hEfqB2gUpsGNziGv+23rVfwXN8=";
+  cargoHash = "sha256-EyLompGEin12q6SC1M1D0QsE42HVEq5O/E99qi54cGo=";
 
-  buildInputs = (lib.optional stdenv.isDarwin Security);
+  buildInputs = (lib.optional stdenv.hostPlatform.isDarwin Security);
 
   meta = with lib; {
     description = "Find and replace text in source files";
diff --git a/pkgs/tools/text/rust-petname/default.nix b/pkgs/tools/text/rust-petname/default.nix
deleted file mode 100644
index 3abc8a0210f6..000000000000
--- a/pkgs/tools/text/rust-petname/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, rustPlatform, fetchCrate }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "rust-petname";
-  version = "2.0.2";
-
-  src = fetchCrate {
-    inherit version;
-    crateName = "petname";
-    sha256 = "sha256-KP+GdGlwLHcKE8nAmFr2wHbt5RD9Ptpiz1X5HgJ6BgU=";
-  };
-
-  cargoHash = "sha256-R1Xahr9R4G8Tr2cGRJ2oydVaLohPz2VM6tnbtE8Hysk=";
-
-  meta = with lib; {
-    description = "Generate human readable random names";
-    homepage = "https://github.com/allenap/rust-petname";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ figsoda ];
-    mainProgram = "petname";
-  };
-}
diff --git a/pkgs/tools/text/sad/default.nix b/pkgs/tools/text/sad/default.nix
deleted file mode 100644
index a3fba1a8d088..000000000000
--- a/pkgs/tools/text/sad/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  lib,
-  fetchFromGitHub,
-  rustPlatform,
-  python3,
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "sad";
-  version = "0.4.29";
-
-  src = fetchFromGitHub {
-    owner = "ms-jpq";
-    repo = "sad";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-TLVUvz/phAy+ljIsdv4GVSFHTAZ5ywQs32WHsu9g9Fc=";
-  };
-
-  cargoHash = "sha256-4XmTxeKbdC4HRownFlEc4GrSVimKkQg/yNI0us7gzQI=";
-
-  nativeBuildInputs = [ python3 ];
-
-  # fix for compilation on aarch64
-  # see https://github.com/NixOS/nixpkgs/issues/145726
-  prePatch = ''
-    rm .cargo/config.toml
-  '';
-
-  meta = with lib; {
-    description = "CLI tool to search and replace";
-    homepage = "https://github.com/ms-jpq/sad";
-    changelog = "https://github.com/ms-jpq/sad/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ fab ];
-    mainProgram = "sad";
-  };
-}
diff --git a/pkgs/tools/text/schema2ldif/default.nix b/pkgs/tools/text/schema2ldif/default.nix
deleted file mode 100644
index fc4a2153d662..000000000000
--- a/pkgs/tools/text/schema2ldif/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenvNoCC, fetchurl, makeWrapper, perlPackages }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "schema2ldif";
-  version = "1.3";
-
-  src = fetchurl {
-    url = "https://repos.fusiondirectory.org/sources/schema2ldif/schema2ldif-${version}.tar.gz";
-    hash = "sha256-KmXdqVuINUnJ6EF5oKgk6BsT3h5ebVqss7aCl3pPjQE=";
-  };
-
-  postPatch = ''
-    # Removes the root check and changes the temporary location
-    # from the nix store to $PWD
-    sed -i \
-      -e '/You have to run this script as root/d' \
-      -e 's|/\^(\.\*)\\\.schema\$/|/.*\\/(.*)\\.schema$/|g' \
-      bin/ldap-schema-manager
-  '';
-
-  buildInputs = [ perlPackages.perl ];
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/man/man1
-
-    cp bin/{schema2ldif,ldap-schema-manager} $out/bin
-    gzip -c man/schema2ldif.1 > $out/share/man/man1/schema2ldif.1.gz
-    gzip -c man/ldap-schema-manager.1 > $out/share/man/man1/ldap-schema-manager.1.gz
-
-    wrapProgram $out/bin/schema2ldif \
-       --prefix PERL5PATH : "${perlPackages.makePerlPath [ perlPackages.GetoptLong ]}"
-  '';
-
-  meta = with lib; {
-    description = "Utilities to manage schema in .schema and .ldif format";
-    homepage = "https://www.fusiondirectory.org/schema2ldif-project-and-components/";
-    license = licenses.bsd3;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ das_j ];
-  };
-}
diff --git a/pkgs/tools/text/scraper/default.nix b/pkgs/tools/text/scraper/default.nix
deleted file mode 100644
index 0c4afcad4f87..000000000000
--- a/pkgs/tools/text/scraper/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, rustPlatform, fetchCrate, installShellFiles }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "scraper";
-  version = "0.19.0";
-
-  src = fetchCrate {
-    inherit pname version;
-    hash = "sha256-HfZ8zyjghTXIyIYS+MaGF5OdMLJv6NIjQswdn/tvQbU=";
-  };
-
-  cargoHash = "sha256-py8VVciNJ36/aSTlTH+Bx36yrh/8AuzB9XNNv/PrFak=";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  postInstall = ''
-    installManPage scraper.1
-  '';
-
-  meta = with lib; {
-    description = "Tool to query HTML files with CSS selectors";
-    mainProgram = "scraper";
-    homepage = "https://github.com/causal-agent/scraper";
-    changelog = "https://github.com/causal-agent/scraper/releases/tag/v${version}";
-    license = licenses.isc;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/sd/default.nix b/pkgs/tools/text/sd/default.nix
index e5bde420000d..d1c7e36a6593 100644
--- a/pkgs/tools/text/sd/default.nix
+++ b/pkgs/tools/text/sd/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
 
   postInstall = ''
     installManPage gen/sd.1
diff --git a/pkgs/tools/text/seehecht/default.nix b/pkgs/tools/text/seehecht/default.nix
deleted file mode 100644
index 9a7b1f936a99..000000000000
--- a/pkgs/tools/text/seehecht/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, rustPlatform, fetchFromGitea }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "seehecht";
-  version = "3.0.3";
-
-  src = fetchFromGitea {
-    domain = "codeberg.org";
-    owner = "annaaurora";
-    repo = "seehecht";
-    rev = "v${version}";
-    sha256 = "sha256-KIxK0JYfq/1Bn4LOn+LzWPBUvGYMvOEuqS7GMpDRvW0=";
-  };
-
-  cargoSha256 = "sha256-AeVUVF4SBS9FG0iezLBKUm4Uk1PPRXPTON93evgL9IA=";
-
-  postInstall = ''
-    ln -s $out/bin/seh $out/bin/seehecht
-  '';
-
-  meta = with lib; {
-    description = "Tool to quickly open a markdown document with already filled out frontmatter";
-    license = licenses.lgpl3Only;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ annaaurora ];
-  };
-}
diff --git a/pkgs/tools/text/sgml/jade/default.nix b/pkgs/tools/text/sgml/jade/default.nix
deleted file mode 100644
index a744300bfdde..000000000000
--- a/pkgs/tools/text/sgml/jade/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, stdenv, fetchurl, gnum4 }:
-
-stdenv.mkDerivation rec {
-  pname = "jade";
-  version = "1.2.1";
-  debpatch = "47.3";
-
-  src = fetchurl {
-    url = "ftp://ftp.jclark.com/pub/jade/jade-${version}.tar.gz";
-    sha256 = "84e2f8a2a87aab44f86a46b71405d4f919b219e4c73e03a83ab6c746a674b187";
-  };
-
-  patchsrc =  fetchurl {
-    url = "mirror://debian/pool/main/j/jade/jade_${version}-${debpatch}.diff.gz";
-    sha256 = "8e94486898e3503308805f856a65ba5b499a6f21994151270aa743de48305464";
-  };
-
-  patches = [ patchsrc ];
-
-  buildInputs = [ gnum4 ];
-
-  env.NIX_CFLAGS_COMPILE = "-Wno-deprecated";
-
-  # Makefile is missing intra-library depends, fails build as:
-  # ld: cannot find -lsp
-  # ld: cannot find -lspgrove
-  enableParallelBuilding = false;
-
-  preInstall = ''
-    install -d -m755 "$out"/lib
-  '';
-
-  postInstall = ''
-    mv "$out/bin/sx" "$out/bin/sgml2xml"
-  '';
-
-  meta = {
-    description = "James Clark's DSSSL Engine";
-    license = "custom";
-    homepage = "http://www.jclark.com/jade/";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [ ];
-  };
-}
diff --git a/pkgs/tools/text/sgml/linuxdoc-tools/default.nix b/pkgs/tools/text/sgml/linuxdoc-tools/default.nix
deleted file mode 100644
index d2611bec7318..000000000000
--- a/pkgs/tools/text/sgml/linuxdoc-tools/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ stdenv, lib, makeWrapper, fetchFromGitLab, perl, flex
-, gnused, coreutils, which, opensp, groff, texliveMedium, texinfo, withLatex ? false
-}:
-
-stdenv.mkDerivation rec {
-  pname = "linuxdoc-tools";
-  version = "0.9.83";
-
-  src = fetchFromGitLab {
-    owner = "agmartin";
-    repo = "linuxdoc-tools";
-    rev = version;
-    sha256 = "sha256-1F3MDYJ9UH7ypgTSfYZV59PfLirlTmw6XBMEnz5Jtyk=";
-  };
-
-  outputs = [ "out" "man" "doc" ];
-
-  configureFlags = [
-    ("--enable-docs=txt info lyx html rtf"
-      + lib.optionalString withLatex " pdf")
-  ];
-
-  LEX = "flex";
-
-  postInstall = ''
-    wrapProgram $out/bin/linuxdoc \
-      --prefix PATH : "${lib.makeBinPath [ groff opensp ]}:$out/bin" \
-      --prefix PERL5LIB : "$out/share/linuxdoc-tools/"
-  '';
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    pushd doc/example
-    substituteInPlace Makefile \
-      --replace "COMMAND=linuxdoc" "COMMAND=$out/bin/linuxdoc" \
-      ${lib.optionalString (!withLatex) "--replace '.tex .dvi .ps .pdf' ''"}
-    make
-    popd
-  '';
-
-  nativeBuildInputs = [ flex which makeWrapper ];
-
-  buildInputs = [ opensp groff texinfo perl gnused coreutils ]
-    ++ lib.optionals withLatex [ texliveMedium ];
-
-  meta = with lib; {
-    description = "Toolset for processing LinuxDoc DTD SGML files";
-    longDescription = ''
-      A collection of text formatters which understands a LinuxDoc DTD SGML
-      source file. Each formatter (or "back-end") renders the source file into
-      a variety of output formats, including HTML, TeX, DVI, PostScript, plain
-      text, and groff source in manual-page format. The linuxdoc suite is
-      provided for backward compatibility, because there are still many useful
-      documents written in LinuxDoc DTD sgml source.
-    '';
-    homepage = "https://gitlab.com/agmartin/linuxdoc-tools";
-    license = with licenses; [ gpl3Plus mit sgmlug ];
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ p-h ];
-  };
-}
diff --git a/pkgs/tools/text/sgml/openjade/default.nix b/pkgs/tools/text/sgml/openjade/default.nix
deleted file mode 100644
index 60fa161d20c5..000000000000
--- a/pkgs/tools/text/sgml/openjade/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchurl, opensp, perl }:
-
-stdenv.mkDerivation rec {
-  pname = "openjade";
-  version = "1.3.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/openjade/openjade-${version}.tar.gz";
-    sha256 = "1l92sfvx1f0wmkbvzv1385y1gb3hh010xksi1iyviyclrjb7jb8x";
-  };
-
-  patches = [ ./msggen.patch ];
-
-  buildInputs = [ opensp perl ];
-
-  configureFlags = [
-    "--enable-spincludedir=${opensp}/include/OpenSP"
-    "--enable-splibdir=${opensp}/lib"
-  ];
-
-  meta = {
-    description = "Implementation of DSSSL, an ISO standard for formatting SGML (and XML) documents";
-    mainProgram = "openjade";
-    license = lib.licenses.mit;
-    homepage = "https://openjade.sourceforge.net/";
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/text/sgml/openjade/msggen.patch b/pkgs/tools/text/sgml/openjade/msggen.patch
deleted file mode 100644
index d59573fa49cf..000000000000
--- a/pkgs/tools/text/sgml/openjade/msggen.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-text/openjade/files/openjade-1.3.2-msggen.pl.patch?revision=1.2
-
-Use Getopt::Std in place of getopts.pl.
-https://bugs.gentoo.org/show_bug.cgi?id=420083
-
---- a/msggen.pl
-+++ b/msggen.pl
-@@ -4,6 +4,7 @@
- # See the file COPYING for copying permission.
- 
- use POSIX;
-+use Getopt::Std;
- 
- # Package and version.
- $package = 'openjade';
-@@ -18,8 +19,7 @@
- undef $opt_l;
- undef $opt_p;
- undef $opt_t;
--do 'getopts.pl';
--&Getopts('l:p:t:');
-+getopts('l:p:t:');
- $module = $opt_l;
- $pot_file = $opt_p;
- 
-@@ -72,7 +72,7 @@
-     else {
- 	$field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");;
- 	$type[$num] = substr($field[0], 0, 1);
--	$argc = int(substr($field[0], 1, 1));
-+	$argc = substr($field[0], 1, 1);
-     }
-     $nargs[$num] = $argc;
-     $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag");
diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix
deleted file mode 100644
index a51bd7925164..000000000000
--- a/pkgs/tools/text/sgml/opensp/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412
-, docbook_xsl, autoconf, automake, libtool
-, autoreconfHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "opensp";
-  version = "1.5.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/openjade/OpenSP-${version}.tar.gz";
-    sha256 = "1khpasr6l0a8nfz6kcf3s81vgdab8fm2dj291n5r2s53k228kx2p";
-  };
-
-  postPatch = ''
-    sed -i s,/usr/share/sgml/docbook/xml-dtd-4.1.2/,${docbook_xml_dtd_412}/xml/dtd/docbook/, \
-      docsrc/*.xml
-  '';
-
-  patches = [
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/opensp/files/opensp-1.5.2-c11-using.patch?id=688d9675782dfc162d4e6cff04c668f7516118d0";
-      sha256 = "04q14s8qsad0bkjmj067dn831i0r6v7742rafdlnbfm5y249m2q6";
-    })
-    # Clang 16 defaults to C++17, which does not allow `register` as a storage class specifier.
-    ./fix-register-storage-class.patch
-  ];
-
-  setupHook = ./setup-hook.sh;
-
-  postFixup = ''
-    # Remove random ids in the release notes
-    sed -i -e 's/href="#idm.*"//g' $out/share/doc/OpenSP/releasenotes.html
-    sed -i -e 's/name="idm.*"//g' $out/share/doc/OpenSP/releasenotes.html
-    '';
-
-  preConfigure = lib.optionalString stdenv.isCygwin ''
-    autoreconf -fi
-  '';
-
-  strictDeps = true;
-
-  nativeBuildInputs = [
-    xmlto
-    docbook_xml_dtd_412
-    docbook_xsl
-  ]
-  # Clang 16 fails to build due to inappropriate definitions in the `config.h` generated by the
-  # existing configure scripts. Regenerate them to make sure they detect its features correctly.
-  ++ lib.optional stdenv.cc.isClang autoreconfHook
-  ++ lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
-
-  doCheck = false; # fails
-
-  meta = with lib; {
-    description = "Suite of SGML/XML processing tools";
-    license = licenses.mit;
-    homepage = "https://openjade.sourceforge.net/";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/tools/text/sgml/opensp/fix-register-storage-class.patch b/pkgs/tools/text/sgml/opensp/fix-register-storage-class.patch
deleted file mode 100644
index ce1aba32437b..000000000000
--- a/pkgs/tools/text/sgml/opensp/fix-register-storage-class.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/Recognizer.cxx	2005-11-05 04:05:20.000000000 -0500
-+++ b/lib/Recognizer.cxx	2023-06-03 11:45:04.497116217 -0400
-@@ -39,7 +39,7 @@
-   }
-   else
-     in->startTokenNoMulticode();
--  register const Trie *pos = trie_.pointer();
-+  const Trie *pos = trie_.pointer();
-   do {
-     pos = pos->next(map_[in->tokenChar(mgr)]);
-   } while (pos->hasNext());
diff --git a/pkgs/tools/text/sgml/opensp/setup-hook.sh b/pkgs/tools/text/sgml/opensp/setup-hook.sh
deleted file mode 100644
index 5bace3c66889..000000000000
--- a/pkgs/tools/text/sgml/opensp/setup-hook.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-addSGMLCatalogs () {
-      if test -d $1/sgml/dtd; then
-          for i in $(find $1/sgml/dtd -name docbook.cat); do
-              export SGML_CATALOG_FILES="${SGML_CATALOG_FILES:+:}$i"
-          done
-      fi
-}
-
-if test -z "${sgmlHookDone-}"; then
-    sgmlHookDone=1
-
-    # Set http_proxy and ftp_proxy to a invalid host to prevent
-    # xmllint and xsltproc from trying to download DTDs from the
-    # network even when --nonet is not given.  That would be impure.
-    # (Note that .invalid is a reserved domain guaranteed not to
-    # work.)
-    export http_proxy=http://nodtd.invalid/
-    export ftp_proxy=http://nodtd.invalid/
-
-    export SGML_CATALOG_FILES
-    addEnvHooks "$targetOffset" addSGMLCatalogs
-fi
diff --git a/pkgs/tools/text/sgrep/default.nix b/pkgs/tools/text/sgrep/default.nix
deleted file mode 100644
index 4b7476e55f6d..000000000000
--- a/pkgs/tools/text/sgrep/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, sgrep, fetchurl, runCommand, lib, m4, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "sgrep";
-  version = "1.94a";
-
-  src = fetchurl {
-    url = "https://www.cs.helsinki.fi/pub/Software/Local/Sgrep/sgrep-${version}.tar.gz";
-    sha256 = "sha256-1bFkeOOrRHNeJCg9LYldLJyAE5yVIo3zvbKsRGOV+vk=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  postInstall = ''
-    wrapProgram $out/bin/sgrep \
-      --prefix PATH : ${lib.makeBinPath [ m4 ]}
-  '';
-
-  passthru.tests.smokeTest = runCommand "test-sgrep" { } ''
-    expr='"<foo>" __ "</foo>"'
-    data="<foo>1</foo><bar>2</bar>"
-    ${sgrep}/bin/sgrep "$expr" <<<$data >$out
-    read result <$out
-    [[ $result = 1 ]]
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html";
-    description = "Grep for structured text formats such as XML";
-    mainProgram = "sgrep";
-    longDescription = ''
-      sgrep (structured grep) is a tool for searching and indexing text,
-      SGML, XML and HTML files and filtering text streams using
-      structural criteria.
-    '';
-    platforms = platforms.unix;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ eigengrau ];
-  };
-}
diff --git a/pkgs/tools/text/shab/default.nix b/pkgs/tools/text/shab/default.nix
deleted file mode 100644
index bbc60921903d..000000000000
--- a/pkgs/tools/text/shab/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ bash, stdenv, lib, runCommand, writeText, fetchFromGitHub }:
-let
-  version = "1.0.0";
-
-  shab = stdenv.mkDerivation {
-    pname = "shab";
-    inherit version;
-
-    src = fetchFromGitHub {
-      owner = "zimbatm";
-      repo = "shab";
-      rev = "v${version}";
-      sha256 = "02lf1s6plhhcfyj9xha44wij9jbphb1x5q55xj3b5bx2ji2jsvji";
-    };
-
-    postPatch = ''
-      for f in test.sh test/*.sh; do
-        patchShebangs "$f"
-      done
-    '';
-
-    doCheck = true;
-    doInstallCheck = true;
-
-    checkPhase = ''
-      ./test.sh
-    '';
-
-    installPhase = ''
-      mkdir -p $out/bin
-      cp ./shab $out/bin/shab
-    '';
-
-    installCheckPhase = ''
-      [[ "$(echo 'Hello $entity' | entity=world $out/bin/shab)" == 'Hello world' ]]
-    '';
-
-    passthru = {
-      inherit render renderText;
-    };
-
-    meta = with lib; {
-      description = "Bash templating language";
-      mainProgram = "shab";
-      homepage = "https://github.com/zimbatm/shab";
-      license = licenses.unlicense;
-      maintainers = with maintainers; [ zimbatm ];
-      platforms = bash.meta.platforms;
-    };
-  };
-
-  /*
-     shabScript:       a path or filename to use as a template
-     parameters.name:  the name to use as part of the store path
-     parameters:       variables to expose to the template
-   */
-  render = shabScript: parameters:
-    let extraParams = {
-          inherit shabScript;
-        };
-    in runCommand "out" (parameters // extraParams) ''
-      ${shab}/bin/shab "$shabScript" >$out
-    '';
-
-  /*
-     shabScriptText:   a string to use as a template
-     parameters.name:  the name to use as part of the store path
-     parameters:       variables to expose to the template
-   */
-  renderText = shabScriptText: parameters:
-    render (writeText "template" shabScriptText) parameters;
-
-in
-  shab
diff --git a/pkgs/tools/text/shfmt/default.nix b/pkgs/tools/text/shfmt/default.nix
deleted file mode 100644
index b2437a01c993..000000000000
--- a/pkgs/tools/text/shfmt/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles, scdoc }:
-
-buildGoModule rec {
-  pname = "shfmt";
-  version = "3.8.0";
-
-  src = fetchFromGitHub {
-    owner = "mvdan";
-    repo = "sh";
-    rev = "v${version}";
-    sha256 = "sha256-2AnSmwl4ID7QxF8k1fl50S47KjKs9PwVpxchUIlhVo0=";
-  };
-
-  vendorHash = "sha256-rWAnWohbQZyPlOWqWwcxPMDABxumCo4M8fBUx54q76c=";
-
-  subPackages = [ "cmd/shfmt" ];
-
-  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
-
-  nativeBuildInputs = [ installShellFiles scdoc ];
-
-  postBuild = ''
-    scdoc < cmd/shfmt/shfmt.1.scd > shfmt.1
-    installManPage shfmt.1
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/mvdan/sh";
-    description = "Shell parser and formatter";
-    longDescription = ''
-      shfmt formats shell programs. It can use tabs or any number of spaces to indent.
-      You can feed it standard input, any number of files or any number of directories to recurse into.
-    '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ zowoq SuperSandro2000 ];
-    mainProgram = "shfmt";
-  };
-}
diff --git a/pkgs/tools/text/shocco/default.nix b/pkgs/tools/text/shocco/default.nix
deleted file mode 100644
index 6fc11f6ef0ba..000000000000
--- a/pkgs/tools/text/shocco/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, perlPackages, python3 }:
-
-stdenv.mkDerivation rec {
-  pname = "shocco";
-  version = "1.0";
-
-  src = fetchFromGitHub {
-    owner = "rtomayko";
-    repo = "shocco";
-    rev = version;
-    sha256 = "1nkwcw9fqf4vyrwidqi6by7nrmainkjqkirkz3yxmzk6kzwr38mi";
-  };
-
-  prePatch = ''
-    # Don't change $PATH
-    substituteInPlace configure --replace PATH= NIRVANA=
-  '';
-
-  buildInputs = [ perlPackages.TextMarkdown python3.pkgs.pygments ];
-
-  meta = with lib; {
-    description = "Quick-and-dirty, literate-programming-style documentation generator for / in POSIX shell";
-    mainProgram = "shocco";
-    homepage = "https://rtomayko.github.io/shocco/";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ dotlambda ];
-  };
-}
diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix
deleted file mode 100644
index 04ca7f0c2136..000000000000
--- a/pkgs/tools/text/sift/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles }:
-
-buildGoModule rec {
-  pname = "sift";
-  version = "0.9.0";
-
-  src = fetchFromGitHub {
-    owner = "svent";
-    repo = "sift";
-    rev = "v${version}";
-    hash = "sha256-IZ4Hwg5NzdSXtrIDNxtkzquuiHQOmLV1HSx8gpwE/i0=";
-  };
-
-  vendorHash = "sha256-y883la4R4jhsS99/ohgBC9SHggybAq9hreda6quG3IY=";
-
-  patches = [
-    # Add Go Modules support
-    (fetchpatch {
-      url = "https://github.com/svent/sift/commit/b56fb3d0fd914c8a6c08b148e15dd8a07c7d8a5a.patch";
-      hash = "sha256-mFCEpkgQ8XDPRQ3yKDZ5qY9tKGSuHs+RnhMeAlx33Ng=";
-    })
-  ];
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  ldflags = [ "-s" "-w" ];
-
-  postInstall = ''
-    installShellCompletion --cmd sift --bash sift-completion.bash
-  '';
-
-  meta = with lib; {
-    description = "Fast and powerful alternative to grep";
-    mainProgram = "sift";
-    homepage = "https://sift-tool.org";
-    maintainers = with maintainers; [ viraptor ];
-    license = licenses.gpl3;
-  };
-}
diff --git a/pkgs/tools/text/silver-searcher/bash-completion.patch b/pkgs/tools/text/silver-searcher/bash-completion.patch
deleted file mode 100644
index 30e8c72389b7..000000000000
--- a/pkgs/tools/text/silver-searcher/bash-completion.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -9 +9 @@
--bashcompdir = $(pkgdatadir)/completions
-+bashcompdir = $(datadir)/bash-completion/completions
diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix
deleted file mode 100644
index 568b49371f69..000000000000
--- a/pkgs/tools/text/silver-searcher/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, pcre, zlib, xz}:
-
-stdenv.mkDerivation rec {
-  pname = "silver-searcher";
-  version = "2.2.0";
-
-  src = fetchFromGitHub {
-    owner = "ggreer";
-    repo = "the_silver_searcher";
-    rev = version;
-    sha256 = "0cyazh7a66pgcabijd27xnk1alhsccywivv6yihw378dqxb22i1p";
-  };
-
-  patches = [ ./bash-completion.patch ];
-
-  # Workaround build failure on -fno-common toolchains like upstream
-  # gcc-10. Otherwise build fails as:
-  #   ld: src/zfile.o:/build/source/src/log.h:12: multiple definition of
-  #     `print_mtx'; src/ignore.o:/build/source/src/log.h:12: first defined here
-  # TODO: remove once next release has https://github.com/ggreer/the_silver_searcher/pull/1377
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
-  NIX_LDFLAGS = lib.optionalString stdenv.isLinux "-lgcc_s";
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ pcre zlib xz ];
-
-  meta = with lib; {
-    homepage = "https://github.com/ggreer/the_silver_searcher/";
-    description = "Code-searching tool similar to ack, but faster";
-    maintainers = with maintainers; [ madjar ];
-    mainProgram = "ag";
-    platforms = platforms.all;
-    license = licenses.asl20;
-  };
-}
diff --git a/pkgs/tools/text/smu/default.nix b/pkgs/tools/text/smu/default.nix
deleted file mode 100644
index 63c9bb8d024f..000000000000
--- a/pkgs/tools/text/smu/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, lib, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  pname = "smu";
-  version = "1.5";
-
-  src = fetchFromGitHub {
-    owner = "Gottox";
-    repo = "smu";
-    rev = "v${version}";
-    sha256 = "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc";
-  };
-
-  # _FORTIFY_SOURCE requires compiling with optimization (-O)
-  env.NIX_CFLAGS_COMPILE = "-O";
-
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
-
-  meta = with lib; {
-    description = "simple markup - markdown like syntax";
-    mainProgram = "smu";
-    homepage = "https://github.com/Gottox/smu";
-    license = licenses.mit;
-    maintainers = with maintainers; [ oxzi ];
-  };
-}
-
diff --git a/pkgs/tools/text/snippetpixie/default.nix b/pkgs/tools/text/snippetpixie/default.nix
deleted file mode 100644
index 40267ea7e148..000000000000
--- a/pkgs/tools/text/snippetpixie/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, meson
-, ninja
-, vala
-, pkg-config
-, wrapGAppsHook3
-, appstream
-, desktop-file-utils
-, python3
-, libgee
-, glib
-, gtk3
-, sqlite
-, at-spi2-atk
-, at-spi2-core
-, dbus
-, ibus
-, json-glib
-, pantheon
-, xorg
-}:
-
-stdenv.mkDerivation rec {
-  pname = "snippetpixie";
-  version = "1.5.3";
-
-  src = fetchFromGitHub {
-    owner = "bytepixie";
-    repo = pname;
-    rev = version;
-    sha256 = "0gs3d9hdywg4vcfbp4qfcagfjqalfgw9xpvywg4pw1cm3rzbdqmz";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    vala
-    pkg-config
-    wrapGAppsHook3
-    appstream
-    desktop-file-utils
-    python3
-  ];
-
-  buildInputs = [
-    libgee
-    glib
-    gtk3
-    sqlite
-    at-spi2-atk
-    at-spi2-core
-    dbus
-    ibus
-    json-glib
-    xorg.libXtst
-    pantheon.granite
-  ];
-
-  doCheck = true;
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script { };
-  };
-
-  meta = with lib; {
-    description = "Your little expandable text snippet helper";
-    longDescription = ''
-      Your little expandable text snippet helper.
-
-      Save your often used text snippets and then expand them whenever you type their abbreviation.
-
-      For example:- "spr`" expands to "Snippet Pixie rules!"
-
-      For non-accessible applications such as browsers and Electron apps, there's a shortcut (default is Ctrl+`) for opening a search window that pastes the selected snippet.
-    '';
-    homepage = "https://www.snippetpixie.com";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ ianmjones ] ++ teams.pantheon.members;
-    platforms = platforms.linux;
-    mainProgram = "com.github.bytepixie.snippetpixie";
-  };
-}
diff --git a/pkgs/tools/text/sorted-grep/default.nix b/pkgs/tools/text/sorted-grep/default.nix
deleted file mode 100644
index f0225d8a2444..000000000000
--- a/pkgs/tools/text/sorted-grep/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, fetchurl, lib }:
-
-stdenv.mkDerivation rec {
-  pname = "sorted-grep";
-  version = "1.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/sgrep/sgrep-${version}.tgz";
-    hash = "sha256-3F7cXrZnB38YwE1sHYm/CIGKmG+1c0QU+Pk3Y53a0T4=";
-  };
-
-  postPatch = ''
-    # Its Makefile is missing compiler flags and an install step
-    rm -f Makefile
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    ${stdenv.cc.targetPrefix}cc -Wall -O2 -o sgrep sgrep.c
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -D sgrep "$out/bin/sgrep"
-
-    runHook postInstall
-  '';
-
-  installCheckPhase = ''
-    runHook preInstallCheck
-
-    set +o pipefail
-    $out/bin/sgrep 2>&1 | grep ^Usage:
-
-    runHook postInstallCheck
-  '';
-
-  doInstallCheck = true;
-
-  meta = with lib; {
-    homepage = "https://sgrep.sourceforge.net/";
-    description = "Sgrep (sorted grep) searches sorted input files for lines that match a search key";
-    mainProgram = "sgrep";
-    longDescription = ''
-      Sgrep (sorted grep) searches sorted input files for lines that match a search
-      key and outputs the matching lines. When searching large files sgrep is much
-      faster than traditional Unix grep, but with significant restrictions.
-    '';
-    platforms = platforms.unix;
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ivan ];
-  };
-}
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
deleted file mode 100644
index d20b3692f31c..000000000000
--- a/pkgs/tools/text/source-highlight/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ lib, stdenv, fetchpatch, fetchurl, boost }:
-
-stdenv.mkDerivation rec {
-  pname = "source-highlight";
-  version = "3.1.9";
-
-  outputs = [ "out" "doc" "dev" ];
-
-  src = fetchurl {
-    url = "mirror://gnu/src-highlite/${pname}-${version}.tar.gz";
-    sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs";
-  };
-
-  patches = [
-    # gcc-11 compat upstream patch
-    (fetchpatch {
-      url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=904949c9026cb772dc93fbe0947a252ef47127f4";
-      hash = "sha256-h9DyD+pmlQT5dmKjWI9t0gCIYHe7pYkP55LnOqsE0vI=";
-      excludes = [ "ChangeLog" ];
-    })
-
-    # Upstream fix for clang-13 and gcc-12 test support
-    (fetchpatch {
-      name = "gcc-12.patch";
-      url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=ab9fe5cb9b85c5afab94f2a7f4b6d7d473c14ee9";
-      hash = "sha256-wmSLgLnLuFE+IC6AjxzZp/HEnaOCS1VfY2cac0T7Y+w=";
-    })
-  ] ++ lib.optionals stdenv.cc.isClang [
-    # Adds compatibility with C++17 by removing the `register` storage class specifier.
-    (fetchpatch {
-      name = "remove-register-keyword";
-      url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=416b39758dba2c74515584514a959ad1b0ad50d1";
-      hash = "sha256-R5A7IGHhU82EqceMCsuNBanhRz4dFVqiaH8637dr7jw=";
-      includes = [ "lib/*" ];
-    })
-  ];
-
-  # source-highlight uses it's own binary to generate documentation.
-  # During cross-compilation, that binary was built for the target
-  # platform architecture, so it can't run on the build host.
-  postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-    substituteInPlace Makefile.in --replace "src doc tests" "src tests"
-  '';
-
-  strictDeps = true;
-  buildInputs = [ boost ];
-
-  configureFlags = [
-    "--with-boost=${boost.out}"
-    "--with-bash-completion=${placeholder "out"}/share/bash-completion/completions"
-  ];
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-  # Upstream uses the same intermediate files in multiple tests, running
-  # them in parallel by make will eventually break one or more tests.
-  enableParallelChecking = false;
-
-  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 = licenses.gpl3Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ SuperSandro2000 ];
-  };
-}
diff --git a/pkgs/tools/text/subedit/default.nix b/pkgs/tools/text/subedit/default.nix
deleted file mode 100644
index 9bacdc23de0d..000000000000
--- a/pkgs/tools/text/subedit/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, libuchardet, dos2unix, file }:
-
-stdenv.mkDerivation {
-  pname = "subedit";
-  version = "1.2.2";
-
-  src = fetchFromGitHub {
-    owner = "helixarch";
-    repo = "subedit";
-    rev = "74e11816d7b4813064a2434a5abc0f78f66c0e53";
-    sha256 = "sha256-3ywBBCWbwDqNNkxRupNJX6mYKxVFnoCFKav3Hc4E+8A=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildInputs = [ libuchardet dos2unix file ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    install -m555 subedit $out/bin/
-  '';
-
-  postFixup = ''
-    wrapProgram $out/bin/subedit --prefix PATH : "${lib.makeBinPath [ libuchardet dos2unix file ]}"
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/helixarch/subedit";
-    description = "Command-line subtitle editor written in BASH";
-    mainProgram = "subedit";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ ppom ];
-  };
-}
diff --git a/pkgs/tools/text/tab/default.nix b/pkgs/tools/text/tab/default.nix
deleted file mode 100644
index 431b046471a4..000000000000
--- a/pkgs/tools/text/tab/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python3 }:
-
-stdenv.mkDerivation rec {
-  version = "9.2";
-  pname = "tab";
-
-  src = fetchFromGitHub {
-    owner = "ivan-tkatchev";
-    repo = pname;
-    rev = version;
-    hash = "sha256-UOXfnpzYMKDdp8EeBo2HsVPGn61hkCqHe8olX9KAgOU=";
-  };
-
-  # gcc12; see https://github.com/ivan-tkatchev/tab/commit/673bdac998
-  postPatch = ''
-    sed '1i#include <cstring>' -i deps.h
-  '';
-
-  nativeCheckInputs = [ python3 ];
-
-  doCheck = !stdenv.isDarwin;
-
-  checkTarget = "test";
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm555 -t $out/bin tab
-    install -Dm444 -t $out/share/doc/tab docs/*.html
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Programming language/shell calculator";
-    mainProgram = "tab";
-    homepage    = "https://tab-lang.xyz";
-    license     = licenses.boost;
-    maintainers = with maintainers; [ mstarzyk ];
-    platforms   = with platforms; unix;
-  };
-}
diff --git a/pkgs/tools/text/teip/default.nix b/pkgs/tools/text/teip/default.nix
deleted file mode 100644
index 90a41a8cf38d..000000000000
--- a/pkgs/tools/text/teip/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, installShellFiles
-, perl
-, stdenv
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "teip";
-  version = "2.3.0";
-
-  src = fetchFromGitHub {
-    owner = "greymd";
-    repo = "teip";
-    rev = "v${version}";
-    hash = "sha256-09IKAM1ha40CvF5hdQIlUab7EBBFourC70LAagrs5+4=";
-  };
-
-  cargoHash = "sha256-cBFczgvLja6upuPnXphG2d9Rf1ZpNAVh16NHAHfXxHg=";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  nativeCheckInputs = [ perl ];
-
-  # tests are locale sensitive
-  preCheck = ''
-    export LANG=${if stdenv.isDarwin then "en_US.UTF-8" else "C.UTF-8"}
-  '';
-
-  postInstall = ''
-    installManPage man/teip.1
-    installShellCompletion \
-      --bash completion/bash/teip \
-      --fish completion/fish/teip.fish \
-      --zsh completion/zsh/_teip
-  '';
-
-  meta = with lib; {
-    description = "Tool to bypass a partial range of standard input to any command";
-    mainProgram = "teip";
-    homepage = "https://github.com/greymd/teip";
-    changelog = "https://github.com/greymd/teip/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/termbook/Cargo.lock b/pkgs/tools/text/termbook/Cargo.lock
deleted file mode 100644
index 1e786d565107..000000000000
--- a/pkgs/tools/text/termbook/Cargo.lock
+++ /dev/null
@@ -1,2900 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "addr2line"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "adler32"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "ammonia"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170"
-dependencies = [
- "html5ever",
- "maplit",
- "once_cell",
- "tendril",
- "url 2.3.1",
-]
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "backtrace"
-version = "0.3.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if 1.0.0",
- "libc",
- "miniz_oxide 0.6.2",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "base64"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-dependencies = [
- "byteorder",
- "safemem",
-]
-
-[[package]]
-name = "base64"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "base64"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
-
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array 0.14.7",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
-]
-
-[[package]]
-name = "bstr"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09"
-dependencies = [
- "memchr",
- "serde",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b"
-
-[[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "iovec",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-integer",
- "num-traits",
- "time",
- "wasm-bindgen",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "term_size",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "color_quant"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
-dependencies = [
- "autocfg 1.1.0",
- "cfg-if 1.0.0",
- "crossbeam-utils",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array 0.14.7",
- "typenum",
-]
-
-[[package]]
-name = "darling"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9158d690bc62a3a57c3e45b85e4d50de2008b39345592c64efd79345c7e24be0"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2a368589465391e127e10c9e3a08efc8df66fd49b87dc8524c764bbe7f2ef82"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "244e8987bd4e174385240cde20a3657f607fb0797563c28255c353b5819a07b1"
-dependencies = [
- "darling_core",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "deflate"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
-dependencies = [
- "adler32",
- "byteorder",
-]
-
-[[package]]
-name = "digest"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
-dependencies = [
- "block-buffer 0.10.4",
- "crypto-common",
-]
-
-[[package]]
-name = "either"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
-
-[[package]]
-name = "elasticlunr-rs"
-version = "2.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60eee99ae400fb1c4521ea3bd678994cb66572754d240449368e8ecd40281569"
-dependencies = [
- "lazy_static",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "strum",
- "strum_macros",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
-dependencies = [
- "atty",
- "humantime",
- "log 0.4.17",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
-dependencies = [
- "atty",
- "humantime",
- "log 0.4.17",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "errno"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "error-chain"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
-dependencies = [
- "backtrace",
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "failure"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
-dependencies = [
- "backtrace",
- "failure_derive",
-]
-
-[[package]]
-name = "failure_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
- "synstructure",
-]
-
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
-[[package]]
-name = "fastrand"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "filetime"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "flate2"
-version = "1.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
-dependencies = [
- "crc32fast",
- "miniz_oxide 0.7.1",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
-dependencies = [
- "percent-encoding 2.2.0",
-]
-
-[[package]]
-name = "fsevent"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
-dependencies = [
- "bitflags",
- "fsevent-sys",
-]
-
-[[package]]
-name = "fsevent-sys"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
-[[package]]
-name = "futf"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
-dependencies = [
- "mac",
- "new_debug_unreachable",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
-dependencies = [
- "typenum",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "gethostname"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "getopts"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "gif"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "471d90201b3b223f3451cd4ad53e34295f16a1df17b1edf3736d47761c3981af"
-dependencies = [
- "color_quant",
- "lzw",
-]
-
-[[package]]
-name = "gimli"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
-
-[[package]]
-name = "gitignore"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d051488d9a601181a9b90c9ad8ae7e8251d642ddd2463008f2f5019d255bd89"
-dependencies = [
- "glob",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "globset"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
-dependencies = [
- "aho-corasick 0.7.20",
- "bstr",
- "fnv",
- "log 0.4.17",
- "regex",
-]
-
-[[package]]
-name = "handlebars"
-version = "3.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba758d094d31274eb49d15da6f326b96bf3185239a6359bf684f3d5321148900"
-dependencies = [
- "log 0.4.17",
- "pest",
- "pest_derive",
- "quick-error",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "html5ever"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
-dependencies = [
- "log 0.4.17",
- "mac",
- "markup5ever",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "httparse"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-
-[[package]]
-name = "humantime"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
-dependencies = [
- "quick-error",
-]
-
-[[package]]
-name = "hyper"
-version = "0.10.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
-dependencies = [
- "base64 0.9.3",
- "httparse",
- "language-tags",
- "log 0.3.9",
- "mime 0.2.6",
- "num_cpus",
- "time",
- "traitobject",
- "typeable",
- "unicase 1.4.2",
- "url 1.7.2",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
-name = "idna"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "idna"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "image"
-version = "0.22.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08ed2ada878397b045454ac7cfb011d73132c59f31a955d230bd1f1c2e68eb4a"
-dependencies = [
- "byteorder",
- "gif",
- "jpeg-decoder",
- "num-iter",
- "num-rational",
- "num-traits",
- "png",
- "scoped_threadpool",
- "tiff",
-]
-
-[[package]]
-name = "inflate"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
-dependencies = [
- "adler32",
-]
-
-[[package]]
-name = "inotify"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
-dependencies = [
- "bitflags",
- "inotify-sys",
- "libc",
-]
-
-[[package]]
-name = "inotify-sys"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "iron"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6d308ca2d884650a8bf9ed2ff4cb13fbb2207b71f64cda11dc9b892067295e8"
-dependencies = [
- "hyper",
- "log 0.3.9",
- "mime_guess",
- "modifier",
- "num_cpus",
- "plugin",
- "typemap",
- "url 1.7.2",
-]
-
-[[package]]
-name = "is-match"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e5b386aef33a1c677be65237cb9d32c3f3ef56bd035949710c4bb13083eb053"
-
-[[package]]
-name = "itertools"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-
-[[package]]
-name = "jpeg-decoder"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
-dependencies = [
- "rayon",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.62"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "language-tags"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
-[[package]]
-name = "libc"
-version = "0.2.144"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
-
-[[package]]
-name = "line-wrap"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
-dependencies = [
- "safemem",
-]
-
-[[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f"
-
-[[package]]
-name = "lock_api"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
-dependencies = [
- "autocfg 1.1.0",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.17",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "lzw"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084"
-
-[[package]]
-name = "mac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
-
-[[package]]
-name = "maplit"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-
-[[package]]
-name = "markup5ever"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
-dependencies = [
- "log 0.4.17",
- "phf 0.10.1",
- "phf_codegen 0.10.0",
- "string_cache",
- "string_cache_codegen",
- "tendril",
-]
-
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
-name = "mdbook"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7ec525f7ebccc2dd935c263717250cd37f9a4b264a77c5dbc950ea2734d8159"
-dependencies = [
- "ammonia",
- "chrono",
- "clap",
- "elasticlunr-rs",
- "env_logger 0.6.2",
- "error-chain",
- "gitignore",
- "handlebars",
- "iron",
- "itertools",
- "lazy_static",
- "log 0.4.17",
- "memchr",
- "notify",
- "open",
- "pulldown-cmark 0.6.1",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "shlex",
- "staticfile",
- "tempfile",
- "toml",
- "toml-query",
- "ws",
-]
-
-[[package]]
-name = "mdcat"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a95a756c025b1c1a2e84a869fd690ee239ca4af65a8209191d04736e19ba9f08"
-dependencies = [
- "ansi_term",
- "base64 0.11.0",
- "clap",
- "failure",
- "gethostname",
- "image",
- "mime 0.3.17",
- "pulldown-cmark 0.6.1",
- "syntect",
- "term_size",
- "url 2.3.1",
-]
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "mime"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
-
-[[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
-name = "mime_guess"
-version = "1.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216929a5ee4dd316b1702eedf5e74548c123d370f47841ceaac38ca154690ca3"
-dependencies = [
- "mime 0.2.6",
- "phf 0.7.24",
- "phf_codegen 0.7.24",
- "unicase 1.4.2",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log 0.4.17",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-extras"
-version = "2.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
-dependencies = [
- "lazycell",
- "log 0.4.17",
- "mio",
- "slab",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "modifier"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58"
-
-[[package]]
-name = "mount"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25c06012941aaf8c75f2eaf7ec5c48cf69f9fc489ab3eb3589edc107e386f0b"
-dependencies = [
- "iron",
- "sequence_trie",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "new_debug_unreachable"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
-[[package]]
-name = "notify"
-version = "4.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
-dependencies = [
- "bitflags",
- "filetime",
- "fsevent",
- "fsevent-sys",
- "inotify",
- "libc",
- "mio",
- "mio-extras",
- "walkdir",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "num-derive"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg 1.1.0",
- "num-traits",
-]
-
-[[package]]
-name = "num-iter"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
-dependencies = [
- "autocfg 1.1.0",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
-dependencies = [
- "autocfg 1.1.0",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
-dependencies = [
- "hermit-abi 0.2.6",
- "libc",
-]
-
-[[package]]
-name = "object"
-version = "0.30.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
-
-[[package]]
-name = "onig"
-version = "4.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8518fcb2b1b8c2f45f0ad499df4fda6087fc3475ca69a185c173b8315d2fb383"
-dependencies = [
- "bitflags",
- "lazy_static",
- "libc",
- "onig_sys",
-]
-
-[[package]]
-name = "onig_sys"
-version = "69.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388410bf5fa341f10e58e6db3975f4bea1ac30247dd79d37a9e5ced3cb4cc3b0"
-dependencies = [
- "cc",
- "pkg-config",
-]
-
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
-
-[[package]]
-name = "open"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcea7a30d6b81a2423cc59c43554880feff7b57d12916f231a79f8d6d9470201"
-dependencies = [
- "pathdiff",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "pathdiff"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
-
-[[package]]
-name = "percent-encoding"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-
-[[package]]
-name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "pest"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70"
-dependencies = [
- "thiserror",
- "ucd-trie",
-]
-
-[[package]]
-name = "pest_derive"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b79d4c71c865a25a4322296122e3924d30bc8ee0834c8bfc8b95f7f054afbfb"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411"
-dependencies = [
- "once_cell",
- "pest",
- "sha2",
-]
-
-[[package]]
-name = "phf"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-dependencies = [
- "phf_shared 0.7.24",
-]
-
-[[package]]
-name = "phf"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
-dependencies = [
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
-dependencies = [
- "phf_generator 0.7.24",
- "phf_shared 0.7.24",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
-dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
-dependencies = [
- "phf_shared 0.7.24",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
-dependencies = [
- "phf_shared 0.10.0",
- "rand 0.8.5",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-dependencies = [
- "siphasher 0.2.3",
- "unicase 1.4.2",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-dependencies = [
- "siphasher 0.3.10",
-]
-
-[[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
-name = "plist"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f2a9f075f6394100e7c105ed1af73fb1859d6fd14e49d4290d578120beb167f"
-dependencies = [
- "base64 0.10.1",
- "byteorder",
- "humantime",
- "line-wrap",
- "serde",
- "xml-rs",
-]
-
-[[package]]
-name = "plugin"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0"
-dependencies = [
- "typemap",
-]
-
-[[package]]
-name = "png"
-version = "0.15.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef859a23054bbfee7811284275ae522f0434a3c8e7f4b74bd4a35ae7e1c4a283"
-dependencies = [
- "bitflags",
- "crc32fast",
- "deflate",
- "inflate",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "precomputed-hash"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
-
-[[package]]
-name = "proc-macro2"
-version = "0.4.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-dependencies = [
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c205cc82214f3594e2d50686730314f817c67ffa80fe800cf0db78c3c2b9d9e"
-dependencies = [
- "bitflags",
- "getopts",
- "memchr",
- "unicase 2.6.0",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca36dea94d187597e104a5c8e4b07576a8a45aa5db48a65e12940d3eb7461f55"
-dependencies = [
- "bitflags",
- "memchr",
- "unicase 2.6.0",
-]
-
-[[package]]
-name = "pulldown-cmark-to-cmark"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf89659b1da0800e093162bc6f9305d896393af721cc88ffdb86a4b20760fe89"
-dependencies = [
- "pulldown-cmark 0.6.1",
-]
-
-[[package]]
-name = "pulldown-cmark-to-cmark"
-version = "4.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cffb594e453d29e238ac190362a4a291daec00396717a8d1670863121ac56958"
-dependencies = [
- "pulldown-cmark 0.7.2",
-]
-
-[[package]]
-name = "quick-error"
-version = "1.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
-name = "quote"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
-dependencies = [
- "proc-macro2 0.4.30",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
-dependencies = [
- "proc-macro2 1.0.56",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.8",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.9",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rayon"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "num_cpus",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
-dependencies = [
- "aho-corasick 1.0.1",
- "memchr",
- "regex-syntax 0.7.1",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustix"
-version = "0.37.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
-dependencies = [
- "bitflags",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scoped_threadpool"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "sequence_trie"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ee22067b7ccd072eeb64454b9c6e1b33b61cd0d49e895fd48676a184580e0c3"
-
-[[package]]
-name = "serde"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
-
-[[package]]
-name = "serde_derive"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
-dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
-dependencies = [
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.10.6",
-]
-
-[[package]]
-name = "shlex"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-
-[[package]]
-name = "siphasher"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-
-[[package]]
-name = "siphasher"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
-
-[[package]]
-name = "slab"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "staticfile"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "babd3fa68bb7e3994ce181c5f21ff3ff5fffef7b18b8a10163b45e4dafc6fb86"
-dependencies = [
- "iron",
- "mount",
- "time",
- "url 1.7.2",
-]
-
-[[package]]
-name = "string_cache"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
-dependencies = [
- "new_debug_unreachable",
- "once_cell",
- "parking_lot",
- "phf_shared 0.10.0",
- "precomputed-hash",
- "serde",
-]
-
-[[package]]
-name = "string_cache_codegen"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
-dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strum"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
-
-[[package]]
-name = "strum_macros"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
-dependencies = [
- "heck",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "syn"
-version = "0.15.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "unicode-ident",
-]
-
-[[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
- "unicode-xid 0.2.4",
-]
-
-[[package]]
-name = "syntect"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72fed41b91655133c9819f68d0b9a194dcbf36aa46e80033b6e9ae169f58b211"
-dependencies = [
- "bincode",
- "bitflags",
- "flate2",
- "fnv",
- "lazy_static",
- "lazycell",
- "onig",
- "plist",
- "regex-syntax 0.6.29",
- "serde",
- "serde_derive",
- "serde_json",
- "walkdir",
- "yaml-rust",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
-dependencies = [
- "cfg-if 1.0.0",
- "fastrand",
- "redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "tendril"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
-dependencies = [
- "futf",
- "mac",
- "utf-8",
-]
-
-[[package]]
-name = "term_size"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "termbook"
-version = "1.4.2"
-dependencies = [
- "atty",
- "globset",
- "mdbook",
- "mdcat",
- "pulldown-cmark 0.6.1",
- "pulldown-cmark-to-cmark 2.0.1",
- "syntect",
-]
-
-[[package]]
-name = "termbook-cli"
-version = "1.4.6"
-dependencies = [
- "clap",
- "env_logger 0.7.1",
- "lazy_static",
- "pulldown-cmark-to-cmark 4.0.2",
- "termbook",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "term_size",
- "unicode-width",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "tiff"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7b7c2cfc4742bd8a32f2e614339dd8ce30dbcf676bb262bd63a2327bc5df57d"
-dependencies = [
- "byteorder",
- "lzw",
- "num-derive",
- "num-traits",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml-query"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "654d5afba116c445bb5fb6812e7c3177d90d143427af73f12956f33e18a1cedb"
-dependencies = [
- "failure",
- "failure_derive",
- "is-match",
- "lazy_static",
- "regex",
- "toml",
- "toml-query_derive",
-]
-
-[[package]]
-name = "toml-query_derive"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528baacc7fbc5e12b3fc32f483bea1b1cf531afa71cfaae54838d7095a6add9b"
-dependencies = [
- "darling",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "traitobject"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
-
-[[package]]
-name = "typeable"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
-
-[[package]]
-name = "typemap"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
-dependencies = [
- "unsafe-any",
-]
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
-
-[[package]]
-name = "unicase"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-dependencies = [
- "version_check 0.1.5",
-]
-
-[[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
-name = "unicode-xid"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
-name = "unsafe-any"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
-dependencies = [
- "traitobject",
-]
-
-[[package]]
-name = "url"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna 0.1.5",
- "matches",
- "percent-encoding 1.0.1",
-]
-
-[[package]]
-name = "url"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
-dependencies = [
- "form_urlencoded",
- "idna 0.3.0",
- "percent-encoding 2.2.0",
-]
-
-[[package]]
-name = "utf-8"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "version_check"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "walkdir"
-version = "2.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4"
-dependencies = [
- "cfg-if 1.0.0",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822"
-dependencies = [
- "bumpalo",
- "log 0.4.17",
- "once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434"
-dependencies = [
- "quote 1.0.27",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb"
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "ws"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848"
-dependencies = [
- "byteorder",
- "bytes",
- "httparse",
- "log 0.4.17",
- "mio",
- "mio-extras",
- "rand 0.7.3",
- "sha-1",
- "slab",
- "url 2.3.1",
-]
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "xml-rs"
-version = "0.8.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc95a04ea24f543cd9be5aab44f963fa35589c99e18415c38fb2b17e133bf8d2"
-
-[[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
diff --git a/pkgs/tools/text/termbook/default.nix b/pkgs/tools/text/termbook/default.nix
deleted file mode 100644
index d16dc05cba53..000000000000
--- a/pkgs/tools/text/termbook/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, installShellFiles
-, pkg-config
-, oniguruma
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "termbook-cli";
-  version = "1.4.6";
-
-  src = fetchFromGitHub {
-    owner = "Byron";
-    repo = "termbook";
-    rev = "v${version}";
-    sha256 = "Bo3DI0cMXIfP7ZVr8MAW/Tmv+4mEJBIQyLvRfVBDG8c=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-  };
-
-  nativeBuildInputs = [
-    installShellFiles
-    pkg-config
-  ];
-
-  buildInputs = [
-    oniguruma
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  env = {
-    RUSTONIG_SYSTEM_LIBONIG = true;
-  };
-
-  # update dependencies to fix build failure caused by unaligned packed structs
-  postPatch = ''
-    ln -sf ${./Cargo.lock} Cargo.lock
-  '';
-
-  postInstall = ''
-    installShellCompletion --cmd termbook \
-      --bash <($out/bin/termbook completions bash) \
-      --fish <($out/bin/termbook completions fish) \
-      --zsh <($out/bin/termbook completions zsh)
-  '';
-
-  meta = with lib; {
-    description = "Runner for `mdbooks` to keep your documentation tested";
-    mainProgram = "termbook";
-    homepage = "https://github.com/Byron/termbook/";
-    changelog = "https://github.com/Byron/termbook/blob/${src.rev}/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ phaer ];
-  };
-}
diff --git a/pkgs/tools/text/tesh/default.nix b/pkgs/tools/text/tesh/default.nix
deleted file mode 100644
index d4d2c1e0ed71..000000000000
--- a/pkgs/tools/text/tesh/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ python3Packages, fetchFromGitHub }:
-
-let
-  version = "0.3.2";
-in python3Packages.buildPythonPackage rec {
-  pname = "tesh";
-  inherit version;
-
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "OceanSprint";
-    repo = "tesh";
-    rev = version;
-    hash = "sha256-GIwg7Cv7tkLu81dmKT65c34eeVnRR5MIYfNwTE7j2Vs=";
-  };
-
-  checkInputs = [ python3Packages.pytest ];
-  nativeBuildInputs = [ python3Packages.poetry-core ];
-  propagatedBuildInputs = with python3Packages; [ click pexpect ];
-}
diff --git a/pkgs/tools/text/tidy-viewer/default.nix b/pkgs/tools/text/tidy-viewer/default.nix
deleted file mode 100644
index b2d55ee27615..000000000000
--- a/pkgs/tools/text/tidy-viewer/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, rustPlatform, fetchFromGitHub }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "tidy-viewer";
-  version = "1.5.2";
-
-  src = fetchFromGitHub {
-    owner = "alexhallam";
-    repo = "tv";
-    rev = version;
-    sha256 = "sha256-OnvRiQ5H/Vsmfu+F1i68TowjrDwQLQtV1sC6Jrp4xA4=";
-  };
-
-  cargoSha256 = "sha256-pIGuBP0a4jWFzkQfqvxQUrBmqYjhERVyEbZvL7g5hRM=";
-
-  # this test parses command line arguments
-  # error: Found argument '--test-threads' which wasn't expected, or isn't valid in this context
-  checkFlags = [
-    "--skip=build_reader_can_create_reader_without_file_specified"
-  ];
-
-  meta = with lib; {
-    description = "Cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment";
-    mainProgram = "tidy-viewer";
-    homepage = "https://github.com/alexhallam/tv";
-    changelog = "https://github.com/alexhallam/tv/blob/${version}/CHANGELOG.md";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/tml/default.nix b/pkgs/tools/text/tml/default.nix
deleted file mode 100644
index 244b2d10adc1..000000000000
--- a/pkgs/tools/text/tml/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "tml";
-  version = "0.7.0";
-
-  src = fetchFromGitHub {
-    owner = "liamg";
-    repo = "tml";
-    rev = "v${version}";
-    hash = "sha256-QMXEKjOKYQlzXc2ds8OAAL5xUxayGb6mxxyeHsCkfwo=";
-  };
-
-  vendorHash = "sha256-CHZS1SpPko8u3tZAYbf+Di882W55X9Q/zd4SmFCRgKM=";
-
-  ldflags = [ "-s" "-w" ];
-
-  meta = with lib; {
-    description = "Tiny markup language for terminal output";
-    mainProgram = "tml";
-    homepage = "https://github.com/liamg/tml";
-    changelog = "https://github.com/liamg/tml/releases/tag/v${version}";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/to-html/default.nix b/pkgs/tools/text/to-html/default.nix
deleted file mode 100644
index 5ddba61276d4..000000000000
--- a/pkgs/tools/text/to-html/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-}:
-
-rustPlatform.buildRustPackage rec {
-  version = "0.1.4";
-  pname = "to-html";
-
-  src = fetchFromGitHub {
-    owner = "Aloso";
-    repo = "to-html";
-    rev = "v${version}";
-    hash = "sha256-zkTBjsMFhRz7lVRh8i+XkaJ/qWmTAMPnkH5aDhbHf8U=";
-  };
-
-  cargoHash = "sha256-hXc+lB3DKnRZkp1U5wW/vPKSZ0c1UknQCAxDfE7Eubg=";
-
-  # Requires external resources
-  doCheck = false;
-
-  meta = {
-    description = "Terminal wrapper for rendering a terminal on a website by converting ANSI escape sequences to HTML";
-    mainProgram = "to-html";
-    homepage = "https://github.com/Aloso/to-html";
-    changelog = "https://github.com/Aloso/to-html/blob/${src.rev}/CHANGELOG.md";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ icewind1991 ];
-  };
-}
diff --git a/pkgs/tools/text/topfew-rs/default.nix b/pkgs/tools/text/topfew-rs/default.nix
deleted file mode 100644
index cb3aca7ab53d..000000000000
--- a/pkgs/tools/text/topfew-rs/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "topfew-rs";
-  version = "0.2.3";
-
-  src = fetchFromGitHub {
-    owner = "djc";
-    repo = "topfew-rs";
-    rev = version;
-    hash = "sha256-VlSLPcKw3LYGnmKk5YOkcGIizw1tqtKF2BykY+1MtvY=";
-  };
-
-  cargoHash = "sha256-j+afSwDHau7H20siYtid7l8tq+iS24KJBsNZAEdNJlI=";
-
-  meta = with lib; {
-    description = "Rust implementation of Tim Bray's topfew tool";
-    homepage = "https://github.com/djc/topfew-rs";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ figsoda ];
-    mainProgram = "tf";
-  };
-}
diff --git a/pkgs/tools/text/topfew/default.nix b/pkgs/tools/text/topfew/default.nix
deleted file mode 100644
index 967e4e1403a2..000000000000
--- a/pkgs/tools/text/topfew/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-}:
-
-buildGoModule rec {
-  pname = "topfew";
-  version = "0.9.0";
-
-  src = fetchFromGitHub {
-    owner = "timbray";
-    repo = "topfew";
-    rev = version;
-    hash = "sha256-6ydi/4LyqTLKpR00f4zpcrTnCorlhnsBOxdhzBMNcRI=";
-  };
-
-  vendorHash = null;
-
-  nativeBuildInputs = [
-    installShellFiles
-  ];
-
-  ldflags = [ "-s" "-w" ];
-
-  postInstall = ''
-    installManPage doc/tf.1
-  '';
-
-  meta = with lib; {
-    description = "Finds the fields (or combinations of fields) which appear most often in a stream of records";
-    homepage = "https://github.com/timbray/topfew";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ figsoda ];
-    mainProgram = "tf";
-  };
-}
diff --git a/pkgs/tools/text/tuc/default.nix b/pkgs/tools/text/tuc/default.nix
deleted file mode 100644
index 46e9bb86e57c..000000000000
--- a/pkgs/tools/text/tuc/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, fetchFromGitHub, rustPlatform }:
-rustPlatform.buildRustPackage rec {
-  pname = "tuc";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "riquito";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-+QkkwQfp818bKVo1yUkWKLMqbdzRJ+oHpjxB+UFDRsU=";
-  };
-
-  cargoHash = "sha256-NbqmXptLmqLd6QizRB1bIM53Rdj010Hy3JqSuLQ4H24=";
-
-  meta = with lib; {
-    description = "When cut doesn't cut it";
-    mainProgram = "tuc";
-    homepage = "https://github.com/riquito/tuc";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ dit7ya ];
-  };
-}
diff --git a/pkgs/tools/text/tv/default.nix b/pkgs/tools/text/tv/default.nix
deleted file mode 100644
index 9cf6e2e243e8..000000000000
--- a/pkgs/tools/text/tv/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ fetchFromGitHub, lib, rustPlatform }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "tv";
-  version = "0.7.0";
-
-  src = fetchFromGitHub {
-    owner = "uzimaru0000";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-qODv45smZ6jHCJBaa6EEvFLG+7g+FWrRf6BiHRFLzqM=";
-  };
-
-  cargoSha256 = "sha256-nI4n4KMPLaIF978b5VvW3mb02vKW+r39nllrhukJilI=";
-
-  meta = with lib; {
-    description = "Format json into table view";
-    mainProgram = "tv";
-    homepage = "https://github.com/uzimaru0000/tv";
-    changelog = "https://github.com/uzimaru0000/tv/blob/v${version}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/txt2tags/default.nix b/pkgs/tools/text/txt2tags/default.nix
deleted file mode 100644
index 1e48d4c6f3d6..000000000000
--- a/pkgs/tools/text/txt2tags/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, python3
-, fetchFromGitHub
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "txt2tags";
-  version = "3.9";
-
-  format = "setuptools";
-
-  src = fetchFromGitHub {
-    owner = "txt2tags";
-    repo = "txt2tags";
-    rev = "refs/tags/${version}";
-    hash = "sha256-PwPGJJg79ny13gEb1WmgIVHcXQppI/j5mhIyOZjR19k=";
-  };
-
-  postPatch = ''
-    substituteInPlace test/lib.py \
-      --replace 'TXT2TAGS = os.path.join(TEST_DIR, "..", "txt2tags.py")' \
-                'TXT2TAGS = "${placeholder "out"}/bin/txt2tags"' \
-      --replace "[PYTHON] + TXT2TAGS" "TXT2TAGS"
-  '';
-
-  checkPhase = ''
-    ${python3.interpreter} test/run.py
-  '';
-
-  meta = {
-    changelog = "https://github.com/txt2tags/txt2tags/blob/${src.rev}/CHANGELOG.md";
-    description = "Convert between markup languages";
-    mainProgram = "txt2tags";
-    homepage = "https://txt2tags.org/";
-    license  = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [ dotlambda kovirobi ];
-  };
-}
diff --git a/pkgs/tools/text/u2ps/default.nix b/pkgs/tools/text/u2ps/default.nix
deleted file mode 100644
index 95d46db42ed2..000000000000
--- a/pkgs/tools/text/u2ps/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, ghostscript_headless
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "u2ps";
-  version = "1.2";
-
-  src = fetchFromGitHub {
-    owner = "arsv";
-    repo = "u2ps";
-    rev = finalAttrs.version;
-    hash = "sha256-sa0CL47PwYVDykxzF8KeWhz7HXAX6jZ0AcfecD+aFyg=";
-  };
-
-  buildInputs = [ ghostscript_headless ];
-
-  meta = with lib; {
-    description = "Unicode text to postscript converter";
-    homepage = "https://github.com/arsv/u2ps";
-    license = licenses.gpl3Plus;
-    longDescription = ''
-      U2ps is a text to postscript converter similar to a2ps,
-      with emphasis on Unicode support.
-    '';
-    mainProgram = "u2ps";
-    maintainers = [ maintainers.athas ];
-    platforms = platforms.unix;
-  };
-})
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
deleted file mode 100644
index 9cffa4ce6909..000000000000
--- a/pkgs/tools/text/ugrep/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, boost
-, brotli
-, bzip2
-, bzip3
-, lz4
-, pcre2
-, testers
-, xz
-, zlib
-, zstd
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "ugrep";
-  version = "6.0.0";
-
-  src = fetchFromGitHub {
-    owner = "Genivia";
-    repo = "ugrep";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-jZWmWZ4ZkmtdEI7BJ4cg1PBAuue8sjA7aiGotv2WmB4=";
-  };
-
-  buildInputs = [
-    boost
-    brotli
-    bzip2
-    bzip3
-    lz4
-    pcre2
-    xz
-    zlib
-    zstd
-  ];
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = finalAttrs.finalPackage;
-    };
-  };
-
-  meta = with lib; {
-    description = "Ultra fast grep with interactive query UI";
-    homepage = "https://github.com/Genivia/ugrep";
-    changelog = "https://github.com/Genivia/ugrep/releases/tag/v${finalAttrs.version}";
-    maintainers = with maintainers; [ numkem mikaelfangel ];
-    license = licenses.bsd3;
-    platforms = platforms.all;
-    mainProgram = "ug";
-  };
-})
diff --git a/pkgs/tools/text/unfurl/default.nix b/pkgs/tools/text/unfurl/default.nix
deleted file mode 100644
index 0d9ae3b01992..000000000000
--- a/pkgs/tools/text/unfurl/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "unfurl";
-  version = "0.4.3";
-
-  src = fetchFromGitHub {
-    owner = "tomnomnom";
-    repo = "unfurl";
-    rev = "v${version}";
-    hash = "sha256-7aLe5d8ku5llfJ2xh8fT56vqj12/CJ1ez3Vte2PF8KQ=";
-  };
-
-  vendorHash = "sha256-Kpd916+jjGvw56N122Ej4CXVcv1/xr1THkjsrhkIy+U=";
-
-  ldflags = [ "-s" "-w" ];
-
-  # tests tries to download a list of tlds from the internet
-  postPatch = ''
-    echo com > /tmp/.tlds
-  '';
-
-  meta = with lib; {
-    description = "Pull out bits of URLs provided on stdin";
-    mainProgram = "unfurl";
-    homepage = "https://github.com/tomnomnom/unfurl";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/uni2ascii/default.nix b/pkgs/tools/text/uni2ascii/default.nix
deleted file mode 100644
index d83e9393f941..000000000000
--- a/pkgs/tools/text/uni2ascii/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "uni2ascii";
-  version = "4.18";
-
-  src = fetchurl {
-    url = "https://billposer.org/Software/Downloads/uni2ascii-${version}.tar.gz";
-    sha256 = "03lklnzr6ngs4wqiqa7rifd246f441gfvardbsaa5l6fn9pbn94y";
-  };
-
-  meta = {
-    license = lib.licenses.gpl3;
-    homepage = "http://billposer.org/Software/uni2ascii.html";
-    description = "Converts between UTF-8 and many 7-bit ASCII equivalents and back";
-
-    longDescription = ''
-    This package provides conversion in both directions between UTF-8
-    Unicode and more than thirty 7-bit ASCII equivalents, including
-    RFC 2396 URI format and RFC 2045 Quoted Printable format, the
-    representations used in HTML, SGML, XML, OOXML, the Unicode
-    standard, Rich Text Format, POSIX portable charmaps, POSIX locale
-    specifications, and Apache log files, and the escapes used for
-    including Unicode in Ada, C, Common Lisp, Java, Pascal, Perl,
-    Postscript, Python, Scheme, and Tcl.
-
-    Such ASCII equivalents are useful when including Unicode text in
-    program source, when debugging, and when entering text into web
-    programs that can handle the Unicode character set but are not
-    8-bit safe. For example, MovableType, the blog software, truncates
-    posts as soon as it encounters a byte with the high bit
-    set. However, if Unicode is entered in the form of HTML numeric
-    character entities, Movable Type will not garble the post.
-
-    It also provides ways of converting non-ASCII characters to
-    similar ASCII characters, e.g. by stripping diacritics.
-    '';
-    maintainers = with lib.maintainers; [ goibhniu ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/unoconv/default.nix b/pkgs/tools/text/unoconv/default.nix
deleted file mode 100644
index 66f8fd2a6509..000000000000
--- a/pkgs/tools/text/unoconv/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python3, libreoffice-unwrapped, asciidoc, makeWrapper
-# whether to install odt2pdf/odt2doc/... symlinks to unoconv
-, installSymlinks ? true
-}:
-
-# IMPORTANT: unoconv must use the same python version as libreoffice (unless it
-# will not be able to load the pyuno module from libreoffice).
-
-stdenv.mkDerivation rec {
-  pname = "unoconv";
-  version = "0.9.0";
-
-  src = fetchFromGitHub {
-    owner = "unoconv";
-    repo = "unoconv";
-    rev = version;
-    sha256 = "1akx64686in8j8arl6vsgp2n3bv770q48pfv283c6fz6wf9p8fvr";
-  };
-
-  nativeBuildInputs = [ asciidoc makeWrapper ];
-
-  preBuild = ''
-    makeFlags=prefix="$out"
-  '';
-
-  postInstall = ''
-    sed -i "s|/usr/bin/env python.*|${python3}/bin/${python3.executable}|" "$out/bin/unoconv"
-    wrapProgram "$out/bin/unoconv" \
-        --set-default UNO_PATH "${libreoffice-unwrapped}/lib/libreoffice/program/"
-  '' + lib.optionalString installSymlinks ''
-    make install-links prefix="$out"
-  '';
-
-  meta = with lib; {
-    description = "Convert between any document format supported by LibreOffice/OpenOffice";
-    homepage = "http://dag.wieers.com/home-made/unoconv/";
-    license = licenses.gpl2Only;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/tools/text/unrtf/default.nix b/pkgs/tools/text/unrtf/default.nix
deleted file mode 100644
index 5e6766e4db94..000000000000
--- a/pkgs/tools/text/unrtf/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl, autoconf, automake, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "unrtf";
-  version = "0.21.10";
-
-  src = fetchurl {
-    url = "https://ftp.gnu.org/gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1bil6z4niydz9gqm2j861dkxmqnpc8m7hvidsjbzz7x63whj17xl";
-  };
-
-  nativeBuildInputs = [ autoconf automake ];
-
-  buildInputs = [ libiconv ];
-
-  preConfigure = "./bootstrap";
-
-  outputs = [ "out" "man" ];
-
-  meta = with lib; {
-    description = "Converter from Rich Text Format to other formats";
-    mainProgram = "unrtf";
-    longDescription = ''
-      UnRTF converts documents in Rich Text Format to other
-      formats, including HTML, LaTeX, and RTF itself.
-    '';
-    homepage = "https://www.gnu.org/software/unrtf/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ joachifm ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/untex/default.nix b/pkgs/tools/text/untex/default.nix
deleted file mode 100644
index cb4c0e4fcb9e..000000000000
--- a/pkgs/tools/text/untex/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "untex";
-  version = "1.3";
-
-  src = fetchurl {
-    url = "ftp://ftp.thp.uni-duisburg.de/pub/source/${pname}-${version}.tar.gz";
-    sha256 = "1jww43pl9qvg6kwh4h8imp966fzd62dk99pb4s93786lmp3kgdjv";
-  };
-
-  hardeningDisable = [ "format" ];
-
-  unpackPhase = "tar xf $src";
-  installTargets = [ "install" "install.man" ];
-  installFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/share/man/man1" ];
-  preBuild = ''
-    sed -i '1i#include <stdlib.h>\n#include <string.h>' untex.c
-    mkdir -p $out/bin $out/share/man/man1
-  '';
-
-  meta = with lib; {
-    description = "Utility which removes LaTeX commands from input";
-    mainProgram = "untex";
-    homepage = "https://www.ctan.org/pkg/untex";
-    license = licenses.gpl1Only;
-    maintainers = with maintainers; [ joachifm ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/uwc/default.nix b/pkgs/tools/text/uwc/default.nix
deleted file mode 100644
index 42777accb826..000000000000
--- a/pkgs/tools/text/uwc/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ rustPlatform, lib, fetchFromGitLab }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "uwc";
-  version = "1.0.5";
-
-  src = fetchFromGitLab {
-    owner = "dead10ck";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-x2mijB1GkxdraFroG1+PiBzWKPjsaAeoDt0HFL2v93I=";
-  };
-
-  cargoHash = "sha256-0IvOaQaXfdEz5tlXh5gTbnZG9QZSWDVHGOqYq8aWOIc=";
-
-  doCheck = true;
-
-  meta = with lib; {
-    description = "Like wc, but unicode-aware, and with per-line mode";
-    mainProgram = "uwc";
-    homepage = "https://gitlab.com/dead10ck/uwc";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ShamrockLee ];
-  };
-}
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
deleted file mode 100644
index 22914dc547aa..000000000000
--- a/pkgs/tools/text/vale/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, makeBinaryWrapper
-, runCommand
-, symlinkJoin
-, vale
-, valeStyles
-}:
-
-buildGoModule rec {
-  pname = "vale";
-  version = "3.5.0";
-
-  subPackages = [ "cmd/vale" ];
-
-  src = fetchFromGitHub {
-    owner = "errata-ai";
-    repo = "vale";
-    rev = "v${version}";
-    hash = "sha256-yp3jy0iEO4DHhAskp2Y56KSjTddNTcQRf+HgxKa0o9c=";
-  };
-
-  vendorHash = "sha256-OLlViQKLTark9yknnjJFiEThFtxNNjue5LUp1P/anKU=";
-
-  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
-
-  # Tests require network access
-  doCheck = false;
-
-  passthru.withStyles = selector: symlinkJoin {
-    name = "vale-with-styles-${vale.version}";
-    paths = [ vale ] ++ selector valeStyles;
-    nativeBuildInputs = [ makeBinaryWrapper ];
-    postBuild = ''
-      wrapProgram "$out/bin/vale" \
-        --set VALE_STYLES_PATH "$out/share/vale/styles/"
-    '';
-    meta = {
-      inherit (vale.meta) mainProgram;
-    };
-  };
-
-  meta = with lib; {
-    description = "Syntax-aware linter for prose built with speed and extensibility in mind";
-    longDescription = ''
-      Vale in Nixpkgs offers the helper `.withStyles` allow you to install it
-      predefined styles:
-
-          vale.withStyles (s: [ s.alex s.google ])
-    '';
-    homepage = "https://vale.sh/";
-    changelog = "https://github.com/errata-ai/vale/releases/tag/v${version}";
-    mainProgram = "vale";
-    license = licenses.mit;
-    maintainers = [ maintainers.pbsds ];
-  };
-}
diff --git a/pkgs/tools/text/vale/styles.nix b/pkgs/tools/text/vale/styles.nix
deleted file mode 100644
index 6022d38497a9..000000000000
--- a/pkgs/tools/text/vale/styles.nix
+++ /dev/null
@@ -1,144 +0,0 @@
-{ lib, stdenvNoCC, fetchFromGitHub, fetchzip, nix-update-script }:
-
-let
-  buildStyle =
-    { name
-    , stylePath ? name
-    , ...
-    }@args:
-    stdenvNoCC.mkDerivation ({
-      pname = "vale-style-${lib.toLower name}";
-
-      dontConfigure = true;
-      dontBuild = true;
-      doCheck = false;
-      dontFixup = true;
-
-      installPhase = ''
-        runHook preInstall
-        mkdir -p $out/share/vale/styles
-        cp -R ${stylePath} "$out/share/vale/styles/${name}"
-        runHook postInstall
-      '';
-
-      passthru.updateScript = nix-update-script { };
-
-      meta = {
-        platforms = lib.platforms.all;
-        maintainers = with lib.maintainers; [ katexochen ];
-      } // (args.meta or { });
-    } // removeAttrs args [ "meta" "name" ]);
-in
-{
-  alex = buildStyle rec {
-    name = "alex";
-    version = "0.2.2";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "alex";
-      rev = "v${version}";
-      hash = "sha256-mfeMa+KlkqwyS+h+oo5p5+P2bsmZ0BOph2nbQiaoNqM=";
-    };
-    meta = {
-      description = "Vale-compatible implementation of the guidelines enforced by the alex linter";
-      homepage = "https://github.com/errata-ai/alex";
-      license = lib.licenses.mit;
-    };
-  };
-
-  google = buildStyle rec {
-    name = "Google";
-    version = "0.6.1";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "Google";
-      rev = "v${version}";
-      hash = "sha256-jSmfUgzlIbDVh2zLtnTNpM/z6dHMp358F9adLZ5+qcw=";
-    };
-    meta = {
-      description = "Vale-compatible implementation of the Google Developer Documentation Style Guide";
-      homepage = "https://github.com/errata-ai/Google";
-      license = lib.licenses.mit;
-    };
-  };
-
-  joblint = buildStyle rec {
-    name = "Joblint";
-    version = "0.4.1";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "Joblint";
-      rev = "v${version}";
-      hash = "sha256-zRz5ThOg5RLTZj3dYPe0PDvOF5DjO31lduSpi2Us87U=";
-    };
-    meta = {
-      description = "Vale-compatible implementation of the Joblint linter";
-      homepage = "https://github.com/errata-ai/Joblint";
-      license = lib.licenses.mit;
-    };
-  };
-
-  microsoft = buildStyle rec {
-    name = "Microsoft";
-    version = "0.14.1";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "Microsoft";
-      rev = "v${version}";
-      hash = "sha256-4j05bIGAVEy6untUqtrUxdLKlhyOcJsbcsow8OxRp1A=";
-    };
-    meta = {
-      description = "Vale-compatible implementation of the Microsoft Writing Style Guide";
-      homepage = "https://github.com/errata-ai/Microsoft";
-      license = lib.licenses.mit;
-    };
-  };
-
-  proselint = buildStyle rec {
-    name = "proselint";
-    version = "0.3.4";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "proselint";
-      rev = "v${version}";
-      hash = "sha256-ryKJDX1JrvDWVKLC5qQGctweDf74yuwEXxl/IqumM4s=";
-    };
-    meta = {
-      description = "Vale-compatible implementation of Python's proselint linter";
-      homepage = "https://github.com/errata-ai/proselint";
-      license = lib.licenses.bsd3;
-    };
-  };
-
-  readability = buildStyle rec {
-    name = "Readability";
-    version = "0.1.1";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "readability";
-      rev = "v${version}";
-      hash = "sha256-5Y9v8QsZjC2w3/pGIcL5nBdhpogyJznO5IFa0s8VOOI=";
-    };
-    meta = {
-      description = "Vale-compatible implementations of many popular \"readability\" metrics";
-      homepage = "https://github.com/errata-ai/readability";
-      license = lib.licenses.mit;
-    };
-  };
-
-  write-good = buildStyle rec {
-    name = "write-good";
-    version = "0.4.1";
-    src = fetchFromGitHub {
-      owner = "errata-ai";
-      repo = "write-good";
-      rev = "v${version}";
-      hash = "sha256-W/eHlXklAVlAnY8nLPi/SIKsg8UUnH8UkH99BDo5yKk=";
-    };
-    meta = {
-      description = "Vale-compatible implementation of the write-good linter";
-      homepage = "https://github.com/errata-ai/write-good";
-      license = lib.licenses.mit;
-    };
-  };
-}
diff --git a/pkgs/tools/text/validator-nu/default.nix b/pkgs/tools/text/validator-nu/default.nix
deleted file mode 100644
index d52c87e4186b..000000000000
--- a/pkgs/tools/text/validator-nu/default.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ fetchFromGitHub
-, git
-, jdk_headless
-, jre_headless
-, makeWrapper
-, python3
-, stdenvNoCC
-, lib
-, testers
-}:
-
-let
-  pname = "validator-nu";
-  version = "23.4.11-unstable-2023-12-18";
-
-  src = fetchFromGitHub {
-    owner = "validator";
-    repo = "validator";
-    rev = "c3a401feb6555affdc891337f5a40af238f9ac2d";
-    fetchSubmodules = true;
-    hash = "sha256-pcA3HXduzFKzoOHhor12qvzbGSSvo3k3Bpy2MvvQlCI=";
-  };
-
-  deps = stdenvNoCC.mkDerivation {
-    pname = "${pname}-deps";
-    inherit version src;
-
-    nativeBuildInputs = [ git jdk_headless python3 python3.pkgs.certifi ];
-
-    buildPhase = ''
-      python checker.py dldeps
-    '';
-
-    installPhase = ''
-      mkdir "$out"
-      mv dependencies extras "$out"
-    '';
-
-    outputHashMode = "recursive";
-    outputHash = "sha256-LPtxpUd7LAYZHJL7elgcZOTaTgHqeqquiB9hiuajA6c=";
-  };
-
-in
-stdenvNoCC.mkDerivation (finalAttrs: {
-  inherit pname version src;
-
-  nativeBuildInputs = [ git jdk_headless makeWrapper python3 ];
-
-  postPatch = ''
-    substituteInPlace build/build.py --replace-warn \
-      'validatorVersion = "%s.%s.%s" % (year, month, day)' \
-      'validatorVersion = "${finalAttrs.version}"'
-  '';
-
-  buildPhase = ''
-    ln -s '${deps}/dependencies' '${deps}/extras' .
-    JAVA_HOME='${jdk_headless}' python checker.py build
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p "$out/bin" "$out/share/java"
-    mv build/dist/vnu.jar "$out/share/java/"
-    makeWrapper "${jre_headless}/bin/java" "$out/bin/vnu" \
-      --add-flags "-jar '$out/share/java/vnu.jar'"
-
-    runHook postInstall
-  '';
-
-  passthru.tests.version = testers.testVersion {
-    package = finalAttrs.finalPackage;
-  };
-
-  meta = {
-    description = "Helps you catch problems in your HTML/CSS/SVG";
-    homepage = "https://validator.github.io/validator/";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ andersk ivan ];
-    mainProgram = "vnu";
-    platforms = lib.platforms.all;
-    sourceProvenance = with lib.sourceTypes; [ binaryBytecode fromSource ];
-  };
-})
diff --git a/pkgs/tools/text/vgrep/default.nix b/pkgs/tools/text/vgrep/default.nix
deleted file mode 100644
index 9f2f906e9355..000000000000
--- a/pkgs/tools/text/vgrep/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, go-md2man, installShellFiles }:
-
-buildGoModule rec {
-  pname = "vgrep";
-  version = "2.8.0";
-
-  src = fetchFromGitHub {
-    owner = "vrothberg";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-OQjuNRuzFluZLssM+q+WpoRncdJMj6Sl/A+mUZA7UpI=";
-  };
-
-  vendorHash = null;
-
-  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
-
-  nativeBuildInputs = [ go-md2man installShellFiles ];
-
-  postBuild = ''
-    sed -i '/SHELL= /d' Makefile
-    make docs
-    installManPage docs/*.[1-9]
-  '';
-
-  meta = with lib; {
-    description = "User-friendly pager for grep/git-grep/ripgrep";
-    mainProgram = "vgrep";
-    homepage = "https://github.com/vrothberg/vgrep";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ SuperSandro2000 ];
-  };
-}
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
deleted file mode 100644
index d358dcdd0c4e..000000000000
--- a/pkgs/tools/text/wdiff/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl, texinfo, which }:
-
-stdenv.mkDerivation rec {
-  pname = "wdiff";
-  version = "1.2.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/wdiff/${pname}-${version}.tar.gz";
-    sha256 = "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl";
-  };
-
-  # for makeinfo
-  nativeBuildInputs = [ texinfo ];
-
-  buildInputs = [ texinfo ];
-
-  nativeCheckInputs = [ which ];
-
-  strictDeps = true;
-
-  meta = with lib; {
-    homepage = "https://www.gnu.org/software/wdiff/";
-    description = "Comparing files on a word by word basis";
-    mainProgram = "wdiff";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ eelco SuperSandro2000 ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
deleted file mode 100644
index 8ca014e0d5f5..000000000000
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, wget, bash }:
-
-stdenv.mkDerivation rec {
-  pname = "wgetpaste";
-  version = "2.34";
-
-  src = fetchurl {
-    url = "https://github.com/zlin/wgetpaste/releases/download/${version}/wgetpaste-${version}.tar.xz";
-    sha256 = "sha256-vW0G7ZAaPWPJyMVxJghP8JlPCZAb+xY4uHlT6sHpQz8=";
-  };
-  # currently zsh-autocompletion support is not installed
-
-  prePatch = ''
-    substituteInPlace wgetpaste --replace "/usr/bin/env bash" "${bash}/bin/bash"
-    substituteInPlace wgetpaste --replace "LC_ALL=C wget" "LC_ALL=C ${wget}/bin/wget"
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin;
-    cp wgetpaste $out/bin;
-  '';
-
-  meta = {
-    description = "Command-line interface to various pastebins";
-    mainProgram = "wgetpaste";
-    homepage = "https://github.com/zlin/wgetpaste";
-    license = lib.licenses.publicDomain;
-    maintainers = with lib.maintainers; [ qknight domenkozar ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/wrap/default.nix b/pkgs/tools/text/wrap/default.nix
deleted file mode 100644
index 959c78608db1..000000000000
--- a/pkgs/tools/text/wrap/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch, makeWrapper, courier-prime }:
-
-buildGoModule rec {
-  pname = "wrap";
-  version = "0.3.1";
-
-  src = fetchFromGitHub {
-    owner = "Wraparound";
-    repo = "wrap";
-    rev = "v${version}";
-    hash = "sha256-58wsH/e3X72S7tJUObazyvvkI8+B7DLPTBmQO9A+jmk=";
-  };
-
-  vendorHash = "sha256-vg61Vypd+mSF9FyLFVpnS5UCTJDoobkDE1Cneg8O0RM=";
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  patches = [
-    (fetchpatch {
-      name = "courier-prime-variants.patch";
-      url = "https://github.com/Wraparound/wrap/commit/b72c280b6eddba9ec7b3507c1f143eb28a85c9c1.patch";
-      hash = "sha256-hcUsRyv6XVN+GyMN7LXzXPsp8jYUKTJPaK+e5p4CO7U=";
-    })
-    # Fix build on Go 1.17+
-    (fetchpatch {
-      url = "https://github.com/Wraparound/wrap/commit/a222c18a7e0810486741684781ff6158a359a8ba.patch";
-      hash = "sha256-eIKvA91olfbNJhOhIUu3GOL/rbgX3m6unmU8nRdKbtc=";
-    })
-  ];
-
-  postInstall = ''
-    wrapProgram $out/bin/wrap --prefix XDG_DATA_DIRS : ${courier-prime}/share/
-  '';
-
-  meta = with lib; {
-    description = "Fountain export tool with some extras";
-    homepage = "https://github.com/Wraparound/wrap";
-    license = licenses.gpl3Only;
-    maintainers = [ maintainers.austinbutler ];
-  };
-}
diff --git a/pkgs/tools/text/write-good/default.nix b/pkgs/tools/text/write-good/default.nix
deleted file mode 100644
index db3e16c23deb..000000000000
--- a/pkgs/tools/text/write-good/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-}:
-
-buildNpmPackage rec {
-  pname = "write-good";
-  version = "1.0.8";
-
-  src = fetchFromGitHub {
-    owner = "btford";
-    repo = "write-good";
-    rev = "v${version}";
-    hash = "sha256-cq3cj2BwoQMKqo3iU2l+PR/2bJIFMSTRsDGQJ06GWXk=";
-  };
-
-  npmDepsHash = "sha256-0M9RzyeINmUPYcLy654iI+/ehElKrhIAibpiSqlXD2A=";
-
-  dontNpmBuild = true;
-
-  meta = {
-    description = "Naive linter for English prose";
-    homepage = "https://github.com/btford/write-good";
-    license = lib.licenses.mit;
-    mainProgram = "write-good";
-    maintainers = with lib.maintainers; [ ];
-  };
-}
diff --git a/pkgs/tools/text/xidel/default.nix b/pkgs/tools/text/xidel/default.nix
deleted file mode 100644
index 6a55a5d9e8b1..000000000000
--- a/pkgs/tools/text/xidel/default.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fpc, openssl }:
-
-let
-  flreSrc = fetchFromGitHub {
-    owner = "benibela";
-    repo = "flre";
-    rev = "3e926d45d4352f1b7c7cd411ccd625df117dad5c";
-    hash = "sha256-fs7CIjd3fwD/SORYh5pmJxIdrr8F9e36TNmnKUbUxP0=";
-  };
-  synapseSrc = fetchFromGitHub {
-    owner = "benibela";
-    repo = "ararat-synapse";
-    rev = "7a77db926de66809080bada68b54172da7f84c0e";
-    hash = "sha256-bVLQ0ohGJYtuP88Krxy9a7RnHHrW0OWw8H/uxa3PerU=";
-  };
-  rcmdlineSrc = fetchFromGitHub {
-    owner = "benibela";
-    repo = "rcmdline";
-    rev = "ea02b770c4568717dd7b3b72da191a8bbcb4c751";
-    hash = "sha256-6YtvAf0joRvtCKbUAaLwuwABw1GEIzammFLhboq9aG0=";
-  };
-  internettoolsSrc = fetchFromGitHub {
-    owner = "benibela";
-    repo = "internettools";
-    rev = "dd972caaa4415468fa679ea7262976ead3fd3e38";
-    hash = "sha256-09sADxPiE6ky1EX7dTXRBYVT3IarUcLYf5knzi7+CHU=";
-  };
-  pasdblstrutilsSrc = fetchFromGitHub {
-    owner = "BeRo1985";
-    repo = "pasdblstrutils";
-    rev = "1696f0a2b822fef26c8992f96620f1be129cfa99";
-    hash = "sha256-x0AjOTa1g7gJOR2iBO76yBt1kzcRNujHRUsq5QOlfP0=";
-  };
-in stdenv.mkDerivation rec {
-  pname = "xidel";
-  version = "unstable-2022-11-01";
-
-  src = fetchFromGitHub {
-    owner = "benibela";
-    repo = pname;
-    rev = "6d5655c1d73b88ddeb32d2450a35ee36e4762bb8";
-    hash = "sha256-9x2d5AKRBjocRawRHdeI4heIM5nb00/F/EIj+/to7ac=";
-  };
-
-  nativeBuildInputs = [ fpc ];
-  buildInputs = [ openssl ];
-
-  NIX_LDFLAGS = [ "-lcrypto" ];
-
-  patchPhase = ''
-    patchShebangs \
-      build.sh \
-      tests/test.sh \
-      tests/tests-file-module.sh \
-      tests/tests.sh \
-      tests/downloadTest.sh \
-      tests/downloadTests.sh \
-      tests/zorbajsoniq.sh \
-      tests/zorbajsoniq/download.sh
-  '';
-
-  preBuildPhase = ''
-    mkdir -p import/{flre,synapse,pasdblstrutils} rcmdline internettools
-    cp -R ${flreSrc}/. import/flre
-    cp -R ${synapseSrc}/. import/synapse
-    cp -R ${pasdblstrutilsSrc}/. import/pasdblstrutils
-    cp -R ${rcmdlineSrc}/. rcmdline
-    cp -R ${internettoolsSrc}/. internettools
-  '';
-
-  buildPhase = ''
-    runHook preBuildPhase
-    ./build.sh
-    runHook postBuildPhase
-  '';
-
-  installPhase = ''
-    mkdir -p "$out/bin" "$out/share/man/man1"
-    cp meta/xidel.1 "$out/share/man/man1/"
-    cp xidel "$out/bin/"
-  '';
-
-  # disabled, because tests require network
-  checkPhase = ''
-    ./tests/tests.sh
-  '';
-
-  meta = with lib; {
-    description = "Command line tool to download and extract data from HTML/XML pages as well as JSON APIs";
-    mainProgram = "xidel";
-    homepage = "https://www.videlibri.de/xidel.html";
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/tools/text/xml/basex/basex.svg b/pkgs/tools/text/xml/basex/basex.svg
deleted file mode 100644
index 9d476cec2ca1..000000000000
--- a/pkgs/tools/text/xml/basex/basex.svg
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg2178"
-   sodipodi:version="0.32"
-   inkscape:version="0.45"
-   width="1568"
-   height="1164"
-   version="1.0"
-   sodipodi:docbase="F:\Uni\Scholl\Research\Conferences\BTW2007\Poster"
-   sodipodi:docname="Logo.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   sodipodi:modified="true">
-  <metadata
-     id="metadata2183">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs2181" />
-  <sodipodi:namedview
-     inkscape:window-height="1150"
-     inkscape:window-width="1143"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     guidetolerance="10.0"
-     gridtolerance="10.0"
-     objecttolerance="10.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     inkscape:zoom="0.64948454"
-     inkscape:cx="784"
-     inkscape:cy="584.00852"
-     inkscape:window-x="412"
-     inkscape:window-y="20"
-     inkscape:current-layer="layer2"
-     showgrid="false"
-     inkscape:object-bbox="true"
-     inkscape:object-points="true"
-     gridempspacing="10" />
-  <g
-     inkscape:groupmode="layer"
-     id="layer2"
-     style="opacity:1">
-    <path
-       style="font-size:1470px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:19.98425102;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Clarendo"
-       d="M 628.08008,847.55762 C 613.24569,864.30587 601.88095,879.3791 593.98584,892.77734 C 586.08995,906.17595 582.1422,916.94254 582.14258,925.07715 C 582.1422,937.9972 586.92735,947.08899 596.49805,952.35254 C 606.06796,957.61633 624.49079,960.24816 651.7666,960.24805 L 720.67285,960.24805 L 720.67285,1072.2207 L 207.46484,1072.2207 L 207.46484,960.24805 L 256.27344,960.24805 C 284.9843,960.24816 308.07265,955.94152 325.53857,947.32813 C 343.00426,938.71498 364.89633,919.09586 391.21484,888.4707 L 673.2998,568.34375 L 441.45898,276.92773 C 416.57596,245.82505 393.60723,224.77038 372.55273,213.76367 C 351.4979,202.75868 325.89734,197.25576 295.75098,197.25488 L 245.50684,197.25488 L 245.50684,86 L 767.32813,86 L 767.32813,197.25488 L 699.85742,197.25488 C 685.97999,197.25576 675.45266,199.76796 668.27539,204.7915 C 661.0972,209.81678 657.50834,217.11414 657.50879,226.68359 C 657.50834,233.38365 659.30277,240.20249 662.89209,247.14014 C 666.4805,254.07943 672.58156,262.57308 681.19531,272.62109 L 810.39453,429.81348 L 967.58691,265.44336 C 974.76388,258.26644 980.50606,250.84945 984.81348,243.19238 C 989.11933,235.53697 991.27265,229.07702 991.27344,223.8125 C 991.27265,215.20008 985.88936,208.62049 975.12354,204.07373 C 964.35618,199.5287 948.20629,197.25576 926.67383,197.25488 L 869.25195,197.25488 L 869.25195,86 L 1332.2158,86 L 1332.2158,197.25488 L 1279.1006,197.25488 C 1241.2968,197.25576 1189.8564,233.14439 1124.7793,304.9209 L 1123.3438,306.35645 L 905.8584,544.65723 L 1155.6436,856.1709 C 1194.8808,904.97966 1224.6684,934.52797 1245.0063,944.81592 C 1265.3422,955.10412 1294.412,960.24816 1332.2158,960.24805 L 1376,960.24805 L 1376,1072.2207 L 810.39453,1072.2207 L 810.39453,960.24805 L 877.86523,960.24805 C 901.79032,960.24816 919.25612,958.21447 930.2627,954.14697 C 941.26782,950.07971 946.77074,943.26087 946.77148,933.69043 C 946.77074,926.51284 945.3352,918.97623 942.46484,911.08057 C 939.59302,903.18523 935.28638,895.64861 929.54492,888.4707 L 768.76367,685.34082 L 628.08008,847.55762 z "
-       id="text2175" />
-    <path
-       style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
-       d="M 146.16714,395.52869 L 353.19839,395.52869 C 387.70332,395.52904 414.19255,404.07396 432.66616,421.16345 C 451.13913,438.25361 460.37577,459.41244 460.37612,484.64001 C 460.37577,505.79912 453.78398,523.94688 440.60073,539.08337 C 431.81135,549.17472 418.95329,557.14998 402.02651,563.00916 C 427.74234,569.19424 446.66322,579.81434 458.78921,594.86951 C 470.9145,609.92499 476.97732,628.84587 476.97768,651.6322 C 476.97732,670.18697 472.66417,686.8699 464.03823,701.68103 C 455.41158,716.49227 443.61146,728.211 428.63784,736.83728 C 419.36019,742.20839 405.3628,746.11463 386.64565,748.55603 C 361.74306,751.81124 345.22289,753.43884 337.08511,753.43884 L 146.16714,753.43884 L 146.16714,395.52869 z M 257.7394,535.90955 L 305.83511,535.90955 C 323.0875,535.90976 335.09107,532.93939 341.84585,526.99841 C 348.60017,521.05789 351.97744,512.47229 351.97768,501.24158 C 351.97744,490.82517 348.60017,482.68716 341.84585,476.82751 C 335.09107,470.96842 323.33164,468.03874 306.56753,468.03845 L 257.7394,468.03845 L 257.7394,535.90955 z M 257.7394,676.53455 L 314.13589,676.53455 C 333.17863,676.53462 346.60635,673.15735 354.41909,666.40271 C 362.23134,659.64825 366.13758,650.57436 366.13784,639.18103 C 366.13758,628.60173 362.27203,620.0975 354.54116,613.66833 C 346.8098,607.23944 333.26001,604.02493 313.89175,604.02478 L 257.7394,604.02478 L 257.7394,676.53455 z "
-       id="text2205" />
-    <path
-       style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
-       d="M 703.69272,694.35681 L 577.71616,694.35681 L 560.38217,753.43884 L 447.34506,753.43884 L 581.86655,395.52869 L 702.47202,395.52869 L 836.9935,753.43884 L 721.27084,753.43884 L 703.69272,694.35681 z M 680.49936,616.96423 L 640.94858,488.30212 L 601.64194,616.96423 L 680.49936,616.96423 z "
-       id="text3180" />
-    <path
-       style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
-       d="M 810.90509,641.13416 L 916.1297,634.54236 C 918.40822,651.63231 923.04689,664.65313 930.04572,673.60486 C 941.4388,688.09061 957.71482,695.33344 978.87384,695.33337 C 994.6614,695.33344 1006.8277,691.63064 1015.3729,684.22498 C 1023.9176,676.81946 1028.19,668.23386 1028.1902,658.46814 C 1028.19,649.19091 1024.121,640.89013 1015.9832,633.5658 C 1007.845,626.24171 988.96479,619.3244 959.34259,612.81384 C 910.83987,601.90905 876.25331,587.42339 855.58282,569.35681 C 834.74945,551.29061 824.33279,528.26004 824.33282,500.26501 C 824.33279,481.87337 829.66319,464.49871 840.32404,448.14099 C 850.98479,431.7839 867.01667,418.92584 888.41974,409.56677 C 909.82262,400.20841 939.16015,395.52905 976.43243,395.52869 C 1022.1679,395.52905 1057.0393,404.03327 1081.0467,421.04138 C 1105.0535,438.05017 1119.3358,465.10906 1123.8934,502.21814 L 1019.6453,508.32166 C 1016.8782,492.20864 1011.0595,480.4899 1002.1893,473.16541 C 993.31863,465.84148 981.07092,462.17937 965.44611,462.17908 C 952.58787,462.17937 942.90364,464.90561 936.39337,470.35779 C 929.88282,475.81055 926.62761,482.44303 926.62775,490.25525 C 926.62761,495.95213 929.31316,501.07908 934.68439,505.63611 C 939.89257,510.35641 952.26235,514.75094 971.79376,518.8197 C 1020.1334,529.2366 1054.7606,539.77533 1075.6756,550.43591 C 1096.59,561.09692 1111.8081,574.32119 1121.3299,590.10876 C 1130.851,605.89668 1135.6118,623.55617 1135.6121,643.08728 C 1135.6118,666.03659 1129.2641,687.19543 1116.5692,706.56384 C 1103.8735,725.93237 1086.1327,740.62148 1063.3465,750.63123 C 1040.5598,760.64099 1011.8326,765.64587 977.16486,765.64587 C 916.29234,765.64587 874.13743,753.92713 850.70001,730.48962 C 827.26248,707.05218 813.99752,677.26705 810.90509,641.13416 L 810.90509,641.13416 z "
-       id="text3184" />
-    <path
-       style="font-size:500px;font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#e00000;fill-opacity:1;stroke:#ffffff;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Arial Black"
-       d="M 1139.0592,395.52869 L 1435.4459,395.52869 L 1435.4459,471.9447 L 1249.899,471.9447 L 1249.899,528.82947 L 1422.0182,528.82947 L 1422.0182,601.82751 L 1249.899,601.82751 L 1249.899,672.38416 L 1440.817,672.38416 L 1440.817,753.43884 L 1139.0592,753.43884 L 1139.0592,395.52869 z "
-       id="text3188" />
-  </g>
-</svg>
diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix
deleted file mode 100644
index 5e9df9f513b6..000000000000
--- a/pkgs/tools/text/xml/basex/default.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ lib, stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem, copyDesktopItems }:
-
-stdenv.mkDerivation rec {
-  pname = "basex";
-  version = "10.7";
-
-  src = fetchurl {
-    url = "http://files.basex.org/releases/${version}/BaseX${builtins.replaceStrings ["."] [""] version}.zip";
-    hash = "sha256-Jr73UoyJfhtXLnYgOPh+jqKc3XZs+WMwJaO5nuD+Vmw=";
-  };
-
-  nativeBuildInputs = [ unzip copyDesktopItems ];
-  buildInputs = [ jre ];
-
-  desktopItems = lib.optional (!stdenv.isDarwin) (makeDesktopItem {
-    name = "basex";
-    exec = "basexgui %f";
-    icon = "${./basex.svg}"; # icon copied from Ubuntu basex package
-    comment = "Visually query and analyse your XML data";
-    desktopName = "BaseX XML Database";
-    genericName = "XML database tool";
-    categories = [ "Development" "Utility" "Database" ];
-    mimeTypes = [ "text/xml" ];
-  });
-
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    # Remove Windows batch files (unclutter $out/bin)
-    rm ./bin/*.bat
-
-    mkdir -p "$out/share/basex"
-
-    cp -R bin etc lib webapp src BaseX.jar "$out"
-    cp -R readme.txt webapp "$out/share/basex"
-
-    # Use substitutions instead of wrapper scripts
-    for file in "$out"/bin/*; do
-        sed -i -e "s|/usr/bin/env bash|${stdenv.shell}|" \
-               -e "s|java|${jre}/bin/java|" \
-               -e "s|readlink|${coreutils}/bin/readlink|" \
-               -e "s|dirname|${coreutils}/bin/dirname|" \
-               -e "s|basename|${coreutils}/bin/basename|" \
-               -e "s|echo|${coreutils}/bin/echo|" \
-            "$file"
-    done
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "XML database and XPath/XQuery processor";
-    longDescription = ''
-      BaseX is a very fast and light-weight, yet powerful XML database and
-      XPath/XQuery processor, including support for the latest W3C Full Text
-      and Update Recommendations. It supports large XML instances and offers a
-      highly interactive front-end (basexgui). Apart from two local standalone
-      modes, BaseX offers a client/server architecture.
-    '';
-    homepage = "https://basex.org/";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.bsd3;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
deleted file mode 100644
index df91cbcea566..000000000000
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, stdenv, fetchurl, curl, libiconv }:
-
-stdenv.mkDerivation rec {
-  pname = "html-xml-utils";
-  version = "8.6";
-
-  src = fetchurl {
-    url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
-    sha256 = "sha256-XoRynvNszTkk0ocu1O5pVMYzMtylQAuo606u8fLbT7I=";
-  };
-
-  buildInputs = [curl libiconv];
-
-  meta = with lib; {
-    description = "Utilities for manipulating HTML and XML files";
-    homepage = "https://www.w3.org/Tools/HTML-XML-utils/";
-    license = licenses.w3c;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/xml/jing-trang/default.nix b/pkgs/tools/text/xml/jing-trang/default.nix
index 1de721fb0b0e..0acc471b7017 100644
--- a/pkgs/tools/text/xml/jing-trang/default.nix
+++ b/pkgs/tools/text/xml/jing-trang/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "relaxng";
     repo = "jing-trang";
     rev = "V${version}";
-    sha256 = "sha256-Krupa3MGk5UaaQsaNpPMZuIUzHJytDiksz9ysCPkFS4=";
+    hash = "sha256-Krupa3MGk5UaaQsaNpPMZuIUzHJytDiksz9ysCPkFS4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/text/xml/rnv/default.nix b/pkgs/tools/text/xml/rnv/default.nix
deleted file mode 100644
index 1ee3355d1052..000000000000
--- a/pkgs/tools/text/xml/rnv/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, stdenv, fetchurl, expat }:
-
-stdenv.mkDerivation rec {
-  pname = "rnv";
-  version = "1.7.11";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/rnv/rnv-${version}.tar.xz";
-    sha256 = "1rlxrkkkp8b5j6lyvnd9z1d85grmwwmdggkxq6yl226nwkqj1faa";
-  };
-
-  buildInputs = [ expat ];
-
-  meta = with lib; {
-    description = "Relax NG Compact Syntax validator";
-    homepage = "http://www.davidashen.net/rnv.html";
-    license = licenses.bsd3;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/xml/rxp/default.nix b/pkgs/tools/text/xml/rxp/default.nix
deleted file mode 100644
index fe93607d27f2..000000000000
--- a/pkgs/tools/text/xml/rxp/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{lib, stdenv, fetchurl} :
-
-stdenv.mkDerivation rec {
-  pname = "rxp";
-  version = "1.5.0";
-
-  src = fetchurl {
-    url = "mirror://debian/pool/main/r/rxp/rxp_${version}.orig.tar.gz";
-    sha256 = "0y365r36wzj4xn1dzhb03spxljnrx8vwqbiwnnwz4630129gzpm6";
-  };
-
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration -Wno-error=int-conversion";
-
-  meta = {
-    license = lib.licenses.gpl2Plus;
-    description = "Validating XML parser written in C";
-    homepage = "https://www.cogsci.ed.ac.uk/~richard/rxp.html";
-    platforms = lib.platforms.unix;
-    mainProgram = "rxp";
-  };
-}
diff --git a/pkgs/tools/text/xml/xml2/default.nix b/pkgs/tools/text/xml/xml2/default.nix
deleted file mode 100644
index d469078c91dc..000000000000
--- a/pkgs/tools/text/xml/xml2/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, libxml2 }:
-
-stdenv.mkDerivation rec {
-  pname = "xml2";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://web.archive.org/web/20160427221603/http://download.ofb.net/gale/xml2-${version}.tar.gz";
-    sha256 = "01cps980m99y99cnmvydihga9zh3pvdsqag2fi1n6k2x7rfkl873";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libxml2 ];
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    runHook preInstallCheck
-
-    echo -n 'checking csv2 and 2csv...'
-    $out/bin/csv2 -f <<< $'a,b\n1,2' \
-      | $out/bin/2csv record a b \
-      | grep -qF '1,2'
-    echo ' ok'
-
-    echo -n 'checking xml2 and 2xml...'
-    $out/bin/xml2 <<< $'<a>abc</a>' \
-      | $out/bin/2xml \
-      | grep -qF '<a>abc</a>'
-    echo ' ok'
-
-    runHook postInstallCheck
-  '';
-
-  meta = with lib; {
-    homepage = "https://web.archive.org/web/20160515005047/http://dan.egnor.name:80/xml2";
-    description = "Tools for command line processing of XML, HTML, and CSV";
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.rycee ];
-  };
-}
diff --git a/pkgs/tools/text/xml/xmlformat/default.nix b/pkgs/tools/text/xml/xmlformat/default.nix
deleted file mode 100644
index 514d691c6a32..000000000000
--- a/pkgs/tools/text/xml/xmlformat/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl, perl }:
-stdenv.mkDerivation rec {
-  pname = "xmlformat";
-  version = "1.04";
-
-  src = fetchurl {
-    url = "http://www.kitebird.com/software/xmlformat/xmlformat-${version}.tar.gz";
-    sha256 = "1vwgzn4ha0az7dx0cyc6dx5nywwrx9gxhyh08mvdcq27wjbh79vi";
-  };
-
-  buildInputs = [ perl ];
-  buildPhase = ''
-    patchShebangs ./xmlformat.pl
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ./xmlformat.pl $out/bin/xmlformat
-    cp ./LICENSE $out/
-  '';
-
-  meta = {
-    description = "Configurable formatter (or 'pretty-printer') for XML documents";
-    mainProgram = "xmlformat";
-    homepage = "http://www.kitebird.com/software/xmlformat/";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/xml/xmloscopy/default.nix b/pkgs/tools/text/xml/xmloscopy/default.nix
deleted file mode 100644
index 32162849c41d..000000000000
--- a/pkgs/tools/text/xml/xmloscopy/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, lib, makeWrapper, dev_only_shellcheck ? null,
-fetchFromGitHub,
-
-fzf, coreutils, libxml2, libxslt, jing, findutils, gnugrep, gnused,
-docbook5
-}:
-stdenv.mkDerivation rec {
-  pname = "xmloscopy";
-  version = "0.1.3";
-
-  nativeBuildInputs = [
-    makeWrapper
-    dev_only_shellcheck
-  ];
-
-  spath = lib.makeBinPath [
-    fzf
-    coreutils
-    libxml2
-    libxslt
-    jing
-    findutils
-    gnugrep
-    gnused
-  ];
-
-  src = fetchFromGitHub {
-    owner = "grahamc";
-    repo = "xmloscopy";
-    rev = "v${version}";
-    sha256 = "06y5bckrmnq7b5ny2hfvlmdws910jw3xbw5nzy3bcpqsccqnjxrc";
-  };
-
-  installPhase = ''
-    sed -i "s/hard to say/v${version}/" ./xmloscopy
-    type -P shellcheck && shellcheck ./xmloscopy
-    chmod +x ./xmloscopy
-    patchShebangs ./xmloscopy
-    mkdir -p $out/bin
-    cp ./xmloscopy $out/bin/
-    wrapProgram $out/bin/xmloscopy \
-      --set RNG "${docbook5}/xml/rng/docbook/docbook.rng" \
-      --set PATH "${spath}"
-  '';
-
-  meta = with lib; {
-    description = "wtf is my docbook broken?";
-    mainProgram = "xmloscopy";
-    homepage = "https://github.com/grahamc/xmloscopy";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ grahamc ];
-  };
-}
diff --git a/pkgs/tools/text/xml/xmlstarlet/default.nix b/pkgs/tools/text/xml/xmlstarlet/default.nix
deleted file mode 100644
index b3ee37d894b1..000000000000
--- a/pkgs/tools/text/xml/xmlstarlet/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, autoreconfHook
-, pkg-config
-, libxml2
-, libxslt
-}:
-
-stdenv.mkDerivation rec {
-  pname = "xmlstarlet";
-  version = "1.6.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xmlstar/xmlstarlet-${version}.tar.gz";
-    sha256 = "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libxml2 libxslt ];
-
-  patches = [
-    (fetchpatch {
-      name = "0001-Fix-build-with-libxml2-2.12.patch";
-      url = "https://sourceforge.net/p/xmlstar/patches/_discuss/thread/890e29655a/66ca/attachment/0001-Fix-build-with-libxml2-2.12.patch";
-      hash = "sha256-XEk7aFOdrzdec1j2ffERJQbLH0AUNJA52QwA9jf4XWA=";
-    })
-  ];
-
-  preConfigure = ''
-    export LIBXSLT_PREFIX=${libxslt.dev}
-    export LIBXML_PREFIX=${libxml2.dev}
-    export LIBXSLT_LIBS=$($PKG_CONFIG --libs libxslt libexslt)
-    export LIBXML_LIBS=$($PKG_CONFIG --libs libxml-2.0)
-  '';
-
-  postInstall = ''
-    ln -s xml $out/bin/xmlstarlet
-  '';
-
-  meta = {
-    description = "Command line tool for manipulating and querying XML data";
-    homepage = "https://xmlstar.sourceforge.net/";
-    license = lib.licenses.mit;
-    mainProgram = "xmlstarlet";
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/text/xml/xq/default.nix b/pkgs/tools/text/xml/xq/default.nix
deleted file mode 100644
index 7b55d5d28d35..000000000000
--- a/pkgs/tools/text/xml/xq/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, testers
-, xq-xml
-}:
-
-buildGoModule rec {
-  pname = "xq";
-  version = "1.2.4";
-
-  src = fetchFromGitHub {
-    owner = "sibprogrammer";
-    repo = "xq";
-    rev = "v${version}";
-    hash = "sha256-g1d5sS3tgxP2VRogWG/5OXezDsJuQ6e724te+Oj3r24=";
-  };
-
-  vendorHash = "sha256-Oy/BBE6qCKJQRNDn6UiBr+/Psgi3A9Eaytmbmjt7eq8=";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=main.commit=${src.rev}"
-    "-X=main.version=${version}"
-  ];
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = xq-xml;
-    };
-  };
-
-  meta = with lib; {
-    description = "Command-line XML and HTML beautifier and content extractor";
-    mainProgram = "xq";
-    homepage = "https://github.com/sibprogrammer/xq";
-    changelog = "https://github.com/sibprogrammer/xq/releases/tag/${src.rev}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/xpaste/default.nix b/pkgs/tools/text/xpaste/default.nix
deleted file mode 100644
index 7bbe658b6b5a..000000000000
--- a/pkgs/tools/text/xpaste/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, fetchFromGitHub
-, python3Packages
-}:
-
-python3Packages.buildPythonApplication rec {
-  pname = "xpaste";
-  version = "1.6";
-  format = "setuptools";
-
-  src = fetchFromGitHub {
-    owner = "ossobv";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-eVnoLG+06UTOkvGhzL/XS4JBrEwbXYZ1fuNTIW7YAfE=";
-  };
-
-  propagatedBuildInputs = with python3Packages; [
-    xlib
-  ];
-
-  # no tests, no python module to import, no version output to check
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Paste text into X windows that don't work with selections";
-    mainProgram = "xpaste";
-    homepage = "https://github.com/ossobv/xpaste";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ gador ];
-  };
-}
diff --git a/pkgs/tools/text/xsv/default.nix b/pkgs/tools/text/xsv/default.nix
index bf5a7ed6b805..62b6a83d3f32 100644
--- a/pkgs/tools/text/xsv/default.nix
+++ b/pkgs/tools/text/xsv/default.nix
@@ -11,9 +11,9 @@ rustPlatform.buildRustPackage rec {
     sha256 = "17v1nw36mrarrd5yv4xd3mpc1d7lvhd5786mqkzyyraf78pjg045";
   };
 
-  cargoSha256 = "1bh60zgflaa5n914irkr4bpq3m4h2ngcj6bp5xx1qj112dwgvmyb";
+  cargoHash = "sha256-y9f9eBMhSBx6L3cZyZ4VkNSB7yJ55khCskUp6t4HBq4=";
 
-  buildInputs = lib.optional stdenv.isDarwin Security;
+  buildInputs = lib.optional stdenv.hostPlatform.isDarwin Security;
 
   meta = with lib; {
     description = "Fast CSV toolkit written in Rust";
diff --git a/pkgs/tools/text/xurls/default.nix b/pkgs/tools/text/xurls/default.nix
deleted file mode 100644
index dc0825b88d4f..000000000000
--- a/pkgs/tools/text/xurls/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ buildGoModule, lib, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "xurls";
-  version = "2.5.0";
-
-  src = fetchFromGitHub {
-    owner = "mvdan";
-    repo = "xurls";
-    rev = "v${version}";
-    sha256 = "sha256-9hPXZ/t15+LG9fji1gyeWhUrYOr6eGyKYg3a1SmHJpQ=";
-  };
-
-  vendorHash = "sha256-eVK7qU+NWsarBsEpg6aGow/urmhIpU3Z9RwoTvSymXo=";
-
-  ldflags = [ "-s" "-w" ];
-
-  meta = with lib; {
-    description = "Extract urls from text";
-    homepage = "https://github.com/mvdan/xurls";
-    maintainers = with maintainers; [ koral ];
-    license = licenses.bsd3;
-  };
-}
diff --git a/pkgs/tools/text/yaml-merge/default.nix b/pkgs/tools/text/yaml-merge/default.nix
deleted file mode 100644
index a5113a92f702..000000000000
--- a/pkgs/tools/text/yaml-merge/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
-
-stdenv.mkDerivation {
-  pname = "yaml-merge";
-  version = "unstable-2022-01-12";
-
-  src = fetchFromGitHub {
-    owner = "abbradar";
-    repo = "yaml-merge";
-    rev = "2f0174fe92fc283dd38063a3a14f7fe71db4d9ec";
-    sha256 = "sha256-S2eZw+FOZvOn0XupZDRNcolUPd4PhvU1ziu+kx2AwnY=";
-  };
-
-  pythonPath = with python3Packages; [ pyyaml ];
-  nativeBuildInputs = with python3Packages;  [ wrapPython ];
-
-  installPhase = ''
-    install -Dm755 yaml-merge.py $out/bin/yaml-merge
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "Merge YAML data files";
-    mainProgram = "yaml-merge";
-    homepage = "https://github.com/abbradar/yaml-merge";
-    license = licenses.bsd2;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/pkgs/tools/text/yx/default.nix b/pkgs/tools/text/yx/default.nix
deleted file mode 100644
index 732be1760c9e..000000000000
--- a/pkgs/tools/text/yx/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitLab
-, libyaml
-, testers
-, yx
-}:
-stdenv.mkDerivation rec {
-  pname = "yx";
-  version = "1.0.2";
-
-  src = fetchFromGitLab {
-    owner = "tomalok";
-    repo = "yx";
-    rev = version;
-    hash = "sha256-uuso+hsmdsB7VpIRKob8rfMaWvRMCBHvCFnYrHPC6iw=";
-  };
-
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
-
-  strictDeps = true;
-
-  buildInputs = [ libyaml ];
-
-  doCheck = true;
-
-  passthru.tests.version = testers.testVersion {
-    package = yx;
-    command = "${meta.mainProgram} -v";
-    version = "v${yx.version}";
-  };
-
-  meta = with lib; {
-    description = "YAML Data Extraction Tool";
-    homepage = "https://gitlab.com/tomalok/yx";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ twz123 ];
-    mainProgram = "yx";
-  };
-}
diff --git a/pkgs/tools/text/zet/default.nix b/pkgs/tools/text/zet/default.nix
deleted file mode 100644
index af04b5fdc203..000000000000
--- a/pkgs/tools/text/zet/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "zet";
-  version = "1.0.0";
-
-  src = fetchFromGitHub {
-    owner = "yarrow";
-    repo = "zet";
-    rev = "v${version}";
-    hash = "sha256-IjM+jSb+kdML0zZGuz9+9wrFzQCujn/bg9/vaTzMtUs=";
-  };
-
-  cargoHash = "sha256-kHIOsSR7ZxBzp4dtm2hbi8ddtlQ86x5EASk5HFmnhFo=";
-
-  # tests fail with `--release`
-  # https://github.com/yarrow/zet/pull/7
-  checkType = "debug";
-
-  meta = with lib; {
-    description = "CLI utility to find the union, intersection, set difference, etc of files considered as sets of lines";
-    mainProgram = "zet";
-    homepage = "https://github.com/yarrow/zet";
-    changelog = "https://github.com/yarrow/zet/blob/${src.rev}/CHANGELOG.md";
-    license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ figsoda ];
-  };
-}
diff --git a/pkgs/tools/text/zim-tools/default.nix b/pkgs/tools/text/zim-tools/default.nix
deleted file mode 100644
index 100c9e706ff7..000000000000
--- a/pkgs/tools/text/zim-tools/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config
-, docopt_cpp, file, gumbo, mustache-hpp, zimlib, zlib
-, gtest
-}:
-
-stdenv.mkDerivation rec {
-  pname = "zim-tools";
-  version = "3.4.0";
-
-  src = fetchFromGitHub {
-    owner = "openzim";
-    repo = "zim-tools";
-    rev = version;
-    sha256 = "sha256-A1A0Ri2OwPyqpx0f5CPJL3zAwo2I/AiRKpmk3r4DeTc=";
-  };
-
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ docopt_cpp file gumbo mustache-hpp zimlib zlib ];
-
-  nativeCheckInputs = [ gtest ];
-  doCheck = true;
-
-  meta = {
-    description = "Various ZIM command line tools";
-    homepage = "https://github.com/openzim/zim-tools";
-    maintainers = with lib.maintainers; [ robbinch ];
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/text/zoekt/default.nix b/pkgs/tools/text/zoekt/default.nix
deleted file mode 100644
index 293ad7a0954c..000000000000
--- a/pkgs/tools/text/zoekt/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, git
-}:
-buildGoModule {
-  pname = "zoekt";
-  version = "unstable-2022-11-09";
-
-  src = fetchFromGitHub {
-    owner = "sourcegraph";
-    repo = "zoekt";
-    rev = "c4b18d3b44da94b3e7c9c94467d68c029666bb86";
-    hash = "sha256-QtwOiBxBeFkhRfH3R2fP72b05Hc4+zt9njqCNVcprZ4=";
-  };
-
-  vendorHash = "sha256-DiAqFJ8E5V0/eHztm92WVrf1XGPXmmOaVXaWHfQMn2k=";
-
-  nativeCheckInputs = [
-    git
-  ];
-
-  preCheck = ''
-    export HOME=`mktemp -d`
-    git config --global --replace-all protocol.file.allow always
-  '';
-
-  meta = {
-    description = "Fast trigram based code search";
-    homepage = "https://github.com/sourcegraph/zoekt";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ AndersonTorres ];
-    mainProgram = "zoekt";
-  };
-}
diff --git a/pkgs/tools/text/zstxtns-utils/default.nix b/pkgs/tools/text/zstxtns-utils/default.nix
deleted file mode 100644
index 485a8b3a40d9..000000000000
--- a/pkgs/tools/text/zstxtns-utils/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ coreutils
-, fetchurl
-, gnugrep
-, lib
-, makeWrapper
-, moreutils
-, stdenvNoCC
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "zstxtns-utils";
-  version = "0.0.3";
-
-  src = fetchurl {
-    url = "https://ytrizja.de/distfiles/zstxtns-utils-${version}.tar.gz";
-    sha256 = "I/Gm7vHUr29NClYWQ1kwu8HrNZpdLXfE/nutTNoqcdU=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-    install -D -t $out/bin zstxtns-merge zstxtns-unmerge
-    runHook postInstall
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/zstxtns-merge --set PATH "${lib.makeBinPath [coreutils gnugrep moreutils]}"
-    wrapProgram $out/bin/zstxtns-unmerge --set PATH "${lib.makeBinPath [coreutils gnugrep]}"
-  '';
-
-  meta = with lib; {
-    description = "utilities to deal with text based name service databases";
-    homepage = "https://ytrizja.de/";
-    license = licenses.gpl3Plus;
-    maintainers = [ ];
-    platforms = platforms.all;
-  };
-}