Skip to content

Conversation

OldManYellsAtCloud
Copy link
Collaborator

@OldManYellsAtCloud OldManYellsAtCloud commented Sep 18, 2025

This PR contains a regular Firefox update.

Two notes I'd like to add:

  1. The latest Firefox contains an update of the cc crate, and it brought some changes when it comes to cross-compiling. After a recent change, it reads more environment variables than it used to to gather the CFLAGS/CXXFLAGS variables. This causes problems when some build-only dependencies are compiled by rust, because it mixes the CFLAGS (target flags) with HOST_CFLAGS (native flags). To avoid the issue, added a new patch: 0001-cc-crate-skip-HOST_CFLAGS-and-HOST_CXXFLAGS-env-vars.patch. This patch is only suitable for Firefox target compilation. Relevant upstream issue: cross-compiling regression rust-lang/cc-rs#1469
  2. I have removed the includes for crates. When I first created these includes, the Firefox tarball had a number of missing crates causing build failures. But I haven't kept checking if it has improved since. Now, while investigating the above build issue, I noticed that it seems to build fine with the crates from the tarball also, so let's just use that.

@OldManYellsAtCloud
Copy link
Collaborator Author

Mozilla has just released Firefox 143.0.1, however it contains only a fix for a Windows-only crash (some Trend Micro DLL injection makes FF unhappy). I plan to skip that version.

This also includes some refactoring of the recipe - instead of using crates
downloaded by the recipe, use the crates vendored in the Firefox tarball.
It looks that it builds successfully with that now.

Signed-off-by: Gyorgy Sarvari <user.name>
This also includes a refactoring of the recipe: instead of using crates
downloaded by the recipe, use crates included in the Firefox tarball.
It seems that it builds fine now using them.

Signed-off-by: Gyorgy Sarvari <user.name>
Initially, when the crates include was added, Firefox's vendored crates
were not enough to build Firefox, it required downloading a number of
other crates to be able to compile without failure.

Now however it looks that the tarball contains all required crates, so
use it instead of vendoring them from the recipe.

Signed-off-by: Gyorgy Sarvari <[email protected]>
@kraj
Copy link
Collaborator

kraj commented Sep 19, 2025

CI was cancelled. Do you know why ?

@OldManYellsAtCloud
Copy link
Collaborator Author

Yes, it timed out (if it doesn't finish in 24 hours, it cancels the non-executed jobs). The jobs usually take at least 30 hours (but if a lot of packages need to be rebuilt then more), so it always times out at least once.

Meanwhile I had also noticed some issues with the recipes which I have just corrected - I plan to push it in minutes, and restart the CI jobs.

@OldManYellsAtCloud
Copy link
Collaborator Author

This is technically ready, the CI jobs have finished and passed, and from my end it can be merged.

There is one thing I noticed that I'm not sure yet about. Firefox has a config that specifies from where can addons be loaded. In case all locations enabled where all users are storing their addons, then Firefox doesn't communicate with geckodriver on non-x86_64 system for some reason. But it does seem to work when used manually, and it works with geckodriver also when this setting is disabled. Will have to take a look at that...

@kraj kraj merged commit 6954886 into OSSystems:master Sep 23, 2025
629 of 842 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants