Compare commits
27 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50465aa304 | ||
|
|
8f8120a4cf | ||
|
|
365d39cc01 | ||
|
|
78be0f398f | ||
|
|
178c4062b8 | ||
|
|
61617ebcaf | ||
|
|
e5e62517e9 | ||
|
|
155367a779 | ||
|
|
8b0b13b8be | ||
|
|
69e0b71cdf | ||
|
|
b9c9521cda | ||
|
|
d48ad7c2b4 | ||
|
|
21f8b6a752 | ||
|
|
5b0b89c8a5 | ||
|
|
8e7098bc0d | ||
|
|
354766fc0d | ||
|
|
d78c8c0c19 | ||
|
|
bf4e1d35f9 | ||
|
|
eac4c04053 | ||
|
|
01cc0ab5ad | ||
|
|
d4f54ef3bc | ||
|
|
16a1ab1eea | ||
|
|
7330076db4 | ||
|
|
5ed83bba12 | ||
|
|
fbd3e848a4 | ||
|
|
bb33c0f1a3 | ||
|
|
bf34ed54fe |
8 changed files with 138 additions and 94 deletions
|
|
@ -5,15 +5,28 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
|||
|
||||
--- a/build/moz.configure/toolchain.configure
|
||||
+++ b/build/moz.configure/toolchain.configure
|
||||
@@ -2287,10 +2287,12 @@
|
||||
set_config("LINKER_KIND", select_linker.KIND)
|
||||
@@ -1699,6 +1699,7 @@
|
||||
android_platform,
|
||||
c_compiler,
|
||||
developer_options,
|
||||
+ host,
|
||||
)
|
||||
else:
|
||||
deps = depends_if(
|
||||
@@ -1709,6 +1710,7 @@
|
||||
dependable(None),
|
||||
host_c_compiler,
|
||||
developer_options,
|
||||
+ host,
|
||||
)
|
||||
|
||||
|
||||
-@depends_if(select_linker, target, target_sysroot, target_multiarch_dir, c_compiler)
|
||||
+@depends_if(select_linker, target, target_sysroot, target_multiarch_dir, c_compiler, host)
|
||||
@imports("os")
|
||||
-def linker_ldflags(linker, target, sysroot, multiarch_dir, c_compiler):
|
||||
+def linker_ldflags(linker, target, sysroot, multiarch_dir, c_compiler, host):
|
||||
@deps
|
||||
@@ -1721,8 +1723,11 @@
|
||||
android_platform,
|
||||
c_compiler,
|
||||
developer_options,
|
||||
+ host,
|
||||
):
|
||||
flags = list((linker and linker.LINKER_FLAG) or [])
|
||||
+ if host.cpu == "arm":
|
||||
+ flags.append("-Wl,--no-keep-memory")
|
||||
|
|
|
|||
17
deb_patches/fix-ftbfs-newer-cbindgen.patch
Normal file
17
deb_patches/fix-ftbfs-newer-cbindgen.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24),
|
||||
and causing build failures because it is defined in several places.
|
||||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
|
||||
Forwarded: not-needed
|
||||
|
||||
--- a/gfx/webrender_bindings/webrender_ffi.h
|
||||
+++ b/gfx/webrender_bindings/webrender_ffi.h
|
||||
@@ -73,8 +73,6 @@ struct WrPipelineInfo;
|
||||
struct WrPipelineIdAndEpoch;
|
||||
using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
|
||||
|
||||
-const uint64_t ROOT_CLIP_CHAIN = ~0;
|
||||
-
|
||||
} // namespace wr
|
||||
} // namespace mozilla
|
||||
|
||||
19
deb_patches/fix-wayland-build.patch
Normal file
19
deb_patches/fix-wayland-build.patch
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
Description: Fix FTBFS on bionic. Compiler errors:
|
||||
In file included from Unified_cpp_widget_gtk1.cpp:2:
|
||||
/<<BUILDDIR>>/firefox-92.0~b2+build1/widget/gtk/WaylandBuffer.cpp:261:39: error: unknown type name 'GLContext'; did you mean 'EGLContext'?
|
||||
const LayoutDeviceIntSize& aSize, GLContext* aGL) {
|
||||
^~~~~~~~~
|
||||
|
||||
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
|
||||
--- a/widget/gtk/WaylandBuffer.cpp
|
||||
+++ b/widget/gtk/WaylandBuffer.cpp
|
||||
@@ -258,7 +258,7 @@
|
||||
|
||||
/* static */
|
||||
RefPtr<WaylandBufferDMABUF> WaylandBufferDMABUF::Create(
|
||||
- const LayoutDeviceIntSize& aSize, GLContext* aGL) {
|
||||
+ const LayoutDeviceIntSize& aSize, gl::GLContext* aGL) {
|
||||
RefPtr<WaylandBufferDMABUF> buffer = new WaylandBufferDMABUF(aSize);
|
||||
|
||||
const auto flags =
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
# Description: Don't pass -mfloat-abi=softfp on armhf
|
||||
# Author: Chris Coulson <chris.coulson@canonical.com>
|
||||
# Forwarded: no
|
||||
|
||||
--- a/build/gyp.mozbuild
|
||||
+++ b/build/gyp.mozbuild
|
||||
@@ -107,9 +107,15 @@ if CONFIG['ARM_ARCH']:
|
||||
gyp_vars['arm_neon'] = 1
|
||||
gyp_vars['build_with_neon'] = 1
|
||||
else:
|
||||
- # CPU detection for ARM works on Android only. armv7 always uses CPU
|
||||
- # detection, so we have to set armv7=0 for non-Android target
|
||||
- gyp_vars['armv7'] = 0
|
||||
+ gyp_vars['armv7'] = 1
|
||||
+ # We enable NEON for Ubuntu armhf. Note that these don't really
|
||||
+ # have any effect here as NEON is hardcoded on in
|
||||
+ # media/webrtc/trunk/webrtc/build/common.gypi. Disabling these
|
||||
+ # without fixing that file will result in a link failure, as
|
||||
+ # targets hidden behind the build_with_neon flag don't get
|
||||
+ # built but WEBRTC_HAS_NEON is still defined
|
||||
+ gyp_vars['arm_neon'] = 1
|
||||
+ gyp_vars['build_with_neon'] = 1
|
||||
# For libyuv
|
||||
gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH'])
|
||||
|
||||
--- a/third_party/libwebrtc/build/config/compiler/BUILD.gn
|
||||
+++ b/third_party/libwebrtc/build/config/compiler/BUILD.gn
|
||||
@@ -590,7 +590,6 @@ config("compiler_cpu_abi") {
|
||||
if (!is_nacl) {
|
||||
cflags += [
|
||||
"-march=$arm_arch",
|
||||
- "-mfloat-abi=$arm_float_abi",
|
||||
]
|
||||
}
|
||||
if (arm_tune != "") {
|
||||
|
|
@ -8,7 +8,7 @@ _DEPENDENCIES="wget git xvfb \
|
|||
xz-utils \
|
||||
gettext-base \
|
||||
curl python3 libjack-dev \
|
||||
python3-psutil python-psutil python3-dev python-dev \
|
||||
python3-dev python-dev \
|
||||
gnupg \
|
||||
autotools-dev \
|
||||
autoconf2.13 \
|
||||
|
|
|
|||
|
|
@ -6,22 +6,22 @@ set -e
|
|||
# Setup Script Variables
|
||||
srcdir=$1;
|
||||
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
|
||||
_COMMON_REPO='https://gitlab.com/librewolf-community/browser/common.git';
|
||||
_SOURCE_REPO='https://gitlab.com/librewolf-community/browser/source.git';
|
||||
_PKGVER_TAG="v${pkgver}-${pkgrel}"
|
||||
_COMMON_TAG=${COMMON_TAG:-${_PKGVER_TAG}}
|
||||
_COMMON_DIR="${CI_PROJECT_DIR}"/common
|
||||
_PATCHES_DIR="${_COMMON_DIR}"/patches
|
||||
_SOURCE_TAG=${SOURCE_TAG:-${_PKGVER_TAG}}
|
||||
_SOURCE_REPO_DIR="${CI_PROJECT_DIR}"/source
|
||||
_PATCHES_DIR="${_SOURCE_REPO_DIR}"/patches
|
||||
_MOZBUILD=$srcdir/../mozbuild
|
||||
|
||||
mkdir -p ${_MOZBUILD}
|
||||
|
||||
# Copy Source Code Changes to Source Code
|
||||
printf "\nCopying branding and source code changes to firefox source code\n";
|
||||
git clone $_COMMON_REPO ${_COMMON_DIR}
|
||||
cd ${_COMMON_DIR}
|
||||
git checkout ${_COMMON_TAG}
|
||||
git clone $_SOURCE_REPO ${_SOURCE_REPO_DIR}
|
||||
cd ${_SOURCE_REPO_DIR}
|
||||
git checkout ${_SOURCE_TAG}
|
||||
cd ..
|
||||
cp -r ${_COMMON_DIR}/source_files/browser $srcdir/;
|
||||
cp -r ${_SOURCE_REPO_DIR}/themes/browser $srcdir/;
|
||||
|
||||
cd $srcdir
|
||||
|
||||
|
|
@ -47,11 +47,23 @@ ac_add_options --enable-dbus
|
|||
# Branding
|
||||
ac_add_options --enable-update-channel=release
|
||||
ac_add_options --with-app-name=librewolf
|
||||
ac_add_options --with-app-basename=LibreWolf
|
||||
# ac_add_options --with-app-basename=LibreWolf
|
||||
|
||||
# switch to env vars like in librewolf source repo
|
||||
# this is in browser/branding/librewolf/configure.sh as well
|
||||
# so it _should_ already be applied, buuuuut just in case?
|
||||
|
||||
export MOZ_APP_NAME=librewolf
|
||||
export MOZ_APP_BASENAME=LibreWolf
|
||||
export MOZ_APP_PROFILE=librewolf
|
||||
export MOZ_APP_VENDOR=LibreWolf
|
||||
export MOZ_APP_DISPLAYNAME=LibreWolf
|
||||
|
||||
ac_add_options --with-branding=browser/branding/librewolf
|
||||
ac_add_options --with-distribution-id=io.gitlab.librewolf-community
|
||||
# ac_add_options --with-distribution-id=io.gitlab.librewolf-community
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
ac_add_options --allow-addon-sideload
|
||||
export MOZ_REQUIRE_SIGNING=
|
||||
|
||||
# System libraries
|
||||
# ac_add_options --with-system-nspr
|
||||
|
|
@ -65,7 +77,11 @@ ac_add_options --disable-updater
|
|||
ac_add_options --disable-tests
|
||||
|
||||
# obsoleted?
|
||||
# mk_add_options MOZ_CRASHREPORTER=0
|
||||
# TODO: use source/assets/moczonfig in the future
|
||||
mk_add_options MOZ_CRASHREPORTER=0
|
||||
mk_add_options MOZ_DATA_REPORTING=0
|
||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
||||
|
||||
# options for ci / weaker build systems
|
||||
# mk_add_options MOZ_MAKE_FLAGS="-j4"
|
||||
|
|
@ -73,6 +89,9 @@ ac_add_options --disable-tests
|
|||
|
||||
# required for 95.0 for now, it seems
|
||||
ac_add_options --without-wasm-sandboxed-libraries
|
||||
|
||||
# experimental JXL support
|
||||
ac_add_options --enable-jxl
|
||||
END
|
||||
|
||||
# allow setting limited resource usage via ENV / CI:
|
||||
|
|
@ -99,9 +118,6 @@ END
|
|||
export RUSTFLAGS="-Cdebuginfo=0"
|
||||
|
||||
export LDFLAGS+=" -Wl,--no-keep-memory -Wl"
|
||||
# patch -Np1 -i ${_PATCHES_DIR}/arm.patch # not required anymore?
|
||||
wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch -O ${_PATCHES_DIR}/build-arm-libopus.patch
|
||||
patch -Np1 -i ${_PATCHES_DIR}/build-arm-libopus.patch
|
||||
|
||||
else
|
||||
cat >>${CI_PROJECT_DIR}/mozconfig <<END
|
||||
|
|
@ -123,30 +139,25 @@ END
|
|||
|
||||
fi
|
||||
|
||||
# hopefully the magic sauce that makes things build on 16.04 and later on work "everywhere":
|
||||
# hopefully the magic sauce that makes things build on 18.04 and later on work "everywhere":
|
||||
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/armhf-reduce-linker-memory-use.patch"
|
||||
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch"
|
||||
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/reduce-rust-debuginfo.patch"
|
||||
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/use-system-icupkg.patch"
|
||||
|
||||
# might make the build just a tiny bit cleaner, not really required though
|
||||
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/fix-wayland-build.patch"
|
||||
|
||||
# allow enabling JPEG XL in non-nightly browser
|
||||
patch -Np1 -i ${_PATCHES_DIR}/allow-JXL-in-non-nightly-browser.patch
|
||||
|
||||
# Remove some pre-installed addons that might be questionable
|
||||
patch -Np1 -i ${_PATCHES_DIR}/remove_addons.patch
|
||||
|
||||
# Disable (some) megabar functionality
|
||||
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
||||
patch -Np1 -i ${_PATCHES_DIR}/removed-patches/megabar.patch
|
||||
|
||||
# remove mozilla vpn ads
|
||||
patch -Np1 -i ${_PATCHES_DIR}/mozilla-vpn-ad.patch
|
||||
|
||||
# Debian patch to enable global menubar
|
||||
# if [[ ! -z "${GLOBAL_MENUBAR}" ]];then
|
||||
# patch -Np1 -i ${_PATCHES_DIR}/unity-menubar.patch
|
||||
# fi
|
||||
|
||||
# experimentally re-included
|
||||
patch -Np1 -i ${_PATCHES_DIR}/unity-menubar.patch
|
||||
patch -Np1 -i ${_PATCHES_DIR}/mozilla-kde_after_unity.patch
|
||||
# KDE menu and unity menubar. patch order matters.
|
||||
patch -Np1 -i ${_PATCHES_DIR}/unity_kde/mozilla-kde.patch
|
||||
patch -Np1 -i ${_PATCHES_DIR}/unity_kde/firefox-kde.patch
|
||||
patch -Np1 -i ${_PATCHES_DIR}/unity_kde/unity-menubar.patch
|
||||
|
||||
# Disabling Pocket
|
||||
printf "\nDisabling Pocket\n";
|
||||
|
|
@ -157,23 +168,21 @@ patch -Np1 -i "${_PATCHES_DIR}/context-menu.patch"
|
|||
|
||||
patch -Np1 -i "${_PATCHES_DIR}/urlbarprovider-interventions.patch"
|
||||
|
||||
# Remove Internal Plugin Certificates
|
||||
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/remove-internal-plugin-certs.patch"
|
||||
patch -Np1 -i "${_PATCHES_DIR}/unified-extensions-dont-show-recommendations.patch"
|
||||
|
||||
# allow SearchEngines option in non-ESR builds
|
||||
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/allow-searchengines-non-esr.patch"
|
||||
|
||||
# fix broken(?)/unintended handling of autoconf file loading in flatpak/snap environments
|
||||
patch -Np1 -i "${_PATCHES_DIR}/flatpak_autoconf.patch"
|
||||
|
||||
# remove search extensions (experimental)
|
||||
# patch -Np1 -i "${_PATCHES_DIR}/search-config.patch"
|
||||
cp "${_COMMON_DIR}/source_files/search-config.json" services/settings/dumps/main/search-config.json
|
||||
cp "${_SOURCE_REPO_DIR}/assets/search-config.json" services/settings/dumps/main/search-config.json
|
||||
|
||||
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/stop-undesired-requests.patch"
|
||||
|
||||
# allow overriding the color scheme light/dark preference with RFP
|
||||
# deprecated / will be dropped soon
|
||||
# patch -Np1 -i ${_PATCHES_DIR}/allow_dark_preference_with_rfp.patch
|
||||
|
||||
# change some hardcoded directory strings that could lead to unnecessarily
|
||||
# created directories
|
||||
patch -Np1 -i ${_PATCHES_DIR}/mozilla_dirs.patch
|
||||
|
|
@ -188,6 +197,9 @@ patch -Np1 -i ${_PATCHES_DIR}/allow-ubo-private-mode.patch
|
|||
# add custom uBO assets (on first launch only)
|
||||
patch -Np1 -i ${_PATCHES_DIR}/custom-ubo-assets-bootstrap-location.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_PATCHES_DIR}/faster-package-multi-locale.patch
|
||||
|
||||
# ui patches
|
||||
|
||||
# remove references to firefox from the settings UI, change text in some of the links,
|
||||
|
|
@ -195,7 +207,16 @@ patch -Np1 -i ${_PATCHES_DIR}/custom-ubo-assets-bootstrap-location.patch
|
|||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/pref-naming.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/hide-safe-browsing.patch
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/handlers.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/hide-default-browser.patch
|
||||
|
||||
# Add LibreWolf logo to Debugging Page
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/lw-logo-devtools.patch
|
||||
|
||||
#
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/privacy-preferences.patch
|
||||
|
||||
# remove firefox references in the urlbar, when suggesting opened tabs.
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-branding-urlbar.patch
|
||||
|
|
@ -209,13 +230,22 @@ patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-organization-policy-banner.patch
|
|||
# hide "snippets" section from the home page settings, as it was already locked.
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-snippets-from-home.patch
|
||||
|
||||
# add warning that sanitizing exceptions are bypassed by the options in History > Clear History when LibreWolf closes > Settings
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/sanitizing-description.patch
|
||||
# add patch to hide website appearance settings
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/website-appearance-ui-rfp.patch
|
||||
|
||||
# pref pane
|
||||
patch -Np1 -i ${_PATCHES_DIR}/librewolf-pref-pane.patch
|
||||
|
||||
# firefox view
|
||||
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/firefox-view.patch
|
||||
|
||||
# new prefs (view, ubo)
|
||||
patch -Np1 -i ${_PATCHES_DIR}/librewolf-prefs.patch
|
||||
|
||||
# fix telemetry removal, see https://gitlab.com/librewolf-community/browser/linux/-/merge_requests/17, for example
|
||||
patch -Np1 -i ${_PATCHES_DIR}/disable-data-reporting-at-compile-time.patch
|
||||
|
||||
rm -rf common
|
||||
# allows hiding the password manager (from the lw pref pane) / via a pref
|
||||
patch -Np1 -i ${_PATCHES_DIR}/hide-passwordmgr.patch
|
||||
|
||||
rm -rf source
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ fi
|
|||
|
||||
export MOZ_NOSPAM=1
|
||||
export MOZBUILD_STATE_PATH="${_MOZBUILD}"
|
||||
export MACH_USE_SYSTEM_PYTHON=1
|
||||
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
|
||||
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
export MOZ_DEBUG_FLAGS=" "
|
||||
|
|
@ -70,7 +70,7 @@ cd $srcdir;
|
|||
rm -f mozconfig
|
||||
|
||||
# install cbindgen
|
||||
cargo install --version 0.20.0 cbindgen
|
||||
cargo install --version 0.24.3 cbindgen
|
||||
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ LAUNCHER_SCRIPT=$3;
|
|||
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
|
||||
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf;
|
||||
_SETTINGS_TAG=${SETTINGS_TAG:-'5.4'}
|
||||
_SETTINGS_TAG=${SETTINGS_TAG:-'7.4'}
|
||||
_SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
|
||||
|
||||
# Extracts the binary tarball
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue