diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-01-20 22:12:10 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-01-20 22:12:10 +0100 |
commit | 3e2d4e69c340c3520f546f8c7e21e52383058d1c (patch) | |
tree | 0bc92edb753cfdf9a9e7ef763ebc19f0cd2d528c /gnu/packages/gnuzilla.scm | |
parent | ad79ae7e2d7505292b11e87302b08f4db0f934e9 (diff) | |
parent | e5ad2cdf172eecc7edef37a500593b1941af013c (diff) | |
download | guix-3e2d4e69c340c3520f546f8c7e21e52383058d1c.tar guix-3e2d4e69c340c3520f546f8c7e21e52383058d1c.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/gnuzilla.scm')
-rw-r--r-- | gnu/packages/gnuzilla.scm | 76 |
1 files changed, 74 insertions, 2 deletions
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e95f87b7aa..e3ba7c1bff 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -58,6 +58,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) #:use-module (gnu packages assembly) @@ -67,7 +68,8 @@ #:use-module (gnu packages video) #:use-module (gnu packages xiph) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages readline)) + #:use-module (gnu packages readline) + #:use-module (gnu packages sqlite)) (define-public mozjs (package @@ -292,7 +294,10 @@ in C/C++.") "--with-system-zlib" ;; Intl API requires bundled ICU. - "--without-intl-api") + "--without-intl-api" + + ;; Without this gnome-shell will crash at runtime. + "--disable-jemalloc") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-and-chdir @@ -326,6 +331,73 @@ in C/C++.") ("automake" ,automake) ,@(package-native-inputs mozjs-38)))))) +(define-public mozjs-60 + ;; No releases yet at <https://archive.mozilla.org/pub/spidermonkey/releases/>. + ;; While we could take a snapshot of the complete mozilla-esr60 repository at + ;; <https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr60&filter-searchStr=sm-tc>, + ;; we take the Debian version instead, because it is easier to work with. + (package + (inherit mozjs-38) + (version "60.2.3-2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/gnome-team/mozjs60.git") + (commit (string-append "debian/" version)))) + (file-name (git-file-name "mozjs" version)) + (sha256 + (base32 + "091w050rwzrdcbgyi934k2viyccmlqxrp13sm2mql71mabb5dai6")))) + (arguments + `(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway. + #:test-target "check-jstests" + #:configure-flags + '("--enable-ctypes" + "--enable-optimize" + "--enable-pie" + "--enable-readline" + "--enable-shared-js" + "--enable-system-ffi" + "--with-system-nspr" + "--with-system-zlib" + "--with-system-icu" + "--with-intl-api" + ;; This is important because without it gjs will segfault during the + ;; configure phase. With jemalloc only the standalone mozjs console + ;; will work. + "--disable-jemalloc") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs 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. + (let ((out (assoc-ref outputs "out"))) + (mkdir "run-configure-from-here") + (chdir "run-configure-from-here") + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "AUTOCONF" (string-append (assoc-ref inputs "autoconf") + "/bin/autoconf")) + (apply invoke "../js/src/configure" + (cons (string-append "--prefix=" out) + configure-flags)) + #t))) + (add-after 'unpack 'disable-broken-tests + (lambda _ + ;; This test assumes that /bin exists and contains certain + ;; executables. + (delete-file "js/src/tests/shell/os.js") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("which" ,which) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-2))))) + (define-public nspr (package (name "nspr") |