X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/715110a8a2e9e4b1a89635950744eb5260b8ee7f..34b6dd36bb63e75a2e64a2c9b008c098162b7558:/gnu/packages/textutils.scm diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index cc38ee25f1..6ee3442c76 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1,23 +1,25 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2015, 2016 Ben Woodcroft ;;; Copyright © 2015 Roel Janssen ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016, 2018, 2019 Efraim Flashner -;;; Copyright © 2016 ng0 -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016 Nikita +;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017,2019 Hartmut Goebel ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 Alex Vong -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Meiyo Peng ;;; Copyright © 2019 Yoshinori Arai ;;; Copyright © 2019 Mădălin Ionel Patrașcu +;;; Copyright © 2019 Wiktor Żelazny +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,6 +46,7 @@ #:use-module (guix build-system go) #:use-module (guix build-system cmake) #:use-module (guix build-system python) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -52,6 +55,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages java) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -139,7 +143,7 @@ libenca and several charset conversion libraries and tools.") (define-public utf8proc (package (name "utf8proc") - (version "2.4.0") + (version "2.5.0") (source (origin (method git-fetch) @@ -148,26 +152,29 @@ libenca and several charset conversion libraries and tools.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1i42hqwc8znqii9brangwkxk5cyc2lk95ip405fg88zr7z2ncr34")))) + (base32 "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq")))) (build-system gnu-build-system) - (native-inputs ;test data that is otherwise downloaded with curl - `(("NormalizationTest.txt" - ,(origin - (method url-fetch) - (uri (string-append "https://www.unicode.org/Public/12.1.0/ucd/" - "NormalizationTest.txt")) - (sha256 - (base32 "0hb97k9xv1lr847hwz0719ksqy39s47xw6k01dgs1368jdibvawc")))) - ("GraphemeBreakTest.txt" - ,(origin - (method url-fetch) - (uri (string-append "https://www.unicode.org/Public/12.1.0/ucd/" - "auxiliary/GraphemeBreakTest.txt")) - (sha256 - (base32 "0qc90ppmrwfn3y9cdn8jcjrn7qpdf0fhxkwh945yp4rvh37mbgcm")))) - - ;; For tests. - ("perl" ,perl))) + (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 "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))) @@ -194,7 +201,7 @@ encoding, supporting Unicode version 9.0.0.") (define-public libconfuse (package (name "libconfuse") - (version "3.2.2") + (version "3.3") (source (origin (method url-fetch) @@ -202,8 +209,10 @@ encoding, supporting Unicode version 9.0.0.") "releases/download/v" version "/confuse-" version ".tar.xz")) (sha256 - (base32 "02r1mmzik2m0iigbc2da3y754vj24i18r3ml5p2wzs027mjhn959")))) + (base32 "043hqqykpprgrkw9s2hbdlxr308a7yxwsgxj4m8aadg1401hmm8x")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "https://github.com/martinh/libconfuse") (synopsis "Configuration file parser library") (description "libconfuse is a configuration file parser library. It @@ -227,14 +236,25 @@ nested include statements).") (base32 "0jiybkb2z58wa2msvllnphr4js2hvjvh988pavb3mzkgr6ihwbkr")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (replace 'bootstrap - (lambda _ (invoke "sh" "reconf")))))) + (lambda _ (invoke "sh" "reconf"))) + (add-after 'set-paths 'hide-default-gcc + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent + ;; conflicts with the GCC 5 input. + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) + ":")) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gcc" ,gcc-5) ;; doesn't build with later versions + ("gcc@5" ,gcc-5) ; doesn't build with later versions ("libtool" ,libtool))) (home-page "https://github.com/agordon/libgtextutils") (synopsis "Gordon's text utils library") @@ -251,7 +271,7 @@ the Hannon Lab.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/google/cityhash.git") + (url "https://github.com/google/cityhash") (commit commit))) (file-name (string-append name "-" version ".tar.gz")) (sha256 @@ -475,16 +495,21 @@ as existing hashing techniques, with provably negligible risk of collisions.") (define-public oniguruma (package (name "oniguruma") - (version "6.9.4") + (version "6.9.5-rev1") (source (origin (method url-fetch) (uri (string-append "https://github.com/kkos/" - "oniguruma/releases/download/v" version + "oniguruma/releases/download/v" + ;; If there is a "-" in the version, convert + ;; to underscore for this part of the URI. + (string-map (lambda (c) (if (char=? #\- c) #\_ c)) + version) "/onig-" version ".tar.gz")) (sha256 (base32 - "0lvd1rpp49i0k1icblb0i76lj2cwmhf1c5p1jdz2m6g0ywpx4sa6")))) + "17m92k1n6bvza6m35fpd5g36zwpwm3hfz3478iwj5bvj2sfq8g6k")))) (build-system gnu-build-system) + (arguments '(#:configure-flags '("--disable-static"))) (home-page "https://github.com/kkos/oniguruma") (synopsis "Regular expression library") (description "Oniguruma is a regular expressions library. The special @@ -560,7 +585,7 @@ runs Word\".") (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (mkdir-p (string-append out "/share/man/man1")))))))) - (home-page "http://www.wagner.pp.ru/~vitus/software/catdoc/") + (home-page "https://www.wagner.pp.ru/~vitus/software/catdoc/") (synopsis "MS-Word to TeX or plain text converter") (description "@command{catdoc} extracts text from MS-Word files, trying to preserve as many special printable characters as possible. It supports @@ -611,15 +636,15 @@ in a portable way.") (define-public dbacl (package (name "dbacl") - (version "1.14") + (version "1.14.1") (source (origin (method url-fetch) - (uri (string-append "http://www.lbreyer.com/gpl/" + (uri (string-append "mirror://sourceforge/dbacl/dbacl/" version "/" "dbacl-" version ".tar.gz")) (sha256 - (base32 - "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7")))) + (base32 "1gas0112wqjvwn9qg3hxnawk7h3prr0w9b2h68f3p1ifd1kzn3gz")) + (patches (search-patches "dbacl-include-locale.h.patch")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -647,10 +672,6 @@ in a portable way.") (lambda _ (delete-file "src/tests/dbacl-jap.shin") #t)) - (add-after 'delete-sample6-and-japanese 'autoreconf - (lambda _ - (invoke "autoreconf" "-vif") - #t)) (add-after 'unpack 'fix-test-files (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -660,7 +681,11 @@ in a portable way.") "#PATH=/bin:/usr/bin") (("diff") (string-append (which "diff"))) (("tr") (string-append (which "tr")))) - #t)))))) + #t))) + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vif") + #t))))) (inputs `(("ncurses" ,ncurses) ("perl" ,perl) @@ -697,7 +722,7 @@ categories.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/williamh/dotconf.git") + (url "https://github.com/williamh/dotconf") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -716,6 +741,110 @@ categories.") (license (list license:lgpl2.1 ; Main distribution. license:asl1.1)))) ; src/readdir.{c,h} +(define-public drm-tools + (package + (name "drm-tools") + (version "1.1.33") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/drmtools/drm_tools-" + version ".tar.gz")) + (sha256 + (base32 + "187zbxw21zcg8gpyc13gxlycfw0n05a6rmqq6im5wr9zk1v1wj80")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;the test suite fails + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-install-prefixes + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (substitute* "CMakeLists.txt" + (("tmp/testinstall") + (string-drop out 1)) + (("/man/man1") + "/share/man/man1")) + #t))) + (add-after 'unpack 'adjust-test-paths + (lambda _ + (substitute* '("test_extract_increment.sh" + "test_extract_features.sh" + "test_extract_features2.sh" + "test_dmath.sh") + (("\\./extract") "extract") + (("\\./dmath") "dmath") + (("/usr/local/bin/") "") + (("/bin/rm") "rm") + (("/bin/cp") "cp")) + #t)) + (delete 'check) + ;; The produced binaries are written directly to %output/bin. + (delete 'install) + (add-after 'build 'check + (lambda* (#:key outputs tests? #:allow-other-keys) + (when tests? + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (setenv "PATH" (string-append bin ":" + (getenv "PATH"))) + (with-directory-excursion + (format #f "../drm_tools-~a" ,version) + (invoke "sh" "test_all.sh"))))))))) + (native-inputs `(("which" ,which))) ;for tests + (inputs `(("pcre" ,pcre))) + (home-page "http://drmtools.sourceforge.net/") + (synopsis "Utilities to manipulate text and binary files") + (description "The drm_tools package contains the following commands: +@table @command +@item accudate +An extended version of the \"date\" program that has sub-second accuracy. +@item binformat +Format complex binary data into text. +@item binload +Load data into a binary file using simple commands from the input. +@item binorder +Sort, merge, search, retrieve or generate test data consisting of fixed size +binary records. +@item binreplace +Find or find/replace in binary files. +@item binsplit +Split test data consisting of fixed size binary records into one or more +output streams. +@item chardiff +Find changes between two files at the character level. Unlike \"diff\", it +lists just the characters that differ, so if the 40,000th character is +different only that one character will be shown, not the entire line. +@item columnadd +Add columns of integers, decimals, and/or times. +@item datasniffer +A utility for formatting binary data dumps. +@item dmath +Double precision interactive command line math calculator. +@item extract +Extract and emit data from text files based on character or token position. +@item execinput +A utility that reads from STDIN and executes each line as a command in a +sub-process. +@item indexed_text +A utility for rapid retrieval of text by line numbers, in any order, from a +text file. +@item mdump +Format binary data. +@item msgqueue +Create message queues and send/receive messages. +@item mbin +@itemx mbout +Multiple buffer in and out. Used for buffering a lot of data between a slow +device and a fast device. Mostly for buffering streaming tape drives for use +with slower network connections, so that streaming is maintained as much as +possible to minimize wear on the tape device. +@item pockmark +Corrupt data streams - useful for testing error correction and data recovery. +@item tarsieve +Filter, list, or split a tar file. +@end table") + (license license:gpl2+))) + (define-public java-rsyntaxtextarea (package (name "java-rsyntaxtextarea") @@ -761,7 +890,7 @@ source code.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/aflc/editdistance.git") + (url "https://github.com/aflc/editdistance") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -970,7 +1099,7 @@ Mainland China, Taiwan, and Hong-Kong.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/nurse/nkf.git") + (url "https://github.com/nurse/nkf") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -1016,3 +1145,31 @@ instance one can add new syntax elements to markdown, etc. This package provides Python bindings.") (license license:bsd-3))) + +(define-public aha + (package + (name "aha") + (version "0.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/theZiz/aha") + (commit version))) + (sha256 + (base32 "1gywad0rvvz3c5balz8cxsnx0562hj2ngzqyr8zsy2mb4pn0lpgv")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure)) + #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:tests? #f)) ; no test suite + (home-page "https://github.com/theZiz/aha") + (synopsis "Converts terminal escape sequences to HTML") + (description "@command{aha} (Ansi Html Adapter) converts ANSI escape sequences +of a Unix terminal to HTML code.") + (license (list license:lgpl2.0+ license:mpl1.1))))