andreas pushed a commit to branch master
in repository guix.

commit cbc9fbcf2d84761a4b7cfcbc557b213e1759f671
Author: 宋文武 <iyzs...@member.fsf.org>
AuthorDate: Sun Apr 27 08:36:30 2025 +0800

    Revert "gnu: quickjs: Deprecate."
    
    It seems quickjs-ng and quickjs are not API compatible.
    This fixes building tic80.
    
    This reverts commit b94cf86a89ef0a6bf7ec2c8e52f64c5107888f55.
    
    Change-Id: I3666ddbef8d1b2e71d49f9b14aef5a1be4b8495a
    Signed-off-by: Andreas Enge <andr...@enge.fr>
---
 gnu/packages/javascript.scm | 45 ++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 42 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index 38edc2ff0a..21222f0027 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -825,6 +825,48 @@ C++ template mechanisms, or worry about marking and 
unmarking garbage collection
 roots, or wrestle with obscure build systems.")
     (license license:isc)))
 
+(define-public quickjs
+  (package
+    (name "quickjs")
+    (version "2024-01-13")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://bellard.org/quickjs/quickjs-";
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "00rf45l1bx0yhlv11gn3bbyfqw9724c153bc93mlp9dzjpwghjrw"))
+              (snippet
+               #~(begin (use-modules (guix build utils))
+                        (for-each delete-file
+                                  '("doc/quickjs.pdf"
+                                    "doc/quickjs.html"
+                                    "doc/jsbignum.pdf"
+                                    "doc/jsbignum.html"))))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags
+           #~(list (string-append "PREFIX=" #$output)
+                   #$@(if (or (target-riscv64?)
+                              (target-ppc32?))
+                          '("LDFLAGS=-latomic")
+                          '()))
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "make" "microbench")))))))
+    (home-page "https://bellard.org/quickjs/";)
+    (synopsis "Small embeddable Javascript engine")
+    (description "QuickJS supports the ES2023 specification including modules,
+asynchronous generators, proxies, BigInt, BigDecimal, BigFloat and operator
+overloading.  It can compile Javascript sources to executables with no external
+dependency.  It includes a command line interpreter with contextual 
colorization
+implemented in Javascript and a small built-in standard library with C library
+wrappers.")
+    (license license:expat)))
+
 (define-public test262-source
   (origin
     (method git-fetch)
@@ -912,9 +954,6 @@ wrappers.")
     ;; 3-clause BSD license for test262
     (license (list license:expat license:bsd-3))))
 
-(define-public quickjs
-  (deprecated-package "quickjs" quickjs-ng))
-
 (define-public duktape
   (package
     (name "duktape")

Reply via email to