aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/textutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/textutils.scm')
-rw-r--r--gnu/packages/textutils.scm106
1 files changed, 106 insertions, 0 deletions
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 6fdcfd227e..b6732dbae1 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -19,6 +19,7 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,6 +54,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)
@@ -725,6 +727,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")