guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/15: gnu: Add guilescript.


From: guix-commits
Subject: 04/15: gnu: Add guilescript.
Date: Sat, 5 Nov 2022 06:48:06 -0400 (EDT)

cbaines pushed a commit to branch master
in repository guix.

commit 2b004b4ed0f1c6b16fa6c8bf0cbb3325538cf398
Author: Evgeny Pisemsky <evgeny@pisemsky.com>
AuthorDate: Sun Oct 23 23:15:16 2022 +0300

    gnu: Add guilescript.
    
    * gnu/packages/guile-xyz.scm (guilescript): New variable.
    
    Signed-off-by: Christopher Baines <mail@cbaines.net>
---
 gnu/packages/guile-xyz.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]