~ruther/guix-local

cbc9fbcf2d84761a4b7cfcbc557b213e1759f671 — 宋文武 1 year, 2 months ago a824edd
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>
1 files changed, 42 insertions(+), 3 deletions(-)

M gnu/packages/javascript.scm
M gnu/packages/javascript.scm => gnu/packages/javascript.scm +42 -3
@@ 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")