summary refs log tree commit diff
path: root/gnu/packages/dezyne.scm
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/dezyne.scm
parentb681e339fa37f2a26763458ee56b31af1d6a7ec5 (diff)
downloadguix-e11b57de7368315d3fdc038c904e9d0e58db22d7.tar.gz
gnu: Add scmackerel.
* gnu/packages/dezyne.scm (scmackerel): New variable.
Diffstat (limited to 'gnu/packages/dezyne.scm')
-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+))))