import CS firefox-128.5.1-1.el9

This commit is contained in:
eabdullin 2024-12-04 10:13:00 +00:00
parent 81091f5b96
commit a93844e05b
6 changed files with 105 additions and 19 deletions

View File

@ -1,7 +1,8 @@
5012b69e54cbebe3b5e74011dacf3a2097f49921 SOURCES/cbindgen-vendor.tar.xz
459de5a85a512c7dcc356937af6ab02ab916cfd2 SOURCES/firefox-128.4.0esr.processed-source.tar.xz
48712bb66e1ad7d2d969a230bbe5b6476a3e6fea SOURCES/firefox-langpacks-128.4.0esr-20241022.tar.xz
2549991b68b27b820e92151e48f9f08da0cd55fb SOURCES/firefox-128.5.1esr.processed-source.tar.xz
76f0794bac607a730ea03dff8f804e09c9e0c962 SOURCES/firefox-langpacks-128.5.1esr-20241202.tar.xz
2d8a6b2b30d5496735f49ffe8c8a7ede3a78a5ca SOURCES/mochitest-python.tar.gz
d744f92e874688cc4b5376477dfdd639a97a6cd4 SOURCES/nspr-4.35.0-1.el8_1.src.rpm
f466d7213e85773e002c48897524eaf909480046 SOURCES/nss-3.101.0-7.el8_2.src.rpm
0413d22a58ba1bba99acec9c3c2a4db56a4100c7 SOURCES/nss-3.101.0-7.el9_2.src.rpm
0332862626d2148648ff749078c223dbd859d901 SOURCES/wasi-sdk-20.tar.gz

5
.gitignore vendored
View File

@ -1,7 +1,8 @@
SOURCES/cbindgen-vendor.tar.xz
SOURCES/firefox-128.4.0esr.processed-source.tar.xz
SOURCES/firefox-langpacks-128.4.0esr-20241022.tar.xz
SOURCES/firefox-128.5.1esr.processed-source.tar.xz
SOURCES/firefox-langpacks-128.5.1esr-20241202.tar.xz
SOURCES/mochitest-python.tar.gz
SOURCES/nspr-4.35.0-1.el8_1.src.rpm
SOURCES/nss-3.101.0-7.el8_2.src.rpm
SOURCES/nss-3.101.0-7.el9_2.src.rpm
SOURCES/wasi-sdk-20.tar.gz

View File

@ -12,9 +12,7 @@ ac_add_options --enable-official-branding
ac_add_options --enable-pulseaudio
ac_add_options --enable-release
ac_add_options --enable-system-ffi
ac_add_options --without-sysroot
ac_add_options --without-system-icu
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-unsigned-addon-scopes=app,system

12
SOURCES/wasi.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up firefox-121.0.1/toolkit/moz.configure.wasi firefox-121.0.1/toolkit/moz.configure
--- firefox-121.0.1/toolkit/moz.configure.wasi 2024-02-01 09:14:33.816548952 +0100
+++ firefox-121.0.1/toolkit/moz.configure 2024-02-01 09:15:53.264684309 +0100
@@ -2663,7 +2663,7 @@ with only_when(requires_wasm_sandboxing
def wasi_sysroot_flags(wasi_sysroot):
if wasi_sysroot:
log.info("Using wasi sysroot in %s", wasi_sysroot)
- return ["--sysroot=%s" % wasi_sysroot]
+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "/home/jhorak/rpmbuild/BUILDROOT/usr/share/wasi-sysroot/lib/libclang_rt.builtins-wasm32.a"]
return []
set_config("WASI_SYSROOT", wasi_sysroot)

View File

@ -0,0 +1,12 @@
diff -up firefox-121.0.1/toolkit/moz.configure.wasi firefox-121.0.1/toolkit/moz.configure
--- firefox-121.0.1/toolkit/moz.configure.wasi 2024-02-01 09:14:33.816548952 +0100
+++ firefox-121.0.1/toolkit/moz.configure 2024-02-01 09:15:53.264684309 +0100
@@ -2663,7 +2663,7 @@ with only_when(requires_wasm_sandboxing
def wasi_sysroot_flags(wasi_sysroot):
if wasi_sysroot:
log.info("Using wasi sysroot in %s", wasi_sysroot)
- return ["--sysroot=%s" % wasi_sysroot]
+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "$LIBCLANG_RT"]
return []
set_config("WASI_SYSROOT", wasi_sysroot)

View File

@ -12,6 +12,9 @@
%global run_firefox_tests 0
%endif
# wasi_sdk is for sandboxing third party c/c++ libs by using rlbox, exclude s390x on the f39.
%bcond_with wasi_sdk
%{lua:
function dist_to_rhel_minor(str, start)
match = string.match(str, ".module%+el8.%d+")
@ -36,7 +39,7 @@ function dist_to_rhel_minor(str, start)
end
match = string.match(str, ".el9")
if match then
return 5
return 6
end
match = string.match(str, ".el10_%d+")
if match then
@ -56,22 +59,31 @@ end}
%global bundle_nss 0
%if 0%{?rhel} == 7
%global bundle_nss 0
%global system_nss 0
%global bundle_nss 0
%global system_nss 0
%endif
%if 0%{?rhel} == 8
%if %{rhel_minor_version} < 8
%global bundle_nss 1
%global system_nss 1
%endif
%if %{rhel_minor_version} >= 10
%global with_wasi_sdk 1
%endif
%endif
%if 0%{?rhel} == 9
%if %{rhel_minor_version} < 2
%global bundle_nss 1
%global system_nss 1
%endif
%if %{rhel_minor_version} > 5
%global with_wasi_sdk 1
%endif
%endif
%global dts_version 11
%global llvm_version 7.0
%global nspr_version 4.35
@ -94,7 +106,13 @@ end}
%global nodejs_build_req nodejs
%if 0%{?rhel} > 7 && 0%{?rhel} < 10
%global use_gcc_ts 1
%global use_gcc_ts 1
%if 0%{?rhel} == 9 && %{rhel_minor_version} >= 6
# clang depends on gcc-toolset-14-gcc-c++
%global gts_version 14
%else
%global gts_version 13
%endif
%endif
%if 0%{?rhel} == 7
@ -137,7 +155,7 @@ end}
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 128.4.0
Version: 128.5.1
Release: 1%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
@ -168,7 +186,7 @@ ExcludeArch: aarch64 s390 ppc
# Link to original tarball: https://archive.mozilla.org/pub/firefox/releases/%%{version}%%{?pre_version}/source/firefox-%%{version}%%{?pre_version}.source.tar.xz
Source0: firefox-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20241022.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20241202.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source3: process-official-tarball
@ -189,6 +207,11 @@ Source34: firefox-search-provider.ini
Source35: google-loc-api-key
Source36: testing.sh
Source37: mochitest-python.tar.gz
Source38: wasi.patch.template
# Created by:
# git clone --recursive https://github.com/WebAssembly/wasi-sdk.git
# cd wasi-sdk && git-archive-all --force-submodules wasi-sdk-20.tar.gz
Source50: wasi-sdk-20.tar.gz
# Bundled libraries
Source401: nss-setup-flags-env.inc
@ -240,7 +263,7 @@ Patch155: rhbz-1354671.patch
Patch200: webrtc-128.0.patch.patch
Patch201: D224587.1728128070.diff
Patch202: D224588.1728128098.diff
Patch203: wasi.patch
# ---- Test patches ----
# Generate without context by
@ -359,6 +382,11 @@ BuildRequires: xmlto
BuildRequires: zlib-devel
%endif
%if %{with wasi_sdk}
BuildRequires: lld
BuildRequires: clang cmake ninja-build
%endif
%if !0%{?flatpak}
#TODO
BuildRequires: system-bookmarks
@ -413,10 +441,12 @@ BuildRequires: xorg-x11-server-Xvfb
%endif
%if 0%{?use_gcc_ts}
BuildRequires: gcc-toolset-13-runtime
BuildRequires: gcc-toolset-13-binutils
BuildRequires: gcc-toolset-13-gcc
BuildRequires: gcc-toolset-13-gcc-plugin-annobin
BuildRequires: gcc-toolset-%{gts_version}-runtime
BuildRequires: gcc-toolset-%{gts_version}-binutils
BuildRequires: gcc-toolset-%{gts_version}-gcc
BuildRequires: gcc-toolset-%{gts_version}-gcc-plugin-annobin
# Do not explicitly require gcc-toolset-%{gts_version}-gcc-g++ instead fail
# when clang is upgraded to depend on a later toolset and adjust version.
%endif
Requires: mozilla-filesystem
@ -1123,10 +1153,15 @@ echo "system_nss %{?system_nss}"
echo "use_dts %{?use_dts}"
echo "use_nodejs_scl %{?use_nodejs_scl}"
echo "use_python3_scl %{?use_python3_scl}"
echo "with_wasi_sdk %{?with_wasi_sdk}"
echo "--------------------------------------------"
#clang -print-search-dirs
%setup -q -n %{name}-%{version}
%if %{with wasi_sdk}
%setup -q -T -D -a 50
%endif
# ---- RHEL specific patches ---
# -- Downstream only --
%patch -P1 -p1 -b .disable-elfhack
@ -1152,6 +1187,12 @@ echo "--------------------------------------------"
%patch -P9 -p1 -b .rhbz-2131158-webrtc-nss-fix
%patch -P10 -p1 -b .build-ffvpx
# We need to create the wasi.patch with the correct path to the wasm libclang_rt.
%if %{with wasi_sdk}
export LIBCLANG_RT=`pwd`/wasi-sdk-20/build/compiler-rt/lib/wasi/libclang_rt.builtins-wasm32.a; cat %{SOURCE38} | envsubst > %{_sourcedir}/wasi.patch
%patch -P203 -p1 -b .wasi
%endif
# -- Upstreamed patches --
%patch -P51 -p1 -b .mozilla-bmo1170092
@ -1183,7 +1224,6 @@ echo "--------------------------------------------"
%patch -P202 -p1 -b .D224588
%endif
# ---- Security patches ----
%{__rm} -f .mozconfig
@ -1264,6 +1304,13 @@ echo "ac_add_options --with-google-safebrowsing-api-keyfile=`pwd`/google-api-key
# Clang 17 upstream's detection fails, tell it where to look.
echo "ac_add_options --with-libclang-path=`llvm-config --libdir`" >> .mozconfig
%if %{with wasi_sdk}
echo "ac_add_options --with-wasi-sysroot=`pwd`/wasi-sdk-20/build/install/opt/wasi-sdk/share/wasi-sysroot" >> .mozconfig
%else
echo "ac_add_options --without-sysroot" >> .mozconfig
echo "ac_add_options --without-wasm-sandboxed-libraries" >> .mozconfig
%endif
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
# Remove executable bit to make brp-mangle-shebangs happy.
@ -1279,6 +1326,15 @@ chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
# Disable LTO to work around rhbz#1883904
%define _lto_cflags %{nil}
#WASI SDK
%if %{with wasi_sdk}
pushd wasi-sdk-20
sed -i -e "s|VERSION=.*|VERSION=20|g" tar_from_installation.sh
cat tar_from_installation.sh
NINJA_FLAGS=-v CC=clang CXX=clang++ env -u CFLAGS -u CXXFLAGS -u FFLAGS -u VALFLAGS -u RUSTFLAGS -u LDFLAGS -u LT_SYS_LIBRARY_PATH make package
popd
%endif
export PATH="%{_buildrootdir}/bin:$PATH"
# Cleanup buildroot for existing rpms from bundled nss/nspr and other packages
rm -rf %{_buildrootdir}/*
@ -1366,7 +1422,7 @@ function install_rpms_to_current_dir() {
# Enable toolsets
set +e
%if 0%{?use_gcc_ts}
source scl_source enable gcc-toolset-13
source scl_source enable gcc-toolset-%{gts_version}
%endif
%if 0%{?use_dts}
source scl_source enable devtoolset-%{dts_version}
@ -1871,6 +1927,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Mon Dec 02 2024 Eike Rathke <erack@redhat.com> - 128.5.1-1
- Update to 128.5.1
* Tue Nov 19 2024 Eike Rathke <erack@redhat.com> - 128.5.0-1
- Update to 128.5.0 build1
* Tue Oct 22 2024 Eike Rathke <erack@redhat.com> - 128.4.0-1
- Update to 128.4.0 build1