mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2026-02-07 21:03:52 -05:00
ironfox-oss/IronFox!115 ____ ## Changes - [Added an OLED theme](7008b9c865). - Enable content process isolation by default. - **NOTE**: This may cause issues with live streaming on certain websites *(such as `rumble.com`)*. If desired, at the cost of security, you can disable content process isolation by navigating to `Settings` -> `About` -> `About IronFox`, tapping the IronFox logo 7 times, navigating back to `Secret settings`, disabling the setting to enable content process isolation, and restarting your browser. - Created and integrated a new separate [`UnifiedPush-AC`](https://gitlab.com/ironfox-oss/unifiedpush-ac) component to support UnifiedPush functionality. - Implemented support for Gecko localizations *(ex. for `about:` pages)*. - [Prevented exposing the browser name and vendor to extensions](8fa2ceaa9c) to improve privacy and resolve compatibility issues with certain extensions. - Updated to Firefox [`147.0`](https://firefox.com/firefox/android/147.0/releasenotes/). - Other tweaks, enhancements, and refinements. MR-author: celenity <celenity@celenity.dev> Co-authored-by: Weblate <hosted@weblate.org> Co-authored-by: Akash Yadav <itsaky01@gmail.com> Co-authored-by: techaddict <20232669-techaddict@users.noreply.gitlab.com> Co-authored-by: user <user@localhost.localdomain> Approved-by: Akash Yadav <itsaky01@gmail.com> Merged-by: celenity <celenity@celenity.dev>
161 lines
4.3 KiB
Bash
Executable File
161 lines
4.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to assist with creation of an IronFox build environment
|
|
|
|
set -euo pipefail
|
|
|
|
source "$(dirname $0)/env_local.sh"
|
|
|
|
error_fn() {
|
|
echo
|
|
echo -e "\033[31mSomething went wrong! The script failed.\033[0m"
|
|
echo -e "\033[31mPlease report this (with the output message) to https://gitlab.com/ironfox-oss/IronFox/-/issues\033[0m"
|
|
echo
|
|
exit 1
|
|
}
|
|
|
|
# Install dependencies
|
|
echo "Installing dependencies..."
|
|
if [[ "${IRONFOX_PLATFORM}" == 'darwin' ]]; then
|
|
# Ensure Homebrew is installed
|
|
if [[ -z "${HOMEBREW_PREFIX}" ]]; then
|
|
echo "Homebrew is not installed! Aborting..."
|
|
echo "Please install Homebrew and try again..."
|
|
echo "https://brew.sh/"
|
|
exit 1
|
|
fi
|
|
|
|
# Ensure Xcode command line tools are installed
|
|
if ! /usr/bin/xcode-select -p &> /dev/null; then
|
|
/usr/bin/xcode-select --install || error_fn
|
|
echo
|
|
fi
|
|
|
|
export HOMEBREW_ASK=0
|
|
|
|
# Ensure we're up to date
|
|
brew update || error_fn
|
|
echo
|
|
brew upgrade || error_fn
|
|
echo
|
|
|
|
# Install our dependencies...
|
|
brew install \
|
|
cmake \
|
|
gawk \
|
|
git \
|
|
gnu-sed \
|
|
gnu-tar \
|
|
m4 \
|
|
make \
|
|
nasm \
|
|
ninja \
|
|
node \
|
|
perl \
|
|
python@3.9 \
|
|
temurin@17 \
|
|
wget \
|
|
xz \
|
|
yq \
|
|
zlib || error_fn
|
|
echo
|
|
|
|
elif [[ -f "/etc/os-release" ]]; then
|
|
# We're on Linux, so let's determine the distro
|
|
source /etc/os-release || error_fn
|
|
echo
|
|
|
|
# ATM, we support Fedora and Ubuntu
|
|
if [[ "${ID}" == "fedora" ]]; then
|
|
# Ensure we're up to date
|
|
sudo dnf update -y --refresh || error_fn
|
|
echo
|
|
|
|
# Add + enable the Adoptium Working Group's repository
|
|
sudo dnf install -y adoptium-temurin-java-repository || error_fn
|
|
echo
|
|
sudo dnf config-manager setopt adoptium-temurin-java-repository.enabled=1 || error_fn
|
|
echo
|
|
sudo dnf makecache || error_fn
|
|
echo
|
|
|
|
# Install our dependencies...
|
|
sudo dnf install -y \
|
|
cmake \
|
|
clang \
|
|
gawk \
|
|
git \
|
|
gyp \
|
|
m4 \
|
|
make \
|
|
nasm \
|
|
ninja-build \
|
|
patch \
|
|
perl \
|
|
python3.9 \
|
|
shasum \
|
|
temurin-8-jdk \
|
|
temurin-17-jdk \
|
|
wget \
|
|
xz \
|
|
yq \
|
|
zlib-devel || error_fn
|
|
echo
|
|
|
|
elif [[ "${ID}" == "ubuntu" ]]; then
|
|
# Ensure we're up to date
|
|
sudo apt update || error_fn
|
|
echo
|
|
sudo apt upgrade || error_fn
|
|
echo
|
|
|
|
# Add the deadsnakes PPA
|
|
sudo add-apt-repository ppa:deadsnakes/ppa || error_fn
|
|
echo
|
|
|
|
# Add + enable the Adoptium Working Group's repository
|
|
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null || error_fn
|
|
echo
|
|
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list || error_fn
|
|
echo
|
|
|
|
sudo apt update || error_fn
|
|
echo
|
|
|
|
sudo apt install -y \
|
|
apt-transport-https \
|
|
cmake \
|
|
clang-18 \
|
|
git \
|
|
gpg \
|
|
gyp \
|
|
make \
|
|
nasm \
|
|
ninja-build \
|
|
patch \
|
|
perl \
|
|
python3.9 \
|
|
tar \
|
|
temurin-8-jdk \
|
|
temurin-17-jdk \
|
|
unzip \
|
|
wget \
|
|
xz-utils \
|
|
yq \
|
|
zlib1g-dev || error_fn
|
|
echo
|
|
else
|
|
echo "Apologies, your Linux distribution is currently not supported."
|
|
echo "If you think this is a mistake, please let us know!"
|
|
echo "https://gitlab.com/ironfox-oss/IronFox/-/issues"
|
|
echo "Otherwise, please try again on a system running the latest version of Fedora, macOS, or Ubuntu."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "Apologies, your operating system is currently not supported."
|
|
echo "If you think this is a mistake, please let us know!"
|
|
echo "https://gitlab.com/ironfox-oss/IronFox/-/issues"
|
|
echo "Otherwise, please try again on a system running the latest version of Fedora, macOS, or Ubuntu."
|
|
exit 1
|
|
fi
|