2013-11-11 20:44:34 +01:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2015-02-13 12:35:52 +01:00
|
|
|
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
2016-04-14 22:18:56 +02:00
|
|
|
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
gnu: icecat: Add fixes for CVE-2016-{1930,1935} and other bugs.
* gnu/packages/patches/icecat-CVE-2016-1930-pt01.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt02.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt03.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt04.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt05.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt06.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt07.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt08.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt09.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt10.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt11.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt12.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt13.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt14.patch,
gnu/packages/patches/icecat-CVE-2016-1930-pt15.patch,
gnu/packages/patches/icecat-CVE-2016-1935.patch,
gnu/packages/patches/icecat-bug-1146335-pt1.patch,
gnu/packages/patches/icecat-bug-1146335-pt2.patch,
gnu/packages/patches/icecat-limit-max-buffers-size-for-ANGLE.patch: New
files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.
2016-01-28 06:22:49 +01:00
|
|
|
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
2015-01-06 16:57:31 +01:00
|
|
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
gnu: icecat: Update to 38.7.1-gnu1.
* gnu/packages/gnuzilla.scm (icecat): Update to 38.7.1-gnu1.
[sources]: Remove numerous patches.
* gnu/packages/patches/icecat-CVE-2015-4477.patch,
gnu/packages/patches/icecat-CVE-2015-7207.patch,
gnu/packages/patches/icecat-CVE-2016-1952-pt01.patch,
gnu/packages/patches/icecat-CVE-2016-1952-pt02.patch,
gnu/packages/patches/icecat-CVE-2016-1952-pt03.patch,
gnu/packages/patches/icecat-CVE-2016-1952-pt04.patch,
gnu/packages/patches/icecat-CVE-2016-1952-pt05.patch,
gnu/packages/patches/icecat-CVE-2016-1952-pt06.patch,
gnu/packages/patches/icecat-CVE-2016-1954.patch,
gnu/packages/patches/icecat-CVE-2016-1960.patch,
gnu/packages/patches/icecat-CVE-2016-1961.patch,
gnu/packages/patches/icecat-CVE-2016-1962.patch,
gnu/packages/patches/icecat-CVE-2016-1964.patch,
gnu/packages/patches/icecat-CVE-2016-1965.patch,
gnu/packages/patches/icecat-CVE-2016-1966.patch,
gnu/packages/patches/icecat-CVE-2016-1974.patch,
gnu/packages/patches/icecat-icecatbug-1248851.patch,
gnu/packages/patches/icecat-update-graphite2.patch,
gnu/packages/patches/icecat-update-graphite2-pt2.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
2016-04-10 07:40:31 +02:00
|
|
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
2016-07-23 23:44:46 +02:00
|
|
|
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
2013-11-11 20:44:34 +01:00
|
|
|
;;;
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
;;; your option) any later version.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
;;;
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
(define-module (gnu packages gnuzilla)
|
2015-04-06 15:38:54 +02:00
|
|
|
#:use-module ((srfi srfi-1) #:hide (zip))
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (gnu packages)
|
Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.
* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
gnu/packages/boost.scm, gnu/packages/compression.scm,
gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
gnu/packages/indent.scm, gnu/packages/inkscape.scm,
gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
gnu/packages/yasm.scm, gnu/packages/zip.scm,
guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
#:renamer and 'symbol-prefix-proc' with #:prefix.
2014-09-23 22:44:22 +02:00
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module (guix build-system gnu)
|
2015-01-06 16:57:31 +01:00
|
|
|
#:use-module (gnu packages databases)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (gnu packages glib)
|
|
|
|
#:use-module (gnu packages gstreamer)
|
|
|
|
#:use-module (gnu packages gtk)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
#:use-module (gnu packages gnome)
|
|
|
|
#:use-module (gnu packages libcanberra)
|
|
|
|
#:use-module (gnu packages cups)
|
|
|
|
#:use-module (gnu packages mit-krb5)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (gnu packages linux)
|
|
|
|
#:use-module (gnu packages perl)
|
|
|
|
#:use-module (gnu packages pkg-config)
|
2013-12-13 18:08:18 +01:00
|
|
|
#:use-module (gnu packages compression)
|
2014-10-09 05:37:37 +02:00
|
|
|
#:use-module (gnu packages fontutils)
|
2013-12-13 18:08:18 +01:00
|
|
|
#:use-module (gnu packages libevent)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
#:use-module (gnu packages libreoffice) ;for hunspell
|
gnu: Consolidate libjpeg, libpng, and libtiff into one module.
* gnu/packages/image.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add image.scm and remove libjpeg.scm,
libpng.scm, and libtiff.scm.
* gnu/packages/libjpeg.scm, gnu/packages/libpng.scm, gnu/packages/libtiff.scm:
Delete files.
* gnu/packages/emacs.scm gnu/packages/games.scm, gnu/packages/gd.scm,
gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnustep.scm, gnu/packages/gnuzilla.scm,
gnu/packages/graphviz.scm, gnu/packages/gtk.scm,
gnu/packages/imagemagick.scm, gnu/packages/inkscape.scm,
gnu/packages/netpbm.scm, gnu/packages/pdf.scm, gnu/packages/plotutils.scm,
gnu/packages/qemu.scm, gnu/packages/qt.scm, gnu/packages/scheme.scm,
gnu/packages/sdl.scm, gnu/packages/slim.scm, gnu/packages/tcl.scm,
gnu/packages/texlive.scm, gnu/packages/video.scm, gnu/packages/xiph.scm,
gnu/packages/xorg.scm: Use (gnu packages image) module.
2014-06-25 14:39:02 +02:00
|
|
|
#:use-module (gnu packages image)
|
2013-12-13 18:08:18 +01:00
|
|
|
#:use-module (gnu packages libffi)
|
2014-10-09 05:37:37 +02:00
|
|
|
#:use-module (gnu packages pulseaudio)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (gnu packages python)
|
|
|
|
#:use-module (gnu packages xorg)
|
2013-12-28 09:10:46 +01:00
|
|
|
#:use-module (gnu packages gl)
|
2016-06-27 09:30:01 +02:00
|
|
|
#:use-module (gnu packages assembly)
|
2015-01-31 14:41:02 +01:00
|
|
|
#:use-module (gnu packages icu4c)
|
|
|
|
#:use-module (gnu packages video)
|
|
|
|
#:use-module (gnu packages xdisorg)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (gnu packages zip))
|
|
|
|
|
2015-01-11 02:29:10 +01:00
|
|
|
(define-public mozjs
|
|
|
|
(package
|
|
|
|
(name "mozjs")
|
|
|
|
(version "17.0.0")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"https://ftp.mozilla.org/pub/mozilla.org/js/"
|
|
|
|
name version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2016-01-22 07:33:07 +01:00
|
|
|
"1fig2wf4f10v43mqx67y68z6h77sy900d1w0pz9qarrqx57rc7ij"))
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
;; Fix incompatibility with Perl 5.22+.
|
|
|
|
'(substitute* '("js/src/config/milestone.pl")
|
|
|
|
(("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE")))))
|
2015-01-11 02:29:10 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
gnu: Fix misplaced commas (unquote).
Fix many occurrences of comma (unquote) being placed immediately after the
previous list item, e.g. ("ncurses", ncurses) in the inputs.
* gnu/packages/base.scm (patch, gnu-make),
gnu/packages/bioinformatics.scm (hmmer),
gnu/packages/bittorrent.scm (aria2),
gnu/packages/compression.scm (pbzip2),
gnu/packages/databases.scm (recutils),
gnu/packages/fonts.scm (font-terminus),
gnu/packages/freedesktop.scm (xdg-utils, elogind),
gnu/packages/games.scm (gnujump),
gnu/packages/gnome.scm (libidl, gnumeric, eog, gedit),
gnu/packages/gnunet.scm (gnunet),
gnu/packages/gnuzilla.scm (mozjs, nspr),
gnu/packages/gtk.scm (gtksourceview, gdk-pixbuf),
gnu/packages/lua.scm (lua),
gnu/packages/openstack.scm (python-swiftclient),
gnu/packages/perl.scm (perl-json-any),
gnu/packages/polkit.scm (polkit-qt),
gnu/packages/python.scm (wrap-python3, python-oauthlib)
(python-mccabe-0.2.1, python-contextlib2, python2-rauth),
gnu/packages/qt.scm (qtkeychain),
gnu/packages/ruby.scm (ruby-nokogiri),
gnu/packages/screen.scm (screen),
gnu/packages/ssh.scm (libssh),
gnu/packages/video.scm (ffmpeg, mplayer),
gnu/packages/vim.scm (vim),
gnu/packages/xdisorg.scm (redshift),
gnu/packages/xfce.scm (xfce4-panel, xfce4-settings),
gnu/packages/xnee.scm (xnee),
gnu/packages/xorg.scm (font-adobe100dpi, font-adobe75dpi),
gnu/packages/zsh.scm (zsh): Fix misplaced commas (unquote).
2016-02-27 14:37:28 +01:00
|
|
|
`(("perl" ,perl)
|
2015-01-11 02:29:10 +01:00
|
|
|
("python" ,python-2)))
|
|
|
|
(arguments
|
2016-07-22 23:40:01 +02:00
|
|
|
`(;; XXX: parallel build fails, lacking:
|
|
|
|
;; mkdir -p "system_wrapper_js/"
|
|
|
|
#:parallel-build? #f
|
|
|
|
#:phases
|
2015-01-11 02:29:10 +01:00
|
|
|
(alist-cons-before
|
|
|
|
'configure 'chdir
|
|
|
|
(lambda _
|
|
|
|
(chdir "js/src"))
|
|
|
|
(alist-replace
|
|
|
|
'configure
|
|
|
|
;; configure fails if it is followed by SHELL and CONFIG_SHELL
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
|
|
(zero? (system*
|
|
|
|
"./configure" (string-append "--prefix=" out)))))
|
|
|
|
%standard-phases))))
|
|
|
|
(home-page
|
|
|
|
"https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey")
|
|
|
|
(synopsis "Mozilla javascript engine")
|
|
|
|
(description "SpiderMonkey is Mozilla's JavaScript engine written
|
|
|
|
in C/C++.")
|
2015-05-20 20:02:12 +02:00
|
|
|
(license license:mpl2.0))) ; and others for some files
|
2015-01-11 02:29:10 +01:00
|
|
|
|
2015-11-08 14:34:58 +01:00
|
|
|
(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
|
2016-01-22 07:33:07 +01:00
|
|
|
"1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"))
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
;; Fix incompatibility with Perl 5.22+.
|
|
|
|
'(substitute* '("js/src/config/milestone.pl")
|
|
|
|
(("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE")))))
|
2015-11-08 14:34:58 +01:00
|
|
|
(arguments
|
2016-07-02 04:43:45 +02:00
|
|
|
'(;; XXX: parallel build fails, lacking:
|
|
|
|
;; mkdir -p "system_wrapper_js/"
|
|
|
|
#:parallel-build? #f
|
|
|
|
#:phases
|
2015-11-08 14:34:58 +01:00
|
|
|
(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)))))
|
|
|
|
|
2015-01-11 02:29:10 +01:00
|
|
|
(define-public nspr
|
|
|
|
(package
|
|
|
|
(name "nspr")
|
2016-04-28 05:26:31 +02:00
|
|
|
(version "4.12")
|
2015-01-11 02:29:10 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v"
|
|
|
|
version "/src/nspr-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2016-04-28 05:26:31 +02:00
|
|
|
"1pk98bmc5xzbl62q5wf2d6mryf0v95z6rsmxz27nclwiaqg0mcg0"))))
|
2015-01-11 02:29:10 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
gnu: Fix misplaced commas (unquote).
Fix many occurrences of comma (unquote) being placed immediately after the
previous list item, e.g. ("ncurses", ncurses) in the inputs.
* gnu/packages/base.scm (patch, gnu-make),
gnu/packages/bioinformatics.scm (hmmer),
gnu/packages/bittorrent.scm (aria2),
gnu/packages/compression.scm (pbzip2),
gnu/packages/databases.scm (recutils),
gnu/packages/fonts.scm (font-terminus),
gnu/packages/freedesktop.scm (xdg-utils, elogind),
gnu/packages/games.scm (gnujump),
gnu/packages/gnome.scm (libidl, gnumeric, eog, gedit),
gnu/packages/gnunet.scm (gnunet),
gnu/packages/gnuzilla.scm (mozjs, nspr),
gnu/packages/gtk.scm (gtksourceview, gdk-pixbuf),
gnu/packages/lua.scm (lua),
gnu/packages/openstack.scm (python-swiftclient),
gnu/packages/perl.scm (perl-json-any),
gnu/packages/polkit.scm (polkit-qt),
gnu/packages/python.scm (wrap-python3, python-oauthlib)
(python-mccabe-0.2.1, python-contextlib2, python2-rauth),
gnu/packages/qt.scm (qtkeychain),
gnu/packages/ruby.scm (ruby-nokogiri),
gnu/packages/screen.scm (screen),
gnu/packages/ssh.scm (libssh),
gnu/packages/video.scm (ffmpeg, mplayer),
gnu/packages/vim.scm (vim),
gnu/packages/xdisorg.scm (redshift),
gnu/packages/xfce.scm (xfce4-panel, xfce4-settings),
gnu/packages/xnee.scm (xnee),
gnu/packages/xorg.scm (font-adobe100dpi, font-adobe75dpi),
gnu/packages/zsh.scm (zsh): Fix misplaced commas (unquote).
2016-02-27 14:37:28 +01:00
|
|
|
`(("perl" ,perl)))
|
2015-01-11 02:29:10 +01:00
|
|
|
(arguments
|
2015-04-11 12:25:19 +02:00
|
|
|
`(#:tests? #f ; no check target
|
|
|
|
#:configure-flags (list "--enable-64bit"
|
|
|
|
(string-append "LDFLAGS=-Wl,-rpath="
|
|
|
|
(assoc-ref %outputs "out")
|
|
|
|
"/lib"))
|
|
|
|
#:phases (alist-cons-before
|
|
|
|
'configure 'chdir
|
|
|
|
(lambda _
|
|
|
|
(chdir "nspr"))
|
|
|
|
%standard-phases)))
|
2015-01-11 02:29:10 +01:00
|
|
|
(home-page
|
|
|
|
"https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR")
|
|
|
|
(synopsis "Netscape API for system level and libc-like functions")
|
|
|
|
(description "Netscape Portable Runtime (NSPR) provides a
|
|
|
|
platform-neutral API for system level and libc-like functions. It is used
|
|
|
|
in the Mozilla clients.")
|
|
|
|
(license license:mpl2.0)))
|
|
|
|
|
2015-01-06 16:57:31 +01:00
|
|
|
(define-public nss
|
|
|
|
(package
|
|
|
|
(name "nss")
|
2016-08-24 13:03:48 +02:00
|
|
|
(version "3.26")
|
2015-01-06 16:57:31 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2015-04-06 02:08:55 +02:00
|
|
|
(uri (let ((version-with-underscores
|
|
|
|
(string-join (string-split version #\.) "_")))
|
|
|
|
(string-append
|
2015-11-07 03:27:10 +01:00
|
|
|
"https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
|
2015-04-06 02:08:55 +02:00
|
|
|
"releases/NSS_" version-with-underscores "_RTM/src/"
|
|
|
|
"nss-" version ".tar.gz")))
|
2015-01-06 16:57:31 +01:00
|
|
|
(sha256
|
|
|
|
(base32
|
2016-08-24 13:03:48 +02:00
|
|
|
"0r65s5q8kk0vr48s0zr8xi610k7h072lgkkpp4z6jlxr19bkly4i"))
|
2015-01-06 16:57:31 +01:00
|
|
|
;; Create nss.pc and nss-config.
|
2016-04-08 14:18:13 +02:00
|
|
|
(patches (search-patches "nss-pkgconfig.patch"))))
|
2015-01-06 16:57:31 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(outputs '("out" "bin"))
|
|
|
|
(arguments
|
|
|
|
'(#:parallel-build? #f ; failed
|
|
|
|
#:make-flags
|
|
|
|
(let* ((out (assoc-ref %outputs "out"))
|
|
|
|
(nspr (string-append (assoc-ref %build-inputs "nspr")))
|
|
|
|
(rpath (string-append "-Wl,-rpath=" out "/lib/nss")))
|
|
|
|
(list "-C" "nss" (string-append "PREFIX=" out)
|
|
|
|
"NSDISTMODE=copy"
|
|
|
|
"NSS_USE_SYSTEM_SQLITE=1"
|
|
|
|
(string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr")
|
|
|
|
;; Add $out/lib/nss to RPATH.
|
|
|
|
(string-append "RPATH=" rpath)
|
|
|
|
(string-append "LDFLAGS=" rpath)))
|
|
|
|
#:modules ((guix build gnu-build-system)
|
|
|
|
(guix build utils)
|
|
|
|
(ice-9 ftw)
|
|
|
|
(ice-9 match)
|
|
|
|
(srfi srfi-26))
|
|
|
|
#:phases
|
|
|
|
(alist-replace
|
|
|
|
'configure
|
|
|
|
(lambda* (#:key system inputs #:allow-other-keys)
|
2016-01-08 19:30:52 +01:00
|
|
|
(setenv "CC" "gcc")
|
2015-01-06 16:57:31 +01:00
|
|
|
;; 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"))
|
|
|
|
#t)
|
|
|
|
(alist-replace
|
|
|
|
'check
|
|
|
|
(lambda _
|
|
|
|
;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing.
|
|
|
|
;; The later requires a working DNS or /etc/hosts.
|
|
|
|
(setenv "DOMSUF" "(none)")
|
|
|
|
(setenv "USE_IP" "TRUE")
|
|
|
|
(setenv "IP_ADDRESS" "127.0.0.1")
|
|
|
|
(zero? (system* "./nss/tests/all.sh")))
|
|
|
|
(alist-replace
|
|
|
|
'install
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
(bin (string-append (assoc-ref outputs "bin") "/bin"))
|
|
|
|
(inc (string-append out "/include/nss"))
|
|
|
|
(lib (string-append out "/lib/nss"))
|
|
|
|
(obj (match (scandir "dist" (cut string-suffix? "OBJ" <>))
|
|
|
|
((obj) (string-append "dist/" obj)))))
|
|
|
|
;; Install nss-config to $out/bin.
|
gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases.
* gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools,
plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'.
* gnu/packages/check.scm (catch-framework): Likewise.
* gnu/packages/code.scm (global): Likewise.
* gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools):
Likewise.
* gnu/packages/engineering.scm (fastcap, fasthenry): Likewise.
* gnu/packages/gnuzilla.scm (nss): Likewise.
* gnu/packages/guile.scm (guile-minikanren): Likewise.
* gnu/packages/java.scm (swt): Likewise.
* gnu/packages/make-bootstrap.scm (%static-binaries): Likewise.
* gnu/packages/maths.scm (lpsolve): Likewise.
* gnu/packages/mp3.scm (mpc123): Likewise.
* gnu/packages/ninja.scm (ninja): Likewise.
* gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise.
* gnu/packages/screen.scm (dtach): Likewise.
* gnu/packages/synergy.scm (synergy): Likewise.
* gnu/packages/textutils.scm (utf8proc): Likewise.
* gnu/packages/version-control.scm (git-test-sequence): Likewise.
* gnu/packages/wicd.scm (wicd): Likewise.
2015-08-28 22:22:22 +02:00
|
|
|
(install-file (string-append obj "/bin/nss-config")
|
|
|
|
(string-append out "/bin"))
|
2015-01-06 16:57:31 +01:00
|
|
|
(delete-file (string-append obj "/bin/nss-config"))
|
|
|
|
;; Install nss.pc to $out/lib/pkgconfig.
|
gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases.
* gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools,
plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'.
* gnu/packages/check.scm (catch-framework): Likewise.
* gnu/packages/code.scm (global): Likewise.
* gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools):
Likewise.
* gnu/packages/engineering.scm (fastcap, fasthenry): Likewise.
* gnu/packages/gnuzilla.scm (nss): Likewise.
* gnu/packages/guile.scm (guile-minikanren): Likewise.
* gnu/packages/java.scm (swt): Likewise.
* gnu/packages/make-bootstrap.scm (%static-binaries): Likewise.
* gnu/packages/maths.scm (lpsolve): Likewise.
* gnu/packages/mp3.scm (mpc123): Likewise.
* gnu/packages/ninja.scm (ninja): Likewise.
* gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise.
* gnu/packages/screen.scm (dtach): Likewise.
* gnu/packages/synergy.scm (synergy): Likewise.
* gnu/packages/textutils.scm (utf8proc): Likewise.
* gnu/packages/version-control.scm (git-test-sequence): Likewise.
* gnu/packages/wicd.scm (wicd): Likewise.
2015-08-28 22:22:22 +02:00
|
|
|
(install-file (string-append obj "/lib/pkgconfig/nss.pc")
|
|
|
|
(string-append out "/lib/pkgconfig"))
|
2015-01-06 16:57:31 +01:00
|
|
|
(delete-file (string-append obj "/lib/pkgconfig/nss.pc"))
|
|
|
|
(rmdir (string-append obj "/lib/pkgconfig"))
|
|
|
|
;; Install other files.
|
|
|
|
(copy-recursively "dist/public/nss" inc)
|
|
|
|
(copy-recursively (string-append obj "/bin") bin)
|
2016-04-28 04:04:05 +02:00
|
|
|
(copy-recursively (string-append obj "/lib") lib)
|
|
|
|
|
|
|
|
;; FIXME: libgtest1.so is installed in the above step, and it's
|
|
|
|
;; (unnecessarily) linked with several NSS libraries, but
|
|
|
|
;; without the needed rpaths, causing the 'validate-runpath'
|
|
|
|
;; phase to fail. Here we simply delete libgtest1.so, since it
|
|
|
|
;; seems to be used only during the tests.
|
|
|
|
(delete-file (string-append lib "/libgtest1.so"))
|
|
|
|
|
|
|
|
#t))
|
2015-01-06 16:57:31 +01:00
|
|
|
%standard-phases)))))
|
|
|
|
(inputs
|
|
|
|
`(("sqlite" ,sqlite)
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
(propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc.
|
|
|
|
(native-inputs `(("perl" ,perl)))
|
2015-05-29 04:36:31 +02:00
|
|
|
|
|
|
|
;; The NSS test suite takes over 28 hours on Loongson 3A (MIPS), and
|
|
|
|
;; possibly longer when another build is happening concurrently on the
|
|
|
|
;; same machine.
|
|
|
|
(properties '((timeout . 144000))) ; 40 hours
|
|
|
|
|
2015-01-06 16:57:31 +01:00
|
|
|
(home-page
|
|
|
|
"https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS")
|
|
|
|
(synopsis "Network Security Services")
|
|
|
|
(description
|
|
|
|
"Network Security Services (NSS) is a set of libraries designed to support
|
|
|
|
cross-platform development of security-enabled client and server applications.
|
|
|
|
Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7,
|
|
|
|
PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security
|
|
|
|
standards.")
|
|
|
|
(license license:mpl2.0)))
|
|
|
|
|
2013-11-11 20:44:34 +01:00
|
|
|
(define-public icecat
|
|
|
|
(package
|
|
|
|
(name "icecat")
|
2016-07-24 17:27:09 +02:00
|
|
|
(version "38.8.0-gnu2")
|
2013-11-11 20:44:34 +01:00
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
2014-10-23 20:37:08 +02:00
|
|
|
(uri (string-append "mirror://gnu/gnuzilla/"
|
2016-07-24 17:27:09 +02:00
|
|
|
version "/"
|
2015-04-06 15:38:54 +02:00
|
|
|
name "-" version ".tar.bz2"))
|
2013-11-11 20:44:34 +01:00
|
|
|
(sha256
|
|
|
|
(base32
|
2016-07-24 17:27:09 +02:00
|
|
|
"1yb7a1zsqpra9cgq8hrzrbm5v31drb9367cwvwiksz0ngqy342hb"))
|
2016-04-08 14:18:13 +02:00
|
|
|
(patches (search-patches
|
gnu: icecat: Add fixes for CVE-2016-{2818,2819,2821,2824,2828,2831}.
* gnu/packages/patches/icecat-CVE-2016-2818-pt1.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt2.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt3.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt4.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt5.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt6.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt7.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt8.patch,
gnu/packages/patches/icecat-CVE-2016-2818-pt9.patch,
gnu/packages/patches/icecat-CVE-2016-2819.patch,
gnu/packages/patches/icecat-CVE-2016-2821.patch,
gnu/packages/patches/icecat-CVE-2016-2824.patch,
gnu/packages/patches/icecat-CVE-2016-2828.patch,
gnu/packages/patches/icecat-CVE-2016-2831.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.
2016-06-08 15:54:54 +02:00
|
|
|
"icecat-avoid-bundled-includes.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt1.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt2.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt3.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt4.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt5.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt6.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt7.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt8.patch"
|
|
|
|
"icecat-CVE-2016-2818-pt9.patch"
|
|
|
|
"icecat-CVE-2016-2819.patch"
|
|
|
|
"icecat-CVE-2016-2821.patch"
|
|
|
|
"icecat-CVE-2016-2824.patch"
|
|
|
|
"icecat-CVE-2016-2828.patch"
|
|
|
|
"icecat-CVE-2016-2831.patch"))
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
'(begin
|
|
|
|
;; Remove bundled libraries that we don't use, since they may
|
|
|
|
;; contain unpatched security flaws, they waste disk space and
|
|
|
|
;; network bandwidth, and may cause confusion.
|
|
|
|
(for-each delete-file-recursively
|
|
|
|
'(;; FIXME: Removing the bundled icu breaks configure.
|
|
|
|
;; * The bundled icu headers are used in some places.
|
|
|
|
;; * The version number is taken from the bundled copy.
|
|
|
|
;;"intl/icu"
|
|
|
|
;;
|
|
|
|
;; FIXME: A script from the bundled nspr is used.
|
|
|
|
;;"nsprpub"
|
|
|
|
;;
|
|
|
|
;; TODO: Use system media libraries. Waiting for:
|
|
|
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
|
|
|
|
;; * libogg
|
|
|
|
;; * libtheora
|
|
|
|
;; * libvorbis
|
|
|
|
;; * libtremor (not yet in guix)
|
|
|
|
;; * libopus
|
|
|
|
;; * speex
|
|
|
|
;; * soundtouch (not yet in guix)
|
|
|
|
;;
|
|
|
|
;; TODO: Use system harfbuzz. Waiting for:
|
|
|
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
|
|
|
|
;;
|
2016-02-11 20:26:47 +01:00
|
|
|
;; TODO: Use system graphite2.
|
|
|
|
;;
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
"modules/freetype2"
|
|
|
|
"modules/zlib"
|
|
|
|
"modules/libbz2"
|
|
|
|
"ipc/chromium/src/third_party/libevent"
|
|
|
|
"media/libvpx"
|
|
|
|
"security/nss"
|
|
|
|
"gfx/cairo"
|
|
|
|
"js/src/ctypes/libffi"
|
|
|
|
"db/sqlite3"))
|
2015-08-08 05:06:02 +02:00
|
|
|
#t))))
|
2013-11-11 20:44:34 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(inputs
|
|
|
|
`(("alsa-lib" ,alsa-lib)
|
2013-12-13 18:08:18 +01:00
|
|
|
("bzip2" ,bzip2)
|
gnu: icecat: Update to 31.5.0.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0. Remove patches.
Add 'nspr', 'nss', and 'cairo' to inputs. Add configure flags to use
those system libraries.
2015-03-10 01:50:12 +01:00
|
|
|
("cairo" ,cairo)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
("cups" ,cups)
|
2013-11-11 20:44:34 +01:00
|
|
|
("dbus-glib" ,dbus-glib)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
("gdk-pixbuf" ,gdk-pixbuf)
|
|
|
|
("glib" ,glib)
|
2015-01-30 23:18:44 +01:00
|
|
|
("gstreamer" ,gstreamer)
|
|
|
|
("gst-plugins-base" ,gst-plugins-base)
|
2013-11-11 20:44:34 +01:00
|
|
|
("gtk+" ,gtk+-2)
|
2014-10-09 05:37:37 +02:00
|
|
|
("pango" ,pango)
|
|
|
|
("freetype" ,freetype)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
("hunspell" ,hunspell)
|
|
|
|
("libcanberra" ,libcanberra)
|
|
|
|
("libgnome" ,libgnome)
|
2014-10-09 05:37:37 +02:00
|
|
|
("libxft" ,libxft)
|
2013-12-13 18:08:18 +01:00
|
|
|
("libevent" ,libevent)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
("libxinerama" ,libxinerama)
|
|
|
|
("libxscrnsaver" ,libxscrnsaver)
|
2015-10-13 21:56:32 +02:00
|
|
|
("libxcomposite" ,libxcomposite)
|
2013-11-11 20:44:34 +01:00
|
|
|
("libxt" ,libxt)
|
2013-12-13 18:08:18 +01:00
|
|
|
("libffi" ,libffi)
|
2015-01-31 14:41:02 +01:00
|
|
|
("libvpx" ,libvpx)
|
|
|
|
("icu4c" ,icu4c)
|
|
|
|
("pixman" ,pixman)
|
2014-10-09 05:37:37 +02:00
|
|
|
("pulseaudio" ,pulseaudio)
|
2013-11-11 20:44:34 +01:00
|
|
|
("mesa" ,mesa)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
("mit-krb5" ,mit-krb5)
|
gnu: icecat: Update to 31.5.0.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0. Remove patches.
Add 'nspr', 'nss', and 'cairo' to inputs. Add configure flags to use
those system libraries.
2015-03-10 01:50:12 +01:00
|
|
|
("nspr" ,nspr)
|
|
|
|
("nss" ,nss)
|
2015-04-17 08:20:41 +02:00
|
|
|
("sqlite" ,sqlite)
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
("startup-notification" ,startup-notification)
|
2013-11-11 20:44:34 +01:00
|
|
|
("unzip" ,unzip)
|
|
|
|
("yasm" ,yasm)
|
2013-12-13 18:08:18 +01:00
|
|
|
("zip" ,zip)
|
|
|
|
("zlib" ,zlib)))
|
gnu: Move numerous "inputs" which should be "native-inputs".
* gnu/packages/avahi.scm, gnu/packages/cdrom.scm, gnu/packages/cryptsetup.scm,
gnu/packages/curl.scm, gnu/packages/emacs.scm, gnu/packages/fontutils.scm,
gnu/packages/gdb.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphviz.scm,
gnu/packages/groff.scm, gnu/packages/gstreamer.scm, gnu/packages/gtk.scm,
gnu/packages/gv.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm,
gnu/packages/kde.scm, gnu/packages/libcanberra.scm, gnu/packages/libtiff.scm,
gnu/packages/linux.scm, gnu/packages/lvm.scm, gnu/packages/mp3.scm,
gnu/packages/netpbm.scm, gnu/packages/parted.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/qemu.scm, gnu/packages/qt.scm,
gnu/packages/ratpoison.scm, gnu/packages/rdf.scm, gnu/packages/slim.scm,
gnu/packages/texlive.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/xml.scm, gnu/packages/xnee.scm, gnu/packages/xorg.scm,
gnu/packages/zip.scm: Move some build-time dependencies from `inputs' to
`native-inputs'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-15 12:01:56 +01:00
|
|
|
(native-inputs
|
|
|
|
`(("perl" ,perl)
|
|
|
|
("python" ,python-2) ; Python 3 not supported
|
|
|
|
("python2-pysqlite" ,python2-pysqlite)
|
2014-04-07 09:11:54 +02:00
|
|
|
("pkg-config" ,pkg-config)))
|
2013-11-11 20:44:34 +01:00
|
|
|
(arguments
|
2014-10-09 05:37:37 +02:00
|
|
|
`(#:tests? #f ; no check target
|
|
|
|
#:out-of-source? #t ; must be built outside of the source directory
|
2016-07-24 18:39:29 +02:00
|
|
|
#:parallel-build? #f
|
2015-04-16 09:56:10 +02:00
|
|
|
|
|
|
|
;; XXX: There are RUNPATH issues such as
|
|
|
|
;; $prefix/lib/icecat-31.6.0/plugin-container NEEDing libmozalloc.so,
|
|
|
|
;; which is not in its RUNPATH, but they appear to be harmless in
|
|
|
|
;; practice somehow. See <http://hydra.gnu.org/build/378133>.
|
|
|
|
#:validate-runpath? #f
|
|
|
|
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
#:configure-flags '("--enable-default-toolkit=cairo-gtk2"
|
|
|
|
"--enable-pango"
|
|
|
|
"--enable-gio"
|
|
|
|
"--enable-svg"
|
|
|
|
"--enable-canvas"
|
|
|
|
"--enable-mathml"
|
|
|
|
"--enable-startup-notification"
|
|
|
|
"--enable-pulseaudio"
|
|
|
|
"--enable-gstreamer=1.0"
|
|
|
|
|
|
|
|
"--disable-gnomevfs"
|
|
|
|
"--disable-gconf"
|
|
|
|
"--disable-gnomeui"
|
|
|
|
|
|
|
|
;; Building with debugging symbols takes ~5GiB, so
|
2013-12-13 18:08:18 +01:00
|
|
|
;; disable it.
|
|
|
|
"--disable-debug"
|
|
|
|
"--disable-debug-symbols"
|
|
|
|
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
;; Avoid bundled libraries.
|
2013-12-13 18:08:18 +01:00
|
|
|
"--with-system-zlib"
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
"--with-system-bz2"
|
2013-12-13 18:08:18 +01:00
|
|
|
"--with-system-libevent"
|
2015-01-31 14:41:02 +01:00
|
|
|
"--with-system-libvpx"
|
|
|
|
"--with-system-icu"
|
gnu: icecat: Update to 31.5.0.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0. Remove patches.
Add 'nspr', 'nss', and 'cairo' to inputs. Add configure flags to use
those system libraries.
2015-03-10 01:50:12 +01:00
|
|
|
"--with-system-nspr"
|
|
|
|
"--with-system-nss"
|
2015-01-31 14:41:02 +01:00
|
|
|
"--enable-system-pixman"
|
gnu: icecat: Update to 31.5.0.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0. Remove patches.
Add 'nspr', 'nss', and 'cairo' to inputs. Add configure flags to use
those system libraries.
2015-03-10 01:50:12 +01:00
|
|
|
"--enable-system-cairo"
|
|
|
|
"--enable-system-ffi"
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
"--enable-system-hunspell"
|
2015-04-17 08:20:41 +02:00
|
|
|
"--enable-system-sqlite"
|
2013-12-13 18:08:18 +01:00
|
|
|
|
2013-12-14 13:50:37 +01:00
|
|
|
;; Fails with "--with-system-png won't work because
|
|
|
|
;; the system's libpng doesn't have APNG support".
|
|
|
|
;; According to
|
|
|
|
;; http://sourceforge.net/projects/libpng-apng/ ,
|
|
|
|
;; "the Animated Portable Network Graphics (APNG)
|
|
|
|
;; is an unofficial extension of the Portable
|
|
|
|
;; Network Graphics (PNG) format";
|
|
|
|
;; we probably do not wish to support it.
|
2013-12-13 18:08:18 +01:00
|
|
|
;; "--with-system-png"
|
|
|
|
|
2013-12-14 13:50:37 +01:00
|
|
|
;; Fails with "libjpeg-turbo JCS_EXTENSIONS
|
|
|
|
;; required".
|
|
|
|
;; According to
|
|
|
|
;; http://sourceforge.net/projects/libjpeg-turbo/ ,
|
|
|
|
;; "libjpeg-turbo is a derivative of libjpeg that
|
|
|
|
;; uses MMX, SSE, SSE2, and NEON SIMD instructions
|
|
|
|
;; to accelerate baseline JPEG compression/
|
|
|
|
;; decompression", so we had better not use it
|
2013-12-13 18:08:18 +01:00
|
|
|
;; "--with-system-jpeg"
|
gnu: icecat: Update to 31.5.0.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
* gnu-system.am (dist_patch_DATA): Remove them.
* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0. Remove patches.
Add 'nspr', 'nss', and 'cairo' to inputs. Add configure flags to use
those system libraries.
2015-03-10 01:50:12 +01:00
|
|
|
)
|
2013-12-13 18:08:18 +01:00
|
|
|
|
2015-10-13 21:56:32 +02:00
|
|
|
#:modules ((ice-9 ftw)
|
2016-06-02 18:59:58 +02:00
|
|
|
(ice-9 rdelim)
|
|
|
|
(ice-9 match)
|
2015-10-13 21:56:32 +02:00
|
|
|
,@%gnu-build-system-modules)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:phases
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
(modify-phases %standard-phases
|
2015-10-13 21:56:32 +02:00
|
|
|
(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)))
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
(add-after
|
|
|
|
'unpack 'remove-h264parse-from-blacklist
|
|
|
|
(lambda _
|
|
|
|
;; Remove h264parse from gstreamer format helper blacklist. It
|
|
|
|
;; 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/
|
2015-10-13 21:56:32 +02:00
|
|
|
(substitute* "dom/media/gstreamer/GStreamerFormatHelper.cpp"
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
(("^ \"h264parse\",\n") ""))
|
|
|
|
#t))
|
|
|
|
(add-after
|
|
|
|
'unpack 'arrange-to-link-libxul-with-libraries-it-might-dlopen
|
|
|
|
(lambda _
|
|
|
|
;; libxul.so dynamically opens libraries, so here we explicitly
|
|
|
|
;; link them into libxul.so instead.
|
|
|
|
;;
|
|
|
|
;; 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.
|
2015-10-13 21:56:32 +02:00
|
|
|
(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))
|
gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
Also remove most bundled libraries from the source, add comments about
libraries yet to be unbundled, explicitly link libxul.so with libraries that
might try (and fail) to dlopen, and remove the h264parse gstreamer module from
the blacklist.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
[inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
[arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
"--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
"--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
"--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
Remove outdated comment about "--with-system-bz2" not being used.
<#:phases>: Use 'modify-phases'. Add 'remove-h264parse-from-blacklist'
and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.
2015-07-04 22:49:20 +02:00
|
|
|
(replace
|
|
|
|
'configure
|
|
|
|
;; configure does not work followed by both "SHELL=..." and
|
|
|
|
;; "CONFIG_SHELL=..."; set environment variables instead
|
|
|
|
(lambda* (#:key outputs configure-flags #:allow-other-keys)
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
(bash (which "bash"))
|
|
|
|
(abs-srcdir (getcwd))
|
|
|
|
(srcdir (string-append "../" (basename abs-srcdir)))
|
|
|
|
(flags `(,(string-append "--prefix=" out)
|
|
|
|
,(string-append "--with-l10n-base="
|
|
|
|
abs-srcdir "/l10n")
|
|
|
|
,@configure-flags)))
|
|
|
|
(setenv "SHELL" bash)
|
|
|
|
(setenv "CONFIG_SHELL" bash)
|
|
|
|
(mkdir "../build")
|
|
|
|
(chdir "../build")
|
|
|
|
(format #t "build directory: ~s~%" (getcwd))
|
|
|
|
(format #t "configure flags: ~s~%" flags)
|
|
|
|
(zero? (apply system* bash
|
|
|
|
(string-append srcdir "/configure")
|
2016-06-02 18:59:58 +02:00
|
|
|
flags)))))
|
|
|
|
(add-before 'configure 'install-desktop-entry
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
;; Install the '.desktop' file.
|
|
|
|
(define (swallow-%%-directives input output)
|
|
|
|
;; Interpret '%%ifdef' directives found in the '.desktop' file.
|
|
|
|
(let loop ((state 'top))
|
|
|
|
(match (read-line input 'concat)
|
|
|
|
((? eof-object?)
|
|
|
|
#t)
|
|
|
|
((? string? line)
|
|
|
|
(cond ((string-prefix? "%%ifdef" line)
|
|
|
|
(loop 'ifdef))
|
|
|
|
((string-prefix? "%%else" line)
|
|
|
|
(loop 'else))
|
|
|
|
((string-prefix? "%%endif" line)
|
|
|
|
(loop 'top))
|
|
|
|
(else
|
|
|
|
(case state
|
|
|
|
((top else)
|
|
|
|
(display line output)
|
|
|
|
(loop state))
|
|
|
|
(else
|
|
|
|
(loop state)))))))))
|
|
|
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
(applications (string-append out "/share/applications")))
|
|
|
|
(call-with-input-file "debian/icecat.desktop.in"
|
|
|
|
(lambda (input)
|
|
|
|
(call-with-output-file "debian/icecat.desktop"
|
|
|
|
(lambda (output)
|
|
|
|
(swallow-%%-directives input output)))))
|
|
|
|
|
|
|
|
(substitute* "debian/icecat.desktop"
|
|
|
|
(("@MOZ_DISPLAY_NAME@")
|
|
|
|
"GNU IceCat")
|
|
|
|
(("^Exec=@MOZ_APP_NAME@")
|
|
|
|
(string-append "Exec=" out "/bin/icecat"))
|
|
|
|
(("@MOZ_APP_NAME@")
|
|
|
|
"icecat"))
|
|
|
|
(install-file "debian/icecat.desktop" applications)
|
2016-07-23 23:44:46 +02:00
|
|
|
#t)))
|
|
|
|
(add-after 'install-desktop-entry 'install-icons
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
(with-directory-excursion "browser/branding/official"
|
|
|
|
(for-each
|
|
|
|
(lambda (file)
|
|
|
|
(let* ((size (string-filter char-numeric? file))
|
|
|
|
(icons (string-append out "/share/icons/hicolor/"
|
|
|
|
size "x" size "/apps")))
|
|
|
|
(mkdir-p icons)
|
|
|
|
(copy-file file (string-append icons "/icecat.png"))))
|
|
|
|
'("default16.png" "default22.png" "default24.png"
|
|
|
|
"default32.png" "default48.png" "content/icon64.png"
|
|
|
|
"mozicon128.png" "default256.png")))))))))
|
2013-11-11 20:44:34 +01:00
|
|
|
(home-page "http://www.gnu.org/software/gnuzilla/")
|
|
|
|
(synopsis "Entirely free browser derived from Mozilla Firefox")
|
|
|
|
(description
|
|
|
|
"IceCat is the GNU version of the Firefox browser. It is entirely free
|
2014-09-13 15:31:31 +02:00
|
|
|
software, which does not recommend non-free plugins and addons. It also
|
2013-12-01 22:33:23 +01:00
|
|
|
features built-in privacy-protecting features.")
|
2016-04-14 22:18:56 +02:00
|
|
|
(license license:mpl2.0) ;and others, see toolkit/content/license.html
|
2016-05-17 18:04:13 +02:00
|
|
|
(properties
|
|
|
|
`((ftp-directory . "/gnu/gnuzilla")
|
|
|
|
(cpe-name . "firefox_esr")
|
|
|
|
(cpe-version . ,(string-drop-right version
|
|
|
|
(string-length "-gnu1")))))))
|