From 365de1e7a5b37f9fd88cd964cc7d47f6f729d053 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sat, 22 Oct 2016 12:00:51 +0200 Subject: [PATCH] gnu: Add Cuirass. * gnu/packages/ci.scm (cuirass): New variable. Co-authored-by: Jan Nieuwenhuizen --- gnu/packages/ci.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) 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 +;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016 Mathieu Lirzin ;;; ;;; 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+))))