diff options
Diffstat (limited to 'gnu/packages/textutils.scm')
-rw-r--r-- | gnu/packages/textutils.scm | 160 |
1 files changed, 133 insertions, 27 deletions
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index bbad8ce867..12e3d3b3c8 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -22,6 +22,8 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +44,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system ant) #:use-module (guix build-system gnu) @@ -67,6 +70,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages ruby) #:use-module (gnu packages slang) + #:use-module (gnu packages syncthing) #:use-module (gnu packages web)) (define-public dos2unix @@ -111,8 +115,7 @@ to DOS format and vice versa.") (base32 "0m59sd1ca0zw1aydpc3m8sw03nc885knmccqryg7byzmqs585ia6")))) (build-system gnu-build-system) (native-inputs - `(("python" ,python) - ("python-cython" ,python-cython))) + (list python python-cython)) (home-page "https://github.com/rrthomas/recode") (synopsis "Text encoding converter") (description "The Recode library converts files between character sets and @@ -417,7 +420,7 @@ input bits thoroughly but are not suitable for cryptography.") (base32 "0dc9fxcdmppbs9s06jvq61zbk552laxps0xyk098gj41697ihd96")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gettext-minimal))) + (list gettext-minimal)) (home-page "https://billposer.org/Software/a2b.html") (synopsis "Convert between ASCII, hexadecimal and binary representations") (description "The two programs are useful for generating test data, for @@ -475,8 +478,7 @@ useful when it is desired to reformat numbers. (("^iconv ") (string-append iconv "/bin/iconv "))) #t)))))) (inputs - `(("ascii2binary" ,ascii2binary) - ("libiconv" ,libiconv))) + (list ascii2binary libiconv)) (home-page "https://billposer.org/Software/unidesc.html") (synopsis "Find out what is in a Unicode file") (description "Useful tools when working with Unicode files when one @@ -750,15 +752,9 @@ in a portable way.") (invoke "autoreconf" "-vif") #t))))) (inputs - `(("ncurses" ,ncurses) - ("perl" ,perl) - ("readline" ,readline) - ("slang" ,slang))) + (list ncurses perl readline slang)) (native-inputs - `(("libtool" ,libtool) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) + (list libtool autoconf automake pkg-config)) (home-page "https://www.lbreyer.com/dbacl.html") (synopsis "Bayesian text and email classifier") (description @@ -794,9 +790,7 @@ categories.") (build-system gnu-build-system) (arguments `(#:tests? #f)) ; FIXME maketest.sh does not work. (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) + (list autoconf automake libtool)) (home-page "https://github.com/williamh/dotconf") (synopsis "Configuration file parser library") (description @@ -853,8 +847,8 @@ categories.") (with-directory-excursion (format #f "../drm_tools-~a" ,version) (invoke "sh" "test_all.sh"))))))))) - (native-inputs `(("which" ,which))) ;for tests - (inputs `(("pcre" ,pcre))) + (native-inputs (list which)) ;for tests + (inputs (list pcre)) (home-page "http://drmtools.sourceforge.net/") (synopsis "Utilities to manipulate text and binary files") (description "The drm_tools package contains the following commands: @@ -929,8 +923,7 @@ Filter, list, or split a tar file. #:tests? #f #:jar-name "rsyntaxtextarea.jar")) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://bobbylight.github.io/RSyntaxTextArea/") (synopsis "Syntax highlighting text component for Java Swing") (description "RSyntaxTextArea is a syntax highlighting, code folding text @@ -969,7 +962,7 @@ source code.") (delete-file "bycython.cpp") (invoke "cython" "--cplus" "bycython.pyx"))))))) (native-inputs - `(("python-cython" ,python-cython))) + (list python-cython)) (home-page "https://www.github.com/aflc/editdistance") (synopsis "Fast implementation of the edit distance (Levenshtein distance)") (description @@ -1019,8 +1012,7 @@ text.") "06vdikjvpj6qdb41d8wzfnyj44jpnknmlgbhbr1w215420lpb5xj")))) (build-system gnu-build-system) (inputs - `(("unzip" ,unzip) - ("perl" ,perl))) + (list unzip perl)) (arguments `(#:tests? #f ; No tests. #:make-flags (list (string-append "BINDIR=" @@ -1132,7 +1124,7 @@ documents into plain text.") ;; no configure script (delete 'configure)))) (inputs - `(("zlib" ,zlib))) + (list zlib)) (home-page "https://github.com/dstosberg/odt2txt/") (synopsis "Converter from OpenDocument Text to plain text") (description "odt2txt is a command-line tool which extracts the text out @@ -1146,6 +1138,40 @@ useful to extract content from OpenDocument spreadsheets (*.ods) and OpenDocument presentations (*.odp).") (license license:gpl2))) +(define-public bibutils + (package + (name "bibutils") + (version "7.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/bibutils/" + "bibutils_" version "_src.tgz")) + + (sha256 + (base32 + "1hxmwjjzw48w6hdh2x7ybkrhi1xngd55i67hrrd3wswa3vpql0kf")))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--install-dir" (string-append #$output "/bin") + "--install-lib" (string-append #$output "/lib") + "--dynamic") + #:make-flags + #~(list (string-append "CC=" #+(cc-for-target)) + (string-append "LDFLAGSIN=-Wl,-rpath=" #$output "/lib")) + #:test-target "test" + #:phases + '(modify-phases %standard-phases + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + ;; configure script is ill-formed, invoke it manually + (apply invoke "sh" "./configure" configure-flags)))))) + (home-page "https://bibutils.sourceforge.io/") + (synopsis "Convert between various bibliography formats") + (description "This package provides converters for various bibliography +formats (e.g. Bibtex, RIS, ...) using a common XML intermediate.") + (license license:gpl2))) + (define-public opencc (package (name "opencc") @@ -1210,7 +1236,7 @@ OpenDocument presentations (*.odp).") (chdir "python") (mkdir-p dist) (setenv "PYTHONPATH" - (string-append dist ":" (getenv "PYTHONPATH"))) + (string-append dist ":" (getenv "GUIX_PYTHONPATH"))) (invoke "python" "setup.py" "install" "--root=/" "--single-version-externally-managed" (string-append "--prefix=" out)) @@ -1267,13 +1293,13 @@ such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32.") (define-public python-pandocfilters (package (name "python-pandocfilters") - (version "1.4.3") + (version "1.5.0") (source (origin (method url-fetch) (uri (pypi-uri "pandocfilters" version)) (sha256 - (base32 "1sq675dg4barb5949xxz4d5gk2ly524hi1p1xgwb3d1l0nsznqxw")))) + (base32 "0f3sb8q85dbwliv46cc1yvpy4r00qp4by5x8751kn8vx6c1rarqb")))) (build-system python-build-system) (home-page "https://github.com/jgm/pandocfilters") (synopsis "Python module for writing Pandoc filters") @@ -1347,3 +1373,83 @@ languages such as HTML, Markdown, Asciidoc, and reStructuredText. The community around it also has a list of style guides implemented with Vale in @url{https://github.com/errata-ai/styles, their styles repo}.") (license license:expat))) + +(define-public utf-8-lineseparator + (package + (name "utf-8-lineseparator") + (version "cj3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pflanze/utf-8-lineseparator") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xnbcanqn5jr965gw9195ij6hz04clfm77m5776dysn9nykn20w1")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list + (string-append "CC=" ,(cc-for-target))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "utf-8-lineseparator" bin))))))) + (home-page "https://github.com/pflanze/utf-8-lineseparator") + (synopsis "Line ending detection library") + (description +"@code{utf-8-lineseparator} provides a tool to efficiently check text +files for valid UTF-8 use and to report which line endings they use.") + (license license:expat))) + +(define-public csvdiff + (package + (name "csvdiff") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aswinkarthik/csvdiff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cd1ikxsypjqisfnmr7zix3g7x8p892w77086465chyd39gpk97b")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/aswinkarthik/csvdiff")) + (propagated-inputs + (list go-golang-org-x-sys + go-github-com-stretchr-testify + go-github-com-spf13-cobra + go-github-com-spf13-afero + go-github-com-spaolacci-murmur3 + go-github-com-mattn-go-colorable + go-github-com-fatih-color + go-github-com-cespare-xxhash + go-github-com-oneofone-xxhash)) + (home-page "https://github.com/aswinkarthik/csvdiff") + (synopsis "Fast diff tool for comparing CSV files") + (description "@code{csvdiff} is a diff tool to compute changes between two +CSV files. It can compare CSV files with a million records in under 2 +seconds. It is specifically suited for comparing CSV files dumped from +database tables. GNU Diff is orders of magnitude faster for comparing line by +line. @code{csvdiff} supports + +@itemize +@item Selective comparison of fields in a row +@item Specifying group of columns as primary-key to uniquely identify a row +@item Ignoring columns +@item Several output formats including colored git style output or +JSON for post-processing +@end itemize") + (license license:expat))) + +(define-public go-github-com-aswinkarthik-csvdiff + (deprecated-package "go-github-com-aswinkarthik-csvdiff" csvdiff)) |