gnu: mozjs: Add 91.13.0.

* gnu/packages/gnuzilla.scm (mozjs-91): New variable.
This commit is contained in:
Marius Bakke 2022-08-24 19:44:56 +02:00 committed by Maxim Cournoyer
parent 4ce94cbbc6
commit f89dbfc8a9
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -242,6 +242,88 @@ (define-public mozjs
in C/C++.")
(license license:mpl2.0))) ; and others for some files
(define-public mozjs-91
(package
(inherit mozjs)
(version "91.13.0")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk"))))
(arguments
(substitute-keyword-arguments (package-arguments mozjs)
((#:phases phases)
#~(modify-phases #$phases
(delete 'adjust-for-icu-68)
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script does not accept environment variables as
;; arguments. It also must be run from a different directory,
;; but not the root directory either.
(mkdir "run-configure-from-here")
(chdir "run-configure-from-here")
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "AUTOCONF" (which "autoconf"))
(apply invoke "python" "../configure.py"
"--enable-project=js"
(string-append "--prefix=" #$output)
configure-flags)))
(add-before 'check 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;; FIXME: Assertion failed: got "2021a", expected "2021a3"?
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; XXX: Delete all tests that test time zone functionality,
;; because the test suite uses /etc/localtime to figure out
;; the offset from the hardware clock, which does not work
;; in the build container. See <tests/non262/Date/shell.js>.
(delete-file-recursively "non262/Date")
(delete-file
"non262/Intl/DateTimeFormat/tz-environment-variable.js"))))
(replace 'pre-check
(lambda _
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string (parallel-job-count))))))))))))
(native-inputs (modify-inputs (package-native-inputs mozjs)
(replace "autoconf" autoconf)
(replace "llvm" llvm)
(replace "python" python-wrapper)
(append m4)))))
(define mozilla-compare-locales
(origin
(method hg-fetch)