aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
authorEvgeny Pisemsky <evgeny@pisemsky.com>2022-10-23 23:15:16 +0300
committerChristopher Baines <mail@cbaines.net>2022-11-05 11:30:08 +0100
commit2b004b4ed0f1c6b16fa6c8bf0cbb3325538cf398 (patch)
tree5daa51dcc83505a64c85e7c9176eab962d8b875b /gnu/packages/guile-xyz.scm
parentb3147b149c8c44f5b4fe20936438165fa449fe20 (diff)
downloadguix-2b004b4ed0f1c6b16fa6c8bf0cbb3325538cf398.tar
guix-2b004b4ed0f1c6b16fa6c8bf0cbb3325538cf398.tar.gz
gnu: Add guilescript.
* gnu/packages/guile-xyz.scm (guilescript): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 623289f32c..38a0b3e4cb 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -44,6 +44,7 @@
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -264,6 +265,50 @@ more.")
(home-page "https://www.gnu.org/software/artanis/")
(license (list license:gpl3+ license:lgpl3+)))) ;dual license
+(define-public guilescript
+ (package
+ (name "guilescript")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aconchillo/guilescript")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15bvgklv77kvkl8dizriqblfir6rid5nm79ymi3m2fvpd7wf77qy"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("GUILE_AUTO_COMPILE=0")
+ #: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-guilescript
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (version (target-guile-effective-version))
+ (scm (string-append "/share/guile/site/" version))
+ (go (string-append "/lib/guile/" version "/site-ccache")))
+ (wrap-program (string-append bin "/guilescript")
+ `("GUILE_LOAD_PATH" prefix
+ (,(string-append out scm)))
+ `("GUILE_LOAD_COMPILED_PATH" prefix
+ (,(string-append out go)))))
+ #t)))))
+ (native-inputs (list autoconf automake pkg-config))
+ (inputs (list guile-3.0 bash-minimal))
+ (home-page "https://github.com/aconchillo/guilescript")
+ (synopsis "Guile to JavaScript compiler")
+ (description
+ "GuileScript is a toy compiler that aims to compile Guile to JavaScript. It
+currently does not do much, but it might in the future.")
+ (license license:gpl3+)))
+
;; There are no releases yet of this package.
(define-public guile-pipe
(let ((commit "0746ec38d19d844dff0c6f62f209b2b6c8d8872e")