# Produce a build suitable for release, i.e. use PGO/LTO. You can turn it off # when building locally to reduce build time. %global release_build 1 # Run Mozilla test suite as a part of compile rpm section. Turn off when # building locally and don't want to spend 24 hours waiting for results. %global run_firefox_tests 0 %ifarch x86_64 %{ix86} %global run_firefox_tests 0 %endif # Don't create debuginfo rpm packages. It reduces build time as # exctracting debuginfo takes long time. %global create_debuginfo 1 # Produce debug (non-optimized) package build. Suitable for debugging only # as the build is *very* slow. %global debug_build 0 %global system_nss 1 %global build_with_asan 0 %global test_on_wayland 1 %if "%{toolchain}" == "clang" %global build_with_clang 1 %else %global build_with_clang 0 %endif # There are still build problems on s390x, see # https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351 # https://bugzilla.redhat.com/show_bug.cgi?id=1897522 ExcludeArch: s390x # Disabled due to # https://bugzilla.redhat.com/show_bug.cgi?id=1966949 %if 0%{?fedora} > 33 ExcludeArch: armv7hl %endif # Disabled due to # https://bugzilla.redhat.com/show_bug.cgi?id=2019160 %if 0%{?fedora} == 33 ExcludeArch: aarch64 %endif %ifarch armv7hl %global create_debuginfo 0 %endif # Temporary disabled due to # https://bugzilla.redhat.com/show_bug.cgi?id=1951606 %global enable_mozilla_crashreporter 0 %ifarch x86_64 %{ix86} %global enable_mozilla_crashreporter 1 %endif %if %{build_with_asan} %global enable_mozilla_crashreporter 0 %endif %if 0%{?flatpak} %global enable_mozilla_crashreporter 0 %endif %if !%{create_debuginfo} %define _unpackaged_files_terminate_build 0 %global debug_package %{nil} %global enable_mozilla_crashreporter 0 %endif %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 disable_elfhack 1 %global use_bundled_cbindgen 1 %if %{debug_build} %global release_build 0 %endif # Build PGO+LTO on x86_64 only due to build issues # on other arches. %global build_with_pgo 0 %ifarch x86_64 %if %{release_build} %global build_with_pgo 1 %endif %endif %if 0%{?flatpak} %global build_with_pgo 0 %endif # Big endian platforms %ifarch ppc64 s390x %global big_endian 1 %endif %if 0%{?build_with_pgo} %global use_xvfb 1 %global build_tests 1 %endif %if 0%{?run_firefox_tests} %global use_xvfb 1 %global build_tests 1 %endif %global launch_wayland_compositor 0 %if %{build_with_pgo} && %{test_on_wayland} %global launch_wayland_compositor 1 %endif %if %{run_firefox_tests} && %{test_on_wayland} %global launch_wayland_compositor 1 %endif %global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html %global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} # Minimal required versions %global cairo_version 1.13.1 %global freetype_version 2.1.9 %global libnotify_version 0.7.0 %if %{?system_libvpx} %global libvpx_version 1.8.2 %endif %if %{?system_nss} %global nspr_version 4.32 %global nspr_build_version %{nspr_version} %global nss_version 3.78 %global nss_build_version %{nss_version} %endif %global mozappdir %{_libdir}/firefox %global mozappdirdev %{_libdir}/firefox-devel-%{version} %global langpackdir %{mozappdir}/langpacks %global tarballdir firefox-%{version} %global official_branding 1 %bcond_without langpacks %if !%{release_build} %global pre_tag .npgo %endif %if %{build_with_clang} %global pre_tag .clang %endif %if %{build_with_asan} %global pre_tag .asan %global build_with_pgo 0 %endif %if !%{system_nss} %global nss_tag .nss %endif %if %{debug_build} %global pre_tag .debug %endif # Exclude private libraries from autogenerated provides and requires %global __provides_exclude_from ^%{mozappdir} %global __requires_exclude ^(%%(find %{buildroot}%{mozappdir} -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -)) Summary: Mozilla Firefox Web browser Name: firefox Version: 101.0.1 Release: 1%{?pre_tag}%{?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 %if %{with langpacks} Source1: firefox-langpacks-%{version}%{?pre_version}-20220609.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source10: firefox-mozconfig Source12: firefox-redhat-default-prefs.js Source20: firefox.desktop Source21: firefox.sh.in Source23: firefox.1 Source24: mozilla-api-key Source25: firefox-symbolic.svg Source26: distribution.ini Source27: google-api-key Source28: firefox-wayland.sh.in Source29: firefox-wayland.desktop Source30: firefox-x11.sh.in Source31: firefox-x11.desktop Source32: node-stdout-nonblocking-wrapper Source33: firefox.appdata.xml.in Source34: firefox-search-provider.ini Source35: google-loc-api-key Source37: mochitest-python.tar.gz Source38: print_results Source39: print-errors Source40: run-tests-x11 Source41: run-tests-wayland Source42: psummary Source43: print_failures Source44: print-error-reftest Source45: run-wayland-compositor # Build patches Patch3: mozilla-build-arm.patch Patch25: rhbz-1219542-s390-build.patch Patch32: build-rust-ppc64le.patch Patch35: build-ppc-jit.patch # Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x) Patch38: build-cacheFlush-missing.patch Patch40: build-aarch64-skia.patch Patch41: build-disable-elfhack.patch Patch44: build-arm-libopus.patch Patch46: firefox-nss-version.patch Patch47: fedora-shebang-build.patch Patch49: build-arm-libaom.patch Patch53: firefox-gcc-build.patch Patch54: mozilla-1669639.patch Patch55: firefox-testing.patch Patch61: firefox-glibc-dynstack.patch Patch62: build-python.patch Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch Patch73: D147266.diff Patch74: D147267.diff Patch75: mozilla-1773336.patch # Test patches # Generate without context by # GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-xpcshell # GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-reftest Patch100: firefox-tests-xpcshell.patch Patch101: firefox-tests-reftest.patch Patch102: firefox-tests-xpcshell-freeze.patch # Fedora specific patches Patch215: firefox-enable-addons.patch Patch219: rhbz-1173156.patch Patch224: mozilla-1170092.patch #ARM run-time patch Patch226: rhbz-1354671.patch Patch228: disable-openh264-download.patch Patch229: firefox-nss-addon-hack.patch # Upstream patches Patch402: mozilla-1196777.patch Patch407: mozilla-1667096.patch Patch408: mozilla-1663844.patch Patch415: mozilla-1670333.patch Patch418: mozilla-1767946-profilemanagersize.patch # VA-API fixes Patch420: D144284.diff Patch421: D147420.diff Patch422: D147720.diff Patch423: D147874.diff Patch424: D146084.diff Patch425: D146085.diff Patch426: D146086.diff Patch427: D146087.diff Patch428: D145725.diff Patch429: D145966.diff Patch430: D145871.diff Patch431: D146271.diff Patch432: D146272.diff Patch433: D146273.diff Patch434: D146274.diff Patch435: D146275.diff # NVIDIA mzbz#1735929 Patch440: D147635.diff Patch441: D147636.diff Patch442: D147637.diff # PGO/LTO patches Patch600: pgo.patch Patch602: mozilla-1516803.patch # Backported WebRTC changes for PipeWire/Wayland screen sharing support Patch1000: libwebrtc-screen-cast-sync.patch %if %{?system_nss} BuildRequires: pkgconfig(nspr) >= %{nspr_version} BuildRequires: pkgconfig(nss) >= %{nss_version} BuildRequires: nss-static >= %{nss_version} %endif BuildRequires: pkgconfig(libpng) %if %{?system_jpeg} BuildRequires: libjpeg-devel %endif BuildRequires: zip BuildRequires: bzip2-devel BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(freetype2) >= %{freetype_version} BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(libnotify) >= %{libnotify_version} BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(alsa) BuildRequires: dbus-glib-devel %if %{?system_libvpx} BuildRequires: libvpx-devel >= %{libvpx_version} %endif BuildRequires: autoconf213 BuildRequires: pkgconfig(libpulse) BuildRequires: yasm BuildRequires: llvm BuildRequires: llvm-devel BuildRequires: clang BuildRequires: clang-libs %if %{build_with_clang} BuildRequires: lld %endif BuildRequires: pipewire-devel %if !0%{?use_bundled_cbindgen} BuildRequires: cbindgen %endif BuildRequires: nodejs BuildRequires: nasm >= 1.13 BuildRequires: libappstream-glib %if 0%{?big_endian} BuildRequires: icu %endif Requires: mozilla-filesystem Recommends: mozilla-openh264 >= 2.1.1 Recommends: libva Requires: p11-kit-trust Requires: pciutils-libs %if %{?system_nss} Requires: nspr >= %{nspr_build_version} Requires: nss >= %{nss_build_version} %endif BuildRequires: python3-devel BuildRequires: python3-setuptools %if !0%{?flatpak} Requires: u2f-hidraw-policy %endif BuildRequires: desktop-file-utils %if !0%{?flatpak} BuildRequires: system-bookmarks %endif %if %{?system_ffi} BuildRequires: pkgconfig(libffi) %endif %if 0%{?use_xvfb} BuildRequires: xorg-x11-server-Xvfb %endif BuildRequires: rust BuildRequires: cargo BuildRequires: clang-devel %if %{build_with_asan} BuildRequires: libasan BuildRequires: libasan-static %endif BuildRequires: perl-interpreter BuildRequires: fdk-aac-free-devel %if 0%{?test_on_wayland} BuildRequires: mutter BuildRequires: gsettings-desktop-schemas BuildRequires: gnome-settings-daemon BuildRequires: mesa-dri-drivers BuildRequires: xorg-x11-server-Xwayland BuildRequires: dbus-x11 BuildRequires: gnome-keyring %endif %if 0%{?run_firefox_tests} BuildRequires: procps-ng BuildRequires: nss-tools BuildRequires: python2.7 BuildRequires: dejavu-sans-mono-fonts BuildRequires: dejavu-sans-fonts BuildRequires: dejavu-serif-fonts BuildRequires: dbus-x11 BuildRequires: gnome-keyring BuildRequires: mesa-dri-drivers # ---------------------------------------- BuildRequires: liberation-fonts-common BuildRequires: liberation-mono-fonts BuildRequires: liberation-sans-fonts BuildRequires: liberation-serif-fonts # ---------------------------------- # Missing on f32 %if 0%{?fedora} > 33 BuildRequires: google-carlito-fonts %endif BuildRequires: google-droid-sans-fonts BuildRequires: google-noto-fonts-common BuildRequires: google-noto-cjk-fonts-common BuildRequires: google-noto-sans-cjk-ttc-fonts BuildRequires: google-noto-sans-gurmukhi-fonts BuildRequires: google-noto-sans-fonts BuildRequires: google-noto-emoji-color-fonts BuildRequires: google-noto-sans-sinhala-vf-fonts # ----------------------------------- BuildRequires: thai-scalable-fonts-common BuildRequires: thai-scalable-waree-fonts BuildRequires: khmeros-base-fonts BuildRequires: jomolhari-fonts # ---------------------------------- BuildRequires: lohit-tamil-fonts BuildRequires: lohit-telugu-fonts # ---------------------------------- BuildRequires: paktype-naskh-basic-fonts # faild to build in Koji / f32 %if 0%{?fedora} > 33 BuildRequires: pt-sans-fonts %endif BuildRequires: smc-meera-fonts BuildRequires: stix-fonts BuildRequires: abattis-cantarell-fonts BuildRequires: xorg-x11-fonts-ISO8859-1-100dpi BuildRequires: xorg-x11-fonts-misc %endif BuildRequires: make BuildRequires: pciutils-libs Obsoletes: mozilla <= 37:1.7.13 Provides: webclient %description Mozilla Firefox is an open-source web browser, designed for standards compliance, performance and portability. %package x11 Summary: Firefox X11 launcher. Requires: %{name} %description x11 The firefox-x11 package contains launcher and desktop file to run Firefox explicitly on X11. %files x11 %{_bindir}/firefox-x11 %{_datadir}/applications/firefox-x11.desktop %package wayland Summary: Firefox Wayland launcher. Requires: %{name} %description wayland The firefox-wayland package contains launcher and desktop file to run Firefox explicitly on Wayland. %files wayland %{_bindir}/firefox-wayland %{_datadir}/applications/firefox-wayland.desktop %if 0%{?run_firefox_tests} %global testsuite_pkg_name %{name}-testresults %package -n %{testsuite_pkg_name} Summary: Results of testsuite %description -n %{testsuite_pkg_name} This package contains results of tests executed during build. %files -n %{testsuite_pkg_name} /%{version}-%{release}/test_results /%{version}-%{release}/test_summary.txt /%{version}-%{release}/failures-* %endif #--------------------------------------------------------------------- %prep %setup -q -n %{tarballdir} # Build patches, can't change backup suffix from default because during build # there is a compare of config and js/config directories and .orig suffix is # ignored during this compare. %ifarch s390 %patch25 -p1 -b .rhbz-1219542-s390 %endif %patch40 -p1 -b .aarch64-skia %if 0%{?disable_elfhack} %patch41 -p1 -b .disable-elfhack %endif %patch3 -p1 -b .arm %patch44 -p1 -b .build-arm-libopus %patch47 -p1 -b .fedora-shebang %patch49 -p1 -b .build-arm-libaom %patch53 -p1 -b .firefox-gcc-build %patch54 -p1 -b .1669639 %patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12 %patch73 -p1 -b .D147266 %patch74 -p1 -b .D147267 %patch75 -p1 -b .mzbz#1773336 # Test patches #%patch100 -p1 -b .firefox-tests-xpcshell #%patch101 -p1 -b .firefox-tests-reftest %patch102 -p1 -b .firefox-tests-xpcshell-freeze # Fedora patches %patch215 -p1 -b .addons %patch219 -p1 -b .rhbz-1173156 %patch224 -p1 -b .1170092 #ARM run-time patch %ifarch aarch64 %patch226 -p1 -b .1354671 %endif %patch228 -p1 -b .disable-openh264-download %patch229 -p1 -b .firefox-nss-addon-hack %patch402 -p1 -b .1196777 %patch407 -p1 -b .1667096 %patch408 -p1 -b .1663844 %patch415 -p1 -b .1670333 %patch418 -p1 -b .mozilla-1767946-profilemanagersize # VA-API fixes %patch420 -p1 -b .D144284.diff %patch421 -p1 -b .D147420.diff %patch423 -p1 -b .D147874.diff %patch424 -p1 -b .D146084.diff %patch425 -p1 -b .D146085.diff %patch426 -p1 -b .D146086.diff %patch427 -p1 -b .D146087.diff %patch428 -p1 -b .D145725.diff %patch429 -p1 -b .D145966.diff %patch430 -p1 -b .D145871.diff %patch431 -p1 -b .D146271.diff %patch432 -p1 -b .D146272.diff %patch433 -p1 -b .D146273.diff %patch434 -p1 -b .D146274.diff %patch435 -p1 -b .D146275.diff # NVIDIA mzbz#1735929 %patch440 -p1 -b .D147635.diff %patch441 -p1 -b .D147636.diff %patch442 -p1 -b .D147637.diff # More VA-API fixes %patch422 -p1 -b .D147720.diff # PGO patches %if %{build_with_pgo} %if !%{build_with_clang} %patch600 -p1 -b .pgo %patch602 -p1 -b .1516803 %endif %endif %patch1000 -p1 -b .libwebrtc-screen-cast-sync %{__rm} -f .mozconfig %{__cp} %{SOURCE10} .mozconfig echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland" >> .mozconfig %if %{official_branding} echo "ac_add_options --enable-official-branding" >> .mozconfig %endif %{__cp} %{SOURCE24} mozilla-api-key %{__cp} %{SOURCE27} google-api-key %{__cp} %{SOURCE35} google-loc-api-key echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig %if %{?system_nss} echo "ac_add_options --with-system-nspr" >> .mozconfig echo "ac_add_options --with-system-nss" >> .mozconfig %else echo "ac_add_options --without-system-nspr" >> .mozconfig echo "ac_add_options --without-system-nss" >> .mozconfig %endif %if %{?system_ffi} echo "ac_add_options --enable-system-ffi" >> .mozconfig %endif %ifarch %{arm} echo "ac_add_options --disable-elf-hack" >> .mozconfig %endif %if %{?debug_build} echo "ac_add_options --enable-debug" >> .mozconfig echo "ac_add_options --disable-optimize" >> .mozconfig %else %global optimize_flags "none" %ifarch ppc64le aarch64 %global optimize_flags "-g -O2" %endif %if %{optimize_flags} != "none" echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig %else echo 'ac_add_options --enable-optimize' >> .mozconfig %endif echo "ac_add_options --disable-debug" >> .mozconfig %endif # Second arches fail to start with jemalloc enabled %ifnarch %{ix86} x86_64 echo "ac_add_options --disable-jemalloc" >> .mozconfig %endif %if 0%{?build_tests} echo "ac_add_options --enable-tests" >> .mozconfig %else echo "ac_add_options --disable-tests" >> .mozconfig %endif %if !%{?system_jpeg} echo "ac_add_options --without-system-jpeg" >> .mozconfig %else echo "ac_add_options --with-system-jpeg" >> .mozconfig %endif %if %{?system_libvpx} echo "ac_add_options --with-system-libvpx" >> .mozconfig %else echo "ac_add_options --without-system-libvpx" >> .mozconfig %endif %ifarch s390 s390x echo "ac_add_options --disable-jit" >> .mozconfig %endif %if %{build_with_asan} echo "ac_add_options --enable-address-sanitizer" >> .mozconfig echo "ac_add_options --disable-jemalloc" >> .mozconfig %endif %if !%{enable_mozilla_crashreporter} echo "ac_add_options --disable-crashreporter" >> .mozconfig %endif # api keys full path echo "ac_add_options --with-mozilla-api-keyfile=`pwd`/mozilla-api-key" >> .mozconfig # It seems that the api key we have is for the safe browsing only echo "ac_add_options --with-google-location-service-api-keyfile=`pwd`/google-loc-api-key" >> .mozconfig echo "ac_add_options --with-google-safebrowsing-api-keyfile=`pwd`/google-api-key" >> .mozconfig echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig # Remove executable bit to make brp-mangle-shebangs happy. chmod -x third_party/rust/itertools/src/lib.rs chmod a-x third_party/rust/ash/src/extensions/ext/*.rs chmod a-x third_party/rust/ash/src/extensions/khr/*.rs chmod a-x third_party/rust/ash/src/extensions/nv/*.rs #--------------------------------------------------------------------- %build # Disable LTO to work around rhbz#1883904 %define _lto_cflags %{nil} %if 0%{?use_bundled_cbindgen} mkdir -p my_rust_vendor cd my_rust_vendor %{__tar} xf %{SOURCE2} mkdir -p .cargo cat > .cargo/config < 30 MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive" %endif %if %{?hardened_build} MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now" %endif %if %{?debug_build} MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') %endif %ifarch s390 MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/') # If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which # overrides the -g1 from line above and breaks building on s390/arm # (OOM when linking, rhbz#1238225) export MOZ_DEBUG_FLAGS=" " %endif %ifarch %{arm} %{ix86} MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/') export MOZ_DEBUG_FLAGS=" " %endif %if !%{build_with_clang} %ifarch s390 ppc aarch64 %{ix86} MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" %endif %ifarch %{arm} MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug" echo "ac_add_options --enable-linker=gold" >> .mozconfig %endif %endif %if 0%{?flatpak} # Make sure the linker can find libraries in /app/lib64 as we don't use # __global_ldflags that normally sets this. MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}" %endif %ifarch %{arm} %{ix86} %{s390x} export RUSTFLAGS="-Cdebuginfo=0" %endif %if %{build_with_asan} MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fsanitize=address -Dxmalloc=myxmalloc" MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fsanitize=address -ldl" %endif # We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT" echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig %if %{build_with_clang} echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig echo "export AR=\"llvm-ar\"" >> .mozconfig echo "export NM=\"llvm-nm\"" >> .mozconfig echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig echo "ac_add_options --enable-linker=lld" >> .mozconfig %else echo "export CC=gcc" >> .mozconfig echo "export CXX=g++" >> .mozconfig echo "export AR=\"gcc-ar\"" >> .mozconfig echo "export NM=\"gcc-nm\"" >> .mozconfig echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig %endif %if 0%{?build_with_pgo} echo "ac_add_options MOZ_PGO=1" >> .mozconfig # PGO build doesn't work with ccache export CCACHE_DISABLE=1 %endif MOZ_SMP_FLAGS=-j1 # On x86_64 architectures, Mozilla can build up to 4 jobs at once in parallel, # however builds tend to fail on other arches when building in parallel. %ifarch %{ix86} s390x %{arm} aarch64 [ -z "$RPM_BUILD_NCPUS" ] && \ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 %endif %ifarch x86_64 ppc ppc64 ppc64le [ -z "$RPM_BUILD_NCPUS" ] && \ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 [ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 [ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 [ "$RPM_BUILD_NCPUS" -ge 16 ] && MOZ_SMP_FLAGS=-j16 [ "$RPM_BUILD_NCPUS" -ge 24 ] && MOZ_SMP_FLAGS=-j24 [ "$RPM_BUILD_NCPUS" -ge 32 ] && MOZ_SMP_FLAGS=-j32 [ "$RPM_BUILD_NCPUS" -ge 64 ] && MOZ_SMP_FLAGS=-j64 %endif echo "mk_add_options MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig echo "mk_add_options MOZ_SERVICES_SYNC=1" >> .mozconfig echo "export STRIP=/bin/true" >> .mozconfig #export MACH_USE_SYSTEM_PYTHON=1 %if %{launch_wayland_compositor} cp %{SOURCE45} . . ./run-wayland-compositor %endif %if %{build_with_pgo} %if %{test_on_wayland} env | grep "WAYLAND" MOZ_ENABLE_WAYLAND=1 ./mach build -v 2>&1 | cat - || exit 1 %else xvfb-run ./mach build -v 2>&1 | cat - || exit 1 %endif %else ./mach build -v 2>&1 | cat - || exit 1 %endif #--------------------------------------------------------------------- %install # run Firefox test suite export MACH_USE_SYSTEM_PYTHON=1 %if %{launch_wayland_compositor} cp %{SOURCE45} . . ./run-wayland-compositor %endif %if 0%{?run_firefox_tests} mkdir -p objdir/_virtualenvs/init_py3 %{__cat} > objdir/_virtualenvs/init_py3/pip.conf << EOF [global] find-links=`pwd`/mochitest-python no-index=true EOF tar xf %{SOURCE37} cp %{SOURCE40} %{SOURCE41} %{SOURCE42} %{SOURCE38} %{SOURCE39} %{SOURCE43} %{SOURCE44} . mkdir -p test_results %if %{test_on_wayland} ./run-tests-wayland || true %else ./run-tests-x11 || true %endif ./print_results > test_summary.txt 2>&1 || true ./print_failures || true %endif # set up our default bookmarks %if !0%{?flatpak} %{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/browser/content/browser/default-bookmarks.html %endif # Make sure locale works for langpacks %{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF pref("general.useragent.locale", "chrome://global/locale/intl.properties"); EOF DESTDIR=%{buildroot} make -C objdir install %{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications} desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20} desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE31} desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE29} # set up the firefox start script %{__rm} -rf %{buildroot}%{_bindir}/firefox %{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE21} > %{buildroot}%{_bindir}/firefox %{__chmod} 755 %{buildroot}%{_bindir}/firefox %if 0%{?flatpak} sed -i -e 's|%FLATPAK_ENV_VARS%|export TMPDIR="$XDG_CACHE_HOME/tmp"|' %{buildroot}%{_bindir}/firefox %else sed -i -e 's|%FLATPAK_ENV_VARS%||' %{buildroot}%{_bindir}/firefox %endif %{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE30} > %{buildroot}%{_bindir}/firefox-x11 %{__chmod} 755 %{buildroot}%{_bindir}/firefox-x11 %{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE28} > %{buildroot}%{_bindir}/firefox-wayland %{__chmod} 755 %{buildroot}%{_bindir}/firefox-wayland %{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1 %{__rm} -f %{buildroot}/%{mozappdir}/firefox-config %{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini for s in 16 22 24 32 48 256; do %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps %{__cp} -p browser/branding/official/default${s}.png \ %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png done # Install hight contrast icon %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps %{__cp} -p %{SOURCE25} \ %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps echo > %{name}.lang %if %{with langpacks} # Extract langpacks, make any mods needed, repack the langpack, and install it. %{__mkdir_p} %{buildroot}%{langpackdir} %{__tar} xf %{SOURCE1} for langpack in `ls firefox-langpacks/*.xpi`; do language=`basename $langpack .xpi` extensionID=langpack-$language@firefox.mozilla.org %{__mkdir_p} $extensionID unzip -qq $langpack -d $extensionID find $extensionID -type f | xargs chmod 644 cd $extensionID zip -qq -r9mX ../${extensionID}.xpi * cd - %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir} language=`echo $language | sed -e 's/-/_/g'` %if 0%{?flatpak} echo "%{langpackdir}/${extensionID}.xpi" >> %{name}.lang %else echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang %endif done %{__rm} -rf firefox-langpacks # Install langpack workaround (see #707100, #821169) function create_default_langpack() { language_long=$1 language_short=$2 cd %{buildroot}%{langpackdir} ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi cd - echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang } # Table of fallbacks for each language # please file a bug at bugzilla.redhat.com if the assignment is incorrect #create_default_langpack "bn-IN" "bn" create_default_langpack "es-AR" "es" create_default_langpack "fy-NL" "fy" create_default_langpack "ga-IE" "ga" create_default_langpack "gu-IN" "gu" create_default_langpack "hi-IN" "hi" create_default_langpack "hy-AM" "hy" create_default_langpack "nb-NO" "nb" create_default_langpack "nn-NO" "nn" create_default_langpack "pa-IN" "pa" create_default_langpack "pt-PT" "pt" create_default_langpack "sv-SE" "sv" create_default_langpack "zh-TW" "zh" %endif %{__mkdir_p} %{buildroot}/%{mozappdir}/browser/defaults/preferences # System config dir %{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref # System extensions %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id} %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id} # Copy over the LICENSE %{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir} # Use the system hunspell dictionaries %{__rm} -rf %{buildroot}%{mozappdir}/dictionaries %if 0%{?fedora} > 35 ln -s %{_datadir}/hunspell %{buildroot}%{mozappdir}/dictionaries %else ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries %endif %if 0%{?run_firefox_tests} %{__mkdir_p} %{buildroot}/%{version}-%{release}/test_results %{__cp} test_results/* %{buildroot}/%{version}-%{release}/test_results %{__cp} test_summary.txt %{buildroot}/%{version}-%{release}/ %{__cp} failures-* %{buildroot}/%{version}-%{release}/ || true %endif # Default %{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/browser/defaults/preferences # Since Fedora 36 the location of dictionaries has changed to /usr/share/hunspell. # For backward spec compatibility we set the old path in previous versions. # TODO remove when Fedora 35 becomes obsolete %if 0%{?fedora} <= 35 sed -i -e 's|/usr/share/hunspell|/usr/share/myspell|g' %{buildroot}%{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js %endif # Copy over run-mozilla.sh %{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir} # Add distribution.ini %{__mkdir_p} %{buildroot}%{mozappdir}/distribution %{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution # Install appdata file mkdir -p %{buildroot}%{_datadir}/metainfo %{__sed} -e "s/__VERSION__/%{version}/" \ -e "s/__DATE__/$(date '+%F')/" \ %{SOURCE33} > %{buildroot}%{_datadir}/metainfo/firefox.appdata.xml # Install Gnome search provider files mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers %{__cp} %{SOURCE34} %{buildroot}%{_datadir}/gnome-shell/search-providers # Remove gtk2 support as flash plugin is no longer supported rm -rf %{buildroot}%{mozappdir}/gtk2/ # Remove copied libraries to speed up build rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libxul.so # Create a symlink to replace libnssckbi.so with p11-kit-client.so # instead of p11-kit-trust.so, so that Firefox can see the system # trust store on the host through the p11-kit RPC protocol. A symlink # to libnss3.so is also needed, because Firefox tries to load # libnssckbi.so from the same directory where libnss3.so is loaded (as # of Firefox 89). %if 0%{?flatpak} ln -sf /usr/lib64/libnss3.so %{buildroot}%{_libdir}/libnss3.so ln -sf /usr/lib64/pkcs11/p11-kit-client.so %{buildroot}%{_libdir}/libnssckbi.so %endif #--------------------------------------------------------------------- # Moves defaults/preferences to browser/defaults/preferences %pretrans -p require 'posix' require 'os' if (posix.stat("%{mozappdir}/browser/defaults/preferences", "type") == "link") then posix.unlink("%{mozappdir}/browser/defaults/preferences") posix.mkdir("%{mozappdir}/browser/defaults/preferences") if (posix.stat("%{mozappdir}/defaults/preferences", "type") == "directory") then for i,filename in pairs(posix.dir("%{mozappdir}/defaults/preferences")) do os.rename("%{mozappdir}/defaults/preferences/"..filename, "%{mozappdir}/browser/defaults/preferences/"..filename) end f = io.open("%{mozappdir}/defaults/preferences/README","w") if f then f:write("Content of this directory has been moved to %{mozappdir}/browser/defaults/preferences.") f:close() end end end %check appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml %preun # is it a final removal? if [ $1 -eq 0 ]; then %{__rm} -rf %{mozappdir}/components %{__rm} -rf %{mozappdir}/extensions %{__rm} -rf %{mozappdir}/plugins %{__rm} -rf %{langpackdir} fi %post update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun update-desktop-database &> /dev/null || : if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -f %{name}.lang %{_bindir}/firefox %{mozappdir}/firefox %{mozappdir}/firefox-bin %doc %{_mandir}/man1/* %dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}/* %dir %{_datadir}/mozilla/extensions/* %dir %{_libdir}/mozilla/extensions/* %{_datadir}/applications/%{name}.desktop %{_datadir}/metainfo/*.appdata.xml %{_datadir}/gnome-shell/search-providers/*.ini %dir %{mozappdir} %license %{mozappdir}/LICENSE %{mozappdir}/browser/chrome %{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js %{mozappdir}/browser/features/*.xpi %{mozappdir}/distribution/distribution.ini # That's Windows only %ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi %if %{with langpacks} %dir %{langpackdir} %endif %{mozappdir}/browser/omni.ja %{mozappdir}/run-mozilla.sh %{mozappdir}/application.ini %{mozappdir}/pingsender %exclude %{mozappdir}/removed-files %if 0%{?flatpak} %{_libdir}/libnss3.so %{_libdir}/libnssckbi.so %endif %{_datadir}/icons/hicolor/16x16/apps/firefox.png %{_datadir}/icons/hicolor/22x22/apps/firefox.png %{_datadir}/icons/hicolor/24x24/apps/firefox.png %{_datadir}/icons/hicolor/256x256/apps/firefox.png %{_datadir}/icons/hicolor/32x32/apps/firefox.png %{_datadir}/icons/hicolor/48x48/apps/firefox.png %{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg %if %{enable_mozilla_crashreporter} %{mozappdir}/crashreporter %{mozappdir}/crashreporter.ini %{mozappdir}/minidump-analyzer %{mozappdir}/Throbber-small.gif %{mozappdir}/browser/crashreporter-override.ini %endif %{mozappdir}/*.so %{mozappdir}/defaults/pref/channel-prefs.js %{mozappdir}/dependentlibs.list %{mozappdir}/dictionaries %{mozappdir}/omni.ja %{mozappdir}/platform.ini %{mozappdir}/plugin-container %{mozappdir}/gmp-clearkey %{mozappdir}/fonts/TwemojiMozilla.ttf %if !%{?system_nss} %exclude %{mozappdir}/libnssckbi.so %endif %if %{build_with_asan} %{mozappdir}/llvm-symbolizer %endif #--------------------------------------------------------------------- %changelog * Thu Jun 9 2022 Martin Stransky - 101.0.1-1 - Updated to 101.0.1 - More VA-API sandbox fixes (mzbz#1769182) * Tue Jun 7 2022 Martin Stransky - 101.0-2 - Enabled VA-API by default (+ added VA-API fixes from upstream) - Fixed WebGL performance on NVIDIA drivers (mzbz#1735929) * Mon May 30 2022 Martin Stransky - 101.0-1 - Updated to 101.0 * Wed May 25 2022 Martin Stransky - 100.0.2-2 - Added fix for mzbz#1771104 * Fri May 20 2022 Martin Stransky - 100.0.2-1 - Updated to 100.0.2 * Wed May 18 2022 Martin Stransky - 100.0.1-1 - Updated to 100.0.1 * Mon May 16 2022 Jan Horak - 100.0-6 - Fix spellchecker.dictionary_path of F36+ * Tue May 10 2022 Jan Horak - 100.0-5 - Fix crashes on f36 multimonitor setup and too big profile manager * Mon May 9 2022 Martin Stransky - 100.0-4 - Added fix for mozbz#1767916. * Thu May 5 2022 Martin Stransky - 100.0-3 - Removed Fedora user agent patch (rhbz#2081791). * Tue May 3 2022 Martin Stransky - 100.0-2 - Added fix for mozbz#1759137 * Mon May 2 2022 Martin Stransky - 100.0-1 - Updated to 100.0 * Thu Apr 28 2022 Jan Horak - 99.0.1-2 - Fixing bookmark install location - rhbz#2054953 * Wed Apr 13 2022 Martin Stransky - 99.0.1-1 - Updated to 99.0.1 * Wed Apr 6 2022 Martin Stransky - 99.0-1 - Updated to 99.0 * Thu Mar 31 2022 Martin Stransky - 98.0.2-1 - Updated to 98.0.2 * Wed Mar 30 2022 Jan Grulich - 98.0-4 - Wayland screensharing: avoid potential crash when cursor metadata are not set * Wed Mar 16 2022 Martin Stransky - 98.0-3 - Added a workaround for rhbz#2063961 * Wed Mar 2 2022 Martin Stransky - 98.0-2 - Added support for ffmpeg 5.0 - Spec tweaks - Updated to Build 3 * Tue Mar 1 2022 Martin Stransky - 98.0-1 - Updated to 98.0 * Mon Feb 21 2022 Jan Grulich - 97.0.1-2 - Backport WebRTC changes to PipeWire/Wayland screen sharing support * Fri Feb 18 2022 Martin Stransky - 97.0.1-1 - Updated to 97.0.1 - GCC 12 build fixes * Tue Feb 8 2022 Martin Stransky - 97.0-1 - Updated to 97.0 * Mon Jan 31 2022 Martin Stransky - 96.0.3-1 - Updated to 96.0.3 * Tue Jan 25 2022 Parag Nemade - 96.0.1-3 - Update hunspell-dir path F36 Change https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change * Thu Jan 20 2022 Fedora Release Engineering - 96.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Jan 18 2022 Martin Stransky - 96.0.1-1 - Updated to 96.0.1 * Tue Jan 11 2022 Martin Stransky - 96.0-1 - Updated to 96.0 * Sat Jan 08 2022 Miro Hrončok - 95.0.2-5 - Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 * Thu Dec 23 2021 Martin Stransky - 95.0.2-4 - Added fix fox mozbz#1744896 (VSync) * Wed Dec 22 2021 Martin Stransky - 95.0.2-3 - Added Fedora 36 build fix (mzbz#1745560) * Mon Dec 20 2021 Martin Stransky - 95.0.2-1 - Updated to 95.0.2 - Enabled Wayland on KDE by default * Thu Dec 9 2021 Martin Stransky - 95.0-2 - Updated symbolic icon (rhbz#2028939) * Fri Dec 3 2021 Martin Stransky - 95.0-1 - Updated to 95.0 * Fri Nov 19 2021 Martin Stransky - 94.0-2 - Added fix for mozbz#1739924 / rhbz#2020981. * Mon Nov 1 2021 Martin Stransky - 94.0-1 - Updated to 94.0 * Thu Oct 07 2021 Martin Stransky - 93.0-2 - Require NSS 3.70 * Wed Sep 29 2021 Martin Stransky - 93.0-1 - Updated to 93.0 * Mon Sep 27 2021 Martin Stransky - 92.0.1-1 - Updated to 92.0.1 * Mon Sep 13 2021 Martin Stransky - 92.0-3 - Added fix for mozbz#1725828 * Thu Sep 9 2021 Martin Stransky - 92.0-2 - Disable test * Fri Sep 3 2021 Martin Stransky - 92.0-1 - Updated to 92.0 - Added fix for mozbz#1728749 - Added fix for mozbz#1708709 * Thu Aug 26 2021 Martin Stransky - 91.0.2-1 - Updated to 91.0.2 * Mon Aug 23 2021 Martin Stransky - 91.0.1-2 - Set %%build_with_clang automatically based on %%toolchain by Timm Bäder - Updated Fedora UA patch by Eric Engestrom (https://src.fedoraproject.org/rpms/firefox/pull-request/21) - Added fix for mozbz#1726515 * Mon Aug 23 2021 Martin Stransky - 91.0.1-1 - Updated to 91.0.1 * Tue Aug 10 2021 Martin Stransky - 91.0-1 - Updated to 91.0 * Wed Aug 04 2021 Martin Stransky - 90.0.2-2 - Added fix for rhbz#1988841 - Allow unsigned extensions when installed under non-user-writable dirs. * Thu Jul 22 2021 Martin Stransky - 90.0.2-1 - Updated to 90.0.2 * Wed Jul 21 2021 Fedora Release Engineering - 90.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 21 2021 Martin Stransky - 90.0.1-1 - Updated to 90.0.1 - Added fixes to build on rawhide * Thu Jul 15 2021 Martin Stransky - 90.0-3 - Disabled Wayland backend on KDE due to https://bugzilla.mozilla.org/show_bug.cgi?id=1714132 * Tue Jul 13 2021 Martin Stransky - 90.0-2 - Added xorg-x11-server-Xwayland dependency for Mutter * Mon Jul 12 2021 Martin Stransky - 90.0-1 - Updated to 90.0 * Mon Jul 12 2021 Daiki Ueno - 89.0.2-3 - flatpak: Enable loading system trust store on the host (rhbz#1766340) * Wed Jun 30 2021 Martin Stransky - 89.0.2-2 - Added fix for mozbz#1715254 (rhbz#1976892). * Thu Jun 24 2021 Martin Stransky - 89.0.2-1 - Updated to latest upstream (89.0.2) * Mon Jun 14 2021 Martin Stransky - 89.0-2 - Added fix for mozbz#1646135 * Tue Jun 1 2021 Martin Stransky - 89.0-1 - Updated to latest upstream (89.0) * Mon May 10 2021 Martin Stransky - 88.0.1-1 - Updated to latest upstream (88.0.1) * Tue May 4 2021 Martin Stransky - 88.0-8 - Added fix for mozbz#1705048. * Fri Apr 30 2021 Martin Stransky - 88.0-7 - Added pciutils-libs req (rhbz#1955338) - Enabled Wayland on KDE (rhbz#1922608) * Tue Apr 27 2021 Martin Stransky - 88.0-6 - Test fix. * Fri Apr 23 2021 Martin Stransky - 88.0-5 - Added fix for mozbz#1580595 - mouse pointer lock. - Another test update. * Thu Apr 22 2021 Martin Stransky - 88.0-4 - Run with mochitest test suite. * Thu Apr 22 2021 Martin Stransky - 88.0-3 - Build with crashreporter enabled. * Wed Apr 21 2021 Martin Stransky - 88.0-2 - Added clipboard fix mzbz#1703763. * Mon Apr 19 2021 Martin Stransky - 88.0-1 - Update to 88.0 * Mon Apr 12 2021 Martin Stransky - 87.0-12 - Added fix for mozbz#1701089 (Widevine playback issues). * Tue Apr 6 2021 Martin Stransky - 87.0-11 - Enabled xpcshell/crashtests on Wayland. * Sat Apr 3 2021 Martin Stransky - 87.0-10 - Wayland testing again. * Thu Apr 1 2021 Martin Stransky - 87.0-9 - Added fix for mozbz#1702606 / rhbz#1936071 - Switched tests back to X11 due to massive failures. * Thu Apr 1 2021 Martin Stransky - 87.0-8 - Run testsuite on Wayland on Fedora 33+ - Spec cleanup * Wed Mar 31 2021 Martin Stransky - 87.0-7 - Added fix for mozbz#1693472 - Wayland/KDE rendering issues. * Tue Mar 30 2021 Jonathan Wakely - 87.0-6 - Rebuilt for removed libstdc++ symbol (#1937698) * Tue Mar 30 2021 Martin Stransky - 87.0-5 - Reftest fix * Fri Mar 26 2021 Martin Stransky - 87.0-4 - More test fixes - Enabled ppc64le - Disabled crashreporter on Fedora 34+ * Wed Mar 24 2021 Martin Stransky - 87.0-2 - More test fixes * Tue Mar 23 2021 Martin Stransky - 87.0-1 - Disabled ARM due to build failures - Updated to 87.0 * Sat Mar 13 2021 Martin Stransky - 86.0.1-2 - Enabled ARM * Fri Mar 12 2021 Martin Stransky - 86.0.1-1 - Update to latest upstream (86.0.1) * Wed Mar 10 2021 Martin Stransky - 86.0-8 - Temporary disable ppc64le/Fedora 35 due to https://bugzilla.redhat.com/show_bug.cgi?id=1933742 * Wed Mar 3 2021 Martin Stransky - 86.0-7 - Added fix for mozbz#1694670 * Mon Mar 1 2021 Martin Stransky - 86.0-6 - Run xpcshell tests sequential - Test fixes * Mon Mar 1 2021 Martin Stransky - 86.0-4 - Enable Wayland backend only when Wayland display is set. * Mon Mar 1 2021 Martin Stransky - 86.0-3 - Added icecat-78.7.1-fix_error_template_with_C_linkage.patch to build on F34+ * Fri Feb 26 2021 Martin Stransky - 86.0-2 - Built with system nss * Tue Feb 23 2021 Martin Stransky - 86.0-1 - Update to 86.0 - Disabled Wayland backend on KDE/Plasma * Tue Feb 23 2021 Martin Stransky - 85.0.1-2 - Fixed some reftest run in Mock * Mon Feb 08 2021 Martin Stransky - 85.0.1-1 - Updated to 85.0.1 * Wed Feb 03 2021 Dan Horák - 85.0-11 - Fix parameter passing on ppc64le (mozb#1690152) * Tue Feb 02 2021 Kalev Lember - 85.0-10 - Remove gtk2 support as flash plugin is no longer supported * Sat Jan 30 2021 Martin Stransky - 85.0-9 - Enable WebRender on KDE/Wayland and AMD/Intel drivers. * Sat Jan 30 2021 Martin Stransky - 85.0-8 - Enable Wayland backend on Fedora 34/KDE/Plasma (and other compositors) by default (https://bugzilla.redhat.com/show_bug.cgi?id=1922608). * Fri Jan 29 2021 Martin Stransky - 85.0-7 - Added clipboard fix mozbz#1631061. * Thu Jan 28 2021 Kalev Lember - 85.0-6 - Make provides/requires filtering smarter/automatic (rhbz#1582116) - Drop dbus-glib requires that are now automatically generated again * Thu Jan 28 2021 Martin Stransky - 85.0-5 - Add dbus-glib requires. * Tue Jan 26 2021 Martin Stransky - 85.0-4 - Added fix for mozbz#1679933 - startup crash * Tue Jan 26 2021 Fedora Release Engineering - 85.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Jan 20 2021 Martin Stransky - 85.0-2 - Update to 85.0. * Wed Jan 20 2021 Jan Horak - 84.0.2-8 - Fixing package requires/provides * Tue Jan 19 2021 Martin Stransky - 84.0.2-7 - Fixed mzbz#164294 regression. * Fri Jan 15 2021 Martin Stransky - 84.0.2-6 - Added WebRender fix (mozbz#1681107). * Thu Jan 14 2021 Martin Stransky - 84.0.2-5 - Removed some failing tests. - Spec file tweaks. * Tue Jan 12 2021 Martin Stransky - 84.0.2-4 - Enabled LTO in Firefox build system. * Tue Jan 12 2021 Martin Stransky - 84.0.2-3 - Removed failing xpcshell/reftests, test tweaks. * Mon Jan 11 2021 Martin Stransky - 84.0.2-2 - Added a workaround for rhbz#1908018 * Wed Jan 6 2021 Martin Stransky - 84.0.2-1 - Updated to 84.0.2 * Tue Jan 05 2021 Jan Horak - 84.0.1-5 - Removing requires/provides of the bundled libraries * Mon Jan 4 2021 Martin Stransky - 84.0.1-4 - Enabled tests * Mon Jan 4 2021 Martin Stransky - 84.0.1-3 - Enabled armv7hl arch on rawhide * Wed Dec 23 2020 Martin Stransky - 84.0.1-2 - Reverted mzbz#1631061 due to clipboard regressions - Disabled armv7hl build on rawhide due to rhbz#1910277 - Build with system nss on rawhide (rhbz#1908791). * Tue Dec 22 2020 Martin Stransky - 84.0.1-1 - Updated to 84.0.1 * Sun Dec 20 2020 Miro Hrončok - 84.0-7 - Filter out private libraries provides - Fixes: rhbz#1908791 * Thu Dec 17 2020 Martin Stransky - 84.0-6 - Disable PGO on Rawhide due to build issues - Disable system nss on Rawhide due to rhbz#1908018 - Enabled system nss on Fedora 33/32 * Wed Dec 16 2020 Martin Stransky - 84.0-5 - Build with tests enabled * Wed Dec 16 2020 Martin Stransky - 84.0-4 - Disabled LTO due to massive test failures * Wed Dec 16 2020 Martin Stransky - 84.0-3 - Updated to Firefox 84 Build 3 - Disabled system nss due to addon breakage (rhbz#1908018). * Wed Dec 9 2020 Martin Stransky - 83.0-15 - Enabled tests everywhere - Enabled crash reporter * Tue Dec 1 2020 Martin Stransky - 83.0-14 - Enabled LTO * Tue Dec 1 2020 Martin Stransky - 83.0-13 - Added fix for mozbz#1672139 * Tue Dec 1 2020 Martin Stransky - 83.0-12 - More mochitest fixes * Mon Nov 30 2020 Martin Stransky - 83.0-11 - Mochitest tweaking * Sat Nov 28 2020 Martin Stransky - 83.0-10 - Added fix for mzbz#1678680 * Wed Nov 25 2020 Martin Stransky - 83.0-9 - Added mochitest test files * Wed Nov 25 2020 Martin Stransky - 83.0-8 - Added fix for rhbz#1900542 * Wed Nov 25 2020 Martin Stransky - 83.0-7 - Export MOZ_GMP_PATH from /usr/bin/firefox script (https://pagure.io/fedora-workstation/issue/126) * Tue Nov 24 2020 Martin Stransky - 83.0-6 - Fix mochitest * Wed Nov 18 2020 Martin Stransky - 83.0-5 - Build with tests enabled * Wed Nov 18 2020 Martin Stransky - 83.0-4 - Enable all arches * Fri Nov 13 2020 Martin Stransky - 83.0-3 - Updated to 83.0 Build 2 * Thu Nov 12 2020 Martin Stransky - 83.0-1 - Updated to 83.0 - Updated PipeWire patches from mozbz#1672944 * Tue Nov 10 2020 Martin Stransky - 82.0.3-2 - Added fix for mozbz#1885133 * Mon Nov 9 2020 Martin Stransky - 82.0.3-1 - Updated to 82.0.3 * Mon Nov 9 2020 Kalev Lember - 82.0.2-7 - Include date in appdata release tags * Fri Nov 6 2020 Tomas Popela - 82.0.2-6 - Re-enable s390x buils by backporting a change from Thunderbird https://src.fedoraproject.org/rpms/thunderbird/c/5f0bec1b5b79e117cc469710afbfa4d008af9c29?branch=master * Tue Nov 3 2020 Martin Stransky - 82.0.2-5 - Added mozilla-openh264 dependency to play H264 clips out of the box - Updated Firefox tests * Tue Nov 3 2020 Martin Stransky - 82.0.2-3 - Disabled LTO again. * Tue Nov 3 2020 Martin Stransky - 82.0.2-2 - NSS debug build * Thu Oct 29 2020 Martin Stransky - 82.0.2-1 - Updated to 82.0.2 - Removed mzbz#1668771 due to rhbz#1888920 * Wed Oct 28 2020 Martin Stransky - 82.0.1-1 - Updated to 82.0.1 * Tue Oct 27 2020 Martin Stransky - 82.0-8 - Added fix for mozbz#1673313 * Tue Oct 27 2020 Martin Stransky - 82.0-7 - Added fix for rawhide crashes (rhbz#1891234) * Sat Oct 24 2020 Martin Stransky - 82.0-6 - Enable LTO * Tue Oct 20 2020 Martin Stransky - 82.0-5 - Added fix for rhbz#1889742 - Typo in /usr/bin/firefox * Mon Oct 19 2020 Martin Stransky - 82.0-4 - Updated openh264 patch to use keyframes from contained for openh264 only. * Mon Oct 19 2020 Martin Stransky - 82.0-3 - Added ELN build fixes * Thu Oct 15 2020 Martin Stransky - 82.0-2 - Updated SELinux relabel setup (rhbz#1731371) * Thu Oct 15 2020 Martin Stransky - 82.0-1 - Updated to 82.0 Build 2 * Thu Oct 15 2020 Martin Stransky - 81.0.2-3 - Added experimental openh264 seek patch (mzbz#1670333) * Mon Oct 12 2020 Martin Stransky - 81.0.2-2 - Added a partial fox for rhbz#1886722 * Mon Oct 12 2020 Martin Stransky - 81.0.2-1 - Updated to latest upstream - 81.0.2 * Thu Oct 8 2020 Martin Stransky - 81.0.1-9 - Added an updated fix for mozbz#1656727 * Thu Oct 8 2020 Martin Stransky - 81.0.1-8 - Added fixes for mozbz#1634404, mozbz#1669495 * Thu Oct 8 2020 Martin Stransky - 81.0.1-7 - Removed mozbz#1656727 as it causes a regression rhbz#1886243 * Wed Oct 7 2020 Martin Stransky - 81.0.1-6 - PGO patch update - Added fix for mzbz#1669442 (LTO builds) * Mon Oct 5 2020 Martin Stransky - 81.0.1-5 - Added fix for mozbz#1656727 * Fri Oct 2 2020 Martin Stransky - 81.0.1-4 - Added fix for mozbz#1668771 * Thu Oct 1 2020 Martin Stransky - 81.0.1-3 - Added fix for mozbz#1661192 * Thu Oct 1 2020 Martin Stransky - 81.0.1-2 - Added fix for mozbz#1640567 - Enable PGO * Wed Sep 30 2020 Martin Stransky - 81.0.1-1 - Updated to 81.0.1 * Wed Sep 30 2020 Martin Stransky - 81.0-9 - Disabled openh264 download - Removed fdk-aac-free dependency (rhbz#1883672) - Enabled LTO * Sat Sep 26 2020 Dan Horák - 81.0-8 - Re-enable builds for ppc64le * Fri Sep 25 2020 Martin Stransky - 81.0-7 - Added openh264 fixes * Wed Sep 23 2020 Martin Stransky - 81.0-6 - Added fix for rhbz#1731371 * Tue Sep 22 2020 Kalev Lember - 81.0-5 - Re-enable builds for armv7hl and aarch64 architectures * Tue Sep 22 2020 Kalev Lember - 81.0-4 - Disable LTO to work around firefox build failing in F33+ * Mon Sep 21 2020 Martin Stransky - 81.0-3 - Updated to 81.0 Build 2 - Updated firefox-disable-ffvpx-with-vapi patch - Deleted old changelog entries * Thu Sep 17 2020 Martin Stransky - 81.0-2 - Added upstream patches mzbz#1665324 mozbz#1665329 - Updated requested nss version to 3.56 * Tue Sep 15 2020 Martin Stransky - 81.0-1 - Updated to 81.0 * Thu Sep 10 2020 Martin Stransky - 80.0.1-3 - Test build for all arches. * Fri Sep 4 2020 Martin Stransky - 80.0.1-2 - Added patch for mozbz#1875469 * Tue Sep 1 2020 Martin Stransky - 80.0.1-1 - Updated to 80.0.1 * Tue Aug 18 2020 Martin Stransky - 80.0-1 - Updated to 80.0 Build 2 - Go back to gcc - Disabled WebGL dmabuf backend due to reported errors (mzbz#1655323, mozbz#1656505). * Tue Aug 18 2020 Martin Stransky - 79.0-6 - Enabled pgo - Build with clang * Tue Aug 4 2020 Martin Stransky - 79.0-5 - Added upstream fix for mozbz#1656436. * Mon Aug 3 2020 Martin Stransky - 79.0-4 - Updated fix for mozbz#1645671 * Thu Jul 30 2020 Martin Stransky - 79.0-3 - Added VA-API fix for mozbz#1645671 * Wed Jul 29 2020 Martin Stransky - 79.0-2 - Try to enable armv7hl again. - Disabled ppc64le due to cargo crash (rhbz#1862012). * Mon Jul 27 2020 Martin Stransky - 79.0-1 - Update to 79.0 - Disabled PGO due to rhbz#1849165 (gcc internal error). * Mon Jul 27 2020 Fedora Release Engineering - 78.0.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Thu Jul 23 2020 Frantisek Zatloukal - 78.0-4 - Use python3 instead of python2 for build * Tue Jul 21 2020 Martin Stransky - 78.0-3 - Added fix for mozbz#1651701/rhbz#1855730 * Fri Jul 10 2020 Jan Horak - 78.0.2-2 - Fixing clang build - linker setup * Thu Jul 09 2020 Jan Horak - 78.0.2-1 - Update to 78.0.2 build2 * Wed Jul 01 2020 Jan Horak - 78.0.1-1 - Update to 78.0.1 build1 * Wed Jul 1 2020 Martin Stransky - 78.0-2 - Add 'Open the Profile Manager' desktop file entry * Mon Jun 29 2020 Jan Horak - 78.0-1 - Update to 78.0 build2 * Tue Jun 23 2020 Martin Stransky - 77.0.1-3 - Build with PGO/LTO again. * Wed Jun 03 2020 Jan Horak - 77.0.1-2 - Update to 77.0.1 build1 * Wed Jun 03 2020 Jan Horak - 77.0.1-1 - Fixing pipewire patch - New upstream version (77.0.1) * Tue Jun 2 2020 Martin Stransky - 77.0-2 - Rebuild with updated langpacks (rhbz#1843028). * Fri May 29 2020 Martin Stransky - 77.0-1 - Updated to Firefox 77.0 * Mon May 25 2020 Martin Stransky - 76.0.1-7 - Added fix for mozbz#1632456 * Mon May 25 2020 Martin Stransky - 76.0.1-6 - Added fix for mozbz#1634213 * Mon May 25 2020 Martin Stransky - 76.0.1-5 - Added fix for mozbz#1619882 - video flickering when va-api is used. * Thu May 21 2020 Jan Grulich - 76.0.1-4 - Add support for PipeWire 0.3 * Wed May 20 2020 Peter Robinson - 76.0.1-3 - Build aarch64 again so aarch64 users get updates * Wed May 13 2020 Martin Stransky - 76.0.1-2 - Added extra va-api frames to vp8/9 decoder. * Fri May 8 2020 Martin Stransky - 76.0.1-1 - Updated to 76.0.1 * Thu May 7 2020 Martin Stransky - 76.0-3 - Disable ffvpx when va-api is enabled. * Tue May 05 2020 Jan Horak - 76.0-2 - Don't use google safe browsing api key for the geolocation * Sun May 3 2020 Martin Stransky - 76.0-1 - Updated to 76.0 * Thu Apr 23 2020 Martin Stransky - 75.0-3 - Added fix for mozilla bug #1527976 (browser D&D) * Tue Apr 14 2020 Jan Horak - 75.0-2 - Removed gconf-2.0 build requirement * Mon Apr 06 2020 Martin Stransky - 75.0-1 - Updated to 75.0 * Mon Apr 06 2020 Martin Stransky - 74.0.1-3 - Added fix for mozbz#1627469 * Mon Apr 06 2020 Jan Horak - 74.0.1-2 - Fixing pipewire patch * Sat Apr 4 2020 Martin Stransky - 74.0.1-1 - Updated to latest upstream - Added fix for mozbz#1624745 * Wed Apr 1 2020 Martin Stransky - 74.0-14 - Added fixes to gnome shell search provider * Tue Mar 31 2020 Jan Horak - 74.0-13 - Allow addons sideload to fix missing langpacks issues * Thu Mar 19 2020 Martin Stransky - 74.0-12 - Added fix for rhbz#1814850 by Daniel Rusek * Tue Mar 17 2020 Martin Stransky - 74.0-11 - Added fix for mozbz#1623106 * Tue Mar 17 2020 Martin Stransky - 74.0-9 - Added fix for mozbz#1623060 * Tue Mar 17 2020 Jan Grulich - 74-0-8 - Add support for window sharing * Mon Mar 16 2020 Martin Stransky - 74.0-7 - Use D-Bus remote exclusively for both X11 and Wayland backends when WAYLAND_DISPLAY is present. * Fri Mar 13 2020 Martin Stransky - 74.0-6 - Added fix for mozbz#1615098 * Thu Mar 12 2020 Martin Stransky - 74.0-5 - Added fix for mozbz#1196777 * Tue Mar 10 2020 Kalev Lember - 74.0-4 - Remove unused libIDL build dep - Disabled arm due to build failures * Tue Mar 10 2020 Martin Stransky - 74.0-3 - Update to 74.0 Build 3 * Mon Mar 09 2020 Martin Stransky - 74.0-2 - Update to 74.0 Build 2 * Tue Mar 03 2020 Martin Stransky - 74.0-1 - Update to 74.0 Build 1 - Added mozbz#1609538 * Mon Feb 24 2020 Martin Stransky - 73.0.1-4 - Using pipewire-0.2 as buildrequire - Added armv7hl fixes by Gabriel Hojda * Mon Feb 24 2020 Martin Stransky - 73.0.1-2 - Fixed Bug 1804787 - Some .desktop menu entries unlocalized * Thu Feb 20 2020 Martin Stransky - 73.0.1-1 - Update to 73.0.1 * Tue Feb 11 2020 Jan Horak - 73.0-1 - Update to 73.0 build3 * Tue Feb 04 2020 Kalev Lember - 72.0.2-3 - Fix various issues with appdata, making the validation pass again - Validate appdata during the build - Make sure the release tag in appdata is in sync with the package version * Tue Jan 28 2020 Fedora Release Engineering - 72.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Mon Jan 20 2020 Jan Horak - 72.0.2-1 - Update to 72.0.2 build1 * Wed Jan 15 2020 Jan Horak - 72.0.1-2 - Added fix for wrong cursor offset of popup windows and bumped required nss version * Wed Jan 08 2020 Jan Horak - 72.0.1-1 - Update to 72.0.1 build1 * Mon Jan 06 2020 Jan Horak - 72.0-2 - Update to 72.0 build4 * Fri Jan 03 2020 Jan Horak - 72.0-1 - Update to 72.0 build3 * Wed Dec 18 2019 Jan Horak - 71.0-17 - Fix for wrong intl.accept_lang when using non en-us langpack * Mon Dec 9 2019 Martin Stransky - 71.0-16 - Build with asan * Mon Dec 9 2019 Martin Stransky - 71.0-15 - Enabled Mozilla crash reporter - Enabled PGO builds * Mon Dec 9 2019 Martin Stransky - 71.0-14 - Updated workaround for mzbz#1601707 * Sat Dec 7 2019 Martin Stransky - 71.0-13 - Built with -fno-lifetime-dse * Fri Dec 6 2019 Martin Stransky - 71.0-12 - Clang test build, should fix extension breakage * Fri Dec 6 2019 Martin Stransky - 71.0-11 - Added workaround for: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707 http://gcc.gnu.org/PR92831 * Fri Dec 6 2019 Martin Stransky - 71.0-10 - Remove appdata and ship metainfo only * Wed Dec 4 2019 Martin Stransky - 71.0-9 - Included kiosk mode workaround (mozbz#1594738) * Tue Dec 3 2019 Martin Stransky - 71.0-8 - Disabled PGO due to startup crash * Mon Dec 2 2019 Martin Stransky - 71.0-7 - Updated to 71.0 Build 5 - Updated Gnome search provider * Wed Nov 27 2019 Martin Stransky - 71.0-6 - Enable Gnome search provider * Wed Nov 27 2019 Martin Stransky - 71.0-5 - Added fix for mozbz#1593408 - Temporary disable Gnome search provider * Tue Nov 26 2019 Martin Stransky - 71.0-2 - Enable Gnome search provider * Tue Nov 26 2019 Martin Stransky - 71.0-1 - Updated to 71.0 Build 2 * Tue Nov 19 2019 Jan Horak - 70.0.1-5 - Added fixes for missing popup and overflow widget glitches * Mon Nov 04 2019 Jan Horak - 70.0.1-4 - Added fix for non-scrollable popups * Fri Nov 1 2019 Martin Stransky - 70.0.1-1 - Updated to 70.0.1 - Built with system-nss (reverted 70.0-2 change). * Thu Oct 31 2019 Martin Stransky - 70.0-2 - Switched to in-tree nss due to rhbz#1752303 * Tue Oct 15 2019 Martin Stransky - 70.0-1 - Updated to 70.0