From a054777e0279125a4b86392d57608ec6789077fa Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 31 Jan 2017 18:39:53 +0000 Subject: [PATCH] gnu: Add sedsed. * gnu/packages/admin.scm (sedsed): New variable. Signed-off-by: Kei Kebreau --- gnu/packages/admin.scm | 64 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e021e6b2be..5dc1fff9a5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Peter Feigl ;;; Copyright © 2016 John J. Foerch -;;; Coypright © 2016 ng0 +;;; Coypright © 2016, 2017 ng0 ;;; Coypright © 2016 Tobias Geerinckx-Rice ;;; Coypright © 2016 John Darrington ;;; @@ -1916,3 +1916,65 @@ in order to be able to find it. @item @command{sunxi-nand-image-builder}: Prepares raw NAND images. @end enumerate") (license license:gpl2+))) + +(define-public sedsed + (package + (name "sedsed") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/aureliojargas/sedsed/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0139jkqvm8ipiwfj7k69ry2f9b1ffgpk79arpz4r7w9kf6h23bnh")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; No tests. + #:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-sed-in + (lambda _ + (substitute* "sedsed.py" + (("sedbin = 'sed'") + (string-append "sedbin = '" (which "sed") "'"))) + #t)) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + ;; Just one file to copy around + (install-file "sedsed.py" bin) + #t))) + (add-after 'install 'symlink + ;; Create 'sedsed' symlink to "sedsed.py". + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sed (string-append bin "/sedsed")) + (sedpy (string-append bin "/sedsed.py"))) + (symlink sedpy sed) + #t)))))) + (home-page "http://aurelio.net/projects/sedsed") + (synopsis "Sed sed scripts") + (description + "@code{sedsed} can debug, indent, tokenize and HTMLize your sed(1) script. + +In debug mode it reads your script and add extra commands to it. When +executed you can see the data flow between the commands, revealing all the +magic sed does on its internal buffers. + +In indent mode your script is reformatted with standard spacing. + +In tokenize mode you can see the elements of every command you use. + +In HTMLize mode your script is converted to a beautiful colored HTML file, +with all the commands and parameters identified for your viewing pleasure. + +With sedsed you can master any sed script. No more secrets, no more hidden +buffers.") + (license license:expat)))