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>
|
gnu: Move nss & co. to nss.scm.
* gnu/packages/gnuzilla.scm (nspr, nss): Move to...
* gnu/packages/nss.scm: ... here. New file.
* gnu/packages/chromium.scm, gnu/packages/disk.scm,
gnu/packages/freedesktop.scm, gnu/packages/gnome.scm,
gnu/packages/gnunet.scm, gnu/packages/java.scm,
gnu/packages/libreoffice.scm, gnu/packages/linux.scm,
gnu/packages/mate.scm, gnu/packages/openldap.scm,
gnu/packages/package-management.scm, gnu/packages/password-utils.scm,
gnu/packages/polkit.scm, gnu/packages/qt.scm,
gnu/packages/sssd.scm, gnu/packages/storage.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/xml.scm: Adjust
accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add nss.scm.
2019-04-04 15:14:57 +02:00
|
|
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
2019-01-30 03:15:36 +01:00
|
|
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
2015-01-06 16:57:31 +01:00
|
|
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
2018-09-25 06:45:18 +02:00
|
|
|
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
2016-07-23 23:44:46 +02:00
|
|
|
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
2017-04-04 15:05:49 +02:00
|
|
|
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
Correct name and email address for ng0.
* .mailmap, Makefile.am, doc/guix.de.texi, doc/guix.fr.texi,
doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm,
gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm,
gnu/packages/guile-wm.scm,gnu/packages/guile-xyz.scm,
gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm,
gnu/packages/language.scm, gnu/packages/libcanberra.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm:
Correct name and email address for ng0.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-03-14 10:33:38 +01:00
|
|
|
;;; Copyright © 2017 ng0 <ng0@n0.is>
|
2018-02-20 18:08:16 +01:00
|
|
|
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
2018-08-03 18:15:42 +02:00
|
|
|
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
2019-02-15 08:04:28 +01:00
|
|
|
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.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))
|
2017-03-15 17:53:27 +01:00
|
|
|
#:use-module (ice-9 match)
|
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)
|
2018-08-03 18:15:42 +02:00
|
|
|
#:use-module (guix git-download)
|
2019-01-30 03:15:36 +01:00
|
|
|
#:use-module (guix gexp)
|
|
|
|
#:use-module (guix store)
|
|
|
|
#:use-module (guix monads)
|
2017-03-27 18:12:10 +02:00
|
|
|
#:use-module (guix utils)
|
2013-11-11 20:44:34 +01:00
|
|
|
#:use-module (guix build-system gnu)
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
#:use-module (guix build-system cargo)
|
2019-01-30 03:15:36 +01:00
|
|
|
#:use-module (gnu packages admin)
|
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add
another hunk to enable removal of libevent.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add
libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to
remove. Add a comment regarding theora. Remove comments regarding unbundling
cairo, which is no longer supported.
[inputs]: Add libevent, libogg, and libvorbis.
[arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags.
Add custom bootstrap phase. Add comments.
2018-09-24 06:10:37 +02:00
|
|
|
#:use-module (gnu packages audio)
|
2017-04-20 06:41:32 +02:00
|
|
|
#:use-module (gnu packages autotools)
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
#:use-module (gnu packages base)
|
2019-01-30 03:15:36 +01:00
|
|
|
#:use-module (gnu packages bash)
|
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 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)
|
gnu: Move Kerberos implemetations to (gnu packages kerberos).
* gnu/packages/mit-krb5.scm: Remove.
* gnu/packages/shishi.scm: Remove.
* gnu/packages/kerberos.scm: New file, from the concatenation of these
two.
* gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/packages/admin.scm, gnu/packages/cyrus-sasl.scm,
gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm,
gnu/packages/gsasl.scm, gnu/packages/java.scm,
gnu/packages/networking.scm, gnu/packages/nfs.scm,
gnu/packages/onc-rpc.scm, gnu/packages/ssh.scm,
gnu/packages/web.scm: Adjust accordingly.
2017-01-18 09:57:43 +01:00
|
|
|
#:use-module (gnu packages kerberos)
|
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)
|
gnu: Separate Python core packages from the rest.
* gnu/packages/python.scm: Move hundreds of package definitions from here...
* gnu/packages/python-xyz.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/ada.scm,
gnu/packages/admin.scm,
gnu/packages/android.scm,
gnu/packages/audio.scm,
gnu/packages/backup.scm,
gnu/packages/benchmark.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/bittorrent.scm,
gnu/packages/calendar.scm,
gnu/packages/check.scm,
gnu/packages/chemistry.scm,
gnu/packages/cluster.scm,
gnu/packages/compression.scm,
gnu/packages/connman.scm,
gnu/packages/crypto.scm,
gnu/packages/cups.scm,
gnu/packages/databases.scm,
gnu/packages/dav.scm,
gnu/packages/direct-connect.scm,
gnu/packages/disk.scm,
gnu/packages/django.scm,
gnu/packages/dlang.scm,
gnu/packages/docker.scm,
gnu/packages/ebook.scm,
gnu/packages/elf.scm,
gnu/packages/emacs.scm,
gnu/packages/emulators.scm,
gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm,
gnu/packages/finance.scm,
gnu/packages/fltk.scm,
gnu/packages/fontutils.scm,
gnu/packages/freedesktop.scm,
gnu/packages/game-development.scm,
gnu/packages/games.scm,
gnu/packages/geo.scm,
gnu/packages/gl.scm,
gnu/packages/glib.scm,
gnu/packages/gnome.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/graph.scm,
gnu/packages/graphics.scm,
gnu/packages/graphviz.scm,
gnu/packages/gtk.scm,
gnu/packages/ham-radio.scm,
gnu/packages/image-processing.scm,
gnu/packages/image-viewers.scm,
gnu/packages/image.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/julia.scm,
gnu/packages/kde-frameworks.scm,
gnu/packages/key-mon.scm,
gnu/packages/libffi.scm,
gnu/packages/libreoffice.scm,
gnu/packages/libusb.scm,
gnu/packages/lirc.scm,
gnu/packages/logging.scm,
gnu/packages/machine-learning.scm,
gnu/packages/mail.scm,
gnu/packages/mate.scm,
gnu/packages/maths.scm,
gnu/packages/medical.scm,
gnu/packages/messaging.scm,
gnu/packages/monitoring.scm,
gnu/packages/mp3.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/nutrition.scm,
gnu/packages/openldap.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/password-utils.scm,
gnu/packages/patchutils.scm,
gnu/packages/pdf.scm,
gnu/packages/photo.scm,
gnu/packages/polkit.scm,
gnu/packages/protobuf.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/qt.scm,
gnu/packages/rdf.scm,
gnu/packages/ruby.scm,
gnu/packages/search.scm,
gnu/packages/selinux.scm,
gnu/packages/serialization.scm,
gnu/packages/shells.scm,
gnu/packages/simulation.scm,
gnu/packages/ssh.scm,
gnu/packages/statistics.scm,
gnu/packages/storage.scm,
gnu/packages/sync.scm,
gnu/packages/terminals.scm,
gnu/packages/textutils.scm,
gnu/packages/time.scm,
gnu/packages/tls.scm,
gnu/packages/tor.scm,
gnu/packages/tryton.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/virtualization.scm,
gnu/packages/vpn.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm,
gnu/packages/wicd.scm,
gnu/packages/xdisorg.scm,
gnu/packages/xorg.scm: Update module references.
2019-01-15 14:21:30 +01:00
|
|
|
#:use-module (gnu packages python-xyz)
|
2013-11-11 20:44:34 +01:00
|
|
|
#: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)
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
#:use-module (gnu packages rust)
|
2018-12-12 00:29:38 +01:00
|
|
|
#:use-module (gnu packages llvm)
|
gnu: Move nss & co. to nss.scm.
* gnu/packages/gnuzilla.scm (nspr, nss): Move to...
* gnu/packages/nss.scm: ... here. New file.
* gnu/packages/chromium.scm, gnu/packages/disk.scm,
gnu/packages/freedesktop.scm, gnu/packages/gnome.scm,
gnu/packages/gnunet.scm, gnu/packages/java.scm,
gnu/packages/libreoffice.scm, gnu/packages/linux.scm,
gnu/packages/mate.scm, gnu/packages/openldap.scm,
gnu/packages/package-management.scm, gnu/packages/password-utils.scm,
gnu/packages/polkit.scm, gnu/packages/qt.scm,
gnu/packages/sssd.scm, gnu/packages/storage.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/xml.scm: Adjust
accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add nss.scm.
2019-04-04 15:14:57 +02:00
|
|
|
#:use-module (gnu packages nss)
|
2015-01-31 14:41:02 +01:00
|
|
|
#:use-module (gnu packages icu4c)
|
|
|
|
#:use-module (gnu packages video)
|
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add
another hunk to enable removal of libevent.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add
libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to
remove. Add a comment regarding theora. Remove comments regarding unbundling
cairo, which is no longer supported.
[inputs]: Add libevent, libogg, and libvorbis.
[arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags.
Add custom bootstrap phase. Add comments.
2018-09-24 06:10:37 +02:00
|
|
|
#:use-module (gnu packages xiph)
|
2015-01-31 14:41:02 +01:00
|
|
|
#:use-module (gnu packages xdisorg)
|
gnu: Move sqlite to separate module.
* gnu/packages/databases.scm (sqlite, sqlite-3.26.0, sqlite-with-fts5,
sqlite-with-column-metadata): Move variables from here...
* gnu/packages/sqlite.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/apl.scm,
gnu/packages/bittorrent.scm,
gnu/packages/calendar.scm,
gnu/packages/code.scm,
gnu/packages/crypto.scm,
gnu/packages/databases.scm,
gnu/packages/dc.scm,
gnu/packages/disk.scm,
gnu/packages/ebook.scm,
gnu/packages/education.scm,
gnu/packages/emacs.scm,
gnu/packages/emulators.scm,
gnu/packages/file-systems.scm,
gnu/packages/freedesktop.scm,
gnu/packages/ftp.scm,
gnu/packages/games.scm,
gnu/packages/geo.scm,
gnu/packages/gnome.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/gps.scm,
gnu/packages/guile.scm,
gnu/packages/ibus.scm,
gnu/packages/kerberos.scm,
gnu/packages/kodi.scm,
gnu/packages/lisp.scm,
gnu/packages/mail.scm,
gnu/packages/messaging.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/nfs.scm,
gnu/packages/ocaml.scm,
gnu/packages/package-management.scm,
gnu/packages/pdf.scm,
gnu/packages/photo.scm,
gnu/packages/php.scm,
gnu/packages/python.scm,
gnu/packages/qt.scm,
gnu/packages/ruby.scm,
gnu/packages/scheme.scm,
gnu/packages/sync.scm,
gnu/packages/syndication.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/web-browsers.scm,
gnu/packages/webkit.scm: Adjust module references.
2019-01-15 21:47:05 +01:00
|
|
|
#:use-module (gnu packages readline)
|
|
|
|
#:use-module (gnu packages sqlite))
|
2013-11-11 20:44:34 +01:00
|
|
|
|
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"))
|
2017-03-27 15:19:39 +02:00
|
|
|
(patches (search-patches "mozjs17-aarch64-support.patch"))
|
2016-01-22 07:33:07 +01:00
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
;; Fix incompatibility with Perl 5.22+.
|
gnu: All snippets report errors using exceptions, else return #t.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm,
gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm,
gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm,
gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm,
gnu/packages/emulators.scm, gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm, gnu/packages/fpga.scm,
gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm,
gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm,
gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm,
gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm,
gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm,
gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm,
gnu/packages/lxde.scm, gnu/packages/machine-learning.scm,
gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm,
gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm,
gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm,
gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm,
gnu/packages/pretty-print.scm, gnu/packages/profiling.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm,
gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm,
gnu/packages/scribus.scm, gnu/packages/sdl.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm,
gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm,
gnu/packages/terminals.scm, gnu/packages/texinfo.scm,
gnu/packages/text-editors.scm, gnu/packages/textutils.scm,
gnu/packages/tls.scm, gnu/packages/unrtf.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm,
gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm:
In all snippets, report errors using exceptions, or else return #t.
2018-03-16 12:47:34 +01:00
|
|
|
'(begin
|
|
|
|
(substitute* '("js/src/config/milestone.pl")
|
|
|
|
(("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE"))
|
|
|
|
#t))))
|
2015-01-11 02:29:10 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
2017-03-27 17:57:31 +02:00
|
|
|
`(("perl" ,perl)
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
("python" ,python-2)))
|
|
|
|
(propagated-inputs
|
|
|
|
`(("nspr" ,nspr))) ; in the Requires.private field of mozjs-17.0.pc
|
|
|
|
(inputs
|
|
|
|
`(("zlib" ,zlib)))
|
2015-01-11 02:29:10 +01:00
|
|
|
(arguments
|
2017-03-27 18:04:44 +02:00
|
|
|
`(;; XXX: parallel build fails, lacking:
|
|
|
|
;; mkdir -p "system_wrapper_js/"
|
|
|
|
#:parallel-build? #f
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'unpack 'delete-timedout-test
|
2017-03-27 15:19:39 +02:00
|
|
|
;; This test times out on slower hardware.
|
2018-03-23 08:14:23 +01:00
|
|
|
(lambda _
|
|
|
|
(delete-file "js/src/jit-test/tests/basic/bug698584.js")
|
|
|
|
#t))
|
2017-03-27 18:04:44 +02:00
|
|
|
(add-before 'configure 'chdir
|
2015-01-11 02:29:10 +01:00
|
|
|
(lambda _
|
2017-03-27 18:04:44 +02:00
|
|
|
(chdir "js/src")
|
|
|
|
#t))
|
|
|
|
(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"))
|
2018-03-23 08:14:23 +01:00
|
|
|
(invoke "./configure" (string-append "--prefix=" out)
|
|
|
|
,@(if (string=? "aarch64-linux"
|
|
|
|
(%current-system))
|
|
|
|
'("--host=aarch64-unknown-linux-gnu")
|
|
|
|
'()))))))))
|
2015-01-11 02:29:10 +01:00
|
|
|
(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)))
|
2017-03-27 12:28:33 +02:00
|
|
|
(patches (search-patches "mozjs24-aarch64-support.patch"))
|
2016-01-22 07:33:07 +01:00
|
|
|
(snippet
|
|
|
|
;; Fix incompatibility with Perl 5.22+.
|
gnu: All snippets report errors using exceptions, else return #t.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm,
gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm,
gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm,
gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm,
gnu/packages/emulators.scm, gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm, gnu/packages/fpga.scm,
gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm,
gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm,
gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm,
gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm,
gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm,
gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm,
gnu/packages/lxde.scm, gnu/packages/machine-learning.scm,
gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm,
gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm,
gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm,
gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm,
gnu/packages/pretty-print.scm, gnu/packages/profiling.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm,
gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm,
gnu/packages/scribus.scm, gnu/packages/sdl.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm,
gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm,
gnu/packages/terminals.scm, gnu/packages/texinfo.scm,
gnu/packages/text-editors.scm, gnu/packages/textutils.scm,
gnu/packages/tls.scm, gnu/packages/unrtf.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm,
gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm:
In all snippets, report errors using exceptions, or else return #t.
2018-03-16 12:47:34 +01:00
|
|
|
'(begin
|
|
|
|
(substitute* '("js/src/config/milestone.pl")
|
|
|
|
(("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE"))
|
|
|
|
#t))))
|
2015-11-08 14:34:58 +01:00
|
|
|
(arguments
|
2017-03-27 18:12:10 +02:00
|
|
|
(substitute-keyword-arguments (package-arguments mozjs)
|
|
|
|
((#:phases phases)
|
|
|
|
`(modify-phases ,phases
|
|
|
|
(replace 'configure
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
;; configure fails if it is followed by SHELL and CONFIG_SHELL
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
2018-03-23 08:15:49 +01:00
|
|
|
(invoke "./configure"
|
|
|
|
(string-append "--prefix=" out)
|
|
|
|
"--with-system-nspr"
|
|
|
|
"--enable-system-ffi"
|
|
|
|
"--enable-threadsafe"
|
|
|
|
,@(if (string=? "aarch64-linux"
|
|
|
|
(%current-system))
|
|
|
|
'("--host=aarch64-unknown-linux-gnu")
|
|
|
|
'())))))))))
|
2015-11-08 14:34:58 +01:00
|
|
|
(inputs
|
|
|
|
`(("libffi" ,libffi)
|
|
|
|
("zlib" ,zlib)))))
|
|
|
|
|
2017-04-14 13:52:43 +02:00
|
|
|
(define-public mozjs-38
|
|
|
|
(package
|
|
|
|
(inherit mozjs)
|
|
|
|
(name "mozjs")
|
|
|
|
(version "38.2.1.rc0")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
2019-04-27 11:56:02 +02:00
|
|
|
"https://anduin.linuxfromscratch.org/BLFS/mozjs/"
|
2017-04-14 13:52:43 +02:00
|
|
|
name "-" version ".tar.bz2"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681"))
|
|
|
|
(patches
|
|
|
|
(search-patches
|
|
|
|
;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1269317 for
|
|
|
|
;; GCC 6 compatibility.
|
|
|
|
|
|
|
|
"mozjs38-version-detection.patch" ; for 0ad
|
|
|
|
"mozjs38-tracelogger.patch"
|
|
|
|
|
|
|
|
;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1339931.
|
|
|
|
"mozjs38-pkg-config-version.patch"
|
|
|
|
"mozjs38-shell-version.patch"))
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
'(begin
|
|
|
|
;; Fix incompatibility with sed 4.4.
|
|
|
|
(substitute* "js/src/configure"
|
|
|
|
(("\\^\\[:space:\\]") "^[[:space:]]"))
|
|
|
|
|
|
|
|
;; The headers are symlinks to files that are in /tmp, so they
|
|
|
|
;; end up broken. Copy them instead.
|
|
|
|
(substitute*
|
|
|
|
"python/mozbuild/mozbuild/backend/recursivemake.py"
|
|
|
|
(("\\['dist_include'\\].add_symlink")
|
|
|
|
"['dist_include'].add_copy"))
|
|
|
|
|
|
|
|
;; Remove bundled libraries.
|
|
|
|
(for-each delete-file-recursively
|
|
|
|
'("intl"
|
|
|
|
"js/src/ctypes/libffi"
|
|
|
|
"js/src/ctypes/libffi-patches"
|
|
|
|
"modules/zlib"))
|
|
|
|
#t))))
|
|
|
|
(arguments
|
|
|
|
`(;; XXX: parallel build fails, lacking:
|
|
|
|
;; mkdir -p "system_wrapper_js/"
|
|
|
|
#:parallel-build? #f
|
|
|
|
;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1008470.
|
|
|
|
#:tests? #f
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(replace 'configure
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
(chdir "js/src")
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
2018-03-23 08:16:58 +01:00
|
|
|
(invoke "./configure"
|
|
|
|
(string-append "--prefix=" out)
|
|
|
|
"--enable-ctypes"
|
|
|
|
"--enable-gcgenerational"
|
|
|
|
"--enable-optimize"
|
|
|
|
"--enable-pie"
|
|
|
|
"--enable-readline"
|
|
|
|
"--enable-shared-js"
|
|
|
|
"--enable-system-ffi"
|
|
|
|
"--enable-threadsafe"
|
|
|
|
"--enable-xterm-updates"
|
|
|
|
"--with-system-icu"
|
|
|
|
"--with-system-nspr"
|
|
|
|
"--with-system-zlib"
|
2017-04-14 13:52:43 +02:00
|
|
|
|
2018-03-23 08:16:58 +01:00
|
|
|
;; Intl API requires bundled ICU.
|
|
|
|
"--without-intl-api")))))))
|
2017-04-14 13:52:43 +02:00
|
|
|
(native-inputs
|
|
|
|
`(("perl" ,perl)
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
("python-2" ,python-2)))
|
|
|
|
(inputs
|
|
|
|
`(("libffi" ,libffi)
|
|
|
|
("readline" ,readline)
|
|
|
|
("icu4c" ,icu4c)
|
|
|
|
("zlib" ,zlib)))))
|
|
|
|
|
2018-08-03 18:15:42 +02:00
|
|
|
(define-public mozjs-52
|
|
|
|
;; No releases yet at <https://archive.mozilla.org/pub/spidermonkey/releases/>.
|
|
|
|
;; While we could take a snapshot of the complete mozilla-esr52 repository at
|
|
|
|
;; <https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr52&filter-searchStr=sm-tc>,
|
|
|
|
;; we take the Debian version instead, because it is easier to work with.
|
|
|
|
(let ((commit "6507e63cc416fd7a3269e390efe712f8b56f374a")
|
|
|
|
(revision "1"))
|
|
|
|
(package (inherit mozjs-38)
|
|
|
|
(version (git-version "52.0" revision commit))
|
|
|
|
(source (origin
|
|
|
|
(method git-fetch)
|
|
|
|
(uri (git-reference
|
|
|
|
(url "https://salsa.debian.org/gnome-team/mozjs52.git")
|
|
|
|
(commit commit)))
|
|
|
|
(file-name (git-file-name "mozjs" version))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1ny0s53r8wn4byys87h784xrq1xg767akmfm6gqrbvrz57mlm3q2"))))
|
|
|
|
(arguments
|
|
|
|
`(#:tests? #f ; depends on repository metadata
|
|
|
|
#:configure-flags
|
|
|
|
'("--enable-ctypes"
|
|
|
|
"--enable-optimize"
|
|
|
|
"--enable-pie"
|
|
|
|
"--enable-readline"
|
|
|
|
"--enable-shared-js"
|
|
|
|
"--enable-system-ffi"
|
|
|
|
"--with-system-icu"
|
|
|
|
"--with-system-nspr"
|
|
|
|
"--with-system-zlib"
|
|
|
|
|
|
|
|
;; Intl API requires bundled ICU.
|
2018-12-04 12:41:03 +01:00
|
|
|
"--without-intl-api"
|
|
|
|
|
|
|
|
;; Without this gnome-shell will crash at runtime.
|
|
|
|
"--disable-jemalloc")
|
2018-08-03 18:15:42 +02:00
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'unpack 'patch-and-chdir
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
;; This patch prevents a segfault when executing JS_Init().
|
|
|
|
;; The build does not fail without this patch, but the
|
|
|
|
;; configure phase of the gjs package would fail.
|
|
|
|
;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
|
|
|
|
(make-file-writable "js/src/old-configure.in")
|
|
|
|
(make-file-writable "js/src/old-configure")
|
|
|
|
(make-file-writable "mozglue/build/moz.build")
|
|
|
|
(invoke "patch" "-p1" "--force"
|
|
|
|
"--input" "debian/patches/disable-mozglue.patch")
|
|
|
|
(invoke "touch" "js/src/configure")
|
|
|
|
(chdir "js/src")
|
|
|
|
#t))
|
|
|
|
(replace 'configure
|
|
|
|
(lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
|
|
|
|
;; The configure script does not accept environment variables
|
|
|
|
;; as arguments.
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
|
|
(setenv "AUTOCONF" (string-append (assoc-ref inputs "autoconf")
|
|
|
|
"/bin/autoconf"))
|
|
|
|
(apply invoke "./configure"
|
|
|
|
(cons (string-append "--prefix=" out)
|
|
|
|
configure-flags))))))))
|
|
|
|
(native-inputs
|
|
|
|
`(("autoconf" ,autoconf-2.13)
|
|
|
|
("automake" ,automake)
|
|
|
|
,@(package-native-inputs mozjs-38))))))
|
|
|
|
|
2018-12-03 16:24:45 +01:00
|
|
|
(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)))))
|
|
|
|
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
(define (mozilla-patch file-name changeset hash)
|
2018-09-22 10:47:54 +02:00
|
|
|
"Return an origin for CHANGESET from the mozilla-esr60 repository."
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
2018-09-22 10:47:54 +02:00
|
|
|
(uri (string-append "https://hg.mozilla.org/releases/mozilla-esr60/raw-rev/"
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
changeset))
|
|
|
|
(sha256 (base32 hash))
|
|
|
|
(file-name file-name)))
|
|
|
|
|
2019-01-30 03:15:36 +01:00
|
|
|
(define* (computed-origin-method gexp-promise hash-algo hash
|
|
|
|
#:optional (name "source")
|
|
|
|
#:key (system (%current-system))
|
|
|
|
(guile (default-guile)))
|
|
|
|
"Return a derivation that executes the G-expression that results
|
|
|
|
from forcing GEXP-PROMISE."
|
|
|
|
(mlet %store-monad ((guile (package->derivation guile system)))
|
|
|
|
(gexp->derivation (or name "computed-origin")
|
|
|
|
(force gexp-promise)
|
2019-02-22 16:05:59 +01:00
|
|
|
#:graft? #f ;nothing to graft
|
2019-01-30 03:15:36 +01:00
|
|
|
#:system system
|
|
|
|
#:guile-for-build guile)))
|
|
|
|
|
2019-05-06 16:23:02 +02:00
|
|
|
(define %icecat-version "60.6.2-guix1")
|
2019-01-30 03:15:36 +01:00
|
|
|
|
|
|
|
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
|
|
|
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
|
|
|
;; script from the upstream IceCat project.
|
|
|
|
(define icecat-source
|
|
|
|
(let* ((base-version (first (string-split %icecat-version #\-)))
|
|
|
|
|
|
|
|
(major-version (first (string-split base-version #\.)))
|
|
|
|
(minor-version (second (string-split base-version #\.)))
|
|
|
|
(sub-version (third (string-split base-version #\.)))
|
|
|
|
|
|
|
|
(upstream-firefox-version (string-append base-version "esr"))
|
|
|
|
(upstream-firefox-source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"https://ftp.mozilla.org/pub/firefox/releases/"
|
|
|
|
upstream-firefox-version "/source/"
|
|
|
|
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2019-05-06 16:23:02 +02:00
|
|
|
"0fvxqxg48c0xrffb720gxfjayz3xqam2xnsz5piri64dcjvxgcyd"))))
|
2019-01-30 03:15:36 +01:00
|
|
|
|
|
|
|
(upstream-icecat-base-version "60.3.0") ; maybe older than base-version
|
|
|
|
(upstream-icecat-gnu-version "1")
|
|
|
|
(upstream-icecat-version (string-append upstream-icecat-base-version
|
|
|
|
"-gnu"
|
|
|
|
upstream-icecat-gnu-version))
|
|
|
|
(upstream-icecat-source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"mirror://gnu/gnuzilla/" upstream-icecat-base-version
|
|
|
|
"/icecat-" upstream-icecat-version ".tar.bz2"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"))))
|
|
|
|
|
|
|
|
(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
|
|
|
|
(gnuzilla-source
|
|
|
|
(origin
|
|
|
|
(method git-fetch)
|
|
|
|
(uri (git-reference
|
|
|
|
(url "git://git.savannah.gnu.org/gnuzilla.git")
|
|
|
|
(commit gnuzilla-commit)))
|
|
|
|
(file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"19wal7hkbb4wvk40hs6d7a5paal2bfday08hwssm02srcbv48fj0"))))
|
|
|
|
|
|
|
|
(makeicecat-patch
|
|
|
|
(local-file (search-patch "icecat-makeicecat.patch"))))
|
|
|
|
|
|
|
|
(origin
|
|
|
|
(method computed-origin-method)
|
|
|
|
(file-name (string-append "icecat-" %icecat-version ".tar.xz"))
|
|
|
|
(sha256 #f)
|
|
|
|
(uri
|
|
|
|
(delay
|
|
|
|
(with-imported-modules '((guix build utils))
|
|
|
|
#~(begin
|
|
|
|
(use-modules (guix build utils))
|
|
|
|
(let ((firefox-dir
|
|
|
|
(string-append "firefox-" #$base-version))
|
|
|
|
(icecat-dir
|
|
|
|
(string-append "icecat-" #$%icecat-version))
|
|
|
|
(old-icecat-dir
|
|
|
|
(string-append "icecat-" #$upstream-icecat-base-version)))
|
|
|
|
|
|
|
|
(mkdir "/tmp/bin")
|
|
|
|
(set-path-environment-variable
|
|
|
|
"PATH" '("bin")
|
|
|
|
(list "/tmp"
|
|
|
|
#+(canonical-package bash)
|
|
|
|
#+(canonical-package coreutils)
|
|
|
|
#+(canonical-package findutils)
|
|
|
|
#+(canonical-package patch)
|
|
|
|
#+(canonical-package xz)
|
|
|
|
#+(canonical-package sed)
|
|
|
|
#+(canonical-package grep)
|
|
|
|
#+(canonical-package bzip2)
|
|
|
|
#+(canonical-package gzip)
|
|
|
|
#+(canonical-package tar)
|
|
|
|
#+rename))
|
|
|
|
|
|
|
|
(symlink #+(file-append rename "/bin/rename")
|
|
|
|
"/tmp/bin/prename")
|
|
|
|
|
|
|
|
;; We copy the gnuzilla source directory because it is
|
|
|
|
;; read-only in 'gnuzilla-source', and the makeicecat script
|
|
|
|
;; uses "cp -a" to copy parts of it and assumes that the
|
|
|
|
;; copies will be writable.
|
|
|
|
(copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
|
|
|
|
#:log (%make-void-port "w"))
|
|
|
|
|
|
|
|
(with-directory-excursion "/tmp/gnuzilla"
|
|
|
|
(make-file-writable "makeicecat")
|
|
|
|
(invoke "patch" "--force" "--no-backup-if-mismatch"
|
|
|
|
"-p1" "--input" #+makeicecat-patch)
|
|
|
|
(patch-shebang "makeicecat")
|
|
|
|
(substitute* "makeicecat"
|
2019-05-06 16:20:32 +02:00
|
|
|
(("^FFMAJOR=(.*)" all ffmajor)
|
|
|
|
(unless (string=? #$major-version
|
|
|
|
(string-trim-both ffmajor))
|
|
|
|
;; The makeicecat script cannot be expected to work
|
|
|
|
;; properly on a different version of Firefox, even if
|
|
|
|
;; no errors occur during execution.
|
|
|
|
(error "makeicecat major version mismatch"))
|
2019-01-30 03:15:36 +01:00
|
|
|
(string-append "FFMAJOR=" #$major-version "\n"))
|
|
|
|
(("^FFMINOR=.*")
|
|
|
|
(string-append "FFMINOR=" #$minor-version "\n"))
|
|
|
|
(("^FFSUB=.*")
|
|
|
|
(string-append "FFSUB=" #$sub-version "\n"))
|
|
|
|
(("^GNUVERSION=.*")
|
|
|
|
(string-append "GNUVERSION="
|
|
|
|
#$upstream-icecat-gnu-version "\n"))
|
|
|
|
(("^DATA=.*")
|
|
|
|
"DATA=/tmp/gnuzilla/data\n")
|
|
|
|
(("^sed .* debian/" all)
|
|
|
|
(string-append "echo warning: skipped: " all))
|
|
|
|
(("^debian/rules " all)
|
|
|
|
(string-append "echo warning: skipped: " all))
|
|
|
|
(("^find extensions/gnu/ ")
|
|
|
|
"find extensions/gnu/ | sort ")
|
|
|
|
(("/bin/sed")
|
|
|
|
#+(file-append (canonical-package sed) "/bin/sed"))))
|
|
|
|
|
|
|
|
(format #t "Unpacking upstream firefox tarball...~%")
|
|
|
|
(force-output)
|
|
|
|
(invoke "tar" "xf" #+upstream-firefox-source)
|
|
|
|
(rename-file firefox-dir icecat-dir)
|
|
|
|
|
|
|
|
(with-directory-excursion icecat-dir
|
|
|
|
(for-each mkdir-p '("l10n" "debian/config"))
|
|
|
|
(call-with-output-file "debian/control" (const #t))
|
|
|
|
(format #t "Running makeicecat script...~%")
|
|
|
|
(force-output)
|
|
|
|
(invoke "bash" "/tmp/gnuzilla/makeicecat")
|
|
|
|
(for-each delete-file-recursively '("l10n" "debian")))
|
|
|
|
|
|
|
|
(format #t (string-append "Unpacking l10n/* and debian/* from"
|
|
|
|
" upstream IceCat tarball...~%"))
|
|
|
|
(force-output)
|
|
|
|
(unless (string=? icecat-dir old-icecat-dir)
|
|
|
|
(symlink icecat-dir old-icecat-dir))
|
|
|
|
(invoke "tar" "xf" #+upstream-icecat-source
|
|
|
|
(string-append old-icecat-dir "/l10n")
|
|
|
|
(string-append old-icecat-dir "/debian"))
|
|
|
|
|
2019-03-20 00:01:48 +01:00
|
|
|
(format #t "Packing new IceCat tarball...~%")
|
2019-01-30 03:15:36 +01:00
|
|
|
(force-output)
|
|
|
|
(invoke "tar" "cfa" #$output
|
2019-03-20 00:01:48 +01:00
|
|
|
;; Avoid non-determinism in the archive. We set the
|
|
|
|
;; mtime of files in the archive to early 1980 because
|
|
|
|
;; the build process fails if the mtime of source
|
|
|
|
;; files is pre-1980, due to the creation of zip
|
|
|
|
;; archives.
|
|
|
|
"--mtime=@315619200" ; 1980-01-02 UTC
|
2019-01-30 03:15:36 +01:00
|
|
|
"--owner=root:0"
|
|
|
|
"--group=root:0"
|
|
|
|
"--sort=name"
|
|
|
|
icecat-dir)
|
|
|
|
|
|
|
|
#t))))))))
|
|
|
|
|
2013-11-11 20:44:34 +01:00
|
|
|
(define-public icecat
|
|
|
|
(package
|
|
|
|
(name "icecat")
|
2019-01-30 03:21:20 +01:00
|
|
|
(version %icecat-version)
|
2019-05-06 11:58:54 +02:00
|
|
|
(source icecat-source)
|
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: 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)
|
2017-04-20 06:41:32 +02:00
|
|
|
("gtk+" ,gtk+)
|
|
|
|
("gtk+-2" ,gtk+-2)
|
2018-09-23 10:46:59 +02:00
|
|
|
("graphite2" ,graphite2)
|
2014-10-09 05:37:37 +02:00
|
|
|
("pango" ,pango)
|
|
|
|
("freetype" ,freetype)
|
2018-09-23 10:46:59 +02:00
|
|
|
("harfbuzz" ,harfbuzz)
|
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)
|
2016-11-26 19:06:48 +01:00
|
|
|
("libjpeg-turbo" ,libjpeg-turbo)
|
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add
another hunk to enable removal of libevent.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add
libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to
remove. Add a comment regarding theora. Remove comments regarding unbundling
cairo, which is no longer supported.
[inputs]: Add libevent, libogg, and libvorbis.
[arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags.
Add custom bootstrap phase. Add comments.
2018-09-24 06:10:37 +02:00
|
|
|
("libogg" ,libogg)
|
|
|
|
;; ("libtheora" ,libtheora) ; wants theora-1.2, not yet released
|
|
|
|
("libvorbis" ,libvorbis)
|
2014-10-09 05:37:37 +02:00
|
|
|
("libxft" ,libxft)
|
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add
another hunk to enable removal of libevent.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add
libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to
remove. Add a comment regarding theora. Remove comments regarding unbundling
cairo, which is no longer supported.
[inputs]: Add libevent, libogg, and libvorbis.
[arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags.
Add custom bootstrap phase. Add comments.
2018-09-24 06:10:37 +02: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)
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
("ffmpeg" ,ffmpeg)
|
2019-02-09 17:15:13 +01:00
|
|
|
("libvpx" ,libvpx-1.7)
|
2015-01-31 14:41:02 +01:00
|
|
|
("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)
|
2018-09-25 23:13:59 +02:00
|
|
|
;; See <https://bugs.gnu.org/32833>
|
|
|
|
;; and related comments in the 'snippet' above.
|
|
|
|
;; UNBUNDLE-ME! ("nspr" ,nspr)
|
|
|
|
;; UNBUNDLE-ME! ("nss" ,nss)
|
2016-10-12 15:09: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)
|
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
|
2019-05-06 11:58:54 +02:00
|
|
|
;; The following patches are specific to the Guix packaging of IceCat,
|
|
|
|
;; and therefore we prefer to leave them out of 'source', which should be
|
|
|
|
;; a tarball suitable for compilation on any system that IceCat supports.
|
|
|
|
;; (Bug fixes and security fixes, however, should go in 'source').
|
|
|
|
`(("icecat-avoid-bundled-libraries.patch"
|
|
|
|
,(search-patch "icecat-avoid-bundled-libraries.patch"))
|
|
|
|
("icecat-use-system-graphite2+harfbuzz.patch"
|
|
|
|
,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
|
|
|
|
("icecat-use-system-media-libs.patch"
|
|
|
|
,(search-patch "icecat-use-system-media-libs.patch"))
|
|
|
|
|
|
|
|
("patch" ,(canonical-package patch))
|
|
|
|
|
|
|
|
;; Icecat 60 checks for rust>=1.24
|
|
|
|
("rust" ,rust-1.24)
|
2018-09-25 06:45:18 +02:00
|
|
|
("cargo" ,rust-1.24 "cargo")
|
2018-12-12 00:29:38 +01:00
|
|
|
("llvm" ,llvm-3.9.1)
|
|
|
|
("clang" ,clang-3.9.1)
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
("perl" ,perl)
|
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
|
|
|
("python" ,python-2) ; Python 3 not supported
|
|
|
|
("python2-pysqlite" ,python2-pysqlite)
|
2017-04-20 06:41:32 +02:00
|
|
|
("yasm" ,yasm)
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
("pkg-config" ,pkg-config)
|
2017-04-20 06:41:32 +02:00
|
|
|
("autoconf" ,autoconf-2.13)
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
("which" ,which)))
|
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
|
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
|
|
|
|
|
2018-12-12 00:29:38 +01:00
|
|
|
#:configure-flags `("--enable-default-toolkit=cairo-gtk3"
|
2018-04-11 23:02:59 +02:00
|
|
|
|
|
|
|
"--with-distribution-id=org.gnu"
|
|
|
|
|
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-startup-notification"
|
|
|
|
"--enable-pulseaudio"
|
|
|
|
|
2018-04-11 23:02:59 +02:00
|
|
|
"--disable-tests"
|
|
|
|
"--disable-updater"
|
|
|
|
"--disable-crashreporter"
|
|
|
|
"--disable-maintenance-service"
|
|
|
|
"--disable-eme"
|
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
|
|
|
"--disable-gconf"
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
|
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
|
|
|
;; Building with debugging symbols takes ~5GiB, so
|
2013-12-13 18:08:18 +01:00
|
|
|
;; disable it.
|
|
|
|
"--disable-debug"
|
|
|
|
"--disable-debug-symbols"
|
|
|
|
|
2018-12-12 00:29:38 +01:00
|
|
|
;; Clang is needed to build Stylo, Mozilla's new
|
|
|
|
;; CSS engine. We must specify the clang paths
|
|
|
|
;; manually, because otherwise the Mozilla build
|
|
|
|
;; system looks in the directories returned by
|
|
|
|
;; llvm-config --bindir and llvm-config --libdir,
|
|
|
|
;; which return paths in the llvm package where
|
|
|
|
;; clang is not found.
|
|
|
|
,(string-append "--with-clang-path="
|
|
|
|
(assoc-ref %build-inputs "clang")
|
|
|
|
"/bin/clang")
|
|
|
|
,(string-append "--with-libclang-path="
|
|
|
|
(assoc-ref %build-inputs "clang")
|
|
|
|
"/lib")
|
|
|
|
|
2016-12-03 18:19:17 +01:00
|
|
|
;; Hack to work around missing
|
|
|
|
;; "unofficial" branding in icecat.
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
"--enable-official-branding"
|
|
|
|
|
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"
|
2016-11-26 19:06:48 +01:00
|
|
|
"--with-system-jpeg" ; must be libjpeg-turbo
|
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add
another hunk to enable removal of libevent.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add
libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to
remove. Add a comment regarding theora. Remove comments regarding unbundling
cairo, which is no longer supported.
[inputs]: Add libevent, libogg, and libvorbis.
[arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags.
Add custom bootstrap phase. Add comments.
2018-09-24 06:10:37 +02:00
|
|
|
"--with-system-libevent"
|
|
|
|
"--with-system-ogg"
|
|
|
|
"--with-system-vorbis"
|
|
|
|
;; "--with-system-theora" ; wants theora-1.2, not yet released
|
2015-01-31 14:41:02 +01:00
|
|
|
"--with-system-libvpx"
|
2017-04-12 00:59:59 +02:00
|
|
|
"--with-system-icu"
|
2018-09-25 23:13:59 +02:00
|
|
|
|
|
|
|
;; See <https://bugs.gnu.org/32833>
|
|
|
|
;; and related comments in the 'snippet' above.
|
|
|
|
;; UNBUNDLE-ME! "--with-system-nspr"
|
|
|
|
;; UNBUNDLE-ME! "--with-system-nss"
|
|
|
|
|
2018-09-23 10:46:59 +02:00
|
|
|
"--with-system-harfbuzz"
|
|
|
|
"--with-system-graphite2"
|
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-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"
|
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
|
|
|
|
2019-02-15 08:04:28 +01:00
|
|
|
#:imported-modules ,%cargo-utils-modules ;for `generate-checksums'
|
|
|
|
|
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
|
2019-05-06 11:58:54 +02:00
|
|
|
(add-after 'unpack 'apply-guix-specific-patches
|
|
|
|
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
|
|
|
(let ((patch (string-append (assoc-ref (or native-inputs inputs)
|
|
|
|
"patch")
|
|
|
|
"/bin/patch")))
|
|
|
|
(for-each (match-lambda
|
|
|
|
((label . file)
|
|
|
|
(when (and (string-prefix? "icecat-" label)
|
|
|
|
(string-suffix? ".patch" label))
|
|
|
|
(format #t "applying '~a'...~%" file)
|
|
|
|
(invoke patch "--force" "--no-backup-if-mismatch"
|
|
|
|
"-p1" "--input" file))))
|
|
|
|
(or native-inputs inputs)))
|
|
|
|
#t))
|
|
|
|
(add-after 'apply-guix-specific-patches 'remove-bundled-libraries
|
|
|
|
(lambda _
|
|
|
|
;; Remove bundled libraries that we don't use, since they may
|
|
|
|
;; contain unpatched security flaws, they waste disk space and
|
|
|
|
;; memory, and may cause confusion.
|
|
|
|
(for-each (lambda (file)
|
|
|
|
(format #t "deleting '~a'...~%" file)
|
|
|
|
(delete-file-recursively file))
|
|
|
|
'(;; 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"
|
|
|
|
;;
|
|
|
|
;; FIXME: With the update to IceCat 60, using system NSS
|
|
|
|
;; broke certificate validation. See
|
|
|
|
;; <https://bugs.gnu.org/32833>. For now, we use
|
|
|
|
;; the bundled NSPR and NSS. TODO: Investigate,
|
|
|
|
;; and try to unbundle these libraries again.
|
|
|
|
;; UNBUNDLE-ME! "security/nss"
|
|
|
|
;;
|
|
|
|
;; TODO: Use more system media libraries. See:
|
|
|
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
|
|
|
|
;; * libtheora: esr60 wants v1.2, not yet released.
|
|
|
|
;; * soundtouch: avoiding the bundled library would
|
|
|
|
;; result in some loss of functionality. There's
|
|
|
|
;; also an issue with exception handling
|
|
|
|
;; configuration. It seems that this is needed in
|
|
|
|
;; some moz.build:
|
|
|
|
;; DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
|
|
|
|
;; * libopus
|
|
|
|
;; * speex
|
|
|
|
;;
|
|
|
|
"modules/freetype2"
|
|
|
|
"modules/zlib"
|
|
|
|
"modules/libbz2"
|
|
|
|
"ipc/chromium/src/third_party/libevent"
|
|
|
|
"media/libjpeg"
|
|
|
|
"media/libvpx"
|
|
|
|
"media/libogg"
|
|
|
|
"media/libvorbis"
|
|
|
|
;; "media/libtheora" ; wants theora-1.2, not yet released
|
|
|
|
"media/libtremor"
|
|
|
|
"gfx/harfbuzz"
|
|
|
|
"gfx/graphite2"
|
|
|
|
"js/src/ctypes/libffi"
|
|
|
|
"db/sqlite3"))
|
|
|
|
#t))
|
|
|
|
(add-after 'remove-bundled-libraries 'link-libxul-with-libraries
|
|
|
|
(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.
|
|
|
|
(substitute* "toolkit/library/moz.build"
|
|
|
|
(("^# This library needs to be last" all)
|
|
|
|
(string-append "OS_LIBS += [
|
2015-10-13 21:56:32 +02:00
|
|
|
'GL', 'gnome-2', 'canberra', 'Xss', 'cups', 'gssapi_krb5',
|
2017-04-20 06:41:32 +02:00
|
|
|
'avcodec', 'avutil', 'pulse' ]\n\n"
|
2019-05-06 11:58:54 +02:00
|
|
|
all)))
|
|
|
|
#t))
|
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add
another hunk to enable removal of libevent.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add
libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to
remove. Add a comment regarding theora. Remove comments regarding unbundling
cairo, which is no longer supported.
[inputs]: Add libevent, libogg, and libvorbis.
[arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags.
Add custom bootstrap phase. Add comments.
2018-09-24 06:10:37 +02:00
|
|
|
(replace 'bootstrap
|
|
|
|
(lambda _
|
2019-05-06 11:58:54 +02:00
|
|
|
(invoke "sh" "-c" "autoconf old-configure.in > old-configure")
|
|
|
|
;; 'configure' must be newer than 'old-configure.in', or else the
|
|
|
|
;; build system will raise an alarm and abort.
|
|
|
|
(invoke "touch" "configure")))
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
2018-09-23 10:46:59 +02:00
|
|
|
(lambda _
|
2019-02-15 08:04:28 +01:00
|
|
|
(use-modules (guix build cargo-utils))
|
gnu: icecat: Update to 60.2.0-gnu1 (pre-release).
* gnu/packages/gnuzilla.scm (icecat): Update to 60.2.0-gnu1.
[source]: Download pre-release from alpha.gnu.org. Remove obsolete patches.
Comment out the code to delete the bundled copies of libevent, cairo,
harfbuzz, and graphite2.
[inputs]: Use the latest ffmpeg. Comment out libevent, cairo, harfbuzz, and
graphite2.
[native-inputs]: Add rust and cargo.
[arguments]: Remove --enable-gio and --disable-gnomeui. Add --disable-stylo.
Comment out --with-system-{libevent,harfbuzz,graphite2}, --enable-system-cairo.
Import %cargo-build-system-modules. Add 'patch-cargo-checksums' phase.
* gnu/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch,
gnu/packages/patches/icecat-bug-1413868-pt1.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
2018-09-21 09:28:03 +02:00
|
|
|
(let ((null-file "/dev/null")
|
|
|
|
(null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
|
|
|
(substitute* '("Cargo.lock" "servo/Cargo.lock")
|
|
|
|
(("(\"checksum .* = )\".*\"" all name)
|
|
|
|
(string-append name "\"" null-hash "\"")))
|
|
|
|
(for-each
|
|
|
|
(lambda (filename)
|
|
|
|
(delete-file filename)
|
|
|
|
(let ((dir (dirname filename)))
|
|
|
|
(display (string-append
|
|
|
|
"patch-cargo-checksums: generate-checksums for "
|
|
|
|
dir "\n"))
|
|
|
|
(generate-checksums dir null-file)))
|
|
|
|
(find-files "third_party/rust" ".cargo-checksum.json")))
|
|
|
|
#t))
|
2018-12-12 00:29:38 +01:00
|
|
|
(add-before 'configure 'augment-CPLUS_INCLUDE_PATH
|
|
|
|
(lambda* (#:key build inputs #:allow-other-keys)
|
|
|
|
;; Here, we add additional entries to CPLUS_INCLUDE_PATH, to work
|
|
|
|
;; around a problem that otherwise occurs when attempting to
|
|
|
|
;; build Stylo, which requires Rust and Clang. Without these
|
|
|
|
;; additional entries, errors occur during the build indicating
|
|
|
|
;; that the <cstddef> and "c++config.h" headers cannot be found.
|
|
|
|
;; Note that the 'build' keyword argument contains the GNU
|
|
|
|
;; triplet, e.g. "x86_64-unknown-linux-gnu".
|
|
|
|
(let ((gcc (assoc-ref inputs "gcc")))
|
|
|
|
(setenv "CPLUS_INCLUDE_PATH"
|
|
|
|
(string-append gcc "/include/c++" ":"
|
|
|
|
gcc "/include/c++/" build ":"
|
2019-05-06 11:58:54 +02:00
|
|
|
(getenv "CPLUS_INCLUDE_PATH"))))
|
|
|
|
#t))
|
|
|
|
(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)
|
|
|
|
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
|
|
|
|
(setenv "CC" "gcc") ; apparently needed when Stylo is enabled
|
|
|
|
(mkdir "../build")
|
|
|
|
(chdir "../build")
|
|
|
|
(format #t "build directory: ~s~%" (getcwd))
|
|
|
|
(format #t "configure flags: ~s~%" flags)
|
|
|
|
(apply invoke bash
|
|
|
|
(string-append srcdir "/configure")
|
|
|
|
flags))))
|
2016-06-02 18:59:58 +02:00
|
|
|
(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"
|
2018-03-23 07:44:17 +01:00
|
|
|
"mozicon128.png" "default256.png"))
|
|
|
|
#t))))
|
2017-04-21 19:40:10 +02:00
|
|
|
;; This fixes the file chooser crash that happens with GTK 3.
|
|
|
|
(add-after 'install 'wrap-program
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
(lib (string-append out "/lib"))
|
|
|
|
(gtk (assoc-ref inputs "gtk+"))
|
|
|
|
(gtk-share (string-append gtk "/share")))
|
|
|
|
(wrap-program (car (find-files lib "^icecat$"))
|
2018-03-23 07:44:17 +01:00
|
|
|
`("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
|
|
|
|
#t))))))
|
2017-03-30 00:48:16 +02:00
|
|
|
(home-page "https://www.gnu.org/software/gnuzilla/")
|
2013-11-11 20:44:34 +01:00
|
|
|
(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")
|
gnu: icecat: Update to 45.3.0-gnu1-beta. Add fixes from Firefox ESR 45.4.0.
Includes fixes for CVE-2016-5250, CVE-2016-5257, CVE-2016-5261, CVE-2016-5270,
CVE-2016-5272, CVE-2016-5274, CVE-2016-5276, CVE-2016-5277, CVE-2016-5278,
CVE-2016-5280, CVE-2016-5281, and CVE-2016-5284.
* gnu/packages/gnuzilla.scm (mozilla-patch): New procedure.
(icecat): Update to 45.3.0-gnu1.
[source]: Add alternate source URI for the beta release. Update patches.
[inputs]: Replace 'sqlite' input with a customized sqlite with
SQLITE_ENABLE_DBSTAT_VTAB support.
[native-inputs]: Add 'which'.
* gnu/packages/patches/icecat-avoid-bundled-includes.patch: Rename to...
* gnu/packages/patches/icecat-avoid-bundled-libraries.patch: ... and adapt
to version 45.
* 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: Delete files.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
2016-10-11 05:15:32 +02:00
|
|
|
(cpe-version . ,(first (string-split version #\-)))))))
|
2018-12-23 18:15:27 +01:00
|
|
|
|
|
|
|
(define-public conkeror
|
|
|
|
;; The Conkeror web browser relied on XULRunner, which IceCat > 50 no longer
|
|
|
|
;; provides. See <http://conkeror.org> for the original web page.
|
|
|
|
(deprecated-package "conkeror" icecat))
|