sarnold / portage-overlay

Gentoo Linux Developer (nerdboy) Steve Arnold's Portage Overlay
https://dev.gentoo.org/~nerdboy/
5 stars 3 forks source link

the status of firefox on arm powered gentoo #5

Open stefson opened 7 years ago

stefson commented 7 years ago

hey there, I found your arm support overlay for gentoo by chance. I wonder if you would like to work on it with me to get it working again? Because while most packages from the tree are good to go if you happen to have an armhf toolchain this is not true for www-client/firefox.

I forked it to work with it, I can provide split patches if you want to, or open a pull request https://github.com/stefson/arm

Also I understand that this is the wrong overlay, but I can't create an issue in the arm overlay and I don't think that I have made enough progress to open a pull request regarding this.

At the moment I am giving the in tree ebuild of firefox-52.3.0 a try, it may take a while for results to come up.

stefson commented 7 years ago

By the way, if you are interested into developing past 53.x, there is a bug open to add arm keywords to dev-lang/rust-bin. This bug https://bugs.gentoo.org/show_bug.cgi?id=611756 has an ebuild patch which works fine for me, and with these it should be possible to build dev-util/cargo from scratch to finally solve all build dependencies for firefox-54.0 and newer.

stefson commented 7 years ago

Meanwhile I filled a gentoo bug against firefox-esr, so that it compiles now fine on arm(hardfloat) - for softfloat have a look at fedora, they have a lot of patches for these particular issues.

Not yet runtime tested, but working on it. Close the issue if you're not interested into talking about firefox, ok?

sarnold commented 6 years ago

Firefox is a major PITA on arm, seems like every version has new failures, and now the whole rust dependency thing. I do want a usable firefox for arm but last versions I tried were being even bigger pain. If you have anything that builds clean on arm I'll be happy to test it on several arm boards when I get back home in a couple weeks (TBH I didn't even notice the issues here in the flood of github notifications). Feel free to open a pull request. Thanks!

(although you should probably do that against sarnold/arm or gentoo/arm instead of here)

stefson commented 6 years ago

hey there, I played around a lot in the meantime with the ebuilds which are around. The 52esr versions are still pretty much ok on hardfloat, but post 52 it is a complete mess. Even though it is possible to adopt a rust-bin package and so to go around the need of building the rust compiler on your own, or even to be forced to crosscompile, there is a new clang dependency introduced recently. And yeah, at the moment clang support for arm on gentoo has been dropped entirely, let alone softfloat be mentioned.

The last version for which I did a test-build was 57.0, and this one segfaults straight away (upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1391802)

Seeing all this hardships, the need of three compilers as dependencies and the ignorance from Mozilla, I'd rather adopt a binary from another distro, the one from debian works well for me. If you want to test firefox post 52.0, the binary from arch linux used to work fine and was not affected by bug #1391802.

And if you want to see decent javascript performance on low ram and slow cpu, do the same with a chromium binary ;-)

sarnold commented 6 years ago

My last answer for Gentoo (on a Tegra K1 no less) was just to use epiphany for now :/

Also I just switched jobs so have only negative time left; did you want to strong-arm some help from #gentoo-arm/embedded and push a bin ebuild or two? I was actually looking at debian package for something usable (like patches/build options) but didn't find anything to unbreak ^^ that stuff. Actually I think their package was 52.x-esr as well. Did you find something newer to raid for us?

stefson commented 6 years ago

you can use my ebuild for chromium, if you want to: https://github.com/stefson/gentoo-extras/tree/master/www-client/chromium-bin

I took the ebuild from another overlay and altered it a bit for my needs, removed pulseaudio dependency for instance, because I don't have audio on the rpi anyway. So yeah, this works on a rpi2 and on a thoshiba ac100, but for softfloat you might be out of options.

sarnold commented 6 years ago

don't really care about softfoat (much) mainly need something workable across several armv7 hardfloat devices. So I'll pull in your ebuild for testing and probably stick it in the arm overlay. Thanks; if you get a firefox that works let me know...

stefson commented 6 years ago

If you're using gcc-6 to build firefox, you'd have to append -fno-insns-schedule and pass --enable-optimize=-O2 ; works 100% with 52.6.0

and pass --disable-sandbox of course.

firefox-esr-arm-gcc6-1024