summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-arm-libaom.patch12
-rw-r--r--build-arm-wasm.patch21
-rw-r--r--firefox-pipewire-0.3.patch63
-rw-r--r--firefox.spec37
4 files changed, 127 insertions, 6 deletions
diff --git a/build-arm-libaom.patch b/build-arm-libaom.patch
new file mode 100644
index 0000000..985f01d
--- /dev/null
+++ b/build-arm-libaom.patch
@@ -0,0 +1,12 @@
+diff -up firefox-73.0/media/libaom/moz.build.old firefox-73.0/media/libaom/moz.build
+--- firefox-73.0/media/libaom/moz.build.old 2020-02-07 23:13:28.000000000 +0200
++++ firefox-73.0/media/libaom/moz.build 2020-02-17 10:30:08.509805092 +0200
+@@ -55,7 +55,7 @@ elif CONFIG['CPU_ARCH'] == 'arm':
+
+ for f in SOURCES:
+ if f.endswith('neon.c'):
+- SOURCES[f].flags += CONFIG['VPX_ASFLAGS']
++ SOURCES[f].flags += CONFIG['NEON_FLAGS']
+
+ if CONFIG['OS_TARGET'] == 'Android':
+ # For cpu-features.h
diff --git a/build-arm-wasm.patch b/build-arm-wasm.patch
new file mode 100644
index 0000000..bd841ab
--- /dev/null
+++ b/build-arm-wasm.patch
@@ -0,0 +1,21 @@
+diff -up firefox-72.0.2/js/src/wasm/WasmSignalHandlers.cpp.old firefox-72.0.2/js/src/wasm/WasmSignalHandlers.cpp
+--- firefox-72.0.2/js/src/wasm/WasmSignalHandlers.cpp.old 2020-01-17 23:34:41.000000000 +0200
++++ firefox-72.0.2/js/src/wasm/WasmSignalHandlers.cpp 2020-02-02 08:07:54.670341986 +0200
+@@ -249,7 +249,16 @@ using mozilla::DebugOnly;
+ #endif
+
+ #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+-# include <sys/user.h>
++struct user_vfp {
++ unsigned long long fpregs[32];
++ unsigned long fpscr;
++};
++
++struct user_vfp_exc {
++ unsigned long fpexc;
++ unsigned long fpinst;
++ unsigned long fpinst2;
++};
+ #endif
+
+ #if defined(ANDROID)
diff --git a/firefox-pipewire-0.3.patch b/firefox-pipewire-0.3.patch
new file mode 100644
index 0000000..6f88fa8
--- /dev/null
+++ b/firefox-pipewire-0.3.patch
@@ -0,0 +1,63 @@
+diff -up firefox-68.0/config/system-headers.mozbuild.firefox-pipewire firefox-68.0/config/system-headers.mozbuild
+--- firefox-68.0/config/system-headers.mozbuild.firefox-pipewire 2019-07-01 22:30:26.000000000 +0200
++++ firefox-68.0/config/system-headers.mozbuild 2019-07-08 15:26:15.397161627 +0200
+@@ -314,6 +314,7 @@ system_headers = [
+ 'Gestalt.h',
+ 'getopt.h',
+ 'gio/gio.h',
++ 'gio/gunixfdlist.h',
+ 'glibconfig.h',
+ 'glib.h',
+ 'glib-object.h',
+@@ -607,6 +608,7 @@ system_headers = [
+ 'Pgenerr.h',
+ 'PGenErr.h',
+ 'Ph.h',
++ 'pipewire/pipewire.h',
+ 'pixman.h',
+ 'pk11func.h',
+ 'pk11pqg.h',
+diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build.firefox-pipewire firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+--- firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build.firefox-pipewire 2019-07-01 22:30:33.000000000 +0200
++++ firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build 2019-07-08 15:26:15.397161627 +0200
+@@ -194,6 +194,28 @@ if CONFIG["OS_TARGET"] == "Linux":
+ "/media/webrtc/trunk/webrtc/modules/desktop_capture/window_capturer_linux.cc"
+ ]
+
++# PipeWire specific files
++if CONFIG["OS_TARGET"] == "Linux":
++
++ DEFINES["WEBRTC_USE_PIPEWIRE"] = "1"
++
++ OS_LIBS += [
++ "rt",
++ "pipewire-0.3",
++ "glib-2.0",
++ "gio-2.0",
++ "gobject-2.0"
++ ]
++
++ CXXFLAGS += CONFIG['TK_CFLAGS']
++
++ UNIFIED_SOURCES += [
++ "/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
++ "/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
++ "/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
++ ]
++
++
+ if CONFIG["OS_TARGET"] == "NetBSD":
+
+ DEFINES["USE_X11"] = "1"
+diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h.firefox-pipewire firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h
+--- firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h.firefox-pipewire 2019-07-08 16:42:13.936254926 +0200
++++ firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h 2019-07-08 16:42:17.509264974 +0200
+@@ -141,7 +141,7 @@ class DesktopCaptureOptions {
+ bool disable_effects_ = true;
+ bool detect_updated_region_ = false;
+ #if defined(WEBRTC_USE_PIPEWIRE)
+- bool allow_pipewire_ = false;
++ bool allow_pipewire_ = true;
+ #endif
+ };
+
diff --git a/firefox.spec b/firefox.spec
index 945cde1..b947b82 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -5,7 +5,7 @@
%global build_with_asan 0
# Disabled arm due to rhbz#1658940
-ExcludeArch: armv7hl
+# ExcludeArch: armv7hl
# Disabled due to https://pagure.io/fedora-infrastructure/issue/7581
ExcludeArch: s390x
# Disabled due to neon build error
@@ -24,7 +24,11 @@ ExcludeArch: aarch64
%global system_nss 1
%global system_ffi 1
+%ifarch armv7hl
+%global system_libvpx 1
+%else
%global system_libvpx 0
+%endif
%global hardened_build 1
%global system_jpeg 1
%global run_tests 0
@@ -53,6 +57,11 @@ ExcludeArch: aarch64
%global big_endian 1
%endif
+%ifarch armv7hl
+%define _unpackaged_files_terminate_build 0
+%global debug_package %{nil}
+%endif
+
%if 0%{?build_with_pgo}
%global use_xvfb 1
%global build_tests 1
@@ -70,7 +79,7 @@ ExcludeArch: aarch64
%global freetype_version 2.1.9
%global libnotify_version 0.7.0
%if %{?system_libvpx}
-%global libvpx_version 1.4.0
+%global libvpx_version 1.8.2
%endif
%if %{?system_nss}
@@ -104,7 +113,7 @@ ExcludeArch: aarch64
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 73.0.1
-Release: 2%{?dist}
+Release: 3%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
@@ -146,6 +155,8 @@ Patch44: build-arm-libopus.patch
#Patch45: build-disable-multijobs-rust.patch
Patch46: firefox-nss-version.patch
Patch47: fedora-shebang-build.patch
+Patch48: build-arm-wasm.patch
+Patch49: build-arm-libaom.patch
# Fedora specific patches
Patch215: firefox-enable-addons.patch
@@ -172,6 +183,7 @@ Patch430: mozilla-1605795-popup-parent-fix.patch
# Wayland specific upstream patches
Patch574: firefox-pipewire.patch
+Patch575: firefox-pipewire-0.3.patch
# PGO/LTO patches
Patch600: pgo.patch
@@ -343,6 +355,8 @@ This package contains results of tests executed during build.
%endif
#%patch46 -p1 -b .nss-version
%patch47 -p1 -b .fedora-shebang
+%patch48 -p1 -b .build-arm-wasm
+%patch49 -p1 -b .build-arm-libaom
# Fedora patches
%patch215 -p1 -b .addons
@@ -374,7 +388,11 @@ This package contains results of tests executed during build.
%patch430 -p1 -b .1605795-popup-parent-fix
# Wayland specific upstream patches
+%if 0%{?fedora} < 32
%patch574 -p1 -b .firefox-pipewire
+%else
+%patch575 -p1 -b .firefox-pipewire
+%endif
# PGO patches
%patch600 -p1 -b .pgo
@@ -418,7 +436,7 @@ echo "ac_add_options --disable-optimize" >> .mozconfig
# ARMv7 needs that (rhbz#1426850)
%global optimize_flags "-g -O2 -fno-schedule-insns"
# Disable libaom due to rhbz#1641623
-echo "ac_add_options --disable-av1" >> .mozconfig
+#echo "ac_add_options --disable-av1" >> .mozconfig
%endif
%ifarch ppc64le aarch64
%global optimize_flags "-g -O2"
@@ -531,6 +549,9 @@ MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//
%endif
%if 0%{?fedora} > 30
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive"
+%ifarch armv7hl
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flax-vector-conversions"
+%endif
%endif
%if %{?hardened_build}
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
@@ -554,7 +575,7 @@ export MOZ_DEBUG_FLAGS=" "
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
%ifarch %{arm}
-MOZ_LINK_FLAGS="-Wl,--no-keep-memory"
+MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
echo "ac_add_options --enable-linker=gold" >> .mozconfig
%endif
%endif
@@ -603,7 +624,7 @@ MOZ_SMP_FLAGS=-j1
RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
%endif
-%ifarch x86_64 ppc ppc64 ppc64le aarch64
+%ifarch x86_64 ppc ppc64 ppc64le aarch64 %{arm}
[ -z "$RPM_BUILD_NCPUS" ] && \
RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
@@ -948,6 +969,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 73.0.1-3
+- Update pipewire patch for Fedora 32
+- Added armv7hl fixes by Gabriel Hojda
+
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 73.0.1-2
- Fixed Bug 1804787 - Some .desktop menu entries unlocalized
bgstack15