summaryrefslogtreecommitdiff
path: root/gnu/packages/ci.scm
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/packages/ci.scm
parent43ddcd723ef4e68bfab5186821855dfccf4440b0 (diff)
downloadguix-patches-365de1e7a5b37f9fd88cd964cc7d47f6f729d053.tar
guix-patches-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/packages/ci.scm')
-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+))))