2013-11-11 14:44:34 -05:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2015-02-13 06:35:52 -05:00
|
|
|
|
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
2021-07-16 11:06:09 -04:00
|
|
|
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
gnu: icecat: Update to 102.8.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2023-0767, CVE-2023-25728, CVE-2023-25729,
CVE-2023-25730, CVE-2023-25732, CVE-2023-25734, CVE-2023-25735,
CVE-2023-25737, CVE-2023-25738, CVE-2023-25739, CVE-2023-25742,
CVE-2023-25743, CVE-2023-25744, and CVE-2023-25746.
* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update gnuzilla commit, base version, and hashes.
Remove the dependency on the Perl 'rename' program.
* gnu/packages/patches/icecat-makeicecat.patch: Update to apply cleanly.
2023-02-14 15:46:35 -05:00
|
|
|
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Mark H Weaver <mhw@netris.org>
|
2015-01-06 10:57:31 -05:00
|
|
|
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
2021-05-09 16:03:07 -04:00
|
|
|
|
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
|
2016-07-23 17:44:46 -04:00
|
|
|
|
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
2017-04-04 09:05:49 -04:00
|
|
|
|
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
2020-04-29 07:00:18 -04:00
|
|
|
|
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
|
2020-02-12 14:24:31 -05:00
|
|
|
|
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
2020-04-29 07:00:18 -04:00
|
|
|
|
;;; Copyright © 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
|
2019-02-15 02:04:28 -05:00
|
|
|
|
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
2020-01-18 07:49:47 -05:00
|
|
|
|
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
2020-02-12 14:24:31 -05:00
|
|
|
|
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
2020-04-29 07:00:18 -04:00
|
|
|
|
;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
|
2022-01-02 08:20:23 -05:00
|
|
|
|
;;; Copyright © 2020, 2021, 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
2022-08-16 04:28:31 -04:00
|
|
|
|
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
2021-06-12 16:39:20 -04:00
|
|
|
|
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
2021-08-24 04:36:08 -04:00
|
|
|
|
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
2023-02-09 22:19:55 -05:00
|
|
|
|
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
2021-11-21 16:43:15 -05:00
|
|
|
|
;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr>
|
2013-11-11 14:44:34 -05: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 09:38:54 -04:00
|
|
|
|
#:use-module ((srfi srfi-1) #:hide (zip))
|
2023-02-10 13:40:40 -05:00
|
|
|
|
#:use-module (ice-9 format)
|
2017-03-15 12:53:27 -04:00
|
|
|
|
#:use-module (ice-9 match)
|
2013-11-11 14:44:34 -05: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 16:44:22 -04:00
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2013-11-11 14:44:34 -05:00
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix download)
|
2018-08-03 12:15:42 -04:00
|
|
|
|
#:use-module (guix git-download)
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
#:use-module (guix hg-download)
|
2019-01-29 21:15:36 -05:00
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
|
#:use-module (guix store)
|
2023-02-09 22:05:58 -05:00
|
|
|
|
#:use-module (guix modules)
|
2019-01-29 21:15:36 -05:00
|
|
|
|
#:use-module (guix monads)
|
2017-03-27 12:12:10 -04:00
|
|
|
|
#:use-module (guix utils)
|
2013-11-11 14:44:34 -05: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 03:28:03 -04:00
|
|
|
|
#:use-module (guix build-system cargo)
|
2020-01-18 07:49:47 -05:00
|
|
|
|
#:use-module (guix build-system trivial)
|
2019-01-29 21:15:36 -05: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 00:10:37 -04:00
|
|
|
|
#:use-module (gnu packages audio)
|
2017-04-20 00:41:32 -04:00
|
|
|
|
#:use-module (gnu packages autotools)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
#:use-module (gnu packages m4)
|
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-10 23:15:32 -04:00
|
|
|
|
#:use-module (gnu packages base)
|
2019-01-29 21:15:36 -05:00
|
|
|
|
#:use-module (gnu packages bash)
|
2015-01-06 10:57:31 -05:00
|
|
|
|
#:use-module (gnu packages databases)
|
2013-11-11 14:44:34 -05: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 16:49:20 -04: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 03:57:43 -05:00
|
|
|
|
#:use-module (gnu packages kerberos)
|
2013-11-11 14:44:34 -05:00
|
|
|
|
#:use-module (gnu packages linux)
|
|
|
|
|
#:use-module (gnu packages perl)
|
|
|
|
|
#:use-module (gnu packages pkg-config)
|
2013-12-13 12:08:18 -05:00
|
|
|
|
#:use-module (gnu packages compression)
|
2014-10-08 23:37:37 -04:00
|
|
|
|
#:use-module (gnu packages fontutils)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
#:use-module (gnu packages fonts)
|
gnu: hunspell: Move hunspell and dictionaries to hunspell module.
Consolidate hunspell and its dictionaries into the (gnu packages hunspell)
module instead of having them scattered about.
* gnu/packages/aspell.scm (aspell-word-list, define-word-list-dictionary,
hunspell-dict-{en, en-au, en-gb, en-gb-ize, en-us}): Remove variables.
* gnu/packages/libreoffice.scm (hunspell, dicollecte-french-dictionary,
define-french-dictionary, hunspell-dict-fr-{classique, moderne, réforme,
toutes-variantes}, hunspell-dict-pl, hunspell-dict-de, hunspell-dict-hu):
Remove variables.
* gnu/packages/hunspell.scm (hunspell, dicollecte-french-dictionary,
define-french-dictionary, hunspell-dict-fr-{classique, moderne, réforme,
toutes-variantes}, hunspell-dict-pl, hunspell-dict-de, hunspell-dict-hu,
aspell-word-list, define-word-list-dictionary, hunspell-dict-{en, en-au,
en-gb, en-gb-ize, en-us}): Add variables.
(hunspell-dictionary): Explicitly declare upstream libreoffice version to
prevent circular dependency.
* gnu/packages/ebook.scm,
gnu/packages/enchant.scm,
gnu/packages/freedesktop.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/kde-frameworks.scm,
gnu/packages/messaging.scm,
gnu/packages/scribus.scm,
gnu/packages/task-management.scm,
gnu/packages/telegram.scm,
gnu/packages/tex.scm,
gnu/packages/text-editors.scm,
gnu/packages/video.scm: Adjust module imports.
2023-01-03 18:48:39 -05:00
|
|
|
|
#:use-module (gnu packages hunspell)
|
2013-12-13 12:08:18 -05:00
|
|
|
|
#:use-module (gnu packages libevent)
|
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 08:39:02 -04:00
|
|
|
|
#:use-module (gnu packages image)
|
2013-12-13 12:08:18 -05:00
|
|
|
|
#:use-module (gnu packages libffi)
|
2014-10-08 23:37:37 -04:00
|
|
|
|
#:use-module (gnu packages pulseaudio)
|
2013-11-11 14:44:34 -05: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 08:21:30 -05:00
|
|
|
|
#:use-module (gnu packages python-xyz)
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
#:use-module (gnu packages node)
|
2013-11-11 14:44:34 -05:00
|
|
|
|
#:use-module (gnu packages xorg)
|
2013-12-28 03:10:46 -05:00
|
|
|
|
#:use-module (gnu packages gl)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
#:use-module (gnu packages pciutils)
|
2016-06-27 03:30:01 -04: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 03:28:03 -04:00
|
|
|
|
#:use-module (gnu packages rust)
|
2020-01-02 08:59:52 -05:00
|
|
|
|
#:use-module (gnu packages rust-apps)
|
2018-12-11 18:29:38 -05: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 09:14:57 -04:00
|
|
|
|
#:use-module (gnu packages nss)
|
2015-01-31 08:41:02 -05: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 00:10:37 -04:00
|
|
|
|
#:use-module (gnu packages xiph)
|
2015-01-31 08:41:02 -05: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 15:47:05 -05:00
|
|
|
|
#:use-module (gnu packages readline)
|
2023-02-10 13:40:40 -05:00
|
|
|
|
#:use-module (gnu packages sqlite)
|
|
|
|
|
#:autoload (json parser) (json->scm))
|
2013-11-11 14:44:34 -05:00
|
|
|
|
|
2015-01-10 20:29:10 -05:00
|
|
|
|
(define-public mozjs
|
|
|
|
|
(package
|
|
|
|
|
(name "mozjs")
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(version "102.2.0")
|
2020-12-13 12:24:10 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
2020-12-13 12:24:10 -05:00
|
|
|
|
"/releases/" version "esr/source/firefox-"
|
|
|
|
|
version "esr.source.tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2022-08-16 04:28:31 -04:00
|
|
|
|
"1zwpgis7py1bf8p88pz3mpai6a02qrdb8ww2fa9kxxdl9b8r2k81"))))
|
2022-05-13 14:03:41 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2020-12-13 12:24:10 -05:00
|
|
|
|
(arguments
|
2022-05-13 14:03:41 -04:00
|
|
|
|
(list
|
|
|
|
|
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
|
|
|
|
#:modules `((guix build cargo-utils)
|
2020-12-13 12:24:10 -05:00
|
|
|
|
,@%gnu-build-system-modules)
|
2022-05-13 14:03:41 -04:00
|
|
|
|
#:test-target "check-jstests"
|
|
|
|
|
#:configure-flags
|
|
|
|
|
#~(list
|
|
|
|
|
;; Disable debugging symbols to save space.
|
2020-12-13 12:24:10 -05:00
|
|
|
|
"--disable-debug"
|
|
|
|
|
"--disable-debug-symbols"
|
|
|
|
|
;; This is important because without it gjs will segfault during the
|
|
|
|
|
;; configure phase. With jemalloc only the standalone mozjs console
|
|
|
|
|
;; will work.
|
|
|
|
|
"--disable-jemalloc"
|
|
|
|
|
"--enable-tests"
|
|
|
|
|
"--enable-hardening"
|
|
|
|
|
"--enable-optimize"
|
|
|
|
|
"--enable-release"
|
|
|
|
|
"--enable-readline"
|
|
|
|
|
"--enable-shared-js"
|
|
|
|
|
"--with-system-icu"
|
|
|
|
|
"--with-system-nspr"
|
|
|
|
|
"--with-system-zlib"
|
|
|
|
|
"--with-intl-api")
|
2022-05-13 14:03:41 -04:00
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
|
|
|
|
(lambda _
|
|
|
|
|
(let ((null-hash
|
|
|
|
|
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(format #t "patching checksums in ~a~%" file)
|
|
|
|
|
(substitute* file
|
|
|
|
|
(("^checksum = \".*\"")
|
|
|
|
|
(string-append "checksum = \"" null-hash "\""))))
|
|
|
|
|
(find-files "." "Cargo\\.lock$"))
|
|
|
|
|
(for-each generate-all-checksums
|
|
|
|
|
'("js" "third_party/rust")))))
|
|
|
|
|
(replace 'configure
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(lambda* (#:key configure-flags #:allow-other-keys)
|
2022-05-13 14:03:41 -04:00
|
|
|
|
;; The configure script does not accept environment variables as
|
|
|
|
|
;; arguments. It also must be run from a different directory,
|
|
|
|
|
;; but not the root directory either.
|
|
|
|
|
(mkdir "run-configure-from-here")
|
|
|
|
|
(chdir "run-configure-from-here")
|
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
|
|
|
(setenv "AUTOCONF" (which "autoconf"))
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(apply invoke "python" "../configure.py"
|
|
|
|
|
"--enable-project=js"
|
|
|
|
|
(string-append "--prefix=" #$output)
|
|
|
|
|
configure-flags)))
|
|
|
|
|
(add-before 'check 'adjust-tests
|
2022-05-13 14:03:41 -04:00
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "../js/src/tests"
|
|
|
|
|
(substitute* "shell/os.js"
|
|
|
|
|
;; FIXME: Why does the killed process have an exit status?
|
|
|
|
|
((".*killed process should not have exitStatus.*")
|
|
|
|
|
""))
|
2020-12-13 12:24:10 -05:00
|
|
|
|
|
2022-08-16 04:28:31 -04:00
|
|
|
|
;; The test suite expects a lightly patched ICU. Disable tests
|
|
|
|
|
;; that do not work with the system version. See
|
|
|
|
|
;; "intl/icu-patches" for clues.
|
2020-12-13 12:24:10 -05:00
|
|
|
|
|
2022-08-16 04:28:31 -04:00
|
|
|
|
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
|
|
|
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
|
|
|
|
;; related patch for why this is failing.
|
|
|
|
|
(delete-file "non262/Intl/DateTimeFormat/\
|
|
|
|
|
fractional-second-digits-append-item.js")
|
|
|
|
|
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
|
|
|
|
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
|
|
|
|
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
|
|
|
|
(delete-file "non262/Intl/available-locales-supported.js")
|
|
|
|
|
;; FIXME: got "en-US", expected "en-US-POSIX"
|
|
|
|
|
(delete-file "non262/Intl/available-locales-resolved.js"))))
|
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "JSTESTS_EXTRA_ARGS"
|
|
|
|
|
(string-join
|
|
|
|
|
(list
|
|
|
|
|
;; Do not run tests marked as "random".
|
|
|
|
|
"--exclude-random"
|
|
|
|
|
;; Exclude web platform tests.
|
|
|
|
|
"--wpt=disabled"
|
|
|
|
|
;; Respect the daemons configured number of jobs.
|
|
|
|
|
(string-append "--worker-count="
|
|
|
|
|
(number->string (parallel-job-count)))))))))))
|
2020-12-13 12:24:10 -05:00
|
|
|
|
(native-inputs
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(list autoconf
|
2022-07-16 10:37:56 -04:00
|
|
|
|
llvm ;for llvm-objdump
|
2022-08-16 04:28:31 -04:00
|
|
|
|
m4
|
2022-05-13 14:03:41 -04:00
|
|
|
|
perl
|
|
|
|
|
pkg-config
|
2022-08-16 04:28:31 -04:00
|
|
|
|
python-wrapper
|
2022-05-13 14:03:41 -04:00
|
|
|
|
rust
|
|
|
|
|
`(,rust "cargo")))
|
2020-12-13 12:24:10 -05:00
|
|
|
|
(inputs
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(list icu4c-71 readline zlib))
|
2022-05-13 14:03:41 -04:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list nspr)) ; in the Requires.private field of mozjs-*.pc
|
|
|
|
|
(home-page
|
2022-09-04 00:52:15 -04:00
|
|
|
|
"https://spidermonkey.dev/")
|
|
|
|
|
(synopsis "Mozilla JavaScript engine")
|
2022-05-13 14:03:41 -04:00
|
|
|
|
(description "SpiderMonkey is Mozilla's JavaScript engine written
|
|
|
|
|
in C/C++.")
|
|
|
|
|
(license license:mpl2.0))) ; and others for some files
|
2020-12-13 12:24:10 -05:00
|
|
|
|
|
2022-08-24 13:44:56 -04:00
|
|
|
|
(define-public mozjs-91
|
|
|
|
|
(package
|
|
|
|
|
(inherit mozjs)
|
|
|
|
|
(version "91.13.0")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
|
|
|
|
"/releases/" version "esr/source/firefox-"
|
|
|
|
|
version "esr.source.tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk"))))
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments mozjs)
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
#~(modify-phases #$phases
|
|
|
|
|
(add-before 'check 'disable-timezone-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "../js/src/tests"
|
|
|
|
|
;; FIXME: Assertion failed: got "2021a", expected "2021a3"?
|
|
|
|
|
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
|
|
|
|
;; XXX: Delete all tests that test time zone functionality,
|
|
|
|
|
;; because the test suite uses /etc/localtime to figure out
|
|
|
|
|
;; the offset from the hardware clock, which does not work
|
|
|
|
|
;; in the build container. See <tests/non262/Date/shell.js>.
|
|
|
|
|
(delete-file-recursively "non262/Date")
|
|
|
|
|
(delete-file
|
|
|
|
|
"non262/Intl/DateTimeFormat/tz-environment-variable.js"))))))))
|
|
|
|
|
(inputs (modify-inputs (package-inputs mozjs)
|
|
|
|
|
(replace "icu4c" icu4c)))))
|
|
|
|
|
|
2022-08-16 04:28:31 -04:00
|
|
|
|
(define-public mozjs-78
|
|
|
|
|
(package
|
|
|
|
|
(inherit mozjs)
|
|
|
|
|
(name "mozjs")
|
|
|
|
|
(version "78.15.0")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://archive.mozilla.org/pub/firefox"
|
|
|
|
|
"/releases/" version "esr/source/firefox-"
|
|
|
|
|
version "esr.source.tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments mozjs)
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
#~(modify-phases #$phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key configure-flags #:allow-other-keys)
|
|
|
|
|
;; The configure script does not accept environment variables as
|
|
|
|
|
;; arguments. It also must be run from a different directory,
|
|
|
|
|
;; but not the root directory either.
|
|
|
|
|
(mkdir "run-configure-from-here")
|
|
|
|
|
(chdir "run-configure-from-here")
|
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
|
|
|
(setenv "AUTOCONF" (which "autoconf"))
|
|
|
|
|
(apply invoke "../js/src/configure"
|
|
|
|
|
(cons (string-append "--prefix=" #$output)
|
|
|
|
|
configure-flags))))
|
|
|
|
|
(replace 'adjust-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "../js/src/tests"
|
|
|
|
|
;; The test suite expects a lightly patched ICU 67. Since
|
|
|
|
|
;; Guix is about to switch to ICU 68, massage the tests to
|
|
|
|
|
;; work with that instead of patching ICU. Try removing this
|
|
|
|
|
;; phase for newer versions of mozjs.
|
|
|
|
|
|
|
|
|
|
;; These tests look up locale names and expects to get
|
|
|
|
|
;; "GB" instead of "UK".
|
|
|
|
|
(substitute* "non262/Intl/DisplayNames/language.js"
|
|
|
|
|
(("Traditionell, GB")
|
|
|
|
|
"Traditionell, UK"))
|
|
|
|
|
(substitute* "non262/Intl/DisplayNames/region.js"
|
|
|
|
|
(("\"GB\": \"GB\"")
|
|
|
|
|
"\"GB\": \"UK\""))
|
|
|
|
|
|
|
|
|
|
;; XXX: Some localized time formats have changed, and
|
|
|
|
|
;; substitution fails for accented characters, even though
|
|
|
|
|
;; it works in the REPL(?). Just delete these for now.
|
|
|
|
|
(delete-file "non262/Intl/Date/toLocaleString_timeZone.js")
|
|
|
|
|
(delete-file "non262/Intl/Date/toLocaleDateString_timeZone.js")
|
|
|
|
|
|
|
|
|
|
;; Similarly, these get an unexpected "A" suffix when looking
|
|
|
|
|
;; up a time in the "ar-MA-u-ca-islamicc" locale, which is
|
|
|
|
|
;; tricky to substitute.
|
|
|
|
|
(delete-file "non262/Intl/DateTimeFormat/format_timeZone.js")
|
|
|
|
|
(delete-file "non262/Intl/DateTimeFormat/format.js")
|
|
|
|
|
|
|
|
|
|
;; This file compares a generated list of ICU locale names
|
|
|
|
|
;; with actual lookups. Some have changed slightly, i.e.
|
|
|
|
|
;; daf-Latn-ZZ -> daf-Latn-CI, so drop it for simplicity.
|
|
|
|
|
(delete-file "non262/Intl/Locale/likely-subtags-generated.js"))))
|
|
|
|
|
(replace 'pre-check
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "../js/src/tests"
|
|
|
|
|
(substitute* "shell/os.js"
|
|
|
|
|
;; FIXME: Why does the killed process have an exit status?
|
|
|
|
|
((".*killed process should not have exitStatus.*")
|
|
|
|
|
""))
|
|
|
|
|
|
|
|
|
|
;; XXX: Delete all tests that test time zone functionality,
|
|
|
|
|
;; because the test suite uses /etc/localtime to figure out
|
|
|
|
|
;; the offset from the hardware clock, which does not work
|
|
|
|
|
;; in the build container. See <tests/non262/Date/shell.js>.
|
|
|
|
|
(delete-file-recursively "non262/Date")
|
|
|
|
|
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
|
|
|
|
|
|
|
|
|
|
(setenv "JSTESTS_EXTRA_ARGS"
|
|
|
|
|
(string-join
|
|
|
|
|
(list
|
|
|
|
|
;; Do not run tests marked as "random".
|
|
|
|
|
"--exclude-random"
|
|
|
|
|
;; Exclude web platform tests.
|
|
|
|
|
"--wpt=disabled"
|
|
|
|
|
;; Respect the daemons configured number of jobs.
|
|
|
|
|
(string-append "--worker-count="
|
|
|
|
|
(number->string
|
|
|
|
|
(parallel-job-count)))))))))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list autoconf-2.13
|
|
|
|
|
automake
|
|
|
|
|
llvm ;for llvm-objdump
|
|
|
|
|
perl
|
|
|
|
|
pkg-config
|
|
|
|
|
python-3
|
|
|
|
|
rust
|
|
|
|
|
`(,rust "cargo")))
|
|
|
|
|
(inputs
|
|
|
|
|
(list icu4c readline zlib))))
|
|
|
|
|
|
2023-02-10 13:40:40 -05:00
|
|
|
|
|
|
|
|
|
;;;
|
|
|
|
|
;;; Localization helper procedures.
|
|
|
|
|
;;;
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
(define mozilla-compare-locales
|
|
|
|
|
(origin
|
|
|
|
|
(method hg-fetch)
|
|
|
|
|
(uri (hg-reference
|
|
|
|
|
(url "https://hg.mozilla.org/l10n/compare-locales/")
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(changeset "RELEASE_8_1_0")))
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
(file-name "mozilla-compare-locales")
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(sha256 (base32 "00bpkaqf2ng1nn9ajyb5mli0jq58q5fm2n3yy90jy0hp4q2gbs50"))))
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
|
|
|
|
|
(define (mozilla-locale locale changeset hash-string)
|
|
|
|
|
(origin
|
|
|
|
|
(method hg-fetch)
|
|
|
|
|
(uri (hg-reference
|
|
|
|
|
(url (string-append "https://hg.mozilla.org/l10n-central/"
|
|
|
|
|
locale))
|
|
|
|
|
(changeset changeset)))
|
|
|
|
|
(file-name (string-append "mozilla-locale-" locale))
|
|
|
|
|
(sha256 (base32 hash-string))))
|
|
|
|
|
|
|
|
|
|
(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...)
|
|
|
|
|
(list (mozilla-locale locale changeset hash-string)
|
|
|
|
|
...))
|
|
|
|
|
|
2023-02-10 13:40:40 -05:00
|
|
|
|
(define (update-mozilla-locales changesets.json)
|
|
|
|
|
"Output a new list of Mozilla locales, to update the ALL-MOZILLA-LOCALES
|
|
|
|
|
variable defined below. It requires guile-json to be installed."
|
|
|
|
|
(match (call-with-input-file changesets.json json->scm)
|
|
|
|
|
(((lang ("revision" . revision) platforms pin) ...)
|
|
|
|
|
(let ((data (reverse (map (lambda (rev lang)
|
|
|
|
|
`(,(list->string (make-list 40 #\0))
|
|
|
|
|
,(string-take rev 12) ,lang))
|
|
|
|
|
revision lang))))
|
|
|
|
|
(format #t "~{~s~%~}" data)
|
|
|
|
|
data))))
|
|
|
|
|
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
(define all-mozilla-locales
|
|
|
|
|
(mozilla-locales
|
|
|
|
|
;; sha256 changeset locale
|
|
|
|
|
;;---------------------------------------------------------------------------
|
2023-02-13 20:55:49 -05:00
|
|
|
|
("1s59ihmj8x6z0ssq4xav689jb5azrpdnay8csgjm1b9pw7wmvcli" "a6940ae1a02f" "ach")
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
("1cqixlk9f8p63jz20wzsvnfb7xa82ba725gzdydlwz2axgp09c26" "4e2c7d1ddbed" "af")
|
|
|
|
|
("19r1yhmfxqasyslc8gr9as5w1scscz1xr8iqy9zi4b90fdjzs0ac" "06897e40a7ea" "an")
|
|
|
|
|
("0nfknb1p03j9fgmkwlm1mzdyh10g0l33x34ab39kc072apziyv0n" "9272819b09e2" "ar")
|
|
|
|
|
("11qqblqfffbmkdr5b6mxzq02i8rj1hjq3iy6xv5i5xxy311b3vpb" "f706d22e6910" "ast")
|
|
|
|
|
("0q2p1a437qr2nshdd4934qkv2sblmykiwzir149c8p9m5sjk0dyw" "f5c2a9800add" "az")
|
|
|
|
|
("0gxxm3lv18kj0922bw0g897azc4nkrszm5irgwdkgmkbyr97li83" "98ba7d51484f" "be")
|
|
|
|
|
("10vrbbaabjns824ndya6c09znm815pak2xpvqgjydl3r5qvacx65" "5c79c77311cd" "bg")
|
|
|
|
|
("1il7yyifx5xzj0v2lna315mppl5pk1vi4m9r66hdz1lzc485m1wp" "c80c87ef7193" "bn")
|
|
|
|
|
("1p1ig4v9pczzrnnxzr20r61g7xk85k5lgnxhzgn1rx518p85xrkm" "6a1bcb9851b2" "br")
|
|
|
|
|
("08q33bk9kdvbyc4ib58bsn2b67ki3d2yzskkf5r2n5zlglblksa2" "939779cb58d6" "bs")
|
|
|
|
|
("1bdkywrqah85fh8kfnz163qnc02ffx0a4vlnx5pq1wg9j4f1gznf" "9a45ccf144f1" "ca")
|
|
|
|
|
("0hhmp5dzc0rssykl0b2n9h0vfy4svwhxmhpsr3rcfpbg2s0r5h6l" "4f60e18fc248" "ca-valencia")
|
|
|
|
|
("18phbl9raqsbys9wa8z0gq0h0pw3b55v6ngn67r4373lfc0s9cxv" "b4ef404c7de8" "cak")
|
|
|
|
|
("0147qyw1y97mgqhkb46wblxv61lq2mvvm5n5ihwf49l5cyizi0jg" "f56ef18f05df" "cs")
|
|
|
|
|
("08sbhnsxndlsaijnxndc367qcbrzb29m7bpkcawinz9fg6mz3573" "4f9d92f04f5e" "cy")
|
|
|
|
|
("09cm5kk1sh2a6ws1fj185jrknhfa6n4bhj7nfnr4lsk339n0kvv9" "902503567e30" "da")
|
|
|
|
|
("0r630bki5d4ylicq6lzh6s2mvsq225933szswmm0sap507rj75cm" "6000baf7a412" "de")
|
|
|
|
|
("0749qjsfv3rn94rnci3ydgndw27qlr3w3w97kfwma2gmsf3m3r0p" "4a948952d1f4" "dsb")
|
|
|
|
|
("0yc64i7mpxhs4qlyyh59i2aiz0vpap0bn8slcsk8b71wd1d7cy5m" "153a16a13733" "el")
|
|
|
|
|
("0d4m5ji6ii10yap8y24cxx3fr60ba1jqi10hy3j1cq6ni7hzavga" "7ce17ae529ac" "en-CA")
|
|
|
|
|
("12jzqcfbgdhfm8f2gqp15bdnin62li07jwicjc8ynn4cl9a19xiz" "a25d9eea7c23" "en-GB")
|
|
|
|
|
("0gbb8hfc5yvjah63mapjxm53wxrf98srbrbg43b9g734zfi4n8y5" "4ed3471dad5d" "eo")
|
|
|
|
|
("19lw7zmqx2irjmv5y6r7nncp6nysn06abf10n3dzj5nzgays6sln" "853fe7acb415" "es-AR")
|
|
|
|
|
("0rq4pa380b77rkv6dq7sqx8a8i33jk3vs5rgcl8fv7slqvsw23kd" "921b67bf27a5" "es-CL")
|
|
|
|
|
("1dyxzab9hln5spch66wmfagfzmfdiaxgpq7qlzvdfg98wkqdj25n" "c9a210ea496c" "es-ES")
|
|
|
|
|
("1gwpmfl37wxl7rynqswgj41liljflgxydvljd4zdhk3jzqn605fb" "ddd35183d81c" "es-MX")
|
|
|
|
|
("0c3blniddklapifnjbz03f2frw24jjgwgwn6swl5mwm2z0y6wa9f" "82d23ffaa7d3" "et")
|
|
|
|
|
("05mq2df6n6fr8m5m2xwl0f6n1q3zgjrnk465ldx1nfr9agrhd36c" "13975626d549" "eu")
|
|
|
|
|
("1l1jyqqiy551903j6yzh9ayg1pf26q2hr9h3jj4l51xzp7x4ms2q" "039e1fdb7c71" "fa")
|
|
|
|
|
("091l05y9sggxznv0y11b9zy5qf146p0hb5faw4ix7yn5p5kca2f5" "7bd3722d82de" "ff")
|
|
|
|
|
("1lllwjvmbl5dx44fcvsqg08fbflkc8dx5as9n6nf4xlkzydx6izm" "39808e88c9d1" "fi")
|
|
|
|
|
("10ha955vvyf5vbciricm72kplj9j0s00g2333lmg46jiwi7aviiv" "426d373db6a7" "fr")
|
|
|
|
|
("11zdfk8jvdy1k9z1q162cwapplcbz35l3dq4mv45brdin3v0x8kr" "96cd93d18389" "fy-NL")
|
|
|
|
|
("1l5xr25gmssyachwmfprlnp2v2xj4b0hp8gxrf7fi5bvv9c2fynb" "de3daf7d3f9d" "ga-IE")
|
|
|
|
|
("06h9ijfsn1cgz5fvxxbisk7fvqhgsw99id92575hgyg1p8xb1n69" "f04aea656d9e" "gd")
|
|
|
|
|
("19913i5n8yyfhz9j21krlk7wqsyy89vggxc1m1swv94y2ix8rpaj" "1b8cdb87bf69" "gl")
|
|
|
|
|
("0k5x31bfl2l0r9b5dkn03frm1gd8n6igai7ch2f1kj0skflynwww" "82df570c4241" "gn")
|
|
|
|
|
("03rygnj9xhfvykark7dls117kwhid13ghvrsqiial0vp8m7ymx79" "e2e41d7beaa5" "gu-IN")
|
|
|
|
|
("0vyraplj1x7b5im15anhzdaq03k2gqfyybgklrd4f9ry6msh5jhx" "de724e943805" "he")
|
|
|
|
|
("1zqps586jrgxpf7xx2l3qw3ch3fr31r9a25y861fpxrpvh7ygw7g" "898598e1a5c6" "hi-IN")
|
|
|
|
|
("0czq68l3qdhdc0mgazlrh8x83a6d5qrjwgjv8xvsmmzi7h68ww0l" "2711d1515af0" "hr")
|
|
|
|
|
("1wwvrnm38gk2rnw4vmcranh8hk61gjcj9292pck3ckiv6mq7kd4s" "03e02f3d0676" "hsb")
|
|
|
|
|
("0yvgdxlbyhhg3lk43hxx9gx66rcm7gaj02zzzx5zni8dhvlk2v6m" "d423ada9dc00" "hu")
|
|
|
|
|
("1kjm7bg4990jhfbxwc38r4lqm2fbcxc82nc2d4qkqwikr4aah4b9" "06836af0bd6e" "hy-AM")
|
|
|
|
|
("1dla7r3snvagb7m985xxqyi7gl498cr5xsz8msw0zpg6xmi05rlx" "299bd950d538" "ia")
|
|
|
|
|
("0w8w9xn93akir7nqcp5iwr3kqvba5gbirg7gmzlzg7mgrhw8pcsa" "dee087477b99" "id")
|
|
|
|
|
("10iakv1c1d20ihxg1s7c3zc1zfw18vr2kspcw7bk5k02rmrffgcn" "320095d063ed" "is")
|
|
|
|
|
("1xn5pa3rc7l6k2migm3c0dx71q1hk7mjls045xpv9cy8gvirnj94" "4722680fb5bf" "it")
|
|
|
|
|
("0va9zfj3wqh1yvbgh3x808yvdyxkg780vazjg887wbxpfk1n6hxa" "cb3cfe294621" "ja")
|
|
|
|
|
("0qvjc3fhk6jg2c3g6mymmnslg1rkkxmv9gi3whf2bc5mzfgyc5zw" "7efe92bd7780" "ja-JP-mac")
|
|
|
|
|
("0zfiwwz0axbd219ar32c7a6b8h816sf04ajx6jl74s5kyij79y82" "4c1fe3a18da9" "ka")
|
|
|
|
|
("1aiik4758r5df76q2a132y5fjdjrsxshjylk7irwsr7yy0c7f63g" "acdf76048aa0" "kab")
|
|
|
|
|
("0icxh4sgv6m1yykycb9d9c43k3r6w02f9c6jr04wm8hvqq5icfl5" "9b418ff7936b" "kk")
|
|
|
|
|
("1cqlhggf46lr7w399k7qb7a1hc56f32w1dy26i2racpppzza5plc" "9771ada0b5f8" "km")
|
|
|
|
|
("0p04irnb7x7y37m6lz388x9dynn8rnk000avpp296barajnhs5i8" "645aa37a2112" "kn")
|
|
|
|
|
("1lbc1fxr5i0ccymlsd8axz3633cqggg5k8ak5yqwi704g7kvv9g2" "1cd68952d119" "ko")
|
|
|
|
|
("11b55bxg73zqfdn5gy9nn5imab2mv0hxr603whggp7vymllgb7kb" "26bb83959bfe" "lij")
|
|
|
|
|
("15jsijm6d26i0105gz0f7sh2yh2v4pmw4j95cwkdrb1d8m935jlz" "b9829891f153" "lt")
|
|
|
|
|
("0liwwv13fgyw97nizhsyy53xrbf8jks5ics7qkkxfccawjrg5rlb" "e5f09d03d959" "lv")
|
|
|
|
|
("0w420yf3hdnl7dp9mn9ghc20cq79k24fn9adn3syk723ppl6mkb0" "7884845e94f3" "mk")
|
|
|
|
|
("13wkr7rgqsv9w3d9w7k8lnxdzgfixsq4bmc27zsyc770l6062ml6" "030db7412202" "mr")
|
|
|
|
|
("06nsadcnxx0ssdp67x47dj9crihn1ycgd5mwvn5m7lkb97r4ch9f" "40a7703e875c" "ms")
|
|
|
|
|
("0mlnjdzck6dp9p59ajj3sr63r36fn0qi8r9scrqrqcisgfclw9sg" "daca40056531" "my")
|
|
|
|
|
("0z1hgx9d5i9w20f9k9azzng1y3lmm5d6hdjkj7rf6r5710bhhzh5" "664bd049e105" "nb-NO")
|
|
|
|
|
("1466qvrs13g2iix1k35cknb2pia9b66li2ncvdyqf0jsd92z9k8x" "eaa6ae781ba0" "ne-NP")
|
|
|
|
|
("0jgmz2lkzj0aspd9mabygzic6li5s2b25y0r6vjg8mv3jm5pi86j" "5ef8f1c9739e" "nl")
|
|
|
|
|
("1m46x0h20vdfbzjxlz0ac43dbaq40xnyldr2yzbf7pk5di9pzxa6" "f08e15466d5d" "nn-NO")
|
|
|
|
|
("0r3zvihqh6iya3z1qm7if0m3zfgf81s9qp7x7qc701h2q357wkgf" "6712c0e12ec2" "oc")
|
|
|
|
|
("102j89jm28c223yhhkrj76xxj4kmy58hcs2r0jn15xa1qkqv1fdk" "8f36cc819e00" "pa-IN")
|
|
|
|
|
("1j9za6s0i46abn8dsrlkpck3qxxw35rhfcg1xs1vp8sc4ckg8qwi" "c3b0c1c02b94" "pl")
|
|
|
|
|
("1k9lbsvckpwl4xax8kxp5yxsfkspq2mhqm77jh5nl9aw88dsn55b" "cc32bf9630fe" "pt-BR")
|
|
|
|
|
("0f0jyvbn2sa5m66wqdzh4607g4gd0270xq37ipd9ls52b4764bd8" "5478d7242086" "pt-PT")
|
|
|
|
|
("19znkkialh1d4np7qcp80xkagrf1j2xah2s1xxzsh854p3d30zs7" "dd934a76fb01" "rm")
|
|
|
|
|
("1xn26r8g8zzkb5myfgmnjbk8k4i0brkvbrvnhp7k5nkrnsin25di" "d57ab3dee73d" "ro")
|
|
|
|
|
("04rhkxlmpp5pyzw85ldbfkmiigqr2p9y5cbns5dqs6sz1633ccxp" "7aea98f33a20" "ru")
|
|
|
|
|
("1zzkkxl7ayxh5gx9snyvp5czflsvi77hp48li613h3c2fii4n9qk" "7c986f4b5044" "sco")
|
|
|
|
|
("1219i0ghhqj3s1i0rm68jjkvivh6y40938wav7z4ifck527sq6r1" "bc9e55d4e3ea" "si")
|
|
|
|
|
("05i5p3n3a6hgl6rf10yjs4vag7y3rn2jwgxsddcdcqiv6405zn81" "8814afd7f67e" "sk")
|
|
|
|
|
("1wcqdbm1py1ldq6cj2g201m715nql79r6szr71jvrxacb711c62a" "20013dc06e96" "sl")
|
|
|
|
|
("0g2izkaa4ipwgwyhy77ciyrxxpf4pxzj9mjqvxriy5prmkhm3zjs" "d86d5d2b6eef" "son")
|
|
|
|
|
("1cc99m6srjg8698dkc3il70crby0mdv43v3ijwy069k4w50hyjjg" "49bb5fae5d9b" "sq")
|
|
|
|
|
("13kfssq4fhq9mb36as6sxiaffl17qyg1wdw8kpz3ilqm86bsjrgl" "d6a0ab79b06f" "sr")
|
|
|
|
|
("1wx9snbm0431q97i0q0nv4wbsqcv9nhllwfr88crlp7bfj5w8czw" "4bab04993da3" "sv-SE")
|
|
|
|
|
("0laglkfl8ml0ip5vmm3z2q790hgwax9gfqwq3wm68a2nnsyck8fw" "4b3316c4aa48" "szl")
|
|
|
|
|
("15pnlic4q7m48y0mc5yh8w5yscjwzx0mmfrbj3f2b9jxxa44nx4h" "48c7aab86db8" "ta")
|
|
|
|
|
("16qar5y0wns75ryi8bfv7yln3mjsyn7qi4345zcniz3ydgkczh46" "7bbb3dac8f47" "te")
|
|
|
|
|
("112g7x8h0qz16r5faam386x4a0rgwd4zy02d5agmg9m0kbficdfx" "009fd0852454" "th")
|
|
|
|
|
("1l80kh9byqxnz5vkz357rb39g4y9sgn9pr0v29ywp6d009img1qg" "dad9caecd7a9" "tl")
|
|
|
|
|
("1nalvjlxxsa9wldhhdb93bgfc7dl084xayh7i7mgg93yjgrym93x" "0c48082d37cd" "tr")
|
|
|
|
|
("0wkxqcfgsra2ljws28kiwajv73w9aa8drsc4fqlg9krbicnjl2n8" "f6d105faedcc" "trs")
|
|
|
|
|
("18jf4ysrfv3635fyxc1vwr970dr2r05bl3h8v599pwp2g7jzyjpm" "e1011388a55e" "uk")
|
|
|
|
|
("1ihmksjsz54yii23qda5iv8cxrj9144afy75hzhvfi6m182kj4h8" "c4e927eab511" "ur")
|
|
|
|
|
("0d42dhfa2vcw24wsvwf95pw20np0pz8c0is6p4307n981n8s207y" "7063df917cb3" "uz")
|
|
|
|
|
("04khnkrg8css55hyna01jqay9c2ppxk5znbx2zj9i25knhvvx1lq" "1753054e6ab8" "vi")
|
|
|
|
|
("0fi5kxn78xp7s15svkqlf4748j4pzxh941nm52n6kbbrhyi3qcqn" "93bc595dc32e" "xh")
|
|
|
|
|
("0jg676vd37wqgzjnm0yynj7xrvm6fsgdwg296h78wnyc33zc4ads" "edd4e468bc31" "zh-CN")
|
|
|
|
|
("1y4wldm3z95mfjlficp994jyqg0lj07wi35b79dy1s8ljy3jilil" "0bad1f7d2b2d" "zh-TW")))
|
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-10 23:15:32 -04:00
|
|
|
|
|
2021-09-16 07:47:33 -04:00
|
|
|
|
;; XXXX: Workaround 'snippet' limitations.
|
|
|
|
|
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
2023-02-10 13:41:41 -05:00
|
|
|
|
(define %icecat-base-version "102.8.0")
|
|
|
|
|
(define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
|
gnu: icecat: Update to 102.8.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2023-0767, CVE-2023-25728, CVE-2023-25729,
CVE-2023-25730, CVE-2023-25732, CVE-2023-25734, CVE-2023-25735,
CVE-2023-25737, CVE-2023-25738, CVE-2023-25739, CVE-2023-25742,
CVE-2023-25743, CVE-2023-25744, and CVE-2023-25746.
* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update gnuzilla commit, base version, and hashes.
Remove the dependency on the Perl 'rename' program.
* gnu/packages/patches/icecat-makeicecat.patch: Update to apply cleanly.
2023-02-14 15:46:35 -05:00
|
|
|
|
(define %icecat-build-id "20230214000000") ;must be of the form YYYYMMDDhhmmss
|
2019-01-29 21:15:36 -05: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
|
2023-02-10 13:41:41 -05:00
|
|
|
|
(let* ((major-version (first (string-split %icecat-base-version #\.)))
|
|
|
|
|
(minor-version (second (string-split %icecat-base-version #\.)))
|
|
|
|
|
(sub-version (third (string-split %icecat-base-version #\.)))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
2023-02-10 13:41:41 -05:00
|
|
|
|
(upstream-firefox-version (string-append %icecat-base-version "esr"))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(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
|
gnu: icecat: Update to 102.8.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2023-0767, CVE-2023-25728, CVE-2023-25729,
CVE-2023-25730, CVE-2023-25732, CVE-2023-25734, CVE-2023-25735,
CVE-2023-25737, CVE-2023-25738, CVE-2023-25739, CVE-2023-25742,
CVE-2023-25743, CVE-2023-25744, and CVE-2023-25746.
* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update gnuzilla commit, base version, and hashes.
Remove the dependency on the Perl 'rename' program.
* gnu/packages/patches/icecat-makeicecat.patch: Update to apply cleanly.
2023-02-14 15:46:35 -05:00
|
|
|
|
"0j6afrgfsmd0adbbmffw4p1f2hznpck9d36z3bsjx36f7cjgdy27"))))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
2023-02-10 13:41:41 -05:00
|
|
|
|
;; The upstream-icecat-base-version may be older than the
|
|
|
|
|
;; %icecat-base-version.
|
|
|
|
|
(upstream-icecat-base-version "102.8.0")
|
2023-02-19 18:23:57 -05:00
|
|
|
|
(gnuzilla-commit "f23f8b609ef4afcc7d8ac5fa795093f1c403f8da")
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(gnuzilla-source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "git://git.savannah.gnu.org/gnuzilla.git")
|
|
|
|
|
(commit gnuzilla-commit)))
|
2019-10-30 03:11:25 -04:00
|
|
|
|
(file-name (git-file-name "gnuzilla"
|
|
|
|
|
;;upstream-icecat-base-version
|
|
|
|
|
(string-take gnuzilla-commit 8)))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-02-19 18:23:57 -05:00
|
|
|
|
"1zvvgjvsj7k8753f7xmpmkq35dqzyik95943hzl84v2j5mnahhj4"))))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
2020-10-16 08:59:28 -04:00
|
|
|
|
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
|
|
|
|
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
gnu: icecat: Update to 78.3.0-guix0-preview1 [security-fixes].
Includes fixes for CVE-2020-15673, CVE-2020-15676, CVE-2020-15677, and
CVE-2020-15678.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales): Update to
RELEASE_8_0_0.
(all-mozilla-locales): Update to newer versions.
(mozilla-patch): Remove vestigial procedure.
(%icecat-version, %icecat-build-id): Update to 78.3.0-guix0-preview1.
(icecat-source): Update 'upstream-icecat-base-version', 'gnuzilla-commit', and
hashes. Reverse order of makeicecat-patch and gnuzilla-fixes-patch.
(icecat)[inputs]: Remove libogg, libvorbis, libvpx, icu4c, sqlite,
startup-notification, and zlib. Add several "UNBUNDLE-ME!" comments.
[native-inputs]: Update 'rust' and 'cargo' dependencies to version 1.41.
Update 'rust-cbindgen' dependency to version 0.14. Update 'node' dependency
to 10.22.
[arguments]<configure-flags>: Change --enable-default-toolkit value to
"cairo-gtk3-wayland". Change --with-unsigned-addon-scopes value to
"app,system". Add "--allow-addon-sideload". Remove
"--enable-startup-notification" and "--disable-gconf". Comment out
"--with-system-zlib", "--with-system-bz2", and "--with-system-icu".
<phases>: In the 'remove-bundled-libaries' phase, remove "modules/zlib" from
the list of directories to delete. Update the 'patch-cargo-checksums' phase
to update more modules.
(mozilla-68-compare-locales, all-mozilla-68-locales, %icecat-68-version)
(icecat-68-source): New variables preserving the previous icecat 68 source.
(icedove)[source]: Use 'icecat-68-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to IceCat 78.
* gnu/packages/patches/icecat-68-makeicecat.patch: New file containing
the previous 'icecat-makeicecat.patch'.
* gnu/local.mk: Add 'icecat-68-makeicecat.patch'.
2020-09-06 21:48:00 -04:00
|
|
|
|
(makeicecat-patch
|
2020-10-16 08:59:28 -04:00
|
|
|
|
(local-file (assume-valid-file-name
|
|
|
|
|
(search-patch "icecat-makeicecat.patch")))))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
|
|
|
|
(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
|
2023-02-10 13:41:41 -05:00
|
|
|
|
(string-append "firefox-" #$%icecat-base-version))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(icecat-dir
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
(string-append "icecat-" #$%icecat-version)))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
|
|
|
|
(set-path-environment-variable
|
|
|
|
|
"PATH" '("bin")
|
gnu: icecat: Update to 102.8.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2023-0767, CVE-2023-25728, CVE-2023-25729,
CVE-2023-25730, CVE-2023-25732, CVE-2023-25734, CVE-2023-25735,
CVE-2023-25737, CVE-2023-25738, CVE-2023-25739, CVE-2023-25742,
CVE-2023-25743, CVE-2023-25744, and CVE-2023-25746.
* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update gnuzilla commit, base version, and hashes.
Remove the dependency on the Perl 'rename' program.
* gnu/packages/patches/icecat-makeicecat.patch: Update to apply cleanly.
2023-02-14 15:46:35 -05:00
|
|
|
|
(list #+python
|
2019-01-29 21:15:36 -05:00
|
|
|
|
#+(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)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
#+(canonical-package tar)))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(set-path-environment-variable
|
|
|
|
|
"PYTHONPATH"
|
|
|
|
|
(list #+(format #f "lib/python~a/site-packages"
|
|
|
|
|
(version-major+minor
|
|
|
|
|
(package-version python))))
|
|
|
|
|
'#+(cons python-jsonschema
|
|
|
|
|
(map second
|
|
|
|
|
(package-transitive-propagated-inputs
|
|
|
|
|
python-jsonschema))))
|
|
|
|
|
|
|
|
|
|
;; Needed by the 'makeicecat' script.
|
|
|
|
|
(setenv "RENAME_CMD" "rename")
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
|
|
|
|
;; 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")
|
gnu: icecat: Update to 78.3.0-guix0-preview1 [security-fixes].
Includes fixes for CVE-2020-15673, CVE-2020-15676, CVE-2020-15677, and
CVE-2020-15678.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales): Update to
RELEASE_8_0_0.
(all-mozilla-locales): Update to newer versions.
(mozilla-patch): Remove vestigial procedure.
(%icecat-version, %icecat-build-id): Update to 78.3.0-guix0-preview1.
(icecat-source): Update 'upstream-icecat-base-version', 'gnuzilla-commit', and
hashes. Reverse order of makeicecat-patch and gnuzilla-fixes-patch.
(icecat)[inputs]: Remove libogg, libvorbis, libvpx, icu4c, sqlite,
startup-notification, and zlib. Add several "UNBUNDLE-ME!" comments.
[native-inputs]: Update 'rust' and 'cargo' dependencies to version 1.41.
Update 'rust-cbindgen' dependency to version 0.14. Update 'node' dependency
to 10.22.
[arguments]<configure-flags>: Change --enable-default-toolkit value to
"cairo-gtk3-wayland". Change --with-unsigned-addon-scopes value to
"app,system". Add "--allow-addon-sideload". Remove
"--enable-startup-notification" and "--disable-gconf". Comment out
"--with-system-zlib", "--with-system-bz2", and "--with-system-icu".
<phases>: In the 'remove-bundled-libaries' phase, remove "modules/zlib" from
the list of directories to delete. Update the 'patch-cargo-checksums' phase
to update more modules.
(mozilla-68-compare-locales, all-mozilla-68-locales, %icecat-68-version)
(icecat-68-source): New variables preserving the previous icecat 68 source.
(icedove)[source]: Use 'icecat-68-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to IceCat 78.
* gnu/packages/patches/icecat-68-makeicecat.patch: New file containing
the previous 'icecat-makeicecat.patch'.
* gnu/local.mk: Add 'icecat-68-makeicecat.patch'.
2020-09-06 21:48:00 -04:00
|
|
|
|
(invoke "patch" "--force" "--no-backup-if-mismatch"
|
|
|
|
|
"-p1" "--input" #+makeicecat-patch)
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(patch-shebang "makeicecat")
|
|
|
|
|
(substitute* "makeicecat"
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(("^readonly FFMAJOR=(.*)" all ffmajor)
|
2019-05-06 10:20:32 -04:00
|
|
|
|
(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"))
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(string-append "readonly FFMAJOR=" #$major-version "\n"))
|
|
|
|
|
(("^readonly FFMINOR=.*")
|
|
|
|
|
(string-append "readonly FFMINOR=" #$minor-version "\n"))
|
|
|
|
|
(("^readonly FFSUB=.*")
|
|
|
|
|
(string-append "readonly FFSUB=" #$sub-version "\n"))
|
|
|
|
|
(("^readonly DATADIR=.*")
|
|
|
|
|
"readonly DATADIR=/tmp/gnuzilla/data\n")
|
|
|
|
|
(("^readonly SOURCEDIR=.*")
|
|
|
|
|
(string-append "readonly SOURCEDIR=" icecat-dir "\n"))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(("/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
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
(format #t "Populating l10n directory...~%")
|
|
|
|
|
(force-output)
|
2019-06-04 04:10:04 -04:00
|
|
|
|
(mkdir "l10n")
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
(with-directory-excursion "l10n"
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (locale-dir)
|
|
|
|
|
(let ((locale
|
|
|
|
|
(string-drop (basename locale-dir)
|
|
|
|
|
(+ 32 ; length of hash
|
|
|
|
|
(string-length "-mozilla-locale-")))))
|
|
|
|
|
(format #t " ~a~%" locale)
|
|
|
|
|
(force-output)
|
|
|
|
|
(copy-recursively locale-dir locale
|
|
|
|
|
#:log (%make-void-port "w"))
|
|
|
|
|
(for-each make-file-writable (find-files locale))
|
|
|
|
|
(with-directory-excursion locale
|
|
|
|
|
(when (file-exists? ".hgtags")
|
|
|
|
|
(delete-file ".hgtags"))
|
|
|
|
|
(mkdir-p "browser/chrome/browser/preferences")
|
|
|
|
|
(call-with-output-file
|
|
|
|
|
"browser/chrome/browser/preferences/advanced-scripts.dtd"
|
|
|
|
|
(lambda (port) #f)))))
|
|
|
|
|
'#+all-mozilla-locales)
|
|
|
|
|
(copy-recursively #+mozilla-compare-locales
|
|
|
|
|
"compare-locales"
|
|
|
|
|
#:log (%make-void-port "w"))
|
|
|
|
|
(delete-file "compare-locales/.gitignore")
|
|
|
|
|
(delete-file "compare-locales/.hgignore")
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(delete-file "compare-locales/.hgtags")))
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(format #t "Running makeicecat script...~%")
|
|
|
|
|
(force-output)
|
|
|
|
|
(invoke "bash" "/tmp/gnuzilla/makeicecat")
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
2019-11-16 16:53:52 -05:00
|
|
|
|
(format #t "Packing IceCat source tarball...~%")
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(force-output)
|
2021-12-13 23:04:59 -05:00
|
|
|
|
(setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args)))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
(invoke "tar" "cfa" #$output
|
2019-03-19 19:01:48 -04: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-29 21:15:36 -05:00
|
|
|
|
"--owner=root:0"
|
|
|
|
|
"--group=root:0"
|
|
|
|
|
"--sort=name"
|
2021-12-13 23:04:59 -05:00
|
|
|
|
icecat-dir)))))))))
|
2019-01-29 21:15:36 -05:00
|
|
|
|
|
2013-11-11 14:44:34 -05:00
|
|
|
|
(define-public icecat
|
|
|
|
|
(package
|
|
|
|
|
(name "icecat")
|
2019-01-29 21:21:20 -05:00
|
|
|
|
(version %icecat-version)
|
2019-05-06 05:58:54 -04:00
|
|
|
|
(source icecat-source)
|
2013-11-11 14:44:34 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(list alsa-lib
|
|
|
|
|
bzip2
|
|
|
|
|
cups
|
|
|
|
|
dbus-glib
|
|
|
|
|
gdk-pixbuf
|
|
|
|
|
glib
|
|
|
|
|
gtk+
|
|
|
|
|
gtk+-2
|
|
|
|
|
;; UNBUNDLE-ME! graphite2
|
|
|
|
|
cairo
|
|
|
|
|
pango
|
|
|
|
|
freetype
|
|
|
|
|
font-dejavu
|
|
|
|
|
;; UNBUNDLE-ME! harfbuzz
|
|
|
|
|
libcanberra
|
|
|
|
|
libgnome
|
|
|
|
|
libjpeg-turbo
|
|
|
|
|
libpng-apng
|
|
|
|
|
;; UNBUNDLE-ME! libogg
|
|
|
|
|
;; UNBUNDLE-ME! libtheora ; wants theora-1.2, not yet released
|
|
|
|
|
;; UNBUNDLE-ME! libvorbis
|
|
|
|
|
libxft
|
|
|
|
|
libevent
|
|
|
|
|
libxinerama
|
|
|
|
|
libxscrnsaver
|
|
|
|
|
libxcomposite
|
|
|
|
|
libxt
|
|
|
|
|
libffi
|
|
|
|
|
ffmpeg
|
|
|
|
|
libvpx
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
icu4c-71 ; TODO: Change to 'icu4c' when its version is >= 71.
|
2022-05-12 16:13:10 -04:00
|
|
|
|
pixman
|
|
|
|
|
pulseaudio
|
|
|
|
|
mesa
|
|
|
|
|
pciutils
|
|
|
|
|
mit-krb5
|
|
|
|
|
hunspell
|
|
|
|
|
libnotify
|
|
|
|
|
;; See <https://bugs.gnu.org/32833>
|
|
|
|
|
;; and related comments in the 'remove-bundled-libraries' phase.
|
|
|
|
|
;; UNBUNDLE-ME! nspr
|
|
|
|
|
;; UNBUNDLE-ME! nss
|
|
|
|
|
shared-mime-info
|
|
|
|
|
sqlite
|
|
|
|
|
eudev
|
|
|
|
|
unzip
|
|
|
|
|
zip
|
|
|
|
|
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 06:01:56 -05:00
|
|
|
|
(native-inputs
|
2019-05-06 05:58:54 -04: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').
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(list
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
;; XXX TODO: Adapt these patches to IceCat 102.
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; ("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"))
|
2022-09-29 15:03:45 -04:00
|
|
|
|
rust
|
|
|
|
|
`(,rust "cargo")
|
2022-11-30 04:13:23 -05:00
|
|
|
|
rust-cbindgen-0.23
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
llvm
|
|
|
|
|
clang
|
2022-05-12 16:13:10 -04:00
|
|
|
|
perl
|
|
|
|
|
node
|
|
|
|
|
python-wrapper
|
|
|
|
|
yasm
|
|
|
|
|
nasm ; XXX FIXME: only needed on x86_64 and i686
|
|
|
|
|
pkg-config
|
|
|
|
|
m4
|
|
|
|
|
which))
|
2013-11-11 14:44:34 -05:00
|
|
|
|
(arguments
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(list
|
|
|
|
|
#:tests? #f ;not worth the cost
|
2015-04-16 03:56:10 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; Some dynamic lib was determined at runtime, so rpath check may fail.
|
|
|
|
|
#:validate-runpath? #f
|
2018-04-11 17:02:59 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
#:configure-flags
|
|
|
|
|
#~(list
|
|
|
|
|
"--enable-application=browser"
|
|
|
|
|
"--with-distribution-id=org.gnu"
|
|
|
|
|
"--enable-geckodriver"
|
|
|
|
|
;; Do not require addons in the global app or system directories to
|
|
|
|
|
;; be signed by Mozilla.
|
|
|
|
|
"--with-unsigned-addon-scopes=app,system"
|
|
|
|
|
"--allow-addon-sideload"
|
2019-11-16 16:53:52 -05:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
"--enable-pulseaudio"
|
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 16:49:20 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
"--disable-tests"
|
|
|
|
|
"--disable-updater"
|
|
|
|
|
"--disable-crashreporter"
|
|
|
|
|
"--disable-eme"
|
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 03:28:03 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; Building with debugging symbols takes ~5GiB, so disable it.
|
|
|
|
|
"--disable-debug"
|
|
|
|
|
"--disable-debug-symbols"
|
2013-12-13 12:08:18 -05:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
"--enable-rust-simd"
|
|
|
|
|
"--enable-release"
|
|
|
|
|
"--enable-optimize"
|
|
|
|
|
"--enable-strip"
|
|
|
|
|
"--disable-elf-hack"
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04: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="
|
|
|
|
|
(search-input-file %build-inputs "bin/clang"))
|
|
|
|
|
(string-append "--with-libclang-path="
|
|
|
|
|
(dirname (search-input-file %build-inputs
|
|
|
|
|
"lib/libclang.so")))
|
2018-12-11 18:29:38 -05:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; Hack to work around missing "unofficial" branding in icecat.
|
|
|
|
|
"--enable-official-branding"
|
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-10 23:15:32 -04:00
|
|
|
|
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
;; TODO: Add support for wasm sandboxed libraries.
|
|
|
|
|
"--without-wasm-sandboxed-libraries"
|
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; Avoid bundled libraries.
|
|
|
|
|
"--with-system-jpeg" ;must be libjpeg-turbo
|
|
|
|
|
"--with-system-png" ;must be libpng-apng
|
|
|
|
|
"--with-system-zlib"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-bz2"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-libevent"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-ogg"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-vorbis"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet released
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-libvpx"
|
|
|
|
|
"--with-system-icu"
|
2020-09-28 01:14:47 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; See <https://bugs.gnu.org/32833>
|
|
|
|
|
;; and related comments in the
|
|
|
|
|
;; 'remove-bundled-libraries' phase below.
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-nspr"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-nss"
|
gnu: icecat: Update to 78.3.0-guix0-preview1 [security-fixes].
Includes fixes for CVE-2020-15673, CVE-2020-15676, CVE-2020-15677, and
CVE-2020-15678.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales): Update to
RELEASE_8_0_0.
(all-mozilla-locales): Update to newer versions.
(mozilla-patch): Remove vestigial procedure.
(%icecat-version, %icecat-build-id): Update to 78.3.0-guix0-preview1.
(icecat-source): Update 'upstream-icecat-base-version', 'gnuzilla-commit', and
hashes. Reverse order of makeicecat-patch and gnuzilla-fixes-patch.
(icecat)[inputs]: Remove libogg, libvorbis, libvpx, icu4c, sqlite,
startup-notification, and zlib. Add several "UNBUNDLE-ME!" comments.
[native-inputs]: Update 'rust' and 'cargo' dependencies to version 1.41.
Update 'rust-cbindgen' dependency to version 0.14. Update 'node' dependency
to 10.22.
[arguments]<configure-flags>: Change --enable-default-toolkit value to
"cairo-gtk3-wayland". Change --with-unsigned-addon-scopes value to
"app,system". Add "--allow-addon-sideload". Remove
"--enable-startup-notification" and "--disable-gconf". Comment out
"--with-system-zlib", "--with-system-bz2", and "--with-system-icu".
<phases>: In the 'remove-bundled-libaries' phase, remove "modules/zlib" from
the list of directories to delete. Update the 'patch-cargo-checksums' phase
to update more modules.
(mozilla-68-compare-locales, all-mozilla-68-locales, %icecat-68-version)
(icecat-68-source): New variables preserving the previous icecat 68 source.
(icedove)[source]: Use 'icecat-68-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to IceCat 78.
* gnu/packages/patches/icecat-68-makeicecat.patch: New file containing
the previous 'icecat-makeicecat.patch'.
* gnu/local.mk: Add 'icecat-68-makeicecat.patch'.
2020-09-06 21:48:00 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
;; UNBUNDLE-ME! "--with-system-harfbuzz"
|
|
|
|
|
;; UNBUNDLE-ME! "--with-system-graphite2"
|
|
|
|
|
"--enable-system-pixman"
|
|
|
|
|
"--enable-system-ffi"
|
|
|
|
|
;; UNBUNDLE-ME! "--enable-system-sqlite"
|
|
|
|
|
)
|
2013-12-13 12:08:18 -05:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
2019-02-15 02:04:28 -05:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
#:modules `((ice-9 ftw)
|
2016-06-02 12:59:58 -04:00
|
|
|
|
(ice-9 match)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
(srfi srfi-1)
|
|
|
|
|
(srfi srfi-26)
|
2020-01-15 20:26:46 -05:00
|
|
|
|
(rnrs bytevectors)
|
|
|
|
|
(rnrs io ports)
|
|
|
|
|
(guix elf)
|
|
|
|
|
(guix build gremlin)
|
2015-10-13 15:56:32 -04:00
|
|
|
|
,@%gnu-build-system-modules)
|
2022-05-12 16:13:10 -04:00
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'apply-guix-specific-patches
|
|
|
|
|
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
|
|
|
|
(let ((patch (search-input-file inputs "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)))))
|
|
|
|
|
(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"
|
|
|
|
|
;; "media/libjpeg" ; needed for now, because media/libjpeg/moz.build is referenced from config/external/moz.build
|
|
|
|
|
;; UNBUNDLE-ME! "modules/zlib"
|
|
|
|
|
;; UNBUNDLE-ME! "ipc/chromium/src/third_party/libevent"
|
|
|
|
|
;; UNBUNDLE-ME! "media/libvpx"
|
|
|
|
|
;; UNBUNDLE-ME! "media/libogg"
|
|
|
|
|
;; UNBUNDLE-ME! "media/libvorbis"
|
|
|
|
|
;; UNBUNDLE-ME! "media/libtheora" ; wants theora-1.2, not yet released
|
|
|
|
|
;; UNBUNDLE-ME! "media/libtremor"
|
|
|
|
|
;; UNBUNDLE-ME! "gfx/harfbuzz"
|
|
|
|
|
;; UNBUNDLE-ME! "gfx/graphite2"
|
|
|
|
|
"js/src/ctypes/libffi"
|
|
|
|
|
;; UNBUNDLE-ME! "db/sqlite3"
|
|
|
|
|
))))
|
|
|
|
|
(add-after 'remove-bundled-libraries 'fix-ffmpeg-runtime-linker
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
;; Arrange to load libavcodec.so by its absolute file name.
|
|
|
|
|
(substitute* "dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp"
|
|
|
|
|
(("libavcodec\\.so")
|
|
|
|
|
(search-input-file inputs "lib/libavcodec.so")))))
|
|
|
|
|
(add-after 'fix-ffmpeg-runtime-linker 'build-sandbox-whitelist
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(define (runpath-of lib)
|
|
|
|
|
(call-with-input-file lib
|
|
|
|
|
(compose elf-dynamic-info-runpath
|
|
|
|
|
elf-dynamic-info
|
|
|
|
|
parse-elf
|
|
|
|
|
get-bytevector-all)))
|
|
|
|
|
(define (runpaths-of-input label)
|
|
|
|
|
(let* ((dir (string-append (assoc-ref inputs label) "/lib"))
|
|
|
|
|
(libs (find-files dir "\\.so$")))
|
|
|
|
|
(append-map runpath-of libs)))
|
|
|
|
|
;; Populate the sandbox read-path whitelist as needed by ffmpeg.
|
|
|
|
|
(let* ((whitelist
|
|
|
|
|
(map (cut string-append <> "/")
|
|
|
|
|
(delete-duplicates
|
|
|
|
|
`(,(string-append (assoc-ref inputs "shared-mime-info")
|
|
|
|
|
"/share/mime")
|
|
|
|
|
,(string-append (assoc-ref inputs "font-dejavu")
|
|
|
|
|
"/share/fonts")
|
|
|
|
|
"/run/current-system/profile/share/fonts"
|
|
|
|
|
,@(append-map runpaths-of-input
|
|
|
|
|
'("mesa" "ffmpeg"))))))
|
|
|
|
|
(whitelist-string (string-join whitelist ","))
|
|
|
|
|
(port (open-file "browser/app/profile/icecat.js" "a")))
|
|
|
|
|
(format #t "setting 'security.sandbox.content.read_path_whitelist' to '~a'~%"
|
|
|
|
|
whitelist-string)
|
|
|
|
|
(format port "~%pref(\"security.sandbox.content.read_path_whitelist\", ~S);~%"
|
|
|
|
|
whitelist-string)
|
|
|
|
|
(close-output-port port))))
|
|
|
|
|
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
|
|
|
|
(lambda _
|
|
|
|
|
(use-modules (guix build cargo-utils))
|
|
|
|
|
(let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(format #t "patching checksums in ~a~%" file)
|
|
|
|
|
(substitute* file
|
|
|
|
|
(("^checksum = \".*\"")
|
|
|
|
|
(string-append "checksum = \"" null-hash "\""))))
|
|
|
|
|
(find-files "." "Cargo.lock$"))
|
|
|
|
|
(for-each generate-all-checksums
|
|
|
|
|
'("services"
|
|
|
|
|
"js"
|
|
|
|
|
"third_party/rust"
|
|
|
|
|
"dom/media"
|
|
|
|
|
"dom/webauthn"
|
|
|
|
|
"toolkit"
|
|
|
|
|
"gfx"
|
|
|
|
|
"storage"
|
|
|
|
|
"modules"
|
|
|
|
|
"xpcom/rust"
|
|
|
|
|
"media"
|
|
|
|
|
"mozglue/static/rust"
|
|
|
|
|
"netwerk"
|
|
|
|
|
"remote"
|
|
|
|
|
"intl"
|
|
|
|
|
"servo"
|
|
|
|
|
"security/manager/ssl"
|
|
|
|
|
"build")))))
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
(add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Remove --frozen flag from cargo invokation, otherwise it'll
|
|
|
|
|
;; complain that it's not able to change Cargo.lock.
|
|
|
|
|
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
|
|
|
|
|
(substitute* "build/RunCbindgen.py"
|
|
|
|
|
(("\"--frozen\",") ""))))
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(delete 'bootstrap)
|
|
|
|
|
(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* ((bash (which "bash"))
|
|
|
|
|
(abs-srcdir (getcwd))
|
|
|
|
|
(flags `(,(string-append "--prefix=" #$output)
|
|
|
|
|
,(string-append "--with-l10n-base="
|
|
|
|
|
abs-srcdir "/l10n")
|
|
|
|
|
,@configure-flags)))
|
|
|
|
|
(setenv "SHELL" bash)
|
|
|
|
|
(setenv "CONFIG_SHELL" bash)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(setenv "AR" "llvm-ar")
|
|
|
|
|
(setenv "NM" "llvm-nm")
|
|
|
|
|
(setenv "CC" "clang")
|
|
|
|
|
(setenv "CXX" "clang++")
|
|
|
|
|
(setenv "LDFLAGS" (string-append "-Wl,-rpath="
|
|
|
|
|
#$output "/lib/icecat"))
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
(setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(setenv "MOZ_BUILD_DATE" #$%icecat-build-id) ; avoid timestamp
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
;; XXX TODO: Fix this to work on systems other than x86_64-linux.
|
|
|
|
|
(setenv "GUIX_PYTHONPATH"
|
|
|
|
|
(string-append (getcwd)
|
|
|
|
|
"/obj-x86_64-pc-linux-gnu/_virtualenvs/build"))
|
|
|
|
|
|
|
|
|
|
(mkdir ".mozbuild")
|
|
|
|
|
(setenv "MOZBUILD_STATE_PATH"
|
|
|
|
|
(string-append (getcwd) "/.mozbuild"))
|
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(format #t "build directory: ~s~%" (getcwd))
|
|
|
|
|
(format #t "configure flags: ~s~%" flags)
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(call-with-output-file "mozconfig"
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(for-each (lambda (flag)
|
|
|
|
|
(format port "ac_add_options ~a\n" flag))
|
|
|
|
|
flags)))
|
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-23 13:13:08 -04:00
|
|
|
|
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(invoke "./mach" "configure"))))
|
|
|
|
|
(replace 'build
|
|
|
|
|
(lambda* (#:key (make-flags '()) (parallel-build? #t)
|
|
|
|
|
#:allow-other-keys)
|
|
|
|
|
(apply invoke "./mach" "build"
|
|
|
|
|
;; mach will use parallel build if possible by default
|
|
|
|
|
`(,@(if parallel-build?
|
|
|
|
|
'()
|
|
|
|
|
'("-j1"))
|
|
|
|
|
,@make-flags))))
|
|
|
|
|
(add-after 'build 'neutralise-store-references
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Mangle the store references to compilers & other build tools in
|
|
|
|
|
;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
|
|
|
|
|
(let* ((obj-dir (match (scandir "." (cut string-prefix? "obj-" <>))
|
|
|
|
|
((dir) dir)))
|
|
|
|
|
(file (string-append
|
|
|
|
|
obj-dir
|
|
|
|
|
"/dist/bin/chrome/toolkit/content/global/buildconfig.html")))
|
|
|
|
|
(substitute* file
|
|
|
|
|
(("[0-9a-df-np-sv-z]{32}" hash)
|
|
|
|
|
(string-append (string-take hash 8)
|
|
|
|
|
"<!-- Guix: not a runtime dependency -->"
|
|
|
|
|
(string-drop hash 8)))))))
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(invoke "./mach" "install")
|
|
|
|
|
;; The geckodriver binary is not installed by the above, for some
|
|
|
|
|
;; reason. Use 'find-files' to avoid having to deal with the
|
|
|
|
|
;; system/architecture-specific file name.
|
|
|
|
|
(install-file (first (find-files "." "geckodriver"))
|
|
|
|
|
(string-append #$output "/bin"))))
|
|
|
|
|
(add-after 'install 'wrap-program
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let* ((lib (string-append #$output "/lib"))
|
|
|
|
|
(gtk #$(this-package-input "gtk+"))
|
|
|
|
|
(gtk-share (string-append gtk "/share"))
|
|
|
|
|
(ld-libs '#$(map (lambda (label)
|
|
|
|
|
(file-append (this-package-input label) "/lib"))
|
|
|
|
|
'("libpng-apng"
|
|
|
|
|
"libxscrnsaver"
|
|
|
|
|
"mesa"
|
|
|
|
|
"pciutils"
|
|
|
|
|
"mit-krb5"
|
|
|
|
|
"eudev"
|
|
|
|
|
"pulseaudio"
|
|
|
|
|
;; For the integration of native notifications
|
|
|
|
|
"libnotify"))))
|
|
|
|
|
(wrap-program (car (find-files lib "^icecat$"))
|
|
|
|
|
`("XDG_DATA_DIRS" prefix (,gtk-share))
|
|
|
|
|
;; The following line is commented out because the icecat
|
|
|
|
|
;; package on guix has been observed to be unstable when
|
|
|
|
|
;; using wayland, and the bundled extensions stop working.
|
|
|
|
|
;; `("MOZ_ENABLE_WAYLAND" = ("1"))
|
|
|
|
|
`("LD_LIBRARY_PATH" prefix ,ld-libs)))))
|
|
|
|
|
(add-after 'wrap-program 'install-desktop-entry
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Install the '.desktop' file.
|
|
|
|
|
(let* ((desktop-file "taskcluster/docker/icecat-snap/icecat.desktop")
|
|
|
|
|
(applications (string-append #$output "/share/applications")))
|
|
|
|
|
(substitute* desktop-file
|
|
|
|
|
(("^Exec=icecat") (string-append "Exec=" #$output "/bin/icecat"))
|
|
|
|
|
(("IceCat") "GNU IceCat")
|
|
|
|
|
(("Icon=.*") "Icon=icecat\n")
|
|
|
|
|
(("NewWindow") "new-window")
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
(("NewPrivateWindow") "new-private-window")
|
|
|
|
|
(("StartupNotify=true")
|
|
|
|
|
"StartupNotify=true\nStartupWMClass=Navigator"))
|
2022-05-12 16:13:10 -04:00
|
|
|
|
(install-file desktop-file applications))))
|
|
|
|
|
(add-after 'install-desktop-entry 'install-icons
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "browser/branding/official"
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(let* ((size (string-filter char-numeric? file))
|
|
|
|
|
(icons (string-append #$output "/share/icons/hicolor/"
|
|
|
|
|
size "x" size "/apps")))
|
|
|
|
|
(mkdir-p icons)
|
|
|
|
|
(copy-file file (string-append icons "/icecat.png"))))
|
|
|
|
|
'("default16.png" "default22.png" "default24.png"
|
|
|
|
|
"default32.png" "default48.png" "content/icon64.png"
|
|
|
|
|
"mozicon128.png" "default256.png"))))))))
|
2017-03-29 18:48:16 -04:00
|
|
|
|
(home-page "https://www.gnu.org/software/gnuzilla/")
|
2013-11-11 14:44:34 -05: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 09:31:31 -04:00
|
|
|
|
software, which does not recommend non-free plugins and addons. It also
|
2021-11-04 13:45:36 -04:00
|
|
|
|
features built-in privacy-protecting features. This package also includes the
|
|
|
|
|
@command{geckodriver} command, which can be useful for automated web
|
|
|
|
|
testing.
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
|
gnu: icecat: Update to 102.3.0-guix0-preview1 [security fixes].
Includes fixes for CVE-2022-40956, CVE-2022-40957, CVE-2022-40958,
CVE-2022-40959, CVE-2022-40960, and CVE-2022-40962.
Partly based on earlier work by:
Jonathan Brielmaier <jonathan.brielmaier@web.de>
John Kehayias <john.kehayias@protonmail.com>
Pierre Langlois <pierre.langlois@gmx.com>
Clement Lassieur <clement@lassieur.org>
* gnu/packages/gnuzilla.scm (all-mozilla-locales)
(%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest
gnuzilla commit. Remove the code that previously applied
"icecat-use-older-reveal-hidden-html.patch".
(icecat)[inputs]: Use icu4c-71.
[native-inputs]: Use rust-1.59. Use the default llvm and clang.
[arguments]: Add "--without-wasm-sandboxed-libraries" to the configure
flags. Add 'remove-cargo-frozen-flag' phase. In the 'configure'
phase, set the "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE",
"GUIX_PYTHONPATH", and "MOZBUILD_STATE_PATH" environment variables.
Remove the code that previously set the "MACH_USE_SYSTEM_PYTHON" and
"MOZ_NOSPAM" environment variables. In the 'install-desktop-entry'
phase, add "StartupWMClass=Navigator" to the desktop file.
[description]: "IceCat 91" --> "IceCat 102".
(all-mozilla-91-locales, %icecat-91-version, icecat-91-source): New
variables bound to the old values, for use by icedove.
(icedove)[source]: Ues 'icecat-91-source'.
2022-09-17 19:52:08 -04:00
|
|
|
|
WARNING: IceCat 102 has not yet been released by the upstream IceCat project.
|
gnu: icecat: Update to 68.2.0-guix0-preview1 [security fixes].
Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.
Note: IceCat 68 has not yet been released by the IceCat project. This is a
work-in-progress, and does not currently meet the privacy-respecting
standards of the IceCat project.
* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory. Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now. Use the
newest rust, cargo, llvm, and clang. Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite. Add srfi-34 and srfi-35 to modules. Delete
fewer bundled libraries. Adapt the 'patch-source-shebangs' phase. Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
2019-10-21 04:55:12 -04:00
|
|
|
|
This is a preview release, and does not currently meet the privacy-respecting
|
|
|
|
|
standards of the IceCat project.")
|
2016-04-14 16:18:56 -04:00
|
|
|
|
(license license:mpl2.0) ;and others, see toolkit/content/license.html
|
2016-05-17 12:04:13 -04: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-10 23:15:32 -04:00
|
|
|
|
(cpe-version . ,(first (string-split version #\-)))))))
|
2018-12-23 12:15:27 -05:00
|
|
|
|
|
2023-02-09 22:19:55 -05:00
|
|
|
|
(define %icecat-locales
|
|
|
|
|
'("ach" "af" "an" "ar" "ast" "az" "be" "bg" "bn" "br" "bs" "ca" "cak"
|
|
|
|
|
"ca-valencia" "cs" "cy" "da" "de" "dsb" "el" "en-CA" "en-GB" "eo" "es-AR"
|
|
|
|
|
"es-CL" "es-ES" "es-MX" "et" "eu" "fa" "ff" "fi" "fr" "fy-NL" "ga-IE" "gd"
|
|
|
|
|
"gl" "gn" "gu-IN" "he" "hi-IN" "hr" "hsb" "hu" "hy-AM" "ia" "id" "is" "it"
|
|
|
|
|
"ja" "ja-JP-mac" "ka" "kab" "kk" "km" "kn" "ko" "lij" "lt" "lv" "mk" "mr" "ms"
|
|
|
|
|
"my" "nb-NO" "ne-NP" "nl" "nn-NO" "oc" "pa-IN" "pl" "pt-BR" "pt-PT" "rm" "ro"
|
|
|
|
|
"ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl"
|
|
|
|
|
"tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW"))
|
|
|
|
|
|
2023-02-11 16:16:45 -05:00
|
|
|
|
(define %icedove-build-id "20230207000000") ;must be of the form YYYYMMDDhhmmss
|
|
|
|
|
(define %icedove-version "102.7.2")
|
2022-10-21 06:11:26 -04:00
|
|
|
|
|
|
|
|
|
;; Provides the "comm" folder which is inserted into the icecat source.
|
|
|
|
|
;; Avoids the duplication of Icecat's source tarball.
|
2023-02-09 22:05:58 -05:00
|
|
|
|
(define thunderbird-comm-source
|
2022-10-21 06:11:26 -04:00
|
|
|
|
(origin
|
|
|
|
|
(method hg-fetch)
|
|
|
|
|
(uri (hg-reference
|
|
|
|
|
(url "https://hg.mozilla.org/releases/comm-esr102")
|
2023-02-11 16:16:45 -05:00
|
|
|
|
(changeset "0f6deed0752b618055c34e06c268af3da9d1548d")))
|
2022-10-21 06:11:26 -04:00
|
|
|
|
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-02-11 16:16:45 -05:00
|
|
|
|
"071q0pcfvfpzx741ly1sl8anlmzx02h17w4ylfnrkwrpaclq3p6p"))))
|
2022-10-21 06:11:26 -04:00
|
|
|
|
|
2023-02-09 22:05:58 -05:00
|
|
|
|
(define (comm-source->locales+changeset source)
|
|
|
|
|
"Given SOURCE, a checkout of the Thunderbird 'comm' component, return the
|
|
|
|
|
list of languages supported as well as the currently used changeset."
|
|
|
|
|
(match (update-mozilla-locales
|
|
|
|
|
(string-append source "/mail/locales/l10n-changesets.json"))
|
|
|
|
|
(((_ changeset locale) ...)
|
|
|
|
|
(values locale (first changeset)))))
|
|
|
|
|
|
2023-02-09 22:19:55 -05:00
|
|
|
|
;;; Generated with comm-source->locales+changeset.
|
|
|
|
|
(define %icedove-locales
|
|
|
|
|
'("af" "ar" "ast" "be" "bg" "br" "ca" "cak" "cs" "cy" "da" "de" "dsb" "el"
|
|
|
|
|
"en-CA" "en-GB" "es-AR" "es-ES" "es-MX" "et" "eu" "fi" "fr" "fy-NL" "ga-IE"
|
|
|
|
|
"gd" "gl" "he" "hr" "hsb" "hu" "hy-AM" "id" "is" "it" "ja" "ja-JP-mac" "ka"
|
|
|
|
|
"kab" "kk" "ko" "lt" "lv" "ms" "nb-NO" "nl" "nn-NO" "pa-IN" "pl" "pt-BR"
|
|
|
|
|
"pt-PT" "rm" "ro" "ru" "sk" "sl" "sq" "sr" "sv-SE" "th" "tr" "uk" "uz" "vi"
|
|
|
|
|
"zh-CN" "zh-TW"))
|
|
|
|
|
|
2023-02-09 22:05:58 -05:00
|
|
|
|
;;; To find out which changeset to use for the comm-l10n repo, use the
|
|
|
|
|
;;; 'comm-source->locales+changeset' procedure on the thunderbird-comm-source
|
|
|
|
|
;;; checkout directory. The complete localization data should be released as
|
|
|
|
|
;;; a tarball in the next release (see:
|
|
|
|
|
;;; https://bugzilla.mozilla.org/show_bug.cgi?id=1817086). When this tarball
|
|
|
|
|
;;; is available, it should replace the complete 'l10n' directory at the root
|
|
|
|
|
;;; of the IceCat source, instead of only the 'calendar', chat and mail
|
|
|
|
|
;;; directories that it provides.
|
|
|
|
|
(define thunderbird-comm-l10n
|
|
|
|
|
(let* ((changeset "5b6788295358")
|
|
|
|
|
(version (git-version %icedove-version "0" changeset)))
|
|
|
|
|
(origin
|
|
|
|
|
(method hg-fetch)
|
|
|
|
|
(uri (hg-reference
|
|
|
|
|
(url "https://hg.mozilla.org/projects/comm-l10n")
|
|
|
|
|
(changeset changeset)))
|
|
|
|
|
(file-name (git-file-name "comm-l10n" version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1jrsmkscjjllcfawi3788vwm53wn25inbhdis5nk4vfpr7wk5ill")))))
|
|
|
|
|
|
|
|
|
|
(define icedove-source
|
|
|
|
|
(let ((name (string-append "icedove-" %icedove-version)))
|
|
|
|
|
(origin
|
|
|
|
|
(method computed-origin-method)
|
|
|
|
|
(file-name (string-append name ".tar.xz"))
|
|
|
|
|
(sha256 #f)
|
|
|
|
|
(uri
|
|
|
|
|
(delay
|
|
|
|
|
(with-imported-modules (source-module-closure '((guix build utils)))
|
|
|
|
|
#~(begin
|
|
|
|
|
(use-modules (guix build utils)
|
|
|
|
|
(sxml simple))
|
|
|
|
|
|
|
|
|
|
(set-path-environment-variable
|
|
|
|
|
"PATH" '("bin")
|
|
|
|
|
(list #+(canonical-package tar)
|
|
|
|
|
#+(canonical-package xz)))
|
|
|
|
|
|
|
|
|
|
;; Extract the base Icecat tarball, renaming its top-level
|
|
|
|
|
;; directory.
|
|
|
|
|
(invoke "tar" "--transform" (string-append "s,[^/]*," #$name ",")
|
|
|
|
|
"-xf" #$icecat-source)
|
|
|
|
|
(chdir #$name)
|
|
|
|
|
|
|
|
|
|
;; Merge the Thunderdbird localization data.
|
|
|
|
|
(copy-recursively #$thunderbird-comm-l10n "l10n")
|
|
|
|
|
|
|
|
|
|
;; Add the Thunderbird-specific "comm" directory..
|
|
|
|
|
(mkdir "comm")
|
|
|
|
|
(copy-recursively #$thunderbird-comm-source "comm")
|
|
|
|
|
(delete-file "sourcestamp.txt")
|
|
|
|
|
|
|
|
|
|
;; Adjust the application name.
|
|
|
|
|
(substitute* "comm/mail/confvars.sh"
|
|
|
|
|
(("MOZ_APP_NAME=thunderbird")
|
|
|
|
|
"MOZ_APP_NAME=icedove")
|
|
|
|
|
(("MOZ_UPDATER=1")
|
|
|
|
|
"MOZ_UPDATER=0"))
|
|
|
|
|
|
|
|
|
|
;; Remove branding to comply with Mozilla's trademark policy
|
|
|
|
|
(with-directory-excursion "comm/mail/branding/nightly"
|
|
|
|
|
(delete-file "content/about-wordmark.svg")
|
|
|
|
|
(call-with-output-file "content/about-wordmark.svg"
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(sxml->xml '(svg (@ (xmlns "http://www.w3.org/2000/svg")
|
|
|
|
|
(viewBox "0 0 789.1 90.78")
|
|
|
|
|
(width "333")
|
|
|
|
|
(height "48")
|
|
|
|
|
(fill "#fff"))
|
|
|
|
|
(text (@ (x "400") (y "70")
|
|
|
|
|
(text-anchor "middle")
|
|
|
|
|
(font-size "90"))
|
|
|
|
|
"Icedove Daily"))
|
|
|
|
|
port)))
|
|
|
|
|
(substitute* '("locales/en-US/brand.properties"
|
|
|
|
|
"locales/en-US/brand.ftl"
|
|
|
|
|
"locales/en-US/brand.dtd"
|
|
|
|
|
"configure.sh")
|
|
|
|
|
(("Thunderbird") "Icedove")
|
|
|
|
|
(("mozilla.org") "guix.gnu.org")))
|
|
|
|
|
;; Remove other mentions of Thunderbird in user-visible text.
|
|
|
|
|
(with-directory-excursion "comm/mail/base/content"
|
|
|
|
|
(substitute* '("overrides/app-license-name.html")
|
|
|
|
|
(("Thunderbird") "Icedove")))
|
|
|
|
|
(with-directory-excursion "comm/mail/components/"
|
|
|
|
|
(substitute* '("MailGlue.jsm"
|
|
|
|
|
"extensions/schemas/addressBook.json"
|
|
|
|
|
"extensions/schemas/tabs.json"
|
|
|
|
|
"extensions/schemas/cloudFile.json"
|
|
|
|
|
"extensions/schemas/chrome_settings_overrides.json"
|
|
|
|
|
"extensions/schemas/windows.json"
|
|
|
|
|
"extensions/parent/ext-mail.js"
|
|
|
|
|
"im/messages/mail/Info.plist"
|
|
|
|
|
"enterprisepolicies/moz.build"
|
|
|
|
|
"enterprisepolicies/helpers/moz.build"
|
|
|
|
|
"enterprisepolicies/schemas/moz.build")
|
|
|
|
|
(("Thunderbird") "Icedove")))
|
|
|
|
|
(substitute* '("comm/mailnews/base/prefs/content/accountUtils.js"
|
|
|
|
|
"comm/mail/base/content/customizeToolbar.js"
|
|
|
|
|
"comm/suite/components/customizeToolbar.js")
|
|
|
|
|
(("AppConstants.MOZ_APP_NAME (.)= \"thunderbird" _ e)
|
|
|
|
|
(format #f "AppConstants.MOZ_APP_NAME ~a= \"icedove" e)))
|
|
|
|
|
|
|
|
|
|
;; Override addon URLs and settings
|
|
|
|
|
(substitute* "comm/mail/app/profile/all-thunderbird.js"
|
|
|
|
|
(("(pref\\(\"extensions.webservice.discoverURL\").*" _ m)
|
|
|
|
|
(string-append m ", \"https://directory.fsf.org/wiki/Icedove\");"))
|
|
|
|
|
(("(pref\\(\"extensions.getAddons.search.url\").*" _ m)
|
|
|
|
|
(string-append m ", \"https://guix.gnu.org/packages\");"))
|
|
|
|
|
(("(pref\\(\"extensions.update.enabled\").*" _ m)
|
|
|
|
|
(string-append m ", false);"))
|
|
|
|
|
(("(pref\\(\"extensions.systemAddon.update.enabled\").*" _ m)
|
|
|
|
|
(string-append m ", false);"))
|
|
|
|
|
(("(pref\\(\"lightweightThemes.update.enabled\").*" _ m)
|
2023-02-13 10:20:12 -05:00
|
|
|
|
(string-append m ", false);"))
|
|
|
|
|
|
|
|
|
|
;; XXX: The autoDisableScopes is tweaked by the makeicecat
|
|
|
|
|
;; script, but it doesn't know about Thunderbird. This is
|
|
|
|
|
;; necessary to allow picking up the extensions found in the
|
|
|
|
|
;; system global application directory, such as the language
|
|
|
|
|
;; packs.
|
|
|
|
|
(("\"extensions.autoDisableScopes\", 15")
|
|
|
|
|
"\"extensions.autoDisableScopes\", 3"))
|
2023-02-09 22:05:58 -05:00
|
|
|
|
|
|
|
|
|
;; Step out of the directory and create the tarball.
|
|
|
|
|
(chdir "..")
|
|
|
|
|
(format #t "Packing Icedove source tarball...~%")
|
|
|
|
|
(force-output)
|
|
|
|
|
(setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args)))
|
|
|
|
|
(invoke "tar" "cfa" #$output
|
|
|
|
|
"--mtime=@315619200" ;1980-01-02 UTC
|
|
|
|
|
"--owner=root:0"
|
|
|
|
|
"--group=root:0"
|
|
|
|
|
"--sort=name"
|
|
|
|
|
#$name))))))))
|
|
|
|
|
|
2020-04-29 07:00:18 -04:00
|
|
|
|
(define-public icedove
|
|
|
|
|
(package
|
|
|
|
|
(name "icedove")
|
2022-10-21 06:11:26 -04:00
|
|
|
|
(version %icedove-version)
|
2023-02-09 22:05:58 -05:00
|
|
|
|
(source icedove-source)
|
2020-04-29 07:00:18 -04:00
|
|
|
|
(properties
|
|
|
|
|
`((cpe-name . "thunderbird_esr")))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
2022-10-10 20:17:04 -04:00
|
|
|
|
(list
|
|
|
|
|
#:tests? #f ;no check target
|
|
|
|
|
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
|
|
|
|
#:modules `((guix build utils) ;find-files
|
2020-04-29 07:00:18 -04:00
|
|
|
|
(sxml simple)
|
|
|
|
|
(ice-9 regex)
|
|
|
|
|
,@%gnu-build-system-modules)
|
2022-10-10 20:17:04 -04:00
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
|
|
|
|
(lambda _
|
|
|
|
|
(use-modules (guix build cargo-utils))
|
|
|
|
|
(let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934\
|
|
|
|
|
ca495991b7852b855"))
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(format #t "patching checksums in ~a~%" file)
|
|
|
|
|
(substitute* file
|
|
|
|
|
(("^checksum = \".*\"")
|
|
|
|
|
(string-append "checksum = \"" null-hash "\""))))
|
|
|
|
|
(find-files "." "Cargo.lock$"))
|
|
|
|
|
(for-each generate-all-checksums
|
|
|
|
|
'("third_party/rust"
|
|
|
|
|
"toolkit/library/rust")))))
|
|
|
|
|
(add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag
|
2022-09-28 17:39:17 -04:00
|
|
|
|
(lambda _
|
|
|
|
|
;; Remove --frozen flag from cargo invokation, otherwise it'll
|
|
|
|
|
;; complain that it's not able to change Cargo.lock.
|
|
|
|
|
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
|
|
|
|
|
(substitute* "build/RunCbindgen.py"
|
|
|
|
|
(("\"--frozen\",") ""))))
|
2022-10-10 20:17:04 -04:00
|
|
|
|
;; Fixes issue where each installation directory generates its own
|
|
|
|
|
;; profile (see:
|
|
|
|
|
;; https://trac.torproject.org/projects/tor/ticket/31457).
|
|
|
|
|
(add-after 'patch-source-shebangs 'fix-profile-setting
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "comm/mail/moz.configure"
|
|
|
|
|
(("MOZ_DEDICATED_PROFILES, True")
|
|
|
|
|
"MOZ_DEDICATED_PROFILES, False"))))
|
|
|
|
|
(add-after 'build 'neutralize-store-references
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Mangle the store references to compilers & other build tools in
|
|
|
|
|
;; about:buildconfig, reducing Icedove's closure significant.
|
|
|
|
|
;; The resulting files are saved in lib/thunderbird/omni.ja
|
|
|
|
|
(substitute*
|
|
|
|
|
;; Use find because the path "obj-x86_64-pc-linux-gnu" contains
|
|
|
|
|
;; the architecture and the system -> more complicated.
|
|
|
|
|
(find-files "." "buildconfig.html")
|
|
|
|
|
(((format #f "(~a/)([0-9a-df-np-sv-z]{32})"
|
|
|
|
|
(regexp-quote (%store-directory)))
|
|
|
|
|
_ store hash)
|
|
|
|
|
(string-append store
|
|
|
|
|
(string-take hash 8)
|
|
|
|
|
"<!-- Guix: not a runtime dependency -->"
|
|
|
|
|
(string-drop hash 8))))))
|
|
|
|
|
(delete 'bootstrap)
|
|
|
|
|
(replace 'configure
|
2022-10-12 08:46:24 -04:00
|
|
|
|
(lambda* (#:key native-inputs inputs configure-flags
|
|
|
|
|
#:allow-other-keys)
|
2022-10-10 20:17:04 -04:00
|
|
|
|
(let* ((bash (which "bash"))
|
|
|
|
|
(abs-srcdir (getcwd))
|
|
|
|
|
(srcdir (string-append "../" (basename abs-srcdir)))
|
|
|
|
|
(flags `(,(string-append "--prefix=" #$output)
|
|
|
|
|
,@configure-flags))
|
|
|
|
|
(mozconfig (string-append (getcwd) "/.mozconfig")))
|
|
|
|
|
(setenv "SHELL" bash)
|
|
|
|
|
(setenv "CONFIG_SHELL" bash)
|
|
|
|
|
(setenv "QA_CONFIGURE_OPTIONS" ".*")
|
|
|
|
|
(setenv "MOZBUILD_STATE_PATH"
|
|
|
|
|
(string-append (getcwd) "/mach_state"))
|
|
|
|
|
(setenv "MOZCONFIG"
|
|
|
|
|
(string-append (getcwd) "/.mozconfig"))
|
|
|
|
|
|
|
|
|
|
(setenv "AR" "llvm-ar")
|
|
|
|
|
(setenv "NM" "llvm-nm")
|
|
|
|
|
(setenv "CC" "clang")
|
|
|
|
|
(setenv "CXX" "clang++")
|
|
|
|
|
|
|
|
|
|
(setenv "MOZ_NOSPAM" "1")
|
|
|
|
|
(setenv "MACH_USE_SYSTEM_PYTHON" "1")
|
|
|
|
|
(setenv "PYTHON"
|
|
|
|
|
(search-input-file inputs "/bin/python"))
|
|
|
|
|
(setenv "MOZ_BUILD_DATE" #$%icedove-build-id) ; avoid timestamp
|
|
|
|
|
(setenv "MOZ_APP_NAME" "icedove")
|
|
|
|
|
(setenv "LDFLAGS" (string-append "-Wl,-rpath=" #$output
|
|
|
|
|
"/lib/icedove"))
|
|
|
|
|
(mkdir-p (string-append (getcwd) "/builddir"))
|
|
|
|
|
(with-output-to-file mozconfig
|
|
|
|
|
(lambda ()
|
|
|
|
|
(display
|
|
|
|
|
(string-append
|
2023-02-13 10:20:12 -05:00
|
|
|
|
"ac_add_options --allow-addon-sideload\n"
|
|
|
|
|
"ac_add_options --with-unsigned-addon-scopes=app,system\n"
|
2022-10-10 20:17:04 -04:00
|
|
|
|
"ac_add_options --disable-crashreporter\n"
|
|
|
|
|
"ac_add_options --disable-debug\n"
|
|
|
|
|
"ac_add_options --disable-debug-symbols\n"
|
|
|
|
|
"ac_add_options --disable-elf-hack\n"
|
|
|
|
|
"ac_add_options --disable-jit\n"
|
|
|
|
|
"ac_add_options --disable-necko-wifi\n"
|
|
|
|
|
"ac_add_options --disable-official-branding\n"
|
|
|
|
|
"ac_add_options --disable-tests\n"
|
|
|
|
|
"ac_add_options --disable-updater\n"
|
|
|
|
|
"ac_add_options --disable-webrtc\n"
|
|
|
|
|
"ac_add_options --enable-application=comm/mail\n"
|
|
|
|
|
"ac_add_options --enable-default-toolkit=\"cairo-gtk3\"\n"
|
|
|
|
|
"ac_add_options --enable-optimize\n"
|
|
|
|
|
"ac_add_options --enable-pulseaudio\n"
|
|
|
|
|
"ac_add_options --enable-release\n"
|
|
|
|
|
"ac_add_options --enable-strip\n"
|
|
|
|
|
"ac_add_options --enable-system-ffi\n"
|
|
|
|
|
"ac_add_options --enable-system-pixman\n"
|
|
|
|
|
"ac_add_options --prefix=" #$output "\n"
|
2022-10-12 08:46:24 -04:00
|
|
|
|
"ac_add_options --with-clang-path="
|
|
|
|
|
(search-input-file (or native-inputs inputs)
|
|
|
|
|
"bin/clang") "\n"
|
2022-10-10 20:17:04 -04:00
|
|
|
|
"ac_add_options --with-distribution-id=org.gnu\n"
|
2022-10-12 08:46:24 -04:00
|
|
|
|
"ac_add_options --with-libclang-path="
|
|
|
|
|
#$(this-package-native-input "clang") "/lib\n"
|
2022-10-10 20:17:04 -04:00
|
|
|
|
"ac_add_options --with-system-bz2\n"
|
|
|
|
|
"ac_add_options --with-system-icu\n"
|
|
|
|
|
"ac_add_options --with-system-jpeg\n"
|
|
|
|
|
"ac_add_options --with-system-libevent\n"
|
|
|
|
|
"ac_add_options --with-system-nspr\n"
|
2022-10-12 08:38:12 -04:00
|
|
|
|
"ac_add_options --with-system-nss\n"
|
2022-10-10 20:17:04 -04:00
|
|
|
|
"ac_add_options --with-system-zlib\n"
|
|
|
|
|
"ac_add_options --without-wasm-sandboxed-libraries\n"
|
|
|
|
|
"mk_add_options MOZ_MAKE_FLAGS=-j"
|
|
|
|
|
(number->string (parallel-job-count)) "\n"))))
|
|
|
|
|
(display (getcwd))
|
|
|
|
|
(newline)
|
|
|
|
|
(display "mach configure")
|
|
|
|
|
(invoke "./mach" "configure"))))
|
|
|
|
|
(replace 'build
|
|
|
|
|
(lambda _ (invoke "./mach" "build")))
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda _ (invoke "./mach" "install")))
|
|
|
|
|
;; Thunderbird doesn't provide any .desktop file.
|
|
|
|
|
;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1637575
|
|
|
|
|
(add-after 'install 'install-desktop-file
|
|
|
|
|
(lambda _
|
|
|
|
|
(let ((apps (string-append #$output "/share/applications")))
|
|
|
|
|
(mkdir-p apps)
|
|
|
|
|
(with-output-to-file (string-append apps "/icedove.desktop")
|
|
|
|
|
(lambda _
|
|
|
|
|
(format #t
|
|
|
|
|
"[Desktop Entry]~@
|
2020-05-14 07:49:53 -04:00
|
|
|
|
Name=Icedove~@
|
|
|
|
|
Exec=~a/bin/icedove~@
|
|
|
|
|
Icon=icedove~@
|
|
|
|
|
GenericName=Mail/News Client~@
|
|
|
|
|
Categories=Network;Email;~@
|
|
|
|
|
Terminal=false~@
|
|
|
|
|
StartupNotify=true~@
|
|
|
|
|
MimeType=x-scheme-handler/mailto;~@
|
|
|
|
|
Type=Application~@
|
|
|
|
|
Actions=ComposeMessage;~@
|
|
|
|
|
[Desktop Action ComposeMessage]~@
|
|
|
|
|
Name=Write new message~@
|
|
|
|
|
Exec=~@*~a/bin/icedove -compose~%"
|
2022-10-10 20:17:04 -04:00
|
|
|
|
#$output))))))
|
2023-02-09 09:01:51 -05:00
|
|
|
|
(add-after 'install-desktop-file 'install-icons
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "browser/branding/official"
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(let* ((size (string-filter char-numeric? file))
|
|
|
|
|
(icons (string-append #$output "/share/icons/hicolor/"
|
|
|
|
|
size "x" size "/apps")))
|
|
|
|
|
(mkdir-p icons)
|
|
|
|
|
(copy-file file (string-append icons "/icedove.png"))))
|
|
|
|
|
'("default16.png" "default22.png" "default24.png"
|
|
|
|
|
"default32.png" "default48.png" "content/icon64.png"
|
|
|
|
|
"mozicon128.png" "default256.png")))))
|
2022-10-10 20:17:04 -04:00
|
|
|
|
(add-after 'install 'wrap-program
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let* ((lib (string-append #$output "/lib"))
|
|
|
|
|
(gtk #$(this-package-input "gtk+"))
|
|
|
|
|
(gtk-share (string-append gtk "/share"))
|
|
|
|
|
(pulseaudio #$(this-package-input "pulseaudio"))
|
|
|
|
|
(pulseaudio-lib (string-append pulseaudio "/lib"))
|
|
|
|
|
(eudev #$(this-package-input "eudev"))
|
|
|
|
|
(eudev-lib (string-append eudev "/lib")))
|
|
|
|
|
(wrap-program (car (find-files lib "^icedove$"))
|
|
|
|
|
`("XDG_DATA_DIRS" prefix (,gtk-share))
|
|
|
|
|
`("LD_LIBRARY_PATH" prefix (,pulseaudio-lib ,eudev-lib)))))))))
|
2020-04-29 07:00:18 -04:00
|
|
|
|
(inputs
|
2022-09-28 17:39:17 -04:00
|
|
|
|
(list alsa-lib
|
|
|
|
|
bzip2
|
2022-05-13 14:14:11 -04:00
|
|
|
|
cairo
|
|
|
|
|
cups
|
|
|
|
|
dbus-glib
|
|
|
|
|
ffmpeg
|
|
|
|
|
freetype
|
|
|
|
|
gdk-pixbuf
|
|
|
|
|
glib
|
|
|
|
|
gtk+
|
|
|
|
|
gtk+-2
|
|
|
|
|
hunspell
|
2022-09-28 17:39:17 -04:00
|
|
|
|
icu4c-71
|
2022-05-13 14:14:11 -04:00
|
|
|
|
libcanberra
|
|
|
|
|
libevent
|
|
|
|
|
libffi
|
|
|
|
|
libgnome
|
|
|
|
|
libjpeg-turbo
|
|
|
|
|
libpng-apng
|
|
|
|
|
libvpx
|
|
|
|
|
libxcomposite
|
|
|
|
|
libxft
|
|
|
|
|
libxinerama
|
|
|
|
|
libxscrnsaver
|
|
|
|
|
libxt
|
|
|
|
|
mesa
|
|
|
|
|
mit-krb5
|
2022-10-12 08:38:12 -04:00
|
|
|
|
nss-next
|
2022-05-13 14:14:11 -04:00
|
|
|
|
pango
|
|
|
|
|
pixman
|
|
|
|
|
pulseaudio
|
|
|
|
|
sqlite
|
|
|
|
|
startup-notification
|
|
|
|
|
eudev
|
|
|
|
|
unzip
|
|
|
|
|
zip
|
|
|
|
|
zlib))
|
2020-04-29 07:00:18 -04:00
|
|
|
|
(native-inputs
|
2022-10-21 06:11:26 -04:00
|
|
|
|
(list `(,rust "cargo")
|
|
|
|
|
clang
|
|
|
|
|
llvm
|
|
|
|
|
m4
|
|
|
|
|
nasm
|
|
|
|
|
node
|
|
|
|
|
perl
|
|
|
|
|
pkg-config
|
|
|
|
|
python-wrapper
|
|
|
|
|
rust
|
2022-11-30 04:13:23 -05:00
|
|
|
|
rust-cbindgen-0.23
|
2022-10-21 06:11:26 -04:00
|
|
|
|
which
|
|
|
|
|
yasm))
|
2020-04-29 07:00:18 -04:00
|
|
|
|
(home-page "https://www.thunderbird.net")
|
|
|
|
|
(synopsis "Rebranded Mozilla Thunderbird email client")
|
|
|
|
|
(description
|
|
|
|
|
"This package provides an email client built based on Mozilla
|
|
|
|
|
Thunderbird. It supports email, news feeds, chat, calendar and contacts.")
|
|
|
|
|
(license license:mpl2.0)))
|
|
|
|
|
|
2020-11-01 14:39:08 -05:00
|
|
|
|
(define-public icedove/wayland
|
2021-06-06 05:13:35 -04:00
|
|
|
|
(package
|
|
|
|
|
(inherit icedove)
|
2020-11-01 14:39:08 -05:00
|
|
|
|
(name "icedove-wayland")
|
2021-06-06 05:13:35 -04:00
|
|
|
|
(build-system trivial-build-system)
|
2020-11-01 14:39:08 -05:00
|
|
|
|
(arguments
|
2022-10-12 08:29:28 -04:00
|
|
|
|
(list
|
|
|
|
|
#:modules '((guix build utils))
|
|
|
|
|
#:builder
|
|
|
|
|
#~(begin
|
2021-06-06 05:13:35 -04:00
|
|
|
|
(use-modules (guix build utils))
|
2022-10-12 08:29:28 -04:00
|
|
|
|
(let* ((exe (string-append #$output "/bin/icedove")))
|
2021-06-06 05:13:35 -04:00
|
|
|
|
(mkdir-p (dirname exe))
|
|
|
|
|
(call-with-output-file exe
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(format port "#!~a
|
|
|
|
|
MOZ_ENABLE_WAYLAND=1 exec ~a $@"
|
2022-10-12 08:29:28 -04:00
|
|
|
|
#$(file-append bash-minimal "/bin/bash")
|
|
|
|
|
#$(file-append icedove "/bin/icedove"))))
|
2021-06-06 05:13:35 -04:00
|
|
|
|
(chmod exe #o555)
|
|
|
|
|
;; Provide the manual and .desktop file.
|
2022-10-12 08:29:28 -04:00
|
|
|
|
(copy-recursively (string-append #$icedove "/share")
|
|
|
|
|
(string-append #$output "/share"))
|
|
|
|
|
(substitute* (string-append #$output
|
|
|
|
|
"/share/applications/icedove.desktop")
|
|
|
|
|
((#$icedove) #$output))))))
|
|
|
|
|
(native-inputs '())
|
|
|
|
|
(inputs '())))
|
2020-11-01 14:39:08 -05:00
|
|
|
|
|
2023-02-09 22:19:55 -05:00
|
|
|
|
(define (make-l10n-package project version source locales)
|
|
|
|
|
"Return a package for PROJECT, a symbol (either icecat or icedove), with
|
|
|
|
|
their corresponding VERSION, SOURCE and LOCALES variables."
|
|
|
|
|
(unless (member project '(icecat icedove))
|
|
|
|
|
(error "only icecat or icedove components are currently supported"))
|
|
|
|
|
|
|
|
|
|
(let ((name (if (eq? 'icecat project)
|
|
|
|
|
"IceCat"
|
|
|
|
|
"Icedove")))
|
|
|
|
|
(package
|
|
|
|
|
(name (format #f "~a-l10n" project))
|
|
|
|
|
(version version)
|
|
|
|
|
(source source)
|
|
|
|
|
(outputs (cons "out" locales))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:modules '((guix build gnu-build-system)
|
|
|
|
|
(guix build utils)
|
|
|
|
|
(ice-9 format)
|
|
|
|
|
(ice-9 ftw)
|
|
|
|
|
(srfi srfi-1)
|
|
|
|
|
(srfi srfi-26))
|
|
|
|
|
#:tests? #f ;no tests, this is data
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(delete 'bootstrap)
|
|
|
|
|
(delete 'install)
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda _
|
|
|
|
|
;; The following configuration is inspired by guidance at
|
|
|
|
|
;; https://firefox-source-docs.mozilla.org/build/buildsystem/locales.html.
|
|
|
|
|
(call-with-output-file ".mozconfig"
|
|
|
|
|
(lambda (p)
|
|
|
|
|
(format p "~{~a~%~}"
|
|
|
|
|
(list (if (eq? 'icecat '#$project)
|
|
|
|
|
"ac_add_options --enable-project=browser"
|
|
|
|
|
"ac_add_options --enable-project=comm/mail")
|
|
|
|
|
"ac_add_options --disable-compile-environment"
|
|
|
|
|
(string-append
|
|
|
|
|
"ac_add_options --with-l10n-base="
|
|
|
|
|
(getcwd) "/l10n")
|
|
|
|
|
;; Hack, otherwise the build system throws:
|
|
|
|
|
;; 'RuntimeError: File "brand.dtd" not found'.
|
|
|
|
|
"ac_add_options --enable-official-branding"
|
|
|
|
|
"mk_add_options MOZ_OBJDIR=obj"))))
|
|
|
|
|
(setenv "CONFIG_SHELL" (which "bash"))
|
|
|
|
|
(setenv "MOZBUILD_STATE_PATH"
|
|
|
|
|
(string-append (getcwd) "/mach_state"))
|
|
|
|
|
(setenv "MOZCONFIG" (string-append (getcwd) "/.mozconfig"))
|
|
|
|
|
(setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
|
|
|
|
|
(setenv "BUILD_BACKENDS" "FasterMake,RecursiveMake")))
|
|
|
|
|
(replace 'build ;build and install data files
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(define (find-file dir name)
|
|
|
|
|
(let ((files (find-files dir name)))
|
|
|
|
|
(when (null? files)
|
|
|
|
|
(error "could not find file in dir" name dir))
|
|
|
|
|
(car files)))
|
|
|
|
|
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (l)
|
|
|
|
|
(let* ((out (assoc-ref outputs l))
|
|
|
|
|
;; The older lib/$project/distribution/extensions
|
|
|
|
|
;; directory is deprecated. Use the newer app-global
|
|
|
|
|
;; directory, which is lib/$project/extensions.
|
|
|
|
|
(ext-dir-prefix
|
|
|
|
|
(format
|
|
|
|
|
#f "lib/~a/~:[~;browser/~]extensions"
|
|
|
|
|
'#$project (eq? 'icecat '#$project)))
|
|
|
|
|
(all-ext (string-append #$output "/" ext-dir-prefix))
|
|
|
|
|
(ext-dir (string-append out "/" ext-dir-prefix))
|
|
|
|
|
;; XXX: Because Icedove doesn't have a makeicedove
|
|
|
|
|
;; script that substitutes all the Thunderbird
|
|
|
|
|
;; references to Icedove, the MOZ_LANGPACK_EID
|
|
|
|
|
;; defined in comm/mail/locales/Makefile.in uses
|
|
|
|
|
;; 'thunderbird' in its ID extension rather than
|
|
|
|
|
;; 'icedove'.
|
|
|
|
|
(name (format #f "langpack-~a@~a.mozilla.org.xpi"
|
|
|
|
|
l (if (eq? 'icedove '#$project)
|
|
|
|
|
'thunderbird
|
|
|
|
|
'#$project))))
|
|
|
|
|
(format #t "processing locale `~a'...~%" l)
|
|
|
|
|
(if (eq? 'icecat '#$project)
|
|
|
|
|
;; XXX: For some reasons, for IceCat, there are some
|
|
|
|
|
;; parsing errors that cause the build system to
|
|
|
|
|
;; return an unclean exit code; use system* to ignore
|
|
|
|
|
;; errors.
|
|
|
|
|
(system* "./mach" "build" (string-append "langpack-" l))
|
|
|
|
|
(invoke "./mach" "build" (string-append "langpack-" l)))
|
|
|
|
|
(mkdir-p ext-dir)
|
|
|
|
|
(let ((xpi (find-file "obj" (string-append
|
|
|
|
|
"\\." l "\\.langpack\\.xpi$"))))
|
|
|
|
|
(copy-file xpi (string-append ext-dir "/" name))
|
|
|
|
|
;; Symlink to the main output so that a user can
|
|
|
|
|
;; install all of the language packs at once.
|
|
|
|
|
(mkdir-p all-ext)
|
|
|
|
|
(symlink (string-append ext-dir "/" name)
|
|
|
|
|
(string-append all-ext "/" name)))))
|
|
|
|
|
(if (eq? 'icedove '#$project)
|
|
|
|
|
'#$%icedove-locales
|
|
|
|
|
'#$%icecat-locales)))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list m4
|
|
|
|
|
perl
|
|
|
|
|
python-wrapper
|
|
|
|
|
node
|
|
|
|
|
unzip))
|
|
|
|
|
(home-page "https://www.mozilla.org/")
|
|
|
|
|
(synopsis (string-append "Language localization data for " name))
|
|
|
|
|
(description (string-append "This package contains the various language
|
|
|
|
|
localization data files (language pack extensions) for " name ". The
|
|
|
|
|
individual localization packages can be installed by using the output
|
|
|
|
|
associated with their name."))
|
|
|
|
|
(license license:mpl2.0))))
|
|
|
|
|
|
|
|
|
|
(define-public icecat-l10n
|
|
|
|
|
(make-l10n-package 'icecat %icecat-version icecat-source %icecat-locales))
|
|
|
|
|
|
|
|
|
|
(define-public icedove-l10n
|
|
|
|
|
(make-l10n-package 'icedove %icedove-version icedove-source %icedove-locales))
|
|
|
|
|
|
2020-01-18 07:49:47 -05:00
|
|
|
|
(define-public firefox-decrypt
|
|
|
|
|
(package
|
|
|
|
|
(name "firefox-decrypt")
|
|
|
|
|
(version "0.7.0")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
gnu: Remove ".git" from "https://github/…/….git".
Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix
swh) would sometimes return #f for these because the ".git" URLs are
redirects to the non-".git" URLs. Consequently, 'guix lint -c archival'
would keep saying "scheduled Software Heritage archival"; likewise, the
fallback download code would fail.
* gnu/packages/ada.scm,
gnu/packages/admin.scm,
gnu/packages/aidc.scm,
gnu/packages/algebra.scm,
gnu/packages/android.scm,
gnu/packages/animation.scm,
gnu/packages/arcan.scm,
gnu/packages/assembly.scm,
gnu/packages/audio.scm,
gnu/packages/authentication.scm,
gnu/packages/avr.scm,
gnu/packages/axoloti.scm,
gnu/packages/backup.scm,
gnu/packages/bash.scm,
gnu/packages/benchmark.scm,
gnu/packages/bioconductor.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/bittorrent.scm,
gnu/packages/boost.scm,
gnu/packages/build-tools.scm,
gnu/packages/c.scm,
gnu/packages/calendar.scm,
gnu/packages/cdrom.scm,
gnu/packages/check.scm,
gnu/packages/chemistry.scm,
gnu/packages/chez.scm,
gnu/packages/clojure.scm,
gnu/packages/code.scm,
gnu/packages/compression.scm,
gnu/packages/compton.scm,
gnu/packages/coq.scm,
gnu/packages/cpp.scm,
gnu/packages/cran.scm,
gnu/packages/crypto.scm,
gnu/packages/curl.scm,
gnu/packages/databases.scm,
gnu/packages/datastructures.scm,
gnu/packages/debug.scm,
gnu/packages/disk.scm,
gnu/packages/distributed.scm,
gnu/packages/django.scm,
gnu/packages/dlang.scm,
gnu/packages/dns.scm,
gnu/packages/docker.scm,
gnu/packages/education.scm,
gnu/packages/efi.scm,
gnu/packages/elixir.scm,
gnu/packages/emacs-xyz.scm,
gnu/packages/embedded.scm,
gnu/packages/emulators.scm,
gnu/packages/engineering.scm,
gnu/packages/erlang.scm,
gnu/packages/fabric-management.scm,
gnu/packages/file-systems.scm,
gnu/packages/finance.scm,
gnu/packages/firmware.scm,
gnu/packages/flashing-tools.scm,
gnu/packages/fonts.scm,
gnu/packages/fontutils.scm,
gnu/packages/fpga.scm,
gnu/packages/game-development.scm,
gnu/packages/games.scm,
gnu/packages/genealogy.scm,
gnu/packages/genimage.scm,
gnu/packages/geo.scm,
gnu/packages/gimp.scm,
gnu/packages/gl.scm,
gnu/packages/gnome-xyz.scm,
gnu/packages/gnome.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/golang.scm,
gnu/packages/gpodder.scm,
gnu/packages/graph.scm,
gnu/packages/graphics.scm,
gnu/packages/graphviz.scm,
gnu/packages/groff.scm,
gnu/packages/groovy.scm,
gnu/packages/gtk.scm,
gnu/packages/guile-xyz.scm,
gnu/packages/guile.scm,
gnu/packages/hardware.scm,
gnu/packages/haskell-apps.scm,
gnu/packages/haskell-xyz.scm,
gnu/packages/hexedit.scm,
gnu/packages/i2p.scm,
gnu/packages/ibus.scm,
gnu/packages/image-processing.scm,
gnu/packages/image-viewers.scm,
gnu/packages/image.scm,
gnu/packages/ipfs.scm,
gnu/packages/java-graphics.scm,
gnu/packages/java-maths.scm,
gnu/packages/java.scm,
gnu/packages/javascript.scm,
gnu/packages/jrnl.scm,
gnu/packages/julia.scm,
gnu/packages/jupyter.scm,
gnu/packages/kodi.scm,
gnu/packages/language.scm,
gnu/packages/lego.scm,
gnu/packages/less.scm,
gnu/packages/libusb.scm,
gnu/packages/linux.scm,
gnu/packages/lirc.scm,
gnu/packages/lisp-xyz.scm,
gnu/packages/llvm.scm,
gnu/packages/logging.scm,
gnu/packages/lolcode.scm,
gnu/packages/lua.scm,
gnu/packages/lxde.scm,
gnu/packages/lxqt.scm,
gnu/packages/machine-learning.scm,
gnu/packages/mail.scm,
gnu/packages/markup.scm,
gnu/packages/maths.scm,
gnu/packages/maven.scm,
gnu/packages/mes.scm,
gnu/packages/messaging.scm,
gnu/packages/monitoring.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/node-xyz.scm,
gnu/packages/ocaml.scm,
gnu/packages/ocr.scm,
gnu/packages/onc-rpc.scm,
gnu/packages/opencl.scm,
gnu/packages/opencog.scm,
gnu/packages/pantheon.scm,
gnu/packages/password-utils.scm,
gnu/packages/patchutils.scm,
gnu/packages/pdf.scm,
gnu/packages/perl6.scm,
gnu/packages/phabricator.scm,
gnu/packages/popt.scm,
gnu/packages/printers.scm,
gnu/packages/prolog.scm,
gnu/packages/protobuf.scm,
gnu/packages/pulseaudio.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/python-xyz.scm,
gnu/packages/qt.scm,
gnu/packages/radio.scm,
gnu/packages/rails.scm,
gnu/packages/rdf.scm,
gnu/packages/rednotebook.scm,
gnu/packages/rpc.scm,
gnu/packages/rsync.scm,
gnu/packages/ruby.scm,
gnu/packages/rust.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/security-token.scm,
gnu/packages/selinux.scm,
gnu/packages/serialization.scm,
gnu/packages/shells.scm,
gnu/packages/shellutils.scm,
gnu/packages/simh.scm,
gnu/packages/sml.scm,
gnu/packages/ssh.scm,
gnu/packages/statistics.scm,
gnu/packages/stenography.scm,
gnu/packages/sync.scm,
gnu/packages/syncthing.scm,
gnu/packages/synergy.scm,
gnu/packages/telephony.scm,
gnu/packages/terminals.scm,
gnu/packages/tex.scm,
gnu/packages/texinfo.scm,
gnu/packages/text-editors.scm,
gnu/packages/textutils.scm,
gnu/packages/time.scm,
gnu/packages/tmux.scm,
gnu/packages/tor.scm,
gnu/packages/toys.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/vim.scm,
gnu/packages/virtualization.scm,
gnu/packages/vlang.scm,
gnu/packages/vnc.scm,
gnu/packages/vpn.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm,
gnu/packages/wireservice.scm,
gnu/packages/wm.scm,
gnu/packages/wxwidgets.scm,
gnu/packages/xdisorg.scm,
gnu/packages/xml.scm,
gnu/packages/xorg.scm,
tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
2020-07-12 16:53:28 -04:00
|
|
|
|
(url "https://github.com/Unode/firefox_decrypt")
|
2020-01-18 07:49:47 -05:00
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"17yyyxp47z4m8hnflcq34rc1y871515kr3f1y42j1l0yx3g0il07"))))
|
|
|
|
|
(build-system trivial-build-system)
|
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list nss python))
|
2020-01-18 07:49:47 -05:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:modules ((guix build utils))
|
|
|
|
|
#:builder
|
|
|
|
|
(begin
|
|
|
|
|
(use-modules (guix build utils))
|
|
|
|
|
(setenv "PATH"
|
|
|
|
|
(string-append
|
|
|
|
|
(assoc-ref %build-inputs "python") "/bin"))
|
|
|
|
|
(copy-file (string-append (assoc-ref %build-inputs "source")
|
|
|
|
|
"/firefox_decrypt.py")
|
|
|
|
|
"firefox_decrypt.py")
|
|
|
|
|
(substitute* "firefox_decrypt.py"
|
|
|
|
|
(("/usr/bin/env python") (which "python3"))
|
|
|
|
|
(("libnss3.so") (string-append (assoc-ref %build-inputs "nss")
|
|
|
|
|
"/lib/nss/libnss3.so")))
|
|
|
|
|
(install-file "firefox_decrypt.py" (string-append %output "/bin"))
|
|
|
|
|
#t)))
|
|
|
|
|
(home-page "https://github.com/Unode/firefox_decrypt/")
|
|
|
|
|
(synopsis "Tool to extract passwords from Mozilla profiles")
|
|
|
|
|
(description "Firefox Decrypt is a tool to extract passwords from
|
|
|
|
|
Mozilla (Firefox, Waterfox, Thunderbird, SeaMonkey) profiles.")
|
|
|
|
|
(license license:gpl3+)))
|
2021-11-21 16:43:15 -05:00
|
|
|
|
|
|
|
|
|
(define-public lz4json
|
|
|
|
|
(package
|
|
|
|
|
(name "lz4json")
|
|
|
|
|
(version "2")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(git-reference
|
|
|
|
|
(url "https://github.com/andikleen/lz4json")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1xxn8yzr6j8j6prmbj6mxspdczigarfiv3vlm9k70yxmky65ijh3"))))
|
|
|
|
|
(build-system gnu-build-system)
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(native-inputs (list pkg-config))
|
|
|
|
|
(inputs (list lz4))
|
2021-11-21 16:43:15 -05:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; no check target
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure) ; no configure script
|
|
|
|
|
(replace 'install ; no install target
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(man (string-append out "/share/man/man1")))
|
|
|
|
|
(install-file "lz4jsoncat" bin)
|
|
|
|
|
(install-file "lz4jsoncat.1" man)))))
|
|
|
|
|
#:make-flags `(,(string-append "CC=" ,(cc-for-target)))))
|
|
|
|
|
(home-page "https://github.com/andikleen/lz4json")
|
|
|
|
|
(synopsis "C decompress tool for mozilla lz4json format")
|
|
|
|
|
(description
|
|
|
|
|
"@code{lz4json} is a little utility to unpack lz4json files as generated
|
|
|
|
|
by Firefox's bookmark backups and session restore. This is a different format
|
|
|
|
|
from what the normal lz4 utility expects. The data is dumped to stdout.")
|
|
|
|
|
(license license:bsd-2)))
|