Package Details: icecat 115.17.0-1

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: 250
Popularity: 0.41
First Submitted: 2007-12-09 10:12 (UTC)
Last Updated: 2024-11-04 00:48 (UTC)

Dependencies (51)

Sources (10)

Pinned Comments

xiota commented on 2024-02-26 07:32 (UTC) (edited on 2024-08-08 03:44 (UTC) by xiota)

PKGBUILD has been updated. Major changes:

  • Downloads Firefox ESR and localization using the source array. Files are saved for reuse.
  • Saves freshly patched IceCat sources in a tarball for reuse.
  • Saves the PGO profile for reuse.

Notes:

  • Currently requires clang/llvm 17, which has to be built from AUR.
  • Wayland users, consider setting _build_pgo_xvfb=false. This will use xwayland-run for profiling.
  • PGO should work now, but if it doesn't and you're willing to go without, try _build_pgo=false.
  • Running out of RAM? Try adding mk_add_options MOZ_PARALLEL_BUILD=___ around line 300. Pick a value less than number of cores and free RAM in GB. For example, on a system with 8 cores, 64GB total RAM, but only 6 GB free, the value should be set to 4 or 5.
    • If a few people can confirm this is helpful, I will consider adding it as an additional option.
    • Main resource hog seems to be linking libxul.so. Leave a comment if you have a potential solution.

Having problems? Please provide details: processor make and model, number of cores, free -m, full log in pastebin, whether using AUR helper/makepkg/clean chroot, etc.

Latest Comments

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

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.

TeaSynonymous commented on 2024-02-27 08:50 (UTC)

May I ask what "software.classictetris.net" is?

It seems to be used in the PKGBUILD along with another site "icecatbrowser.org," but neither of these are listed under Sources. A quick search of the GNU foundation's page for Icecat/GNUzilla does not show any connection to either of these sites either: https://www.gnu.org/software/gnuzilla/

xiota commented on 2024-02-26 07:32 (UTC) (edited on 2024-08-08 03:44 (UTC) by xiota)

PKGBUILD has been updated. Major changes:

  • Downloads Firefox ESR and localization using the source array. Files are saved for reuse.
  • Saves freshly patched IceCat sources in a tarball for reuse.
  • Saves the PGO profile for reuse.

Notes:

  • Currently requires clang/llvm 17, which has to be built from AUR.
  • Wayland users, consider setting _build_pgo_xvfb=false. This will use xwayland-run for profiling.
  • PGO should work now, but if it doesn't and you're willing to go without, try _build_pgo=false.
  • Running out of RAM? Try adding mk_add_options MOZ_PARALLEL_BUILD=___ around line 300. Pick a value less than number of cores and free RAM in GB. For example, on a system with 8 cores, 64GB total RAM, but only 6 GB free, the value should be set to 4 or 5.
    • If a few people can confirm this is helpful, I will consider adding it as an additional option.
    • Main resource hog seems to be linking libxul.so. Leave a comment if you have a potential solution.

Having problems? Please provide details: processor make and model, number of cores, free -m, full log in pastebin, whether using AUR helper/makepkg/clean chroot, etc.