about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/firefox/common.nix
AgeCommit message (Collapse)AuthorFilesLines
2023-01-16treewide: remove usages of header and stopNestArtturin1-1/+1
they're obsolete
2023-01-15firefox: fixup build on aarch64-linuxVladimír Čunát1-0/+2
It's the issue with old libgcc_s propagated via our glibc package; e.g. https://github.com/NixOS/nixpkgs/pull/209113
2022-12-13firefox-esr-unwrapped: 102.5.0esr -> 102.6.0esrMartin Weinelt1-1/+1
https://www.mozilla.org/en-US/firefox/102.6.0/releasenotes/
2022-12-12firefox*: 107.0.1 -> 108.0Vladimír Čunát1-1/+1
https://www.mozilla.org/en-US/firefox/108.0/releasenotes/ ./build/cargo-link uses /usr/bin/env shebang and thus needs patching.
2022-12-04buildMozillaMach: Cleanup obsolete version gatesMartin Weinelt1-5/+3
2022-11-30buildMozillaMach: use enableFeature instead of recreating itAndersonTorres1-21/+20
2022-11-08buildMozillaMach: add curl into crashreporter rpathMartin Weinelt1-2/+7
Firefox has been crashy during the 106 cycle on my laptop, so I saw the crashreporter more often than not. In the terminal spew I found > Failed to open curl lib from binary, use libcurl.so instead and the GUI told me submitting the report had failed. Not great if you actually except to have your bugs fixed at some point.
2022-09-21buildMozillaMach: Build 102esr using nss_esrMartin Weinelt1-1/+1
2022-09-21buildMozillaMach: Prune control flow for versions <102Martin Weinelt1-4/+0
2022-08-07setup-hooks/separate-debug-info.sh: don't inhibit strip hookSergei Trofimovich1-1/+0
Before the change separate-debug-info.sh did the stripping itself. This scheme has a few problems: 1. Stripping happens only on ELF files. *.a and *.o files are skipped. Derivations have to do it manually. Usually incorrectly as they don't run $RANLIB (true for `glibc` and `musl`). 2. Stripping happens on all paths. Ideally only `stripDebugList` paths should be considered. 3. Host strip is called on Target files. This change offloads stripping logic to strip hook. This strips more files for `glibc` and `musl`. Now we can remove most $STRIP calls from individual derivations. Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-08-02firefox-unwrapped: use pname+versionSandro1-1/+1
2022-07-26firefox-unwrapped: 102.0.1 -> 103.0Martin Weinelt1-1/+1
https://www.mozilla.org/en-US/firefox/103.0/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2022-28/ Fixes: CVE-2022-36319, CVE-2022-36317, CVE-2022-36318, CVE-2022-36314, CVE-2022-36315, CVE-2022-36316, CVE-2022-36320, CVE-2022-2505
2022-06-13Merge master into staging-nextgithub-actions[bot]1-1/+1
2022-06-12buildMozillaMach: allow PGO on all Linux platformsMartin Weinelt1-1/+1
Tested on the aarch64 community builder and it didn't get stuck like back when we first tried to enable PGO.
2022-06-08buildMozillaMach: add patch for rust-cbindgen 0.24 compatMartin Weinelt1-0/+7
Fixes a regression caused by an update to rust-cbindgen 0.24.x, where the definition for ROOT_CLIP_CHAIN is now autogenerated and causes the build to abort with a redefinition error. https://bugzilla.mozilla.org/show_bug.cgi?id=1773259 Patch by Ollivier Tilloy from Canonical https://github.com/canonical/firefox-snap/commit/5622734942524846fb0eb7108918c8cd8557fde3
2022-06-05firefox: disable 'MOZILLA_OFFICIAL=1' on i686Sergei Trofimovich1-1/+1
Without the change firefox build on i686 fails at configure time: $ NIXPKGS_ALLOW_BROKEN=1 nix build -f. --argstr system "i686-linux" firefox ... mozbuild.configure.options.InvalidOptionError: '--enable-release' implied by 'MOZILLA_OFFICIAL' conflicts with '--disable-release' from the command-line The change uses the same 32-bit guard for both. It still does not allow i686 build to succeed for other toolchain misconfiguration, but it's a step forward.
2022-05-24Merge pull request #173738 from mweinelt/firefox-mlsMartin Weinelt1-4/+24
2022-05-22buildMozillaMach: set geo.provider.network.url for new profiles.Martin Weinelt1-0/+13
Use Mozilla Location Service as geolocation provider for new profiles, since our Google API key does not seem to work for geolocation at this time. Related: https://github.com/NixOS/nixpkgs/issues/173758
2022-05-22buildMozillaMach: Clean up Google API key configurationMartin Weinelt1-4/+4
Use a proper filename that and add the URL where information about requesting API keys can be found.
2022-05-22buildMozillaMach: add support for MLSMartin Weinelt1-0/+7
We have received our very own API key for Mozilla Location Services and have been recognized as a Public Interest Project, implying a rate limit of 100k daily requests¹, which should be sufficient for our population. N.B: This key belongs to the NixOS project, please don't use ours, but instead request your own. [1] https://location.services.mozilla.com/terms
2022-05-21Merge branch 'master' into staging-nextJan Tojnar1-1/+24
Conflicts: - pkgs/applications/networking/browsers/firefox/common.nix between 318fae87c0b61eb2eabe6d96b5824cc6e282c513 and f6c57619358d51e71a5298503c84e1c1ce4f9f12.
2022-05-19buildMozillaMach: Add distribution identifier and distribution.iniMartin Weinelt1-1/+24
Adds a distribution id useful for aggregation of crash statistics. Also creates a NixOS flavor, visible through the About window, that is also exposed through telemetry data, if enabled.
2022-05-18Merge branch 'staging-next' into stagingShea Levy1-5/+5
2022-05-16buildMozillaMach: fix builds with crash reporting disabledsqualus1-5/+5
- only try to build and copy crash reporting symbols when crash reporting is enabled - fixes the librewolf build
2022-05-15Merge branch 'staging-next' into stagingJan Tojnar1-3/+20
Conflicts: pkgs/applications/networking/browsers/firefox/common.nix between f6c57619358d51e71a5298503c84e1c1ce4f9f12 and a373324120a271fdbff202b61895e06aecf98923.
2022-05-13buildMozillaMach: Update native python env varMartin Weinelt1-3/+7
With Firefox 100.0 the following deprecation warning comes up: > The "MACH_USE_SYSTEM_PYTHON" environment variable is deprecated, > please unset it or replace it with either > "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system" or > "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none" And since we want to continue using our own python we're going for the system value when the version is at least 100.0.
2022-05-13buildMozillaMach: create symbols outputMartin Weinelt1-0/+13
Thie zip bundle in this output is used in the dumps sent by the crashreporter. For this to happen we need to upload this zip file to https://symbols.mozilla.org, which is a separate effort.
2022-05-13firefox-unwrapped: fix cross compilationNick Cao1-4/+20
2022-05-11Merge pull request #171900 from kevincox/firefox-crashreporterdavidak1-4/+1
firefox: Enable crash reporter by default.
2022-05-07firefox: support JACK and sndio audio backendsS. Nordin Abouzahra1-0/+8
You can set `media.cubeb.backend` in `about:config` to force a specific backend.
2022-05-06firefox: Enable crash reporter by default.Kevin Cox1-4/+1
This makes it easier to report bugs upstream and ensures that NixOS user crashes are fixed. Based on my testing these reports weren't automatically submitted anyways so the privacy concern is minimal. For my crashes it both asked my if a crash report should be produced after a crash, and required manual sending. Although possibly the report world eventually be sent automatically. Fixes https://github.com/NixOS/nixpkgs/issues/107889
2022-05-03firefox: 99.0.1 -> 100.0Martin Weinelt1-9/+0
https://www.mozilla.org/en-US/firefox/100.0/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2022-16/ Fixes: CVE-2022-29914, CVE-2022-29909, CVE-2022-29911, CVE-2022-29912, CVE-2022-29910, CVE-2022-29915, CVE-2022-29917, CVE-2022-29918
2022-05-03Merge pull request #171312 from SuperSandro2000/firefoxMartin Weinelt1-1/+0
2022-05-02firefox: remove unused optionSandro Jäckel1-1/+0
2022-04-16treewide: remove nativeBuildInputs that are in stdenvBen Siraphob1-2/+0
2022-04-03thunderbird{-bin}|firefox|librewolf: use nss_latest for regular releasesajs1241-2/+3
and nss_esr for esr releases
2022-03-29Merge pull request #165964 from mweinelt/firefox-hwdecBernardo Meurer1-0/+8
2022-03-29firefox: allow RDD sandbox access to gpu driversMartin Weinelt1-0/+8
Firefox uses a sandboxing model that only allows access to paths that were previously explicitly granted. We can only add granular permissions to a specific sandbox by patching, because setting LD_LIBRARY_PATH would affect all of them. To use hardware decoding via VA-API with Firefox 98.0.2 one needs to head to `about:config` and enable `media.ffmpeg.vaapi.enabled`. Closes: #157061
2022-03-28Merge pull request #166078 from mweinelt/firefox-drmBernardo Meurer1-2/+10
firefox: fix drmSupport flag
2022-03-28firefox: always build with clangMartin Weinelt1-7/+4
Both LTO and PGO require the use of clang so I think its easier to just stick with clang for all builds, so PGO and LTO could in theory be used without each other.
2022-03-28firefox: add pname to throw messageMartin Weinelt1-1/+1
https://github.com/NixOS/nixpkgs/pull/164646#discussion_r835879348
2022-03-28firefox: add profile-guided optimizationMartin Weinelt1-0/+60
Lo and behold, we're finally catching up with Mozillas very own firefox build in terms of speed. PGO is an optimization technique in which in a first step we create a build that supports instrumentation, meaning we can use it to create a profile of how the browser behaved during usage. Then in a second pass we create the final build that uses the acquired profiling data to optimize the browser for the workload it actually received during profiling. The downside is that with PGO we now need to build Firefox twice, which increases the build time from around 20 minutes to roughly 50 minutes. In the Speedometer 2.0 benchmark multiple tests could see a responsiveness improvemeant around 20-25%, which makes the increased build time well worth it. Sadly this benefit seems limited to x86_64-linux, builds on aarch64-linux get stuck during profiling and I haven't found out why. Finally, after a long time, we can say: Closes: #76484 Supersedes: #129503
2022-03-28firefox: fix drmSupport flagMartin Weinelt1-2/+10
In #109133 @alyssais discovered that the drmSupport flag stopped working. This is because Mozilla decided around Firefox 51 (mozbz#1289634) to swap the default values and our flag was asking for the wrong thing all along. Since this flag has now been enabled for multiple years, disabling it would mean a regression for our users. Leaving it enabled should be unproblematic since it only controls whether Firefox shows the EME nagbar, that allows to enable Widevine CDM, when a site requests it. The choice is therefore completely up to the enduser. Disabling this nagbar is still possible at runtime by setting `browser.eme.ui.enabled` to `false`. If Widevine CDM was inadvertently enabled it can be disabled at `media.gmp-widevinecdm.enabled`. Supersedes: #109133
2022-03-23firefox: reformat, sort, cleanupMartin Weinelt1-109/+179
It is normal for such a large derivation to accumulate mixed codestyles over all those years making it harder to maintain. By splitting up dependencies to one per line I noticed two unused dependencies (hunspell, sqlite) that were removed in this change. Also most lists are now sorted alphabetically, so reasoning about them has become much easier. Lists now use the same style for indentation and concat, and environment variables are all defined in preConfigure as opposed to bare in the derivation. The object dir, firefox build directory, is now in a predictable directory at ${pwd}/mozobj as opposed to ${pwd}/obj-@CONFIG_GUESS@, saving us one wildcard expansion. This is also a good prepration for the PGO build where we need to reference bits inside this directory. Added a few comments and clarified others from what I've learned how the firefox build works.
2022-03-23firefox: pass pciutils via wrapper instead of patching itMartin Weinelt1-4/+1
2022-03-23firefox: fix system libffi usageMartin Weinelt1-1/+3
Since Firefox 51 the --enable-system-ffi flag was renamed to --with-systemd-ffi when it moved to the javascript toolkit parts. Rename the flag accordingly and reintroduce the dependency. mozbz#1294803
2022-03-23firefox: drop darwin supportMartin Weinelt1-43/+6
Darwin support was marked broken in 2019 with Firefox 69 and has missed therefore missed out and not been tested on the following 29 major releases since. It cannot be supported again without a darwin user stepping up to take care and work on and test every major release, which hasn't happened since I took over maintainership. The recommendation of the people that tend to the firefox source build is for darwin users to use firefox-bin instead.
2022-03-23firefox: drop pipewire from build inputsMartin Weinelt1-2/+1
Firefox does not support passing pipewire as a system library and instead relies on a vendored copy it ships. We keep the flag because it is tied into the wrapper, because we still need to have access to its libraries at runtime.
2022-03-23firefox: drop hint regarding system cairoMartin Weinelt1-1/+0
Building with system cairo has been unsupported since Firefox 60 (mozbz#1432751) and the flag was removed in 2021 with Firefox 92 (mozbz#1722653).
2022-03-23firefox: enable necko wifi scannerMartin Weinelt1-1/+1
Tied to the geolocation support flag. On Linux this uses the DBus interface of NetworkManager to query visible accesspoints and relay them to Mozilla location service in return for position approximation.