in C/C++.")
(license license:mpl2.0))) ; and others for some files
+(define-public mozjs-24
+ (package (inherit mozjs)
+ (name "mozjs")
+ (version "24.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.mozilla.org/pub/mozilla.org/js/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"))))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (chdir "js/src")
+ ;; configure fails if it is follwed by SHELL and CONFIG_SHELL
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)
+ "--with-system-nspr"
+ "--enable-system-ffi"
+ "--enable-threadsafe"))))))))
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (propagated-inputs
+ `(("nspr" ,nspr))) ; in the Requires.private field of mozjs-24.pc
+ (inputs
+ `(("libffi" ,libffi)
+ ("zlib" ,zlib)))))
+
(define-public nspr
(package
(name "nspr")
- (version "4.10.8")
+ (version "4.10.10")
(source (origin
(method url-fetch)
(uri (string-append
version "/src/nspr-" version ".tar.gz"))
(sha256
(base32
- "05aaakz24ba2hdzlqx8qamwrsp7gni1acms8mr6m432wa9yaazjh"))))
+ "01ria9wk6329hxqsy75p9dkxiqkq4nkz0jjzll7hslih3jbi8dil"))))
(build-system gnu-build-system)
(native-inputs
`(("perl", perl)))
(define-public nss
(package
(name "nss")
- (version "3.19.2")
+ (version "3.21")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
(string-join (string-split version #\.) "_")))
(string-append
- "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/"
+ "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
"releases/NSS_" version-with-underscores "_RTM/src/"
"nss-" version ".tar.gz")))
(sha256
(base32
- "1bn9wbf52z4423134hpkyvcxq1568fvzmkybv2d49n31iwz6c1hk"))
+ "0fbjx3xsdm4gjc1gyzy2z315cvyw7yilsm7p9w75rpbwgl15nyiz"))
;; Create nss.pc and nss-config.
(patches (list (search-patch "nss-pkgconfig.patch")))))
(build-system gnu-build-system)
(alist-replace
'configure
(lambda* (#:key system inputs #:allow-other-keys)
+ (setenv "CC" "gcc")
;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
(when (string-prefix? "x86_64" system)
(setenv "USE_64" "1"))
(define-public icecat
(package
(name "icecat")
- (version "31.8.0-gnu1")
+ (version "38.5.2-gnu1")
(source
(origin
(method url-fetch)
name "-" version ".tar.bz2"))
(sha256
(base32
- "11wx29mb5pcg4mgk07a6vjwh52ca90k0x4m9wv0v3y5dmp88f01p"))
- (patches (map search-patch '("icecat-CVE-2015-4473-partial.patch"
- "icecat-CVE-2015-4482.patch"
- "icecat-CVE-2015-4488.patch"
- "icecat-CVE-2015-4489.patch"
- "icecat-CVE-2015-4491.patch"
- "icecat-CVE-2015-4492.patch"
- "icecat-CVE-2015-4495.patch"
- "icecat-enable-acceleration-and-webgl.patch"
- "icecat-freetype-2.6.patch"
- "icecat-libvpx-1.4.patch")))
+ "0m18xyb0rd02yaw9xd5z4bab1wr2599iszzqhm86c134jv5vk6cg"))
+ (patches (map search-patch '("icecat-avoid-bundled-includes.patch")))
(modules '((guix build utils)))
(snippet
'(begin
("libevent" ,libevent)
("libxinerama" ,libxinerama)
("libxscrnsaver" ,libxscrnsaver)
+ ("libxcomposite" ,libxcomposite)
("libxt" ,libxt)
("libffi" ,libffi)
("libvpx" ,libvpx)
;; "--with-system-jpeg"
)
+ #:modules ((ice-9 ftw)
+ ,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
+ (add-after
+ 'unpack 'ensure-no-mtimes-pre-1980
+ (lambda _
+ ;; Without this, the 'source/test/addons/packed.xpi' and
+ ;; 'source/test/addons/simple-prefs.xpi' targets fail while trying
+ ;; to create zip archives.
+ (let ((early-1980 315619200)) ; 1980-01-02 UTC
+ (ftw "." (lambda (file stat flag)
+ (unless (<= early-1980 (stat:mtime stat))
+ (utime file early-1980 early-1980))
+ #t))
+ #t)))
(add-after
'unpack 'remove-h264parse-from-blacklist
(lambda _
;; was put there to work around a bug in a pre-1.0 version of
;; gstreamer. See:
;; https://www.mozilla.org/en-US/security/advisories/mfsa2015-47/
- (substitute* "content/media/gstreamer/GStreamerFormatHelper.cpp"
+ (substitute* "dom/media/gstreamer/GStreamerFormatHelper.cpp"
(("^ \"h264parse\",\n") ""))
#t))
(add-after
;; TODO: It might be preferable to patch in absolute file names in
;; calls to dlopen or PR_LoadLibrary, but that didn't seem to
;; work. More investigation is needed.
- (let ((p (open-file "toolkit/library/libxul.mk" "a")))
- (display "\nOS_LIBS += -lGL -lgnome-2 -lcanberra -lXss \\
- -lcups -lgssapi_krb5 -lgstreamer-1.0 \\
- -lgstapp-1.0 -lgstvideo-1.0\n"
- p)
- (close-port p)
- #t)))
+ (substitute* "toolkit/library/moz.build"
+ (("^# This needs to be last")
+ "OS_LIBS += [
+ 'GL', 'gnome-2', 'canberra', 'Xss', 'cups', 'gssapi_krb5',
+ 'gstreamer-1.0', 'gstapp-1.0', 'gstvideo-1.0' ]\n\n"))
+ #t))
(replace
'configure
;; configure does not work followed by both "SHELL=..." and