Update pipewire patch for Fedora 32, Added armv7hl fixes by Gabriel Hojda

This commit is contained in:
Martin Stransky 2020-02-24 21:28:32 +01:00
parent 71c7a523cb
commit 558ad062d9
4 changed files with 127 additions and 6 deletions

12
build-arm-libaom.patch Normal file
View File

@ -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

21
build-arm-wasm.patch Normal file
View File

@ -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)

View File

@ -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
};

View File

@ -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