summaryrefslogtreecommitdiff
path: root/gnu/packages/textutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/textutils.scm')
-rw-r--r--gnu/packages/textutils.scm615
1 files changed, 403 insertions, 212 deletions
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index ae8bce7b3e..715b9c4f98 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2016, 2018, 2019, 2020, 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2018, 2019, 2020, 2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
@@ -13,18 +13,20 @@
;;; Copyright © 2017,2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com>
;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
+;;; Copyright © 2020 Maxim Cournoyer <maxim@guixotic.coop>
;;; 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>
;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
+;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 M <matf@disr.it>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
@@ -34,6 +36,7 @@
;;; Copyright © 2024-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2025 John Khoo <johnkhootf@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -77,9 +80,13 @@
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages golang-maths)
+ #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages java)
+ #:use-module (gnu packages julia)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages nss)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -95,7 +102,8 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module (srfi srfi-1))
(define-public dos2unix
(package
@@ -172,109 +180,98 @@ an encoding detection library, and enca, a command line frontend, integrating
libenca and several charset conversion libraries and tools.")
(license license:gpl2)))
+;; Newer utf8proc depends on julia for tests. Since julia also depends on
+;; utf8proc, a dependency cycle is created. This bootstrap variant of utf8proc
+;; disables tests.
+(define-public utf8proc-bootstrap
+ (hidden-package
+ (package
+ (name "utf8proc-bootstrap")
+ (version "2.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaStrings/utf8proc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n1k67x39sk8xnza4w1xkbgbvgb1g7w2a7j2qrqzqaw1lyilqsy2"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;To break dependency cycle.
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "prefix=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; No configure script.
+ (delete 'configure))))
+ (home-page "https://juliastrings.github.io/utf8proc/")
+ (synopsis "C library for processing UTF-8 Unicode data")
+ (description
+ "@code{utf8proc} is a small C library that provides Unicode normalization,
+case-folding, and other operations for data in the UTF-8 encoding.")
+ (license license:expat))))
+
(define-public utf8proc
(package
+ (inherit utf8proc-bootstrap)
(name "utf8proc")
- (version "2.5.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/JuliaStrings/utf8proc")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq"))))
- (build-system gnu-build-system)
(native-inputs
- (let ((UNICODE_VERSION "13.0.0")) ; defined in data/Makefile
- ;; Test data that is otherwise downloaded with curl.
- `(("NormalizationTest.txt"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://www.unicode.org/Public/"
- UNICODE_VERSION "/ucd/NormalizationTest.txt"))
- (sha256
- (base32 "07g0ya4f6zfzvpp24ccxkb2yq568kh83gls85rjl950nv5fya3nn"))))
- ("GraphemeBreakTest.txt"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://www.unicode.org/Public/"
- UNICODE_VERSION
- "/ucd/auxiliary/GraphemeBreakTest.txt"))
- (sha256
- (base32 "07f8rrvcsq4pibdz6zxggxy8w7zjjqyw2ggclqlhalyv45yv7prj"))))
-
- ;; For tests.
- ("perl" ,perl))))
- (arguments
- `(#:make-flags (list ,(string-append "CC=" (cc-for-target))
- (string-append "prefix=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'check 'check-data
- (lambda* (#:key ,@(if (%current-target-system)
- '(native-inputs)
- '())
- inputs #:allow-other-keys)
- (for-each (lambda (i)
- (copy-file (assoc-ref ,@(if (%current-target-system)
- '((or native-inputs inputs))
- '(inputs)) i)
- (string-append "data/" i)))
- '("NormalizationTest.txt" "GraphemeBreakTest.txt"))
- (substitute* "data/GraphemeBreakTest.txt"
- (("÷") "/")
- (("×") "+"))
- #t)))))
- (home-page "https://juliastrings.github.io/utf8proc/")
- (synopsis "C library for processing UTF-8 Unicode data")
- (description "utf8proc is a small C library that provides Unicode
-normalization, case-folding, and other operations for data in the UTF-8
-encoding, supporting Unicode version 9.0.0.")
- (license license:expat)))
-
-(define-public utf8proc-2.7.0
- (package
- (inherit utf8proc)
- (name "utf8proc")
- (version "2.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/JuliaStrings/utf8proc")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1wrsmnaigal94gc3xbzdrrm080zjhihjfdla5admllq2w5dladjj"))))
+ (let ((UNICODE_VERSION "16.0.0")) ; defined in data/Makefile
+ ;; Only if the tests will be run should these be added.
+ (if (and (%current-system)
+ (supported-package? julia))
+ ;; Test data that is otherwise downloaded with curl.
+ (list (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.unicode.org/Public/"
+ UNICODE_VERSION "/ucd/NormalizationTest.txt"))
+ (sha256
+ (base32
+ "1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq")))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.unicode.org/Public/"
+ UNICODE_VERSION "/ucd/auxiliary/GraphemeBreakTest.txt"))
+ (sha256
+ (base32
+ "1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf")))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.unicode.org/Public/"
+ UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
+ (sha256
+ (base32
+ "1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr")))
+ ;; For tests.
+ julia
+ perl
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
+ ruby-2.7)
+ '())))
(arguments
- (substitute-keyword-arguments (package-arguments utf8proc)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'check-data
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (display native-inputs)
- (for-each (lambda (i)
- (copy-file (assoc-ref (or native-inputs inputs) i)
- (string-append "data/" i)))
- '("NormalizationTest.txt" "GraphemeBreakTest.txt"
- "DerivedCoreProperties.txt"))))))))
- (native-inputs
- (append
- (package-native-inputs utf8proc)
- (let ((UNICODE_VERSION "14.0.0"))
- `(("DerivedCoreProperties.txt"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://www.unicode.org/Public/"
- UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
- (sha256
- (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3"))))
- ;; For tests
- ;; TODO Move to ruby@3 on the next rebuild cycle.
- ("ruby" ,ruby-2.7)))))))
+ (if (this-package-native-input "julia")
+ (strip-keyword-arguments
+ '(#:tests?)
+ (substitute-keyword-arguments (package-arguments utf8proc-bootstrap)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-before 'check 'check-data
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (for-each (lambda (i)
+ (copy-file (assoc-ref (or native-inputs inputs) i)
+ (string-append "data/" i)))
+ '("NormalizationTest.txt" "GraphemeBreakTest.txt"
+ "DerivedCoreProperties.txt"))))))))
+ (substitute-keyword-arguments (package-arguments utf8proc-bootstrap)
+ ((#:tests? _ #t) #f))))
+ (properties
+ (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
(define-public libconfuse
(package
@@ -343,6 +340,88 @@ nested include statements).")
the Hannon Lab.")
(license license:agpl3+)))
+(define-public libxo
+ (package
+ (name "libxo")
+ (version "1.7.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Juniper/libxo")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "115jv067msym0lsxkiz95ddvspd6smvww37248xkqyin0rxb2m0j"))
+ (snippet
+ '(for-each
+ delete-file
+ '("xohtml/external/jquery.js"
+ "xohtml/external/jquery.qtip.css"
+ "xohtml/external/jquery.qtip.js")))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:modules '((guix build gnu-build-system)
+ (guix build minify-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:imported-modules
+ `(,@%default-gnu-imported-modules
+ (guix build minify-build-system))
+ #:phases
+ '(modify-phases (@ (guix build gnu-build-system) %standard-phases)
+ (add-after 'unpack 'process-javascript
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "xohtml/external"
+ (for-each (match-lambda
+ ((source . target)
+ (minify source #:target target)))
+ `((,(assoc-ref inputs "js-jquery")
+ . "jquery.js")
+ (,(assoc-ref inputs "js-qtip2")
+ . "jquery.qtip.js")
+ (,(assoc-ref inputs "js-qtip2.css")
+ . "jquery.qtip.css")))))))))
+ (inputs
+ `(("perl", perl)
+ ("js-jquery"
+ ,(origin
+ (method url-fetch)
+ (uri "https://code.jquery.com/jquery-1.7.0.js")
+ (sha256
+ (base32
+ "1qz3jmzg5ac6nkgivzyjgd7rr3vvkwzqv525s080mx10hvn8a63w"))))
+ ("js-qtip2"
+ ,(origin
+ (method url-fetch)
+ (uri "https://cdnjs.cloudflare.com/ajax/libs/qtip2/2.1.1/jquery.qtip.js")
+ (sha256
+ (base32
+ "05aq2x5hd8jnpnhkn41ivsbdg3rqmk093bb2vqzswbihvsizyx64"))))
+ ("js-qtip2.css"
+ ,(origin
+ (method url-fetch)
+ (uri "https://cdnjs.cloudflare.com/ajax/libs/qtip2/2.1.1/jquery.qtip.css")
+ (sha256
+ (base32
+ "18h10klb84jqpasvjymlaskj0442wcain434iwydikpdxmrr7g0n"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("esbuild" ,esbuild)
+ ("libtool" ,libtool)))
+ (home-page "https://juniper.github.io/libxo/libxo-manual.html")
+ (synopsis "Library for Generating Text, XML, JSON, and HTML Output")
+ (description
+ "This package implements the functionality to generate text, XML,
+JSON, and HTML output using a common set of function calls. The caller
+decides at run time which output style should be produced. Afterwards, the caller
+calls the function @code{xo_emit} to produce output in a format described using
+a format string.")
+ ;; license:expat: jquery and qtip2.
+ (license (list license:bsd-2 license:expat))))
+
(define-public cityhash
(let ((commit "8af9b8c"))
(package
@@ -768,6 +847,35 @@ spreadsheets and outputs it in comma-separated-value format, and
in a portable way.")
(license license:boost1.0)))
+(define-public utfcpp-2
+ (package
+ (inherit utfcpp)
+ (name (package-name utfcpp))
+ (version "2.3.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nemtrif/utfcpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gr98d826z6wa58r1s5i7rz7q2x3r31v7zj0pjjlrc7gfxwklr4s"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:out-of-source? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install ; no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (include (string-append out "/include"))
+ (doc (string-append out "/share/doc/" ,name)))
+ (copy-recursively "source" include)
+ (install-file "README.md" doc)))))))
+ (native-inputs '())))
+
+
(define-public dbacl
(package
(name "dbacl")
@@ -1061,43 +1169,6 @@ Eclipse and NetBeans. Completion information is typically specified in an XML
file, but can even be dynamic.")
(license license:bsd-3)))
-;; We use the sources from git instead of the tarball from pypi, because the
-;; latter does not include the Cython source file from which bycython.cpp is
-;; generated.
-(define-public python-editdistance
- (let ((commit "3ea84a7dd3258c76aa3be851ef3d50e59c886846")
- (revision "1"))
- (package
- (name "python-editdistance")
- (version (string-append "0.3.1-" revision "." (string-take commit 7)))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/aflc/editdistance")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1l43svsv12crvzphrgi6x435z6xg8m086c64armp8wzb4l8ccm7g"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'build-cython-code
- (lambda _
- (with-directory-excursion "editdistance"
- (delete-file "bycython.cpp")
- (invoke "cython" "--cplus" "bycython.pyx")))))))
- (native-inputs
- (list python-cython))
- (home-page "https://www.github.com/aflc/editdistance")
- (synopsis "Fast implementation of the edit distance (Levenshtein distance)")
- (description
- "This library simply implements Levenshtein distance algorithm with C++
-and Cython.")
- (license license:expat))))
-
(define-public txt2tags
(package
(name "txt2tags")
@@ -1260,7 +1331,7 @@ OpenDocument presentations (*.odp).")
(define-public cobib
(package
(name "cobib")
- (version "5.3.0")
+ (version "5.4.0")
(source
(origin
(method git-fetch) ;no tests in PyPI archive
@@ -1269,49 +1340,80 @@ OpenDocument presentations (*.odp).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "13mzwb1rmpz05bn5qr7mwqmj0grxxm1z7b56c8wvyrgm6lsx0a98"))))
+ (base32 "0amyfacm97av9srpwxvif16hcg8w9psdl4v70syihbwchyrbcsg9"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 302 passed, 43 skipped, 403 deselected
#:test-flags
- #~(list "-k" (string-join
- ;; Tests trying to access api.zotero.org.
- (list "not test_fetch"
- "test_fetch_custom_user_id"
- "test_cache"
- "test_event_pre_zotero_import"
- "test_event_post_zotero_import"
- ;; Tests requiring Git history or failing with
- ;; various assertion errors.
- "test_absolute_path"
- "test_cmdline"
- "test_command"
- "test_command_context"
- "test_command_edit"
- "test_command_edit_no_changes"
- "test_command_fields"
- "test_command_inline"
- "test_command_skip"
- "test_configured_label_default"
- "test_disambiguate_label"
- "test_event_post_redo_command"
- "test_event_post_undo_command"
- "test_event_pre_git_commit"
- "test_event_pre_redo_command"
- "test_event_pre_undo_command"
- "test_lint_auto_format"
- "test_overwrite_label"
- "test_skipping_redone_commits"
- "test_skipping_undone_commits"
- "test_stringify"
- ;; Tests might be broken as trying to compare $HOME
- ;; and "~/".
- "test_base_cmd_insufficient_git"
- "test_warn_insufficient_config"
- "test_event_pre_init_command"
- "test_field_cmdline_switch")
- " and not ")
- "tests")
+ #~(list
+ "-k" (string-join
+ ;; Tests trying to access api.zotero.org.
+ (list "not test_cache"
+ "test_command"
+ "test_event_post_zotero_import"
+ "test_event_pre_zotero_import"
+ "test_fetch"
+ "test_fetch_custom_user_id"
+ ;; XXX: Various tests fail which require git history.
+ "test_cmdline"
+ "test_command"
+ "test_event_post_redo_command"
+ "test_event_post_undo_command"
+ "test_event_pre_redo_command"
+ "test_event_pre_undo_command"
+ "test_skipping_redone_commits"
+ "test_skipping_undone_commits"
+ "test_overwrite_label"
+ "test_configured_label_default"
+ "test_disambiguate_label"
+ "test_command_yes"
+ "test_command_edit"
+ "test_command_edit_no_changes"
+ "test_command_skip"
+ "test_command_fields"
+ "test_command_context"
+ "test_command_inline"
+ "test_event_pre_git_commit"
+ "test_warn_insufficient_config"
+ "test_event_pre_init_command"
+ "test_lint_auto_format"
+ "test_field_cmdline_switch"
+ "test_command_resume"
+ "test_command_resume_graceful"
+ "test_stringify"
+ "test_handling_of_missing_schema"
+ "test_main"
+ "test_config_theme"
+ "test_config_syntax"
+ "test_config_user_tags"
+ "test_log"
+ "test_help"
+ "test_empty_database"
+ "test_prompt_action"
+ "test_prompt_ask"
+ "test_catch_invalid_command"
+ "test_jump"
+ "test_jump_missing"
+ "test_jump_out_of_view"
+ "test_sort"
+ "test_sort_twice"
+ "test_filter"
+ "test_preset"
+ "test_delete"
+ "test_note_edit"
+ "test_note_reset"
+ "test_note_unsaved_quit"
+ "test_note_unsaved_open_another"
+ "test_search"
+ "test_empty_results"
+ "test_expand_all"
+ "test_motion"
+ "test_select"
+ "test_open"
+ "test_absolute_path")
+ " and not ")
+ "tests")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
@@ -1326,20 +1428,18 @@ OpenDocument presentations (*.odp).")
python-pytest
python-pytest-asyncio
python-pytest-textual-snapshot
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-beautifulsoup4
python-bibtexparser
python-lxml
- python-mdit-py-plugins
python-pylatexenc
python-requests
python-requests-oauthlib
python-rich
python-ruamel.yaml
python-text-unidecode
- python-textual-1
+ python-textual
python-typing-extensions))
(home-page "https://gitlab.com/cobib/cobib")
(synopsis "Terminal-based bibliography management tool")
@@ -1402,6 +1502,7 @@ formats (e.g. Bibtex, RIS, etc.) using a common XML intermediate.")
(build-system go-build-system)
(arguments
(list
+ #:go go-1.23
#:install-source? #f
#:import-path "github.com/benhoyt/goawk"
#:phases
@@ -1440,6 +1541,38 @@ formats (e.g. Bibtex, RIS, etc.) using a common XML intermediate.")
reading and writing CSV and TSV files.")
(license license:expat)))
+(define-public gron
+ (package
+ (name "gron")
+ (version "0.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tomnomnom/gron")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/tomnomnom/gron"
+ #:test-flags #~(list "-vet=off")))
+ (native-inputs
+ (list go-github-com-fatih-color
+ go-github-com-mattn-go-colorable
+ go-github-com-nwidger-jsoncolor
+ go-github-com-pkg-errors))
+ (home-page "https://github.com/tomnomnom/gron")
+ (synopsis "Transform JSON to make it easier to grep")
+ (description
+ "This package transforms JSON into discrete assignments to make it easier
+to use line-based tools such as grep to search for what you want and see the
+absolute \"path\" to it.")
+ (license license:expat)))
+
(define-public opencc
(package
(name "opencc")
@@ -1563,14 +1696,18 @@ 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.5.0")
+ (version "1.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pandocfilters" version))
(sha256
- (base32 "0f3sb8q85dbwliv46cc1yvpy4r00qp4by5x8751kn8vx6c1rarqb"))))
- (build-system python-build-system)
+ (base32 "17lknixjja23jczlv8afgfky94m4gwl7wc36iczw1sz4brallaq0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;require pandoc to run tests
+ (native-inputs
+ (list python-setuptools))
(home-page "https://github.com/jgm/pandocfilters")
(synopsis "Python module for writing Pandoc filters")
(description "Pandoc is a powerful utility to transform various
@@ -1615,20 +1752,19 @@ of a Unix terminal to HTML code.")
(define-public vale
(package
(name "vale")
- (version "3.9.5")
+ (version "3.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/errata-ai/vale")
- (commit (string-append "v" version))))
+ (url "https://github.com/errata-ai/vale")
+ (commit (string-append "v" version))))
(sha256
- (base32 "119iiyh164rkj7jlghr2j1kbhc8k1bvfhsfvd972zs092fg7dh4p"))
+ (base32 "1w6216ap8sds6279h39ksjv27hakzahjmzlvbnsl67lwvldbqvcg"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
#:install-source? #f
#:embed-files #~(list ".*\\.gob")
#:import-path "github.com/errata-ai/vale/cmd/vale"
@@ -1651,7 +1787,8 @@ of a Unix terminal to HTML code.")
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list go-github-com-adrg-strutil
+ (list go-github-com-adrg-frontmatter
+ go-github-com-adrg-strutil
go-github-com-adrg-xdg
go-github-com-bmatcuk-doublestar-v4
go-github-com-d5-tengo-v2
@@ -1664,14 +1801,13 @@ of a Unix terminal to HTML code.")
go-github-com-masterminds-sprig-v3
go-github-com-mitchellh-mapstructure
go-github-com-niklasfasching-go-org
- go-github-com-olekukonko-tablewriter
+ go-github-com-olekukonko-tablewriter-0.0.5
go-github-com-otiai10-copy
go-github-com-pelletier-go-toml-v2
go-github-com-pterm-pterm
go-github-com-remeh-sizedwaitgroup
go-github-com-smacker-go-tree-sitter
go-github-com-spf13-pflag
- go-github-com-stretchr-testify
go-github-com-tomwright-dasel-v2
go-github-com-yuin-goldmark
go-golang-org-x-exp
@@ -1766,16 +1902,16 @@ JSON for post-processing
(define-public miller
(package
(name "miller")
- (version "6.13.0")
+ (version "6.15.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/johnkerl/miller")
- (commit (go-version->git-ref version))))
+ (url "https://github.com/johnkerl/miller")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1w8ibmywsr9jsmmqrcvc0j7fx5vkdbwamizn4vim9xys807kmjsj"))))
+ (base32 "00k4gxlbdpnmy9r0qyfa72p7f29qbzzvxniilira3yj85k5rmrxg"))))
(build-system go-build-system)
(arguments
(list
@@ -1795,17 +1931,15 @@ JSON for post-processing
go-github-com-johnkerl-lumin
go-github-com-kballard-go-shellquote
go-github-com-klauspost-compress
+ go-github-com-kshedden-statmodel
go-github-com-lestrrat-go-strftime
go-github-com-mattn-go-isatty
- ;; Optional, not packed in Guix
- ;; go-github-com-nine-lives-later-go-windows-terminal-sequences
go-github-com-pkg-profile
go-github-com-stretchr-testify
go-golang-org-x-sys
go-golang-org-x-term
go-golang-org-x-text
python-wrapper
- python-mkdocs-material
ruby))
(home-page "https://miller.readthedocs.io/")
(synopsis "Text-formatted data processing tool")
@@ -1866,22 +2000,21 @@ Expressions, and being faster to type than grep.")
(define-public python-panflute
(package
(name "python-panflute")
- (version "2.3.0")
+ (version "2.3.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "panflute" version))
(sha256
(base32
- "1jk5b2sp1h4drkjrg2ks77d0ca6j043n2myvacm77nfc93y9vzff"))))
- (build-system python-build-system)
- (propagated-inputs (list python-click python-pyyaml))
- (native-inputs (list python-configparser
- python-coverage
- python-flake8
- python-pandocfilters
- python-pytest
- python-pytest-cov
- python-requests))
+ "07wg5md93jcdkpiqljwr3p1xzvm6nf7vbiay0bp84fgg6hmd06sz"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;require pandoc to run tests
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-click
+ python-pyyaml))
(home-page "http://scorreia.com/software/panflute/")
(synopsis "Pythonic Pandoc filters")
(description
@@ -1917,3 +2050,61 @@ which it is heavily inspired.")
@item header include
@end enumerate")
(license license:expat)))
+
+(define-public yq
+ (package
+ (name "yq")
+ (version "4.47.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mikefarah/yq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04724qywadxvgcdq5h35b9mqkyngkyad5aq5dk4g84aycarskpc4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ ;; Go provides the binary as the name of the last directory in the
+ ;; import-path unless the file names is something else than main.go.
+ ;; The real import-path is "github.com/mikefarah/yq/v4".
+ #:import-path "github.com/mikefarah/yq"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Tests need this.
+ (add-after 'unpack 'fix-access-to-doc
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each make-file-writable
+ (find-files "./pkg/yqlib/doc" "\\.md"))))))))
+ (native-inputs
+ (list go-github-com-a8m-envsubst
+ go-github-com-alecthomas-participle-v2
+ go-github-com-alecthomas-repr
+ go-github-com-dimchansky-utfbom
+ go-github-com-elliotchance-orderedmap
+ go-github-com-fatih-color
+ go-github-com-go-ini-ini
+ go-github-com-goccy-go-json
+ go-github-com-goccy-go-yaml
+ go-github-com-jinzhu-copier
+ go-github-com-magiconair-properties
+ go-github-com-pelletier-go-toml-v2
+ go-github-com-pkg-diff
+ go-github-com-spf13-cobra
+ go-github-com-spf13-pflag
+ go-github-com-yuin-gopher-lua
+ go-go-yaml-in-yaml-v3
+ go-golang-org-x-net
+ go-golang-org-x-text
+ go-gopkg-in-op-go-logging-v1))
+ (home-page "https://mikefarah.gitbook.io/yq/")
+ (synopsis "Command-line YAML, JSON, XML, CSV, TOML and properties processor")
+ (description
+ "This package provides @code{yq}, a command-line YAML, JSON and XML
+processor. It uses @code{jq}-like syntax but works with YAML files as well as
+JSON, XML, properties, CSV and TSV.")
+ (license license:expat)))