# iridium/cfg - "Build" settings for package #--------------------------------------------------------------------- [technotes] 1. "iridium" is Laclin's version of the Iridium web browser. This "cfg" file doesn't build "iridium". "iridium" builds [and Chrom- ium builds in general] are fragile and very slow. So, for this distro, such builds are handled differently. The steps involved are discussed further below. #--------------------------------------------------------------------- 2. The source code for this package was obtained as follows: ocgitfetch --nohistory --run \ https://github.com/iridium-browser/iridium-browser.git #--------------------------------------------------------------------- 3. Wayland note. "iridium" doesn't presently require or use "Wayland" at runtime. How- ever, a basic set of "Wayland" header files and libraries is required at build time. The files in question don't need to be integrated into the distro's copy of "xorg". In particular, "XWayland" doesn't need to be built or used. In Laclin, the files in question are presently provided by the "way- land" package. #--------------------------------------------------------------------- 4. Warning: "iridium" is a monster in terms of build-time resources required: * 25 GB or more of free disk space may be needed in the "build" directory tree used. Note: If a full git clone is used, the requirement may be 50 GB or more. However, for Laclin, the "--nohistory" option men- tioned previously avoids this. * A minimum of 4 CPU cores is probably needed [hardware threads don't count for this number]. * Depending on the degree of build-time parallelism used, RAM needed may be on the order of 10 GB to 20 GB or more. * If possible, swap space should be turned on. * Build-time parallelism should probably be limited to one job per CPU core -- or less -- or the box used may lock up. #--------------------------------------------------------------------- 5. Build procedure: 5.1. Execute "makelac iridium --force". This won't build the package. However, it will ensure that dependencies are built. 5.2. Stop all other builds. Other packages shouldn't be built concur- rently with this one. 5.3. Make sure that there is at least 25 GB of disk space free in the directory tree "/var/tmp". 5.4. Optional: If you'd like to ensure that a full rebuild from scra- tch is done and that old "ccache" data isn't usded, execute: rm -fr /ram/ccache* /root/.ccache* 5.5. This "cfg" file comes with a script named "build-iridium.sh". Run the script as follows: nohup bash -e /somewhere/build-iridium.sh \ >& /tmp/irlog < /dev/null & Modify the "/somewhere" path used here appropriately. 5.6. Optional: To observe progress: tail -f /tmp/irlog 5.7. The build procedure will typically take 5 to 10 hours and up un- less "ccache" data is used. If it completes successfully, a full path for a resulting tarball will be listed towards the end of "/tmp/irlog". The basename of the tarball will be "iridium.tgz". 5.8. The "target" box is any box where you'd like to install Iridium. It may be different from the "build" box where the build procedure is done. On a target box: cd $PRODTREE rm -fr iridium/ tar zxf /somewhere/iridium.tgz cd iridium/bin/ instreplinks -d . /glibc64/bin/ Modify the "/somewhere" path used here appropriately. 5.9. Test the rebuilt browser on the target box using one of the files or symlinks in "$PRODTREE/iridium/bin/". 5.10. Optional: On the target box: cd / pkg-to-loopdir iridium This will reduce the size of the binaries directory tree used but will also slow down program startup slightly. 5.11. If you'd like to do debug work on the package, the full build tree should still be present, at this point, in the following direc- tory on the "build" box: /var/tmp/buildchro If you don't need to do such debug work, delete the directory in ques- tion: rm -fr /var/tmp/buildchro 5.12. Delete the tarball [or tarballs] from steps 5.7 and 5.8. #--------------------------------------------------------------------- 6. Suggested runtime changes: * Try the URL indicated below. If the setting in question exists, ena- ble it: chrome://flags/#enable-jxl * Set a search engine or the location bar won't work correctly. * Important: Disable Safe Browsing. * Right-click in the location bar. Set "Always Show Full URLs". * Set: chrome://extensions -> Developer Mode: True Note: Use Load Unpacked to install extensions. * If the password list doesn't display correctly, try switching from the Gtk+ theme to the Classic Theme Gtk+ or vice versa. Restart after changing the setting or it may crash. * Show Home Button. Show Bookmarks Bar. * Customize Fonts -> set a minimum size * Install extensions stored in the "chromium-addons" package. * Set up a SwitchySharp proxy profile. * Remove the Google Custom Toolbar [if present]. * Pin or unpin extensions as desired. * Import bookmarks, passwords, RSS feeds. * chrome://flags -> Passport Import: Enabled * Patch some user configuration files: sed -e 's/"\(PasswordImport\)@[0-9]"/"\1@1"/' \ -e 's/"\(autoplay-policy\)@[0-9]"/"\1@3"/' \ -e 's/"\(enable-autoplay-ignore-web-audio\)@[0-9]"/"\1@2"/' \ -i "$HOME/.config/iridium/Local State" sed -e 's/"developer_mode":false/"developer_mode":true/' \ -e 's/\("bookmark_bar":{"show_on_all_tabs"\):false/\1:true/' \ -e 's/\("theme":{"id":"","use_system"\):false/\1:true/' \ -i "$HOME/.config/iridium/Default/Preferences" #--------------------------------------------------------------------- [buildtimes] # These times are based on LLVM (i.e., "clang/clang++") as opposed to # "gcc" because that is what is used. # This is a build time based on from-scratch with "ccache" data dele- # ted: 09.68 hours (or 581.00 minutes) - 2023 dedi Xeon E3-1200 v3 4x2 32GB RAM # This is the time for the preceding build repeated with "ccache" data # populated: 00.51 hours (or 030.50 minutes) - 2023 dedi Xeon E3-1200 v3 4x2 32GB RAM # The following two times are obsolete. They were based on "Ungoogled" # as opposed to Iridium builds: 05.73 hours (or 343.70 minutes) - 2021 L.A. dedi box: 6x2 CPU 32GB RAM 10.07 hours (or 604.00 minutes) - 2023 dedi Xeon E3-1200 v3 4x2 32GB RAM # The following two times are obsolete. They were (a) based on "Ungoo- # gled" as opposed to Iridium builds. (b) They were based, as well, on # high build-time parallelism that was used early on in the history of # this distro's Chromium packages: 04.89 hours (or 293.42 minutes) - 2021 L.A. dedi box: 6x2 CPU 32GB RAM 11.58 hours (or 694.70 minutes) - ThinkPad E540 i7 4x2 16GB RAM # High parallelism was discontinued to reduce the chances of overheat- # ing and other problems. #--------------------------------------------------------------------- [settings] build = none configure = none defer = glibc64 exepack = no fortran = disabled license = tbd nosyslinks = yes proddir = none slowdown = yes tmpsize = 1M unpack = none #--------------------------------------------------------------------- # Many of the dependencies listed here are not used by this package. # However, in some cases, they may pull in dependencies that are need- # ed. [depends] alsa bzip2 cairo cups elfutils eudev expat ffmpeg flac fontconfig freetype2 fribidi gn gnutls3 graphite2 gtkcore jpeg libbsd libcap libffi libgmp libidn2 libogg libpng libsndfile libunistring libva libvorbis llvmgcc ncurses nettle3 nodejs nspr nss openssl p11kit pciutils pulseaudio python sqlite3 tcp-wrappers util-linux wayland xorg zlib #--------------------------------------------------------------------- # Original URLs. These URLs were valid at one point, but may have died # since then. If you download newer versions of tarballs [etc.], don't # delete the original versions, as you may not be able to replace # them. [urls] url_debian = n/a url_home = TBD url_lfs = n/a url_tarball = git # See "technotes" in "cfg" file #--------------------------------------------------------------------- [history] 190402 Added a Chromium package named "lechromium" 190402 Started with "Ungoogled" 72.0.3626.122 190505 Updated to 74.0.3729.131 190924 Updated to 77.0.3865.90 210302 Updated to 87.0.4280.141 210612 Updated to 91.0.4472.77 220804 Updated to 103.0.5060.134 220814 Updated to 104.0.5112.81 221216 Updated to 107.0.5304.122 230114 Updated to 108.0.5359.125 230217 Updated to 109.0.5414.120 230409 Updated to 111.0.5563.147 240131 Switched from Ungoogled to Iridium codebase 240131 Replaced "lechromium" package with "iridium" 240131 Started with ff134d38e ("git" hash) - same as 120.0.6099.224