This is a fork of Relan's excellent fennecbuild repository. It allows compiling the entirety of Fenix without prebuilts along with removal of the proprietary blobs.
This fork is specifically for compiling Mull. It enables many features upstreamed by the Tor Uplift project using preferences from the arkenfox-user.js project. It was originally created as builds of the patchset from bug 1419581.
This is compiled using fdroidserver. You will need to copy the config files from -fdroiddata/ into their respective folders first. Then run:
fdroid build us.spotco.fennec_dos:VERCODE
where VERCODE is a version code number. VERCODE is currently prepended with 2 as an epoch for upgrade from old Fennec-based Mull. The second to last number of the VERCODE corresponds to the architecture to compile. 0 = ARMv7, 1 = x86, 2 = AArch64
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">
Please see the list of known issues and workarounds before opening an issue! https://divestos.org/index.php?page=broken#mull
git remote add upstream https://gitlab.com/relan/fennecbuild
git fetch upstream
git rebase upstream/master
Getting a working fdroidserver is a bit tricky. Here are some steps to get you in the right direction.
git clone https://gitlab.com/fdroid/fdroidserver.git
git clone https://gitlab.com/fdroid/fdroiddata.git
wget https://gitlab.com/fdroid/fdroidserver/-/raw/master/gradlew-fdroid -O gradle
mkdir -p ~/.gradle && echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties
mkdir android android-ndk
wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
unzip tools_r*-linux.zip -d android/
android update sdk --no-ui
android update sdk --no-ui --filter build-tools-30.0.2,android-30,build-tools-30.0.0-preview,build-tools-29.0.3,android-29,build-tools-28.0.3,android-28 --all
wget https://dl.google.com/android/repository/android-ndk-r27-linux.zip
unzip android-ndk-r27-linux.zip -d android-ndk/
echo "ndk_paths = { 'r27': \"\$ANDROID_NDK\" }" >> fdroiddata/config.py
export ANDROID_HOME=~/android
export ANDROID_NDK=~/android-ndk/android-ndk-r27
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/fdroidserver
source .bashrc
sudo ln -sf /usr/lib/jvm/java-17-openjdk /usr/lib/jvm/java-17-openjdk-amd64
sudo ln -sf /usr/lib/jvm/java-1.8.0-openjdk /usr/lib/jvm/java-8-openjdk-amd64
The scripts are licensed under the GNU Affero General Public License version 3 or later.
Changes in the patch are licensed according to the header in the files this patch adds or modifies (Apache 2.0 or MPL 2.0).
The artwork is licensed under the MPL 2.0.
The userjs-00-arkenfox.js file is licensed under MIT.
Mozilla Firefox is a trademark of The Mozilla Foundation
Divested Computing Group is not affiliated with Mozilla
Mull is not sponsored or endorsed by Mozilla
Firefox source code is available at https://hg.mozilla.org