summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2025-04-27 08:36:30 +0800
committerAndreas Enge <andreas@enge.fr>2025-05-05 16:03:55 +0200
commitcbc9fbcf2d84761a4b7cfcbc557b213e1759f671 (patch)
tree3487fdfa5404fb132bd5496527c42f0753d50d19
parenta824edd45e8dca9377ff38284d4df5dbcd3be6c3 (diff)
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 <andreas@enge.fr>
-rw-r--r--gnu/packages/javascript.scm45
1 files 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")