summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2016-10-22 12:00:51 +0200
committerMathieu Lirzin <mthl@gnu.org>2016-11-29 23:10:11 +0100
commit365de1e7a5b37f9fd88cd964cc7d47f6f729d053 (patch)
treef6151753ade16a9e5a8e57dd1d57863d972e7088 /gnu
parent43ddcd723ef4e68bfab5186821855dfccf4440b0 (diff)
downloadguix-365de1e7a5b37f9fd88cd964cc7d47f6f729d053.tar.gz
gnu: Add Cuirass.
* gnu/packages/ci.scm (cuirass): New variable.

Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ci.scm52
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 3f54ff1298..f07e75ad4e 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -1,5 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -181,3 +183,53 @@
 release that uses a purely functional language to describe build jobs and
 their dependencies.")
       (license l:gpl3+))))
+
+(define-public cuirass
+  (let ((commit "7248c0038f3d0bfcf6c469d534efb4a13952c112")
+        (revision "1"))
+    (package
+      (name "cuirass")
+      (version (string-append "0.0.1-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://notabug.org/mthl/cuirass")
+                      (commit commit)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "0hkwh2pcz3wzg1n533ch2w7vwr97yr369q4ki0yqk99wfipjrydw"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'bootstrap
+             (lambda _ (zero? (system* "sh" "bootstrap"))))
+           (add-after 'install 'wrap-program
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               ;; Wrap the 'cuirass' command to refer to the right modules.
+               (let* ((out    (assoc-ref outputs "out"))
+                      (json   (assoc-ref inputs "guile-json"))
+                      (sqlite (assoc-ref inputs "guile-sqlite3"))
+                      (guix   (assoc-ref inputs "guix"))
+                      (mods   (string-append json "/share/guile/site/2.0:"
+                                             sqlite "/share/guile/site/2.0:"
+                                             guix "/share/guile/site/2.0")))
+                 (wrap-program (string-append out "/bin/cuirass")
+                   `("GUILE_LOAD_PATH" ":" prefix (,mods))
+                   `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods)))))))))
+      (inputs
+       `(("guile" ,guile-2.0)
+         ("guile-json" ,guile-json)
+         ("guile-sqlite3" ,guile-sqlite3)
+         ("guix" ,guix)))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("pkg-config" ,pkg-config)))
+      (synopsis "Continuous integration system")
+      (description
+       "Cuirass is a continuous integration tool using GNU Guix.  It is
+intended as a replacement for Hydra.")
+      (home-page "https://notabug.org/mthl/cuirass")
+      (license l:gpl3+))))