Could somebody tell what the noticeable profits are from building firefox from source?
Search Criteria
Package Details: firefox-beta 87.0b6-1
Git Clone URL: | https://aur.archlinux.org/firefox-beta.git (read-only, click to copy) |
---|---|
Package Base: | firefox-beta |
Description: | Standalone web browser from mozilla.org - Beta |
Upstream URL: | https://www.mozilla.org/en-US/firefox/channel/#beta |
Keywords: | beta browser firefox web |
Licenses: | |
Conflicts: | |
Provides: | |
Submitter: | argymeg |
Maintainer: | Anthony25 (bittin, symen) |
Last Packager: | Anthony25 |
Votes: | 15 |
Popularity: | 0.38 |
First Submitted: | 2015-10-05 23:34 |
Last Updated: | 2021-03-07 20:02 |
Dependencies (33)
- dbus-glib (dbus-glib-git)
- ffmpeg (ffmpeg-semifull-git, ffmpeg-tmblock-git, ffmpeg4.0, ffmpeg-cuda, ffmpeg-v4l2-request-git, ffmpeg-svt, ffmpeg-gl-transition, ffmpeg-git, ffmpeg-decklink, ffmpeg-intel-full-git, ffmpeg-mmal, ffmpeg-svt-av1-git, ffmpeg-libfdk_aac, ffmpeg-full, ffmpeg-nox-git, ffmpeg-svt-vp9-git, ffmpeg-nocuda, ffmpeg-ndi, ffmpeg-amd-full, ffmpeg-full-git, ffmpeg-amd-full-git, ffmpeg-headless)
- gtk3 (gtk3-donnatella, gtk3-cosy, gtk3-adwaita-3-32-git, gtk3-mushrooms, gtk3-git, gtk3-ubuntu, gtk3-patched-filechooser-icon-view, gtk3-typeahead, gtk3-no_deadkeys_underline, gtk3-classic)
- libpulse (libpulse-bluedio, pulseaudio-pali, libpulse-airplay, pulseaudio-git, libpulse-hsphfpd, pulseaudio-dummy, libpulse-nosystemd, libpulse-nosystemd-git, libpulse-nosystemd-minimal-git)
- libxt
- mime-types (mailcap-mime-types, mailcap)
- ttf-font (neuropol-ttf, ttf-droid-emojiless, ttf-noto-fonts-ib, pixeled-ttf, ttf-win7-fonts, ttf-ms-win8, ttf-ms-win8-arabic, ttf-ms-win8-hebrew, ttf-ms-win8-sea, ttf-ms-win8-indic, ttf-ms-win8-japanese, ttf-ms-win8-korean, ttf-ms-win8-zh_cn, ttf-ms-win8-zh_tw, ttf-ms-win8-thai, ttf-ms-win8-other, ttf-noto-fonts-simple, ttf-droid-simple, ttf-kids, ttf-gabriola, ttf-win10, ttf-liberation-sans-narrow, ttf-cavafy-script, ttf-ms-fonts, ttf-dejavu-ib, ttf-droid-ib, ttf-zelda, ttf-oxygen, ttf-oxygen-gf, ttf-share-gf, ttf-gost, nerd-fonts-dejavu-complete, otf-inconsolata-dz, ttf-paratype, ttf-d2coding, ttf-dejavu-emojiless, ttf-agave, ttf-tr2n, noto-fonts-lite, ttf-ms-win10, ttf-ms-win10-japanese, ttf-ms-win10-korean, ttf-ms-win10-sea, ttf-ms-win10-thai, ttf-ms-win10-zh_cn, ttf-ms-win10-zh_tw, ttf-ms-win10-other, ttf-ibm-plex-mono-git, ttf-ms-win10-auto, ttf-ms-win10-auto-japanese, ttf-ms-win10-auto-korean, ttf-ms-win10-auto-sea, ttf-ms-win10-auto-thai, ttf-ms-win10-auto-zh_cn, ttf-ms-win10-auto-zh_tw, ttf-ms-win10-auto-other, gnu-free-fonts, noto-fonts, ttf-bitstream-vera, ttf-croscore, ttf-dejavu, ttf-droid, ttf-ibm-plex, ttf-liberation)
- nss>=3.60 (nss-hg)
- autoconf2.13 (make)
- cbindgen (make)
- clang (clang-pypy-stm, clang39, clang38, llvm-tce, clang8, llvm-minimal-git, llvm-toolchain-nightly-bin, llvm-git, clang-rc) (make)
- diffutils (diffutils-git, diffutils-patched-exclude-directory-git) (make)
- gtk2 (gtk2-patched-gdkwin-nullcheck, gtk2-ubuntu, gtk2-git, gtk2-minimal-git, gtk2-patched-filechooser-icon-view) (make)
- imake (make)
- inetutils (inetutils-git, inetutils-hostname, gettext-hostname) (make)
- jack (jack-git, jack-stub, jack-dbus, jack2-git, jack2) (make)
- lld (llvm-toolchain-nightly-bin, llvm-git, lld-rc) (make)
- llvm (llvm-pypy-stm, llvm39, llvm-asserts, llvm38, llvm-tce, llvm11, llvm11-libs, llvm11-ocaml, llvm-minimal-git, llvm8, llvm-toolchain-nightly-bin, llvm-rc) (make)
- mesa (mesa-noglvnd, mesa-arm-git, mesa-rc, mesa-stable, mesa-git, mesa-minimal-git, mesa-minimal+-git) (make)
- nasm (nasm-git) (make)
- nodejs (nodejs6-bin, nodejs-ipv6, nodejs-git, nodejs-lts-dubnium, nodejs-lts-erbium, nodejs-lts-fermium) (make)
- python-psutil (make)
- python-setuptools (make)
- rust (rust-i586-git, rust-git, rust-mrustc, rust-bin, rustup-git, rust-nightly, rust-nightly-bin, rust-wasm, rustup) (make)
- unzip (unzip-natspec, unzip-iconv) (make)
- xorg-server-xvfb (xorg-server1.12-xvfb, xorg-server-xvfb-notty, xorg-server-xvfb-sd_notify, xorg-server-xvfb-git, xorg-server-xvfb-noudev, xorg-server-xvfb-dev, xorg-server1.19-xvfb-git) (make)
- yasm (yasm-git) (make)
- zip (zip-natspec) (make)
- hunspell-en_US (optional) – Spell checking, American English
- libnotify (libnotify-gtk2, libnotify-id-git, libnotify-id) (optional) – Notification integration
- networkmanager (networkmanager-secure, networkmanager-noscan, networkmanager-consolekit, networkmanager-git, networkmanager-iwd) (optional) – Location detection via available WiFi networks
- pulseaudio (pulseaudio-bluedio, pulseaudio-pali, pulseaudio-airplay, pulseaudio-git, pulseaudio-hsphfpd, pulseaudio-dummy, pulseaudio-nosystemd-git, pulseaudio-nosystemd-minimal-git, pipewire-common-pulse-git, pipewire-full-pulse-git, pipewire-pulse-git, pipewire-pulse) (optional) – Audio support
- speech-dispatcher (speech-dispatcher-git) (optional) – Text-to-Speech
Required by (221)
- activityfox-git (requires firefox)
- admin-git (requires firefox) (optional)
- anylogic-ple (requires firefox) (optional)
- anylogic-ple-8.2.4 (requires firefox) (optional)
- anylogic-professional (requires firefox) (optional)
- anylogic-professional-8.2.4 (requires firefox) (optional)
- anylogic-university (requires firefox) (optional)
- anylogic-university-8.2.4 (requires firefox) (optional)
- arc-firefox-theme-git (requires firefox)
- atelierb (requires firefox) (optional)
- autofirma (requires firefox)
- autofirmaja (requires firefox)
- ayatana-indicator-session (requires firefox) (optional)
- bright-cmgui (requires firefox)
- browsh (requires firefox)
- browsh-bin (requires firefox)
- cacaoweb-bin (requires firefox)
- clean-home (requires firefox) (optional)
- conkeror-git (requires firefox)
- crunchyroll-guest-pass-finder (requires firefox) (optional)
- dat-fox-helper-git (requires firefox)
- eid-mw (requires firefox) (optional)
- firefox-auto-tab-discard (requires firefox)
- firefox-beta-i18n-ach
- firefox-beta-i18n-af
- firefox-beta-i18n-an
- firefox-beta-i18n-ar
- firefox-beta-i18n-ast
- firefox-beta-i18n-az
- firefox-beta-i18n-be
- firefox-beta-i18n-bg
- firefox-beta-i18n-bn
- firefox-beta-i18n-br
- firefox-beta-i18n-bs
- firefox-beta-i18n-ca
- firefox-beta-i18n-ca-valencia
- firefox-beta-i18n-cak
- firefox-beta-i18n-cs
- firefox-beta-i18n-cy
- firefox-beta-i18n-da
- firefox-beta-i18n-de
- firefox-beta-i18n-dsb
- firefox-beta-i18n-el
- firefox-beta-i18n-en-ca
- firefox-beta-i18n-en-gb
- firefox-beta-i18n-en-us
- firefox-beta-i18n-eo
- firefox-beta-i18n-es-ar
- firefox-beta-i18n-es-cl
- firefox-beta-i18n-es-es
- firefox-beta-i18n-es-mx
- firefox-beta-i18n-et
- firefox-beta-i18n-eu
- firefox-beta-i18n-fa
- firefox-beta-i18n-ff
- firefox-beta-i18n-fi
- firefox-beta-i18n-fr
- firefox-beta-i18n-fy-nl
- firefox-beta-i18n-ga-ie
- firefox-beta-i18n-gd
- firefox-beta-i18n-gl
- firefox-beta-i18n-gn
- firefox-beta-i18n-gu-in
- firefox-beta-i18n-he
- firefox-beta-i18n-hi-in
- firefox-beta-i18n-hr
- firefox-beta-i18n-hsb
- firefox-beta-i18n-hu
- firefox-beta-i18n-hy-am
- firefox-beta-i18n-ia
- firefox-beta-i18n-id
- firefox-beta-i18n-is
- firefox-beta-i18n-it
- firefox-beta-i18n-ja
- firefox-beta-i18n-ka
- firefox-beta-i18n-kab
- firefox-beta-i18n-kk
- firefox-beta-i18n-km
- firefox-beta-i18n-kn
- firefox-beta-i18n-ko
- firefox-beta-i18n-lij
- firefox-beta-i18n-lt
- firefox-beta-i18n-lv
- firefox-beta-i18n-mk
- firefox-beta-i18n-mr
- firefox-beta-i18n-ms
- firefox-beta-i18n-my
- firefox-beta-i18n-nb-no
- firefox-beta-i18n-ne-np
- firefox-beta-i18n-nl
- firefox-beta-i18n-nn-no
- firefox-beta-i18n-oc
- firefox-beta-i18n-pa-in
- firefox-beta-i18n-pl
- firefox-beta-i18n-pt-br
- firefox-beta-i18n-pt-pt
- firefox-beta-i18n-rm
- firefox-beta-i18n-ro
- firefox-beta-i18n-ru
- firefox-beta-i18n-si
- firefox-beta-i18n-sk
- firefox-beta-i18n-sl
- firefox-beta-i18n-son
- firefox-beta-i18n-sq
- firefox-beta-i18n-sr
- firefox-beta-i18n-sv-se
- firefox-beta-i18n-ta
- firefox-beta-i18n-te
- firefox-beta-i18n-th
- firefox-beta-i18n-tl
- firefox-beta-i18n-tr
- firefox-beta-i18n-trs
- firefox-beta-i18n-uk
- firefox-beta-i18n-ur
- firefox-beta-i18n-uz
- firefox-beta-i18n-vi
- firefox-beta-i18n-xh
- firefox-beta-i18n-zh-cn
- firefox-beta-i18n-zh-tw
- firefox-extension-amazon-container (requires firefox)
- firefox-extension-arch-search (requires firefox)
- firefox-extension-available-goodreads (requires firefox)
- firefox-extension-bitwarden (requires firefox)
- firefox-extension-block-site (requires firefox)
- firefox-extension-bypass-paywalls (requires firefox)
- firefox-extension-canvasblocker (requires firefox)
- firefox-extension-containerise (requires firefox)
- firefox-extension-dustman (requires firefox)
- firefox-extension-enhancedsteam (requires firefox)
- firefox-extension-facebook-container (requires firefox)
- firefox-extension-feedly-notifier (requires firefox)
- firefox-extension-flagfox (requires firefox)
- firefox-extension-foxyproxy (requires firefox)
- firefox-extension-gnome-shell-integration (requires firefox)
- firefox-extension-google-search-link-fix (requires firefox)
- firefox-extension-greasemonkey (requires firefox)
- firefox-extension-gsconnect (requires firefox)
- firefox-extension-hide-fixed-elements (requires firefox)
- firefox-extension-image-block (requires firefox)
- firefox-extension-kdeconnect (requires firefox)
- firefox-extension-keepassxc-browser (requires firefox)
- firefox-extension-leechblock (requires firefox)
- firefox-extension-localcdn (requires firefox)
- firefox-extension-mooltipass (requires firefox)
- firefox-extension-multi-account-containers (requires firefox)
- firefox-extension-plasma-integration (requires firefox)
- firefox-extension-privacy-pass (requires firefox)
- firefox-extension-radical-native (requires firefox)
- firefox-extension-search-by-image (requires firefox)
- firefox-extension-smart-referer (requires firefox)
- firefox-extension-sponsorblock (requires firefox)
- firefox-extension-tab-session-manager (requires firefox)
- firefox-extension-textarea-cache (requires firefox)
- firefox-extension-textern-native-git (requires firefox)
- firefox-extension-trackmenot (requires firefox)
- firefox-extension-undo-close-tab-button (requires firefox)
- firefox-extension-unity-launcher-api-e10s (requires firefox)
- firefox-extension-user-agent-switcher (requires firefox)
- firefox-extension-video-download-helper (requires firefox)
- firefox-extension-xdm-browser-monitor (requires firefox)
- firefox-extension-yomichan (requires firefox)
- firefox-extension-youtube-classic (requires firefox)
- firefox-hardening (requires firefox) (optional)
- firefox-mega (requires firefox)
- firefox-nutensor (requires firefox)
- firefox-onetab (requires firefox)
- firefox-passff-git (requires firefox)
- firefox-saka-key (requires firefox)
- firefox-searchengine-ddghtml (requires firefox)
- firefox-sync (requires firefox)
- firefox-theme-ft-deepdark (requires firefox)
- firefox-theme-gnome-git (requires firefox)
- firefox-theme-nasa-night-launch (requires firefox)
- firefox-userchromejs (requires firefox)
- firefox_remove_ctrl_q (requires firefox)
- gnome-web-shortcuts-extension-git (requires firefox)
- hub-kids (requires firefox) (optional)
- hub-young (requires firefox) (optional)
- ice-dev (requires firefox) (optional)
- ice-ssb (requires firefox) (optional)
- ice-ssb-git (requires firefox) (optional)
- icedtea-web-doc-jre32 (requires firefox) (make)
- icedtea-web-jre32 (requires firefox) (make)
- jazz-midi-plugin-bin (requires firefox) (optional)
- justbrowsing-firefox-profile (requires firefox) (optional)
- justbrowsing-webapps (requires firefox) (optional)
- keysnail-git (requires firefox)
- kget-integrator-firefox (requires firefox) (optional)
- lastpass (requires firefox) (optional)
- legacyfox (requires firefox)
- mobile-config-firefox (requires firefox)
- mozilla-custom-dictionaries (requires firefox) (optional)
- pennywise-bin (requires firefox) (optional)
- pentadactyl-git (requires firefox) (optional)
- pronounce-git (requires firefox) (optional)
- pyf9-git (requires firefox) (make)
- python-bokeh (requires firefox) (optional)
- qqbot (requires firefox) (optional)
- remmina-plugin-url (requires firefox) (optional)
- rofi-applets-menus (requires firefox) (optional)
- rofi-theme-android-1080p (requires firefox) (optional)
- rofi-theme-android-720p (requires firefox) (optional)
- rofi-theme-applet-1080p (requires firefox) (optional)
- rofi-theme-applet-720p (requires firefox) (optional)
- rofi-theme-fonts (requires firefox) (optional)
- rofi-theme-launcher-1080p (requires firefox) (optional)
- rofi-theme-launcher-720p (requires firefox) (optional)
- rofi-theme-menu-1080p (requires firefox) (optional)
- rofi-theme-menu-720p (requires firefox) (optional)
- rofi-theme-powermenu-1080p (requires firefox) (optional)
- rofi-theme-powermenu-720p (requires firefox) (optional)
- rofi-theme-used (requires firefox) (optional)
- slimerjs (requires firefox)
- spice-xpi (requires firefox)
- tfe (requires firefox)
- turboprint (requires firefox) (optional)
- uget-integrator-firefox (requires firefox) (optional)
- web-media-controller-mpris (requires firefox) (optional)
- web-media-controller-mpris-git (requires firefox) (optional)
- webui-aria2-git (requires firefox) (optional)
- zoom-firefox (requires firefox)
Sources (4)
dxxvi commented on 2015-10-28 05:23
argymeg commented on 2015-10-11 23:23
My bad, it seems it was some issue with my setup, building in a clean chroot (https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot#Classic_Way) worked fine with the proposed patch. Updated.
argymeg commented on 2015-10-10 11:16
The patch doesn't solve the issue for me. I have reported it to mozilla, package updated and the version dependency stays for now.
Det commented on 2015-10-09 13:33
No, but he already posted a working patch at the end of the report. I missed it at first too.
argymeg commented on 2015-10-09 12:34
I have to admit I hadn't thought of it this way at all. Fixed and thank you. I will follow the bug and probably patch it manually if it isn't fixed by the next release.
Det commented on 2015-10-09 09:23
They don't, but that's the point. If you can't build with A, version B, then you need to disallow that dependency in the PKGBUILD. Even if you can't find "pure" 2.6 anywhere, there's no reason not to warn the user that you know for sure the build will fail (unless you downgrade manually). Why let the user build through then?
E: There's actually already a bug report and a patch for 2.6.1: https://bugzilla.mozilla.org/show_bug.cgi?id=1213186
argymeg commented on 2015-10-09 07:53
I already tried that but it fails with "Missing dependencies: freetype2<2.6.1", which actually seems quite reasonable given that the repos don't keep the old versions around, unless I'm missing something here.
You're probably right, I think changing it to "build from source" would be less ambiguous.
Det commented on 2015-10-08 23:43
You can add that as a makedependency with e.g.: 'freetype2<2.6.1'.
Also maybe the pkgdesc could be rephrased, because "built from source" sounds like -bin in that it's "already built".
argymeg commented on 2015-10-07 07:57
42.0b4 won't build with the current freetype2 version (2.6.1-1), you'll have to downgrade to the previous one (2.6-2) BEFORE starting makepkg. You can upgrade it again after the build (probably).
argymeg commented on 2015-10-06 01:00
This is a package that builds Firefox Beta from source, with mostly the same configuration as the stable packages on the official repos. Firefox is a huge application and its compilation is a very time-consuming and resource-intensive process. It is strongly recommended that you read the wiki section on compilation optimizations (Tips and Tricks section of the makepkg article) and that you enable ccache if you intend to keep updating the package regularly. For a much quicker installation, see the package firefox-beta-bin.
Pinned Comments
Anthony25 commented on 2020-05-10 01:04
I enabled LTO and PGO (using a profile generated by running the test suite). They are also used by Mozilla to compile the official firefox-beta binaries they provide, as they allow some performance boost, therefore it is synced in this package.
It is possible to keep the compilation options of the old versions of this package, by setting the options at the top the PKGBUILD (they are documented) to
enable_pgo=n
andenable_lto=n
, or by building it with:env enable_pgo=n enable_lto=n makepkg
However, if running out of memory is an issue, before disabling LTO, try:
env enable_no_keep_memory=y makepkg
It should tell LD to be less aggressive on the cache utilization during the compilation. It does not change anything on the generated binary, it should slow down a bit the compilation, but at least you can still enjoy a compilation with LTO.