I’m trying to modify my otherwise simple app depending on GeckoView to not rely on Mozilla’s Binary GeckoView builds and instead build them from source as required by F-Droid iinm.
I don’t particulary like this dependency on a random binary myself. (If a prebuilt GeckoView were provided by Debian or F-Droid, I’d be fine with that)
I’m not very familiar with gradle and am struggling to get this working. Are there already any apps in F-Droid using GeckoView (only GeckoView best case) that I could use as reference?
I took a glance at Firefox Klar, but there is so much going on that I’m not able to follow.
If a prebuilt GeckoView were provided by Debian or F-Droid, I’d be fine with that
I don’t think this is gonna happen. Our target is building everything from source.
Are there already any apps in F-Droid using GeckoView
There’s Fenix on its way: https://gitlab.com/relan/fdroiddata/-/blob/fenix/metadata/org.mozilla.fenix_fdroid.yml. I made a set of scripts to configure and build all needed components, including GeckoView.
Thanks, with those scripts as reference and a lot of work, I was finally able to complete the
./mach build part of GeckoView in an Debian Sid chroot.
However, the build is consistently failing in the gradle stage, but I can’t find a reason as to why – mach build didn’t log any errors.
No rule to make target '../../../security/nss/lib/crmf/crmf_crmf/libcrmf.a', needed by 'libxul.so'. Stop.
Maybe I’ll try again in a few days.
I don’t have high hopes of this happening, but I don’t think it would conflict with “building everything from source”. If F-Droid built GeckoView from Source, an app using the resulting binary, can be reproduced by first reproducing F-Droid’s GeckoView build and then reproducing the app build itself, right?
In theory - if enough apps were using GeckoView - this would allow the buildserver to save resources as it only needs to go through the lengthy GeckoView buildprocess once. (And I could save time by not having to struggle with GeckoViews build process '^-^ ).
In practice those benefits are probably negetaed by having multiple GeckoView versions, apparently only very a few apps using GeckoView and the overhead of implementing it.
It’s possible to make fennecbuild scripts more modular, so that an app build recipe could just call $$MozBuild$$/build.sh to build GeckoView.
The app itself will have to be updated at least every 4 weeks to bump GV version because each Firefox release fixes vulnerabilities.
@Oneric, beware that GeckoView includes a proprietary library (com.google.android.gms:play-services-fido) since 83.0:
Thanks, for letting me know!
Unfortunately, I never managed to get a clean GeckoView build working myself (although regular Firefox build worked well) and I currently don’t have the time and motivation to try again.
With the trouble to get a clean build and the need to update all apps using GeckoView on every GeckoView update, it almost seems worth it to reimplement a cut-down version of the app with WebView instead when I need it again :\
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.