summary refs log tree commit diff
path: root/gnu/packages/code.scm
diff options
context:
space:
mode:
authorOleg Pykhalov <go.wigust@gmail.com>2018-02-05 09:13:14 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2018-02-09 23:44:52 +0300
commitdc993847f1a2eed3c0e2b573ee7ad1974ffc3bd0 (patch)
treef5b9c96537059d539757ee04520331381a2238df /gnu/packages/code.scm
parentabd78128ceb0139364af222f44f6d88ef3bb6cbe (diff)
downloadguix-dc993847f1a2eed3c0e2b573ee7ad1974ffc3bd0.tar.gz
gnu: Add colormake.
* gnu/packages/colorize.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add this.
Diffstat (limited to 'gnu/packages/code.scm')
-rw-r--r--gnu/packages/code.scm56
1 files changed, 56 insertions, 0 deletions
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 93723d1a01..741e9f99cf 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -29,6 +29,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
@@ -440,3 +441,58 @@ symbolnames etc.  There’s also limited support for ObjC/ObjC++.  It allows you
 to find symbols by name (including nested class and namespace scope).  Most
 importantly we give you proper follow-symbol and find-references support.")
     (license license:gpl3+)))
+
+(define-public colormake
+  (package
+    (name "colormake")
+    (version "0.9.20140503")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/pagekite/Colormake/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08ldss9zd8ls6bjahvxhffpsjcysifr720yf3jz9db2mlklzmyd3"))))
+    (build-system trivial-build-system)
+    (native-inputs
+     `(("bash" ,bash)
+       ("gzip" ,gzip)
+       ("perl" ,perl)
+       ("tar" ,tar)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         ;; bootstrap
+         (setenv "PATH" (string-append
+                         (assoc-ref %build-inputs "tar") "/bin" ":"
+                         (assoc-ref %build-inputs "gzip") "/bin"))
+         (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
+         (chdir (string-append (string-capitalize ,name) "-" ,version))
+         (patch-shebang  "colormake.pl"
+                         (list (string-append (assoc-ref %build-inputs "perl")
+                                              "/bin")))
+         (let* ((out (assoc-ref %outputs "out"))
+                (bin (string-append out "/bin"))
+                (doc (string-append out "/share/doc"))
+                (install-files (lambda (files directory)
+                                 (for-each (lambda (file)
+                                             (install-file file directory))
+                                           files))))
+           (substitute* "colormake"
+             (("colormake\\.pl") (string-append bin "/colormake.pl"))
+             (("/bin/bash")
+              (string-append (assoc-ref %build-inputs "bash") "/bin/sh")))
+           (install-file "colormake.1" (string-append doc "/man/man1"))
+           (install-files '("AUTHORS" "BUGS" "ChangeLog" "README") doc)
+           (install-files '("colormake" "colormake-short" "clmake"
+                            "clmake-short" "colormake.pl")
+                          bin)))))
+    (home-page "http://bre.klaki.net/programs/colormake/")
+    (synopsis "Wrapper around @command{make} to produce colored output")
+    (description "This package provides a wrapper around @command{make} to
+produce colored output.")
+    (license license:gpl2+)))