aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2023-09-01 20:35:49 +0200
committerJanneke Nieuwenhuizen <janneke@gnu.org>2023-12-15 12:01:55 +0100
commite11b57de7368315d3fdc038c904e9d0e58db22d7 (patch)
treeaa8c40f6aa26f378be66b6eed1f0e5a883e441e5 /gnu/packages
parentb681e339fa37f2a26763458ee56b31af1d6a7ec5 (diff)
downloadguix-e11b57de7368315d3fdc038c904e9d0e58db22d7.tar.gz
guix-e11b57de7368315d3fdc038c904e9d0e58db22d7.zip
gnu: Add scmackerel.
* gnu/packages/dezyne.scm (scmackerel): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/dezyne.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm
index 1115ee8488..9dcaa8353d 100644
--- a/gnu/packages/dezyne.scm
+++ b/gnu/packages/dezyne.scm
@@ -105,3 +105,43 @@ has formal semantics expressed in @url{https://mcrl2.org,mCRL2}.")
(license (list license:agpl3+ ;Dezyne itself
license:lgpl3+ ;Dezyne runtime library
license:cc0)))) ;Code snippets, images, test data
+
+(define-public scmackerel
+ (package
+ (name "scmackerel")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dezyne.org/download/scmackerel/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1sgrkw3idsni1ylf0slwgzzwq31b1yx6s0j17yq99c88agk9cvd6"))))
+ (inputs (list bash-minimal
+ guile-3.0
+ guile-readline
+ mcrl2-minimal))
+ (native-inputs (list guile-3.0 pkg-config))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:modules `((ice-9 popen)
+ ,@%gnu-build-system-modules)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'setenv
+ (lambda _
+ (setenv "GUILE_AUTO_COMPILE" "0")))
+ (add-after 'install 'install-readmes
+ (lambda _
+ (let* ((base (string-append #$name "-" #$version))
+ (doc (string-append #$output "/share/doc/" base)))
+ (mkdir-p doc)
+ (copy-file "NEWS" (string-append doc "/NEWS"))))))))
+ (synopsis "AST library in GNU Guile")
+ (description "SCMackerel is a library in GNU Guile to create abstract
+syntax trees (ASTs). Initially written for @url{https://mcrl2.org,mCRL2} and
+now also supporting other languages, such as C, C++, and C#. Based on GNU
+Guix records.")
+ (home-page "https://gitlab.com/janneke/scmackerel")
+ (license (list license:gpl3+))))