summaryrefslogtreecommitdiff
path: root/gnu/packages/dezyne.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/dezyne.scm')
-rw-r--r--gnu/packages/dezyne.scm94
1 files changed, 70 insertions, 24 deletions
diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm
index 1115ee8488..a5732f75bf 100644
--- a/gnu/packages/dezyne.scm
+++ b/gnu/packages/dezyne.scm
@@ -25,28 +25,33 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages guile)
#:use-module (gnu packages maths)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pth))
(define-public dezyne
(package
(name "dezyne")
- (version "2.17.8")
+ (version "2.18.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
- (base32 "0m5cnymcyg7k1jhp4xjpvpay7ia72xdzyjnjg0spsr4p7fy7yql4"))))
+ (base32 "1lbrxycpvwmvif3gpjnz8iskvlxp7f8bl71k44j7acwqrp8j2szi"))))
+ (propagated-inputs (list boost
+ guile-json-4
+ guile-readline
+ scmackerel))
(inputs (list bash-minimal
- guile-3.0-latest
- guile-json-4
- guile-readline
+ guile-3.0
mcrl2-minimal
+ pth
sed))
- (native-inputs (list guile-3.0-latest pkg-config))
+ (native-inputs (list guile-3.0 pkg-config))
(build-system gnu-build-system)
(arguments
(list
@@ -58,21 +63,20 @@
(lambda _
(setenv "GUILE_AUTO_COMPILE" "0")))
(add-after 'install 'install-readmes
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (base (string-append #$name "-" #$version))
- (doc (string-append out "/share/doc/" base)))
+ (lambda _
+ (let* ((base (string-append #$name "-" #$version))
+ (doc (string-append #$output "/share/doc/" base)))
(mkdir-p doc)
(copy-file "NEWS" (string-append doc "/NEWS")))))
(add-after 'install 'wrap-binaries
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bash (assoc-ref %build-inputs "bash-minimal"))
- (guile (assoc-ref %build-inputs "guile"))
- (json (assoc-ref %build-inputs "guile-json"))
- (mcrl2 (assoc-ref %build-inputs "mcrl2-minimal"))
- (readline (assoc-ref %build-inputs "guile-readline"))
- (sed (assoc-ref %build-inputs "sed"))
+ (lambda _
+ (let* ((bash #$(this-package-input "bash-minimal"))
+ (guile #$(this-package-input "guile"))
+ (json #$(this-package-input "guile-json"))
+ (mcrl2 #$(this-package-input "mcrl2-minimal"))
+ (readline #$(this-package-input "guile-readline"))
+ (scmackerel #$(this-package-input "scmackerel"))
+ (sed #$(this-package-input "sed"))
(effective (read
(open-pipe* OPEN_READ
"guile" "-c"
@@ -83,15 +87,17 @@
(string-append sed "/bin")))
(scm-dir (string-append "/share/guile/site/" effective))
(scm-path
- (list (string-append out scm-dir)
+ (list (string-append #$output scm-dir)
(string-append json scm-dir)
- (string-append readline scm-dir)))
+ (string-append readline scm-dir)
+ (string-append scmackerel scm-dir)))
(go-dir (string-append "/lib/guile/" effective
"/site-ccache/"))
- (go-path (list (string-append out go-dir)
+ (go-path (list (string-append #$output go-dir)
(string-append json go-dir)
- (string-append readline go-dir))))
- (wrap-program (string-append out "/bin/dzn")
+ (string-append readline go-dir)
+ (string-append scmackerel go-dir))))
+ (wrap-program (string-append #$output "/bin/dzn")
`("PATH" ":" prefix ,path)
`("GUILE_AUTO_COMPILE" ":" = ("0"))
`("GUILE_LOAD_PATH" ":" prefix ,scm-path)
@@ -105,3 +111,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+))))