summaryrefslogtreecommitdiff
path: root/gnu/packages/bioinformatics.scm
diff options
context:
space:
mode:
authorArun Isaac <arunisaac@systemreboot.net>2021-11-25 11:14:38 +0530
committerArun Isaac <arunisaac@systemreboot.net>2021-12-10 15:26:59 +0530
commitaf5fa4d202c7891dbb4699e2c300dead3eb8044e (patch)
tree3bd2c1187cf7ed486b0ce637841f19bcd281b675 /gnu/packages/bioinformatics.scm
parent549aa66e468ae2a3e4e033c256c05d23c62de80e (diff)
gnu: Add ccwl.
* gnu/packages/bioinformatics.scm (ccwl): New variable.
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r--gnu/packages/bioinformatics.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 45a06e6273..259b72b5f4 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -142,6 +142,7 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages skribilo)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages statistics)
@@ -15920,3 +15921,56 @@ identifying multiple clusters/cell types, learning the batch effects from the
control samples and applying quantile normalization on all markers of
interest.")
(license license:gpl2+))))
+
+(define-public ccwl
+ (package
+ (name "ccwl")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://ccwl.systemreboot.net/releases/ccwl-"
+ version ".tar.lz"))
+ (sha256
+ (base32
+ "1ar8rfz3zrksgygrv67zv77y8gfvvz54zcs546jn6j28y20basla"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings
+ #:modules (((guix build guile-build-system)
+ #:select (target-guile-effective-version))
+ ,@%gnu-build-system-modules)
+ #:imported-modules ((guix build guile-build-system)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (effective-version (target-guile-effective-version)))
+ (wrap-program (string-append out "/bin/ccwl")
+ `("GUILE_LOAD_PATH" prefix
+ (,(string-append out "/share/guile/site/" effective-version)
+ ,(getenv "GUILE_LOAD_PATH")))
+ `("GUILE_LOAD_COMPILED_PATH" prefix
+ (,(string-append out "/lib/guile/" effective-version "/site-ccache")
+ ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))
+ (inputs
+ `(("bash" ,bash-minimal)
+ ("guile" ,guile-3.0)
+ ("guile-libyaml" ,guile-libyaml)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("lzip" ,lzip)
+ ;; To build documentation
+ ("cwltool" ,cwltool)
+ ("graphviz" ,graphviz)
+ ("skribilo" ,skribilo)))
+ (home-page "https://ccwl.systemreboot.net")
+ (synopsis "Concise common workflow language")
+ (description "The @acronym{ccwl, Concise Common Workflow Language} is a
+concise syntax to express CWL workflows. ccwl is a compiler to generate CWL
+workflows from concise descriptions in ccwl. It is implemented as an
+@acronym{EDSL, Embedded Domain Specific Language} in the Scheme programming
+language.")
+ (license license:gpl3+)))