X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/6e8dd0b5daff210beb7ab78057f40900bccf956f..34b6dd36bb63e75a2e64a2c9b008c098162b7558:/gnu/packages/textutils.scm diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index ddafd4cc34..6ee3442c76 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1,13 +1,13 @@ ;;; 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 Nikita -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017,2019 Hartmut Goebel @@ -19,6 +19,7 @@ ;;; 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. ;;; @@ -45,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) @@ -53,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) @@ -151,24 +154,27 @@ libenca and several charset conversion libraries and tools.") (sha256 (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/13.0.0/ucd/" - "NormalizationTest.txt")) - (sha256 - (base32 "07g0ya4f6zfzvpp24ccxkb2yq568kh83gls85rjl950nv5fya3nn")))) - ("GraphemeBreakTest.txt" - ,(origin - (method url-fetch) - (uri (string-append "https://www.unicode.org/Public/13.0.0/ucd/" - "auxiliary/GraphemeBreakTest.txt")) - (sha256 - (base32 "07f8rrvcsq4pibdz6zxggxy8w7zjjqyw2ggclqlhalyv45yv7prj")))) + (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))) + ;; For tests. + ("perl" ,perl)))) (arguments '(#:make-flags (list "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))) @@ -195,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) @@ -203,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 @@ -228,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") @@ -252,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 @@ -703,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 @@ -722,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") @@ -767,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 @@ -976,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 @@ -1026,7 +1149,7 @@ This package provides Python bindings.") (define-public aha (package (name "aha") - (version "0.5") + (version "0.5.1") (source (origin (method git-fetch) @@ -1034,19 +1157,17 @@ This package provides Python bindings.") (url "https://github.com/theZiz/aha") (commit version))) (sha256 - (base32 - "0byml4rmpiaalwx69jcixl3yvpvwmwiss1jzgsqwshilb2p4qnmz")) + (base32 "1gywad0rvvz3c5balz8cxsnx0562hj2ngzqyr8zsy2mb4pn0lpgv")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (delete 'configure)) - #:make-flags (list "CC=gcc" + #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out"))) - ;; no check target - #:tests? #f)) + #: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