Closed mfschumann closed 2 years ago
Started test build 109326
Build 109326 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/106964/eu.betterbird.Betterbird.flatpakref
Started test build 109500
Started test build 109501
Started test build 109502
I'd say this pull request can be merged now:
Any further remarks or wishes @Betterbird or @hfiguiere ?
Build 109500 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/107137/eu.betterbird.Betterbird.flatpakref
Build 109501 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/107138/eu.betterbird.Betterbird.flatpakref
Build 109502 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/107139/eu.betterbird.Betterbird.flatpakref
Any further remarks or wishes @Betterbird or @hfiguiere ?
Remarks, yes, or more a question: So in general terms, you download the TB flat source, apply the BB patches, compile the lot, and then hack the language packs into place patching the TB XPIs. That's all understood. What interests me (and likely @dbonner) is how you set up the compile/build environment. I'm sure you've read our "manual" build instructions (https://github.com/Betterbird/thunderbird-patches#building-betterbird) which involve installing a few packages (git, various python, mercurial, rust) and then our build script runs the Mozilla bootstrap which for X86-64 works and installs a whole heap of other packages (clang, node, cbindgen, etc.) to complete the build environment. Also, the build script sets the rust version since with a non-compatible rust compiler the build fails. Mozilla doesn't support aarch64, so their bootstrap doesn't work there and the build instructions for aarch64 are more complicated. So the question is: How do you do it? Maybe you have all the expertise from building TB. Somewhere in the conversation (I believe) @hfiguiere said something like "we have aarch64 builders", but having the physical/virtual machine is just the start.
Started test build 109515
Build 109515 failed
Started test build 109525
Build 109525 failed
bot, build
Queued test build for eu.betterbird.Betterbird.
Started test build 109590
Build 109590 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/107226/eu.betterbird.Betterbird.flatpakref
Started test build 109602
Node.js is used in the Mozilla platform code, not TB/BB code. I can't tell what they're doing with it exactly, one post on a Firefox mailing list in 2019 said: Now that we have NodeJS in the tree, we want to unlock the rich set of tooling in the NodeJS/npm ecosystem so that we can start depending on things available there in a coherent, managed, more secure way.
Build 109602 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/107238/eu.betterbird.Betterbird.flatpakref
... So the question is: How do you do it? Maybe you have all the expertise from building TB. Somewhere in the conversation (I believe) @hfiguiere said something like "we have aarch64 builders", but having the physical/virtual machine is just the start.
Setting up the build environment is one of the things done by flatpak-builder
, the tool that reads the "manifest" eu.betterbird.Betterbird.json
. The largest part of the manifest used for Betterbird is taken from the Thunderbird manifest. So I did not have to fiddle with setting up the correct build environment and getting the dependencies right myself.
Many of the build dependencies for Betterbird are already available in the freedesktop runtime, the freedesktop SDK, or an SDK extension (e.g. rust). The rest (just a handful) is built from source before building Betterbird. All of this is controlled by the manifest and is agnostic of the platform, so you should be able to build the flatpak on any machine by cloning this git repo, installing flatpak-builder, and running flatpak-builder build-dir eu.betterbird.Betterbird.json
. This feature of flatpak made building on aarch64 just work after setting everything up for x86_64.
In case you want to learn more about how flatpaks are built, this documentation is a good starting point.
Build 109239 successful To test this build, install it from the testing repository: