summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-07-20 15:41:20 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-08-01 23:50:54 -0400
commit576120558380347d9f068960b8d7f54d0f4e1ac0 (patch)
tree4c6546a96bbed6b5f10adc7dfa7765914c8c8cd5
parent2cc6dd417f73b30e11e1e3dd0e5817471f009f28 (diff)
[iceweasel]: upgrade to v102.0.1
-rw-r--r--libre/iceweasel/PKGBUILD81
-rw-r--r--libre/iceweasel/cbindgen-0.24.0.diff17
2 files changed, 69 insertions, 29 deletions
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 6b413a0a1..0abf140f0 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -60,7 +60,7 @@
pkgname=iceweasel
epoch=1
-pkgver=102.0
+pkgver=102.0.1
pkgrel=1
pkgrel+=.parabola1
_brandingver=102.0-1
@@ -75,6 +75,7 @@ makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
python-setuptools python-zstandard lld dump_syms
wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
+[[ "${CARCH}" == 'armv7h' ]] && makedepends+=( ${makedepends[*]/wasi*/} )
makedepends_i686=(gcc10)
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
@@ -83,9 +84,9 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
'hunspell-en_US: Spell checking, American English'
'xdg-desktop-portal: Screensharing with Wayland')
replaces=('firefox')
-options=(!emptydirs !makeflags !strip !lto !debug) # FIXME: can we still make debug package?
+options=(!emptydirs !makeflags !strip !lto !debug)
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
- zstandard-0.18.0.diff
+ cbindgen-0.24.0.diff zstandard-0.18.0.diff
$pkgname.desktop identity-icons-brand.svg)
source=(${source[*]/identity-icons-brand.svg/})
source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.branding.tar.xz{,.sig}
@@ -99,8 +100,9 @@ source_armv7h=(build-arm-libopus.patch)
source_i686=('avoid-libxul-OOM-python-check.patch'
'rust-static-disable-network-test-on-static-libraries.patch'
'firefox-99.0.1-fdlibm-double.patch')
-sha256sums=('01797f04bd8d65f4c7f628d7ce832bf52a0874433886e4d0d78ef33c1ca66abf'
+sha256sums=('7bba6ffd6e8e42d5c38aa2a453f5fa30dfc9ef150f2175aa0625edb68fddae70'
'SKIP'
+ '4628d136c3beada292e83cd8e89502cac4aa3836851b34259a665582a7713978'
'a6857ad2f2e2091c6c4fdcde21a59fbeb0138914c0e126df64b50a5af5ff63be'
'9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
sha256sums+=('d29c194ed7b3b4fa0f511866723118938c2be40077b4e9aadf8b3e6bfff91049'
@@ -144,6 +146,17 @@ _check_build_config() {
echo "Checking build configuration..."
+ # Each of the [ARCH-SPECIFIC CONFIG] branches in prepare(), should have prepared a
+ # $srcdir/mozconfig file with any arch-specific changes to the Arch x86_64 PKGBUILD.
+ # Finally, that file should have been copied to $srcdir/firefox-$pkgver/.mozconfig
+ grep '^ac_add_options --with-distribution-id=nu.parabola' .mozconfig || \
+ ! echo "cannot continue without a .mozconfig file" || return 1
+
+ if [[ "${CARCH}" != 'armv7h' ]] # armv7h has no --disable-eme option
+ then grep '^ac_add_options --disable-eme' .mozconfig || \
+ ! echo ".mozconfig file was not properly treated per the FSDG" || return 1
+ fi
+
# Configure produces mozinfo.json that reflects current configuration.
# See build/docs/mozinfo.rst
./mach configure
@@ -196,6 +209,9 @@ prepare() {
mkdir mozbuild
cd firefox-$pkgver
+ # Unbreak build with cbindgen 0.24.0
+ patch -Np1 -i ../cbindgen-0.24.0.diff
+
# Unbreak build with python-zstandard 0.18.0
patch -Np1 -i ../zstandard-0.18.0.diff
@@ -217,15 +233,15 @@ ac_add_options --disable-bootstrap
ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
# Branding
-ac_add_options --disable-official-branding
+ac_add_options --disable-official-branding # branding over-ride
ac_add_options --enable-update-channel=release
-ac_add_options --with-distribution-id=nu.parabola
-ac_add_options --with-branding=browser/branding/${pkgname}
-ac_add_options --with-app-name=${pkgname}
-ac_add_options --with-app-basename=${pkgname}
+ac_add_options --with-distribution-id=nu.parabola # branding over-ride
+ac_add_options --with-branding=browser/branding/${pkgname} # branding over-ride
+ac_add_options --with-app-name=${pkgname} # branding over-ride
+ac_add_options --with-app-basename=${pkgname} # branding over-ride
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --allow-addon-sideload
-# export MOZILLA_OFFICIAL=1 # branding over-ride
+# export MOZILLA_OFFICIAL=1 # branding over-ride
export MOZ_APP_REMOTINGNAME=${pkgname//-/}
export MOZ_TELEMETRY_REPORTING=
export MOZ_REQUIRE_SIGNING=
@@ -242,22 +258,19 @@ ac_add_options --with-system-nss
# Features
ac_add_options --enable-alsa
ac_add_options --enable-jack
-ac_add_options --disable-crashreporter
+ac_add_options --disable-crashreporter # anti-feature
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --disable-eme
END
- # FIXME: FTBS with cbindgen > 0.23 (currently 0.24)
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
- sed -i '/const uint64_t ROOT_CLIP_CHAIN = ~0;/d' gfx/webrender_bindings/webrender_ffi.h
-
-
## [ARCH-SPECIFIC CONFIG] ##
case ${CARCH} in
armv7h)
+
+ # archarm has these changes in-line above
sed -i '
/--enable-hardening/d
/--enable-optimize/d
@@ -265,23 +278,35 @@ END
s|--with-wasi-sysroot=/usr/share/wasi-sysroot|--without-wasm-sandboxed-libraries|
' ../mozconfig
- cat >>../mozconfig <<END
-export CC=clang
-export CXX=clang++
-ac_add_options --disable-elf-hack
+ echo "ac_add_options --disable-elf-hack" >> .mozconfig
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1641623
+ echo "ac_add_options --disable-av1" >> .mozconfig
+ # reduce jobs due to RAM constraints
+ MAKEFLAGS="-j4"
+ #MAKEFLAGS="-j1"
+ # disable hard-coded LTO
+ sed -i '/cargo_rustc_flags += -Clto/d' config/makefiles/rust.mk
+ sed -i '/RUSTFLAGS += -Cembed-bitcode=yes/d' config/makefiles/rust.mk
+ # increase codegen-units due to RAM constraints
+ sed -i 's/codegen-units=1/codegen-units=16/' config/makefiles/rust.mk
+ # webrtc on ARMv7 implies android, so disable it
+ echo "ac_add_options --disable-webrtc" >> .mozconfig
+
+ echo 'ac_add_options --enable-optimize="-g0 -O2"' >> .mozconfig
+ echo "mk_add_options MOZ_MAKE_FLAGS=\"${MAKEFLAGS}\"" >> .mozconfig
+
+ # export statements are under the '[ARCH-SPECIFIC BUILD ENV]' section
-# https://bugzilla.redhat.com/show_bug.cgi?id=1641623
-ac_add_options --disable-av1
-ac_add_options --enable-optimize="-g0 -O2"
-mk_add_options MOZ_MAKE_FLAGS='-j1'
-END
+ patch -p1 -i ../build-arm-libopus.patch
# mozbuild.configure.options.InvalidOptionError: --disable-eme is not available in this configuration
# EME is disabled anyway in the built package, but better check if it exists for ARM each new release.
sed -i 's|ac_add_options --disable-eme||' ../mozconfig
- echo "applying build-arm-libopus.patch"
- patch -p1 -i ../build-arm-libopus.patch
+ # for consistency across arches, we actually want .mozconfig to be ../mozconfig
+ # we allowed .mozconfig to be written, only to minimize the diff against archarm
+ # ${srcdir}/mozconfig will clobber firefox-$pkgver/.mozconfig later, in build()
+ cat .mozconfig >> ../mozconfig
;;
i686)
export MOZ_SOURCE_CHANGESET="DEVEDITION_${pkgver//./_}_RELEASE"
@@ -586,8 +611,6 @@ END
## sanity checks ##
- # each of the [ARCH-SPECIFIC BUILD CONFIG] branches above should have created .mozconfig
- [[ -f .mozconfig ]] || ! echo "cannot continue without a .mozconfig file" || return 1
_check_build_config
diff --git a/libre/iceweasel/cbindgen-0.24.0.diff b/libre/iceweasel/cbindgen-0.24.0.diff
new file mode 100644
index 000000000..3011e8ada
--- /dev/null
+++ b/libre/iceweasel/cbindgen-0.24.0.diff
@@ -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
+
+