Subject: [bug#28744] guile-colorized

From: ng0 <[email-masked]>
Date: Sun, 8 Oct 2017 10:36:37 +0000

Colors for your REPL.

In the light of recent github mismatches:
should this use the git checkout instead?
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://dist.krosos.org/dist/keys/
https://www.infotropique.org https://krosos.org
From d5160f7e3ca160dd6ee9336770fdf2d6dc7b279f Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sun, 8 Oct 2017 10:30:39 +0000
Subject: [PATCH] gnu: Add guile-colorized.

* gnu/packages/guile.scm (guile-colorized): New variable.
---
 gnu/packages/guile.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 65d252617..caecd2b6b 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2017 David Thompson <[email-masked]>
 ;;; Copyright © 2017 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2017 Theodoros Foradis <[email-masked]>
+;;; Copyright © 2017 ng0 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1966,4 +1967,52 @@ HTML (via SXML) or any other format for rendering.")
 It has a nice, simple s-expression based syntax.")
     (license license:lgpl3+)))
 
+(define-public guile-colorized
+  (package
+    (name "guile-colorized")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/NalaGinrut/guile-colorized/"
+                                  "archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((system base compile)
+                  ,@%gnu-build-system-modules)
+       #:tests? #f ;No tests included
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ;No configure script
+         (replace 'install
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (module-dir (string-append out "/share/guile/site/2.2"))
+                    (language-dir (string-append module-dir "/ice-9"))
+                    (guild (string-append (assoc-ref inputs "guile")
+                                          "/bin/guild")))
+               ;; The original 'make install' is too primitive.
+               (mkdir-p module-dir)
+               (mkdir-p language-dir)
+
+               ;; copy the source
+               (copy-file "ice-9/colorized.scm"
+                          (string-append language-dir "/colorized.scm"))
+
+               ;; compile to the destination
+               (compile-file "ice-9/colorized.scm"
+                             #:output-file (string-append
+                                            language-dir "/colorized.go"))
+               #t))))))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (home-page "https://github.com/NalaGinrut/guile-colorized")
+    (synopsis "Colorized REPL for Guile")
+    (description
+     "Guile-colorized provides you with a colorized REPL for GNU Guile.")
+    (license license:gpl3+)))
+
 ;;; guile.scm ends here
-- 
2.14.2