Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

firefox-esr: use latest Rust #121290

Merged
merged 1 commit into from Apr 30, 2021
Merged

firefox-esr: use latest Rust #121290

merged 1 commit into from Apr 30, 2021

Conversation

ghost
Copy link

@ghost ghost commented Apr 30, 2021

Firefox ESR 78.x used to have a problem with Rust >= 1.46, but it works
with latest Rust now!

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Firefox ESR 78.x used to have a problem with Rust >= 1.46, but it works
with latest Rust now!
@mweinelt mweinelt merged commit 0ae04ca into NixOS:master Apr 30, 2021
@vcunat
Copy link
Member

vcunat commented Apr 30, 2021

Upstream confirmation: https://bugzilla.mozilla.org/show_bug.cgi?id=1663715#c14

I'll re-test the same with thunderbird and file a PR.

@mweinelt
Copy link
Member

FWIW: I did a testbuild (x86_64-linux) and did a cursory check of functionality.

@ghost
Copy link
Author

ghost commented Apr 30, 2021

I'll re-test the same with thunderbird and file a PR.

Should have said so, I'm already on it. There are some changes needed as the latest thunderbird release does not include the changes from Firefox ESR (yet) that allow it to build.

@vcunat
Copy link
Member

vcunat commented Apr 30, 2021

Oh, OK. I didn't expect them to be "behind".

@ghost
Copy link
Author

ghost commented Apr 30, 2021

Sooo... It's not that easy. It fails because of an old version of packed_simd, which references stuff that was removed from the standard library (because the underlying LLVM feature was removed). However, the Firefox source code also has this dependency, but it seemingly doesn't attempt to compile it. I found an upstream commit upgrading the dependency, but I'm not sure if it will get ported to the ESR branch. I can't really find the source repository for the ESR branch and Thunderbird anywhere, so it's a bit hard to see what will go into the next release.
For now I suppose we have to leave Thunderbird at Rust 1.45 until they backport the fix(es) or there is a new major release.

@vcunat
Copy link
Member

vcunat commented Apr 30, 2021

I can't see a problem in keeping thunderbird as it is.

@ghost
Copy link
Author

ghost commented Apr 30, 2021

Well, it would be nice to remove rust_1_45 at some point to save some bytes and build time.

Anyways, I found the difference between firefox-esr and thunderbird: thunderbird is built with the --enable-rust-simd compile flag, while firefox(-esr) isn't.

My proposal: Disable it for thunderbird now so we can remove rust_1_45, and enable this flag for more recent firefox (and eventually thunderbird) versions.

I already confirmed that it builds and runs fine with latest rust and without this compile flag. Does this plan sound good to you otherwise?

@ghost ghost deleted the feature/firefox-latest-rust branch May 1, 2021 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants