Package Details: icecat 128.12.0-3

Git Clone URL: https://aur.archlinux.org/icecat.git (read-only, click to copy)
Package Base: icecat
Description: GNU version of the Firefox ESR browser
Upstream URL: https://git.savannah.gnu.org/cgit/gnuzilla.git
Keywords: browser esr gnuzilla web
Licenses: MPL-2.0
Submitter: None
Maintainer: figue (xiota)
Last Packager: xiota
Votes: 251
Popularity: 0.58
First Submitted: 2007-12-09 10:12 (UTC)
Last Updated: 2025-07-11 02:08 (UTC)

Dependencies (49)

Sources (2)

Pinned Comments

xiota commented on 2024-02-26 07:32 (UTC) (edited on 2025-07-20 23:15 (UTC) by xiota)

Description of build options and defaults. See PKGBUILD for current list.

  • _build_save_source (true) – save tarball of patched sources
  • _build_repatch (false) – discard previously saved tarball
  • _build_pgo (true) – enable profile guided optimization; ~20% better benchmarks, 3× build time
  • _build_pgo_reuse (try) – reuse previously generated profile
  • _build_pgo_xvfb (true) – use Xvfb for profiling, otherwise, use xwayland-run
  • _build_lto (false) – use link-time optimization (LTO); disabling may prevent spurious crashes
  • _build_system_libs (true) – use system libraries
  • _build_limit_cores (false) – limit parallelization based on memory and core availability

Examples of use:

  • _build_pgo=false makepkg -Csr
  • extra-x86_64-build -- -- _build_limit_cores=true
  • _build_pgo_xvfb=false yay icecat # usage with AUR helpers may vary

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 88 Next › Last »

rev.cressy commented on 2024-05-16 17:07 (UTC)

Thanks, Icecat needed to install rustup and remove the rust package. Built flawlessly! Great job :-)

xiota commented on 2024-04-29 17:38 (UTC)

@rev.cressy PKGBUILD has already been updated. Didn't bump pkgrel because people who built this before the Python 3.12 upgrade do not need to rebuild.

rev.cressy commented on 2024-04-29 17:07 (UTC)

tail icecat-115.10.0-1-x86_64-build.log 
  File "/home/leroy/src/icecat/src/icecat-115.10.0/testing/mozbase/mozrunner/mozrunner/base/__init__.py", line 6, in <module>
    from .browser import BlinkRuntimeRunner, GeckoRuntimeRunner
  File "/home/leroy/src/icecat/src/icecat-115.10.0/testing/mozbase/mozrunner/mozrunner/base/browser.py", line 11, in <module>
    from ..application import DefaultContext, IceCatContext
  File "/home/leroy/src/icecat/src/icecat-115.10.0/testing/mozbase/mozrunner/mozrunner/application.py", line 8, in <module>
    from distutils.spawn import find_executable
ModuleNotFoundError: No module named 'distutils'
Site not up-to-date reason: "/home/leroy/src/icecat/src/icecat-115.10.0/obj/_virtualenvs/common" does not exist
==> ERROR: A failure occurred in build().
    Aborting...

xiota commented on 2024-04-20 10:22 (UTC)

I did notice libxul.so seemed to be a huge bottleneck, but didn't look into its resource usage. Would be good to find a way to improve it.

viachaslavic commented on 2024-04-20 10:13 (UTC) (edited on 2024-04-20 10:15 (UTC) by viachaslavic)

@xiota thank you, it helped.

As for OOM, the main memory usage (about 30GB) is for linking libxul.so (single thread). For my system with 16 GB of RAM, zram helped me complete the linking, while the compiler without it almost always had enough memory when building with 8 threads without adding the MOZ_PARALLEL_BUILD option.

xiota commented on 2024-04-19 02:22 (UTC)

@viachaslavic Found the problem and pushed an update that should fix it. Did not bump pkgrel because there is no need for people who successfully built to rebuild.

viachaslavic commented on 2024-04-18 23:52 (UTC)

How to build with one language (not es-ES) now? Setting the variable $_lang does not solve this.

Hunk #1 succeeded at 5 with fuzz 2.
Appending new data to the end of file: ./browser/locales/en-US/browser/preferences/preferences.ftl
Appending new data to the end of file: ./l10n/es-ES/browser/browser/preferences/preferences.ftl
makeicecat: line 347: ./l10n/es-ES/browser/browser/preferences/preferences.ftl: No such file or directory
==> ERROR: A failure occurred in prepare().
    Aborting...

xiota commented on 2024-02-27 10:57 (UTC) (edited on 2024-05-15 05:24 (UTC) by xiota)

Note: Option to use prepatched sources has been dropped.

icecatbrowser.org is unofficial, separate from GNU, which is stated at the site itself. classictetris.net is used by the site owner to serve the prepatched sources. They are used only when _build_prepatched=true to save time by skipping the patching step. The default is false.

The site was created to fill the gap after GNU stopped distributing prepatched sources and binaries. As far as I can tell, the makeicecat script is run without any modification, while this PKGBUILD does make some changes. For version 115.8.0, the only differences between the prepatched sources and a fresh patch from this PKGBUILD are:

  • services/settings/dumps/monitor/changes – "last_modified" and "collection" entries are different. This is expected because timestamps differ based on when makeicecat is run.

  • Some different l10n files (translations). This is also somewhat expected because the latest commit is checked out prior to patching. Exact contents can differ based on when the script is run.

  • .hg* files and directories. They are not needed, and this PKGBUILD deletes them.