63d2ed
%define homepage %(grep '^HOME_URL\s*=' /etc/os-release | sed 's/^HOME_URL\s*=//;s/^\s*"//;s/"\s*$//')
b26a6b
%global disable_toolsets  0
b26a6b
812674
# Produce debug (non-optimized) package build. Suitable for debugging only
812674
# as the build is *very* slow.
812674
%global debug_build       0
481763
# Run Mozilla test suite as a part of compile rpm section. Turn off when
481763
# building locally and don't want to spend 24 hours waiting for results.
481763
%global run_firefox_tests 0
812674
481763
%ifarch x86_64 %{ix86}
481763
%global run_firefox_tests 0
c82edc
%endif
e98f2c
1a0d85
%{lua:
812674
function dist_to_rhel_minor(str, start)
1a0d85
  match = string.match(str, ".module%+el8.%d+")
1a0d85
  if match then
1a0d85
     return string.sub(match, 13)
1a0d85
  end
1a0d85
  match = string.match(str, ".el8_%d+")
1a0d85
  if match then
1a0d85
     return string.sub(match, 6)
1a0d85
  end
2ebcee
  match = string.match(str, ".el8")
2ebcee
  if match then
530b72
     return 10
2ebcee
  end
373d2f
  match = string.match(str, ".module%+el9.%d+")
373d2f
  if match then
373d2f
     return string.sub(match, 13)
373d2f
  end
373d2f
  match = string.match(str, ".el9_%d+")
373d2f
  if match then
373d2f
     return string.sub(match, 6)
373d2f
  end
373d2f
  match = string.match(str, ".el9")
373d2f
  if match then
530b72
     return 4
373d2f
  end
373d2f
  return -1
373d2f
end}
373d2f
812674
%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))}
e98f2c
812674
# System libraries options
d417c4
%global system_nss        1
e98f2c
%global bundle_nss        0
e98f2c
e98f2c
%if 0%{?rhel} == 8
812674
  %if %{rhel_minor_version} <= 6
812674
    %global bundle_nss        1
812674
    %global system_nss        1
812674
  %endif
812674
%endif
812674
%if 0%{?rhel} == 9
812674
  %if %{rhel_minor_version} <= 0
488d12
    %global bundle_nss        1
488d12
    %global system_nss        1
e98f2c
  %endif
c82edc
%endif
e98f2c
812674
%global dts_version       10
812674
%global llvm_version      7.0
812674
%global nspr_version      4.35
812674
%global nspr_version_max  4.36
812674
%global nss_version       3.90
812674
%global nss_version_max   3.91
812674
%global rust_version      1.66
812674
%global system_libvpx     0
e98f2c
812674
# Toolsets setup
812674
%global use_dts           0
812674
%global use_gcc_ts        0
812674
%global use_llvm_ts       0
812674
%global use_nodejs_scl    0
812674
%global use_rust_ts       1
812674
%global use_python3_scl   0
481763
812674
%global nodejs_build_req  nodejs
4c7c17
812674
%if 0%{?rhel} >= 8
812674
  %global use_rust_ts     0
c82edc
%endif
d417c4
812674
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
812674
  %ifarch aarch64
812674
%global use_gcc_ts        1
812674
  %endif
481763
%endif
812674
488d12
%if 0%{?rhel} == 7
63d2ed
  %global use_dts          1
812674
  %global use_llvm_ts      1
812674
  %global use_nodejs_scl   1
812674
  %global nodejs_build_req rh-nodejs10-nodejs
63d2ed
  %global llvm_version     11.0
812674
  %global use_python3_scl  1
481763
%endif
488d12
b26a6b
%if 0%{?disable_toolsets}
b26a6b
%global use_dts           0
812674
%global use_llvm_ts       0
812674
%global use_nodejs_scl    0
812674
%global use_rust_ts       0
812674
%global use_python3_scl   0
d417c4
%endif
d417c4
481763
%global launch_wayland_compositor 0
812674
%if 0%{?run_firefox_tests}
812674
  %global test_on_wayland           1
812674
  %global launch_wayland_compositor 1
812674
  %global build_tests               1
481763
%endif
d417c4
4cf60e
63d2ed
%global mozappdir            %{_libdir}/firefox
63d2ed
%global langpackdir          %{mozappdir}/browser/extensions
488d12
%define bundled_install_path %{mozappdir}/bundled
812674
%global pre_version          esr
812674
# Workaround the dreaded "upstream source file changed content" rpminspect failure.
812674
# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g.
812674
# firefox-102.8.0esr.b2.processed-source.tar.xz
812674
# When unset use processed source file name as is.
812674
##global buildnum             .b2
d417c4
481763
%bcond_without langpacks
d417c4
481763
# Exclude private libraries from autogenerated provides and requires
481763
%global __provides_exclude_from ^%{mozappdir}
481763
%global __requires_exclude ^(%%(find %{buildroot}%{mozappdir} -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -))
d10ee9
29a772
Summary:        Mozilla Firefox Web browser
29a772
Name:           firefox
0a2a1d
Version:        115.6.0
4cf6d8
Release:        1%{?dist}
d417c4
URL:            https://www.mozilla.org/firefox/
29a772
License:        MPLv1.1 or GPLv2+ or LGPLv2+
481763
488d12
%if 0%{?rhel} == 9
488d12
ExcludeArch:    %{ix86}
488d12
%endif
488d12
%if 0%{?rhel} == 8
530b72
  # Started to ship on aarch64 in RHEL 8.2, on s390x in RHEL 8.3
812674
  %if %{rhel_minor_version} == 1
530b72
ExcludeArch:    %{ix86} s390x aarch64
a9b9fb
  %else
530b72
    %if %{rhel_minor_version} == 2
530b72
ExcludeArch:    %{ix86} s390x
530b72
    %else
488d12
ExcludeArch:    %{ix86}
530b72
    %endif
a9b9fb
  %endif
488d12
%endif
d417c4
%if 0%{?rhel} == 7
780b7b
ExcludeArch:    aarch64 s390 ppc
d417c4
%endif
812674
488d12
# We can't use the official tarball as it contains some test files that use
488d12
# licenses that are rejected by Red Hat Legal.
488d12
# The official tarball has to be always processed by the process-official-tarball
481763
# script
812674
# Link to original tarball: https://archive.mozilla.org/pub/firefox/releases/%%{version}%%{?pre_version}/source/firefox-%%{version}%%{?pre_version}.source.tar.xz
1cd84d
Source0:        firefox-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz
481763
%if %{with langpacks}
0a2a1d
Source1:        firefox-langpacks-%{version}%{?pre_version}-20231212.tar.xz
29a772
%endif
488d12
Source2:        cbindgen-vendor.tar.xz
488d12
Source3:        process-official-tarball
29a772
Source10:       firefox-mozconfig
f5d0dc
Source12:       firefox-redhat-default-prefs.js
29a772
Source20:       firefox.desktop
d417c4
Source21:       firefox.sh.in
29a772
Source23:       firefox.1
8c50df
Source24:       mozilla-api-key
d417c4
Source25:       firefox-symbolic.svg
d417c4
Source26:       distribution.ini
d417c4
Source27:       google-api-key
cc45f5
Source30:       firefox-x11.sh.in
cc45f5
Source31:       firefox-x11.desktop
481763
Source32:       node-stdout-nonblocking-wrapper
481763
Source33:       firefox.appdata.xml.in
481763
Source34:       firefox-search-provider.ini
481763
Source35:       google-loc-api-key
812674
Source36:       testing.sh
481763
Source37:       mochitest-python.tar.gz
812674
812674
# Bundled libraries
e98f2c
Source401:      nss-setup-flags-env.inc
812674
Source402:      nspr-4.35.0-1.el8_1.src.rpm
812674
Source403:      nss-3.90.0-3.el8_1.src.rpm
812674
Source404:      nss-3.90.0-3.el9_0.src.rpm
812674
812674
# ---- RHEL specific patches ---
812674
# -- Downstream only --
812674
Patch01:        build-disable-elfhack.patch
812674
Patch02:        firefox-gcc-build.patch
812674
Patch03:        build-big-endian-errors.patch
812674
Patch05:        build-rhel7-lower-node-min-version.patch
812674
Patch06:        build-ppc64-abiv2.patch
812674
Patch07:        build-rhel7-nasm-dwarf.patch
812674
# Disable PipeWire support for PipeWire 0.2
812674
Patch08:       disable-pipewire.patch
812674
Patch09:       rhbz-2131158-webrtc-nss-fix.patch
812674
812674
# -- Upstreamed patches --
812674
Patch51:       mozilla-bmo1170092.patch
812674
812674
# -- Submitted upstream, not merged --
812674
Patch101:       mozilla-bmo1636168-fscreen.patch
812674
Patch102:       mozilla-bmo1670333.patch
812674
# Big endian fix
812674
Patch103:       mozilla-bmo1504834-part1.patch
812674
Patch104:       mozilla-bmo1504834-part3.patch
812674
# Big endian fix
812674
Patch105:       mozilla-bmo849632.patch
812674
# Big endian fix
812674
Patch106:       mozilla-bmo998749.patch
812674
# Big endian fix
812674
Patch107:       mozilla-bmo1716707-swizzle.patch
812674
Patch108:       mozilla-bmo1716707-svg.patch
812674
Patch109:       mozilla-bmo1789216-disable-av1.patch
812674
812674
# ---- Fedora specific patches ----
812674
Patch151:       firefox-enable-addons.patch
812674
Patch152:       rhbz-1173156.patch
812674
Patch153:       fedora-shebang-build.patch
812674
Patch154:       firefox-nss-addon-hack.patch
812674
# ARM run-time patch
812674
Patch155:       rhbz-1354671.patch
812674
812674
# ---- Test patches ----
481763
# Generate without context by
481763
# GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-xpcshell
481763
# GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-reftest
812674
Patch201:       firefox-tests-xpcshell-freeze.patch
9996a1
63d2ed
# ---- Security patches ----
63d2ed
Patch301:       CVE-2023-44488-libvpx.patch
63d2ed
812674
# BUILD REQURES/REQUIRES
812674
%if %{?system_nss} && !0%{?bundle_nss}
d417c4
BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
812674
BuildRequires:  pkgconfig(nspr) < %{nspr_version_max}
d417c4
BuildRequires:  pkgconfig(nss) >= %{nss_version}
812674
BuildRequires:  pkgconfig(nss) < %{nss_version_max}
d417c4
BuildRequires:  nss-static >= %{nss_version}
812674
BuildRequires:  nss-static < %{nss_version_max}
d417c4
%endif
812674
812674
%if %{?system_libvpx}
812674
BuildRequires:  libvpx-devel >= 1.8.2
e98f2c
%endif
812674
4cf60e
BuildRequires:  bzip2-devel
812674
BuildRequires:  dbus-glib-devel
812674
BuildRequires:  desktop-file-utils
812674
BuildRequires:  libappstream-glib
812674
BuildRequires:  libjpeg-devel
812674
BuildRequires:  libstdc++-devel
812674
BuildRequires:  libstdc++-static
812674
BuildRequires:  m4
812674
BuildRequires:  make
812674
BuildRequires:  nasm >= 1.13
812674
BuildRequires:  %{nodejs_build_req} >= 10.21
812674
BuildRequires:  pciutils-libs
812674
BuildRequires:  perl-interpreter
812674
BuildRequires:  pkgconfig(alsa)
812674
BuildRequires:  pkgconfig(dri)
812674
BuildRequires:  pkgconfig(freetype2)
481763
BuildRequires:  pkgconfig(gtk+-3.0)
481763
BuildRequires:  pkgconfig(krb5)
812674
BuildRequires:  pkgconfig(libcurl)
812674
BuildRequires:  pkgconfig(libffi)
812674
BuildRequires:  pkgconfig(libnotify)
812674
BuildRequires:  pkgconfig(libpng)
812674
BuildRequires:  pkgconfig(libpulse)
812674
BuildRequires:  pkgconfig(libstartup-notification-1.0)
d417c4
BuildRequires:  pkgconfig(pango)
812674
BuildRequires:  pkgconfig(xrender)
d417c4
BuildRequires:  pkgconfig(xt)
481763
BuildRequires:  pkgconfig(xtst)
812674
BuildRequires:  pkgconfig(zlib)
812674
BuildRequires:  zip
d417c4
481763
%if 0%{?rhel} == 7
812674
%if 0%{?use_python3_scl}
812674
BuildRequires:  rh-python38-python-devel
812674
BuildRequires:  rh-python38-python-setuptools
c82edc
BuildRequires:  scl-utils
812674
%endif
e98f2c
BuildRequires:  findutils
812674
%else
812674
BuildRequires:  pipewire-devel
481763
%endif
812674
7468b5
%if 0%{?rhel} == 8
7468b5
BuildRequires:  cargo
edb57c
BuildRequires:  clang-devel >= %{llvm_version}
812674
BuildRequires:  clang >= %{llvm_version}
812674
BuildRequires:  llvm-devel >= %{llvm_version}
812674
BuildRequires:  llvm >= %{llvm_version}
812674
  %if 0%{?disable_toolsets} == 0
812674
BuildRequires:  python38-devel
812674
BuildRequires:  python38-setuptools
812674
  %endif
edb57c
BuildRequires:  rustfmt >= %{rust_version}
812674
BuildRequires:  rust >= %{rust_version}
481763
%endif
481763
812674
%if 0%{?rhel} == 9
812674
BuildRequires:  cargo
0a2a1d
BuildRequires:  clang clang-libs llvm llvm-devel
812674
BuildRequires:  gcc
812674
BuildRequires:  gcc-c++
812674
BuildRequires:  python3-devel
812674
BuildRequires:  python3-setuptools
812674
BuildRequires:  rust
e98f2c
%endif
481763
812674
%if 0%{?use_dts}
812674
BuildRequires:  devtoolset-%{dts_version}-gcc
812674
BuildRequires:  devtoolset-%{dts_version}-gcc-c++
812674
BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
812674
%endif
812674
812674
%if 0%{?use_llvm_ts}
332c93
BuildRequires:  llvm-toolset-%{llvm_version}
488d12
BuildRequires:  llvm-toolset-%{llvm_version}-clang
488d12
BuildRequires:  llvm-toolset-%{llvm_version}-clang-devel
812674
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
29a772
%endif
7468b5
812674
%if 0%{?use_rust_ts}
812674
BuildRequires:  rust-toolset-%{rust_version}
481763
%endif
4cf60e
e98f2c
# Bundled nss/nspr requirement
e98f2c
%if 0%{?bundle_nss}
812674
BuildRequires:    gawk
812674
BuildRequires:    gcc-c++
e98f2c
BuildRequires:    nss-softokn
812674
BuildRequires:    perl-interpreter
e98f2c
BuildRequires:    pkgconfig
e98f2c
BuildRequires:    psmisc
812674
BuildRequires:    sqlite-devel
e98f2c
BuildRequires:    xmlto
812674
BuildRequires:    zlib-devel
e98f2c
%endif
e98f2c
481763
%if !0%{?flatpak}
481763
#TODO
481763
BuildRequires:  system-bookmarks
4cf60e
%endif
e98f2c
481763
%if 0%{?test_on_wayland}
812674
BuildRequires:  dbus-x11
812674
BuildRequires:  gnome-keyring
481763
BuildRequires:  gnome-settings-daemon
812674
BuildRequires:  gsettings-desktop-schemas
481763
BuildRequires:  mesa-dri-drivers
812674
BuildRequires:  mutter
481763
BuildRequires:  xorg-x11-server-Xwayland
481763
%endif
812674
481763
%if 0%{?run_firefox_tests}
812674
BuildRequires:  abattis-cantarell-fonts
812674
BuildRequires:  dbus-x11
481763
BuildRequires:  dejavu-sans-fonts
812674
BuildRequires:  dejavu-sans-mono-fonts
481763
BuildRequires:  dejavu-serif-fonts
481763
BuildRequires:  gnome-keyring
481763
BuildRequires:  google-carlito-fonts
481763
BuildRequires:  google-droid-sans-fonts
481763
BuildRequires:  google-noto-cjk-fonts-common
812674
BuildRequires:  google-noto-emoji-color-fonts
812674
BuildRequires:  google-noto-fonts-common
481763
BuildRequires:  google-noto-sans-cjk-ttc-fonts
481763
BuildRequires:  google-noto-sans-fonts
812674
BuildRequires:  google-noto-sans-gurmukhi-fonts
481763
BuildRequires:  google-noto-sans-sinhala-vf-fonts
481763
BuildRequires:  jomolhari-fonts
812674
BuildRequires:  khmeros-base-fonts
812674
BuildRequires:  liberation-fonts-common
812674
BuildRequires:  liberation-mono-fonts
812674
BuildRequires:  liberation-sans-fonts
812674
BuildRequires:  liberation-serif-fonts
481763
BuildRequires:  lohit-tamil-fonts
481763
BuildRequires:  lohit-telugu-fonts
812674
BuildRequires:  mesa-dri-drivers
812674
BuildRequires:  nss-tools
481763
BuildRequires:  paktype-naskh-basic-fonts
812674
BuildRequires:  procps-ng
481763
BuildRequires:  pt-sans-fonts
812674
#BuildRequires:  smc-meera-fonts
481763
BuildRequires:  stix-fonts
812674
BuildRequires:  thai-scalable-fonts-common
812674
BuildRequires:  thai-scalable-waree-fonts
481763
BuildRequires:  xorg-x11-fonts-ISO8859-1-100dpi
481763
BuildRequires:  xorg-x11-fonts-misc
812674
BuildRequires:  xorg-x11-server-Xvfb
481763
%endif
62f5ec
812674
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
812674
  %ifarch aarch64
812674
BuildRequires: gcc-toolset-12-gcc-plugin-annobin
812674
  %endif
481763
%endif
812674
812674
Requires:       mozilla-filesystem
812674
Requires:       p11-kit-trust
812674
Requires:       pciutils-libs
812674
Requires:       redhat-indexhtml
812674
812674
%if %{?system_nss} && !0%{?bundle_nss}
812674
Requires:       nspr >= %{nspr_version}
812674
Requires:       nss >= %{nss_version}
481763
%endif
29a772
812674
Obsoletes:      mozilla <= 37:1.7.13
812674
Provides:       webclient
812674
488d12
# Bundled libraries
812674
#Provides: bundled(libjxl) it's used only on nightly builds
488d12
Provides: bundled(angle)
812674
Provides: bundled(aom)
5b16e6
Provides: bundled(audioipc-2)
812674
Provides: bundled(bergamot-translator)
5b16e6
Provides: bundled(brotli)
812674
Provides: bundled(bsdiff)
488d12
Provides: bundled(cairo)
5b16e6
Provides: bundled(cfworker)
812674
Provides: bundled(cld2)
812674
Provides: bundled(cubeb)
5b16e6
Provides: bundled(d3.js)
5b16e6
Provides: bundled(double-conversion)
5b16e6
Provides: bundled(expat)
812674
Provides: bundled(fastText)
812674
Provides: bundled(fathom)
5b16e6
Provides: bundled(fdlibm)
5b16e6
Provides: bundled(ffvpx)
5b16e6
Provides: bundled(freetype2)
812674
Provides: bundled(function2)
812674
Provides: bundled(gemmology)
488d12
Provides: bundled(graphite2)
488d12
Provides: bundled(harfbuzz)
5b16e6
Provides: bundled(highway)
812674
Provides: bundled(hunspell)
5b16e6
Provides: bundled(intgemm)
812674
Provides: bundled(irregexp)
812674
Provides: bundled(jpeg-xl)
488d12
Provides: bundled(kissfft)
488d12
Provides: bundled(libaom)
488d12
Provides: bundled(libcubeb)
488d12
Provides: bundled(libdav1d)
812674
Provides: bundled(libdrm)
812674
Provides: bundled(libepoxy)
812674
Provides: bundled(libgbm)
488d12
Provides: bundled(libjpeg)
5b16e6
Provides: bundled(libmar)
488d12
Provides: bundled(libmkv)
488d12
Provides: bundled(libnestegg)
488d12
Provides: bundled(libogg)
488d12
Provides: bundled(libopus)
488d12
Provides: bundled(libpng)
5b16e6
Provides: bundled(libprio)
488d12
Provides: bundled(libsoundtouch)
488d12
Provides: bundled(libspeex_resampler)
5b16e6
Provides: bundled(libsrtp)
488d12
Provides: bundled(libtheora)
488d12
Provides: bundled(libtremor)
488d12
Provides: bundled(libvorbis)
488d12
Provides: bundled(libvpx)
488d12
Provides: bundled(libwebp)
5b16e6
Provides: bundled(libwebrtc)
488d12
Provides: bundled(libyuv)
812674
Provides: bundled(lit)
5b16e6
Provides: bundled(mp4parse-rust)
5b16e6
Provides: bundled(msgpack-c)
488d12
Provides: bundled(mtransport)
812674
Provides: bundled(nestegg)
812674
Provides: bundled(nICEr)
812674
Provides: bundled(nimbus)
488d12
Provides: bundled(openmax_dl)
5b16e6
Provides: bundled(openmax_il)
5b16e6
Provides: bundled(ots)
812674
Provides: bundled(pdf.js)
812674
Provides: bundled(picosha2)
812674
Provides: bundled(PKI)
5b16e6
Provides: bundled(qcms)
812674
Provides: bundled(rlbox)
5b16e6
Provides: bundled(rlbox_sandboxing_api)
812674
Provides: bundled(rlbox_wasm2c_sandbox)
5b16e6
Provides: bundled(sfntly)
5b16e6
Provides: bundled(sipcc)
5b16e6
Provides: bundled(skia)
812674
Provides: bundled(soundtouch)
5b16e6
Provides: bundled(sqlite3)
5b16e6
Provides: bundled(thebes)
812674
Provides: bundled(theora)
812674
Provides: bundled(usrsctp)
812674
Provides: bundled(wabt)
5b16e6
Provides: bundled(wasm2c)
5b16e6
Provides: bundled(WebRender)
812674
Provides: bundled(wgpu)
488d12
Provides: bundled(woff2)
812674
Provides: bundled(xsimd)
488d12
Provides: bundled(xz-embedded)
5b16e6
Provides: bundled(ycbcr)
488d12
Provides: bundled(zlib)
488d12
488d12
%if 0%{?bundle_nss}
812674
Provides: bundled(nss) = %{nss_version}
812674
Provides: bundled(nspr) = %{nspr_version}
812674
%endif
812674
812674
# Rust third parties:
812674
# List obtained by `get_rust_bundled_provides.sh build.log` script::
812674
Provides: bundled(crate(aa-stroke)) = 0.1.0
812674
Provides: bundled(crate(adler)) = 1.0.2
812674
Provides: bundled(crate(ahash)) = 0.7.6
812674
Provides: bundled(crate(aho-corasick)) = 0.7.20
812674
Provides: bundled(crate(alsa)) = 0.7.0
812674
Provides: bundled(crate(alsa-sys)) = 0.3.1
812674
Provides: bundled(crate(anyhow)) = 1.0.69
812674
Provides: bundled(crate(app_services_logger)) = 0.1.0
812674
Provides: bundled(crate(app_units)) = 0.7.2
812674
Provides: bundled(crate(arrayref)) = 0.3.6
812674
Provides: bundled(crate(arrayvec)) = 0.7.2
812674
Provides: bundled(crate(ash)) = 0.37.2+1.3.238
812674
Provides: bundled(crate(askama)) = 0.11.1
812674
Provides: bundled(crate(askama_derive)) = 0.11.2
812674
Provides: bundled(crate(askama_escape)) = 0.10.3
812674
Provides: bundled(crate(askama_shared)) = 0.12.2
812674
Provides: bundled(crate(async-task)) = 4.3.0
812674
Provides: bundled(crate(async-trait)) = 0.1.64
812674
Provides: bundled(crate(atomic_refcell)) = 0.1.9
812674
Provides: bundled(crate(audioipc2)) = 0.5.0
812674
Provides: bundled(crate(audioipc2-client)) = 0.5.0
812674
Provides: bundled(crate(audioipc2-server)) = 0.5.0
812674
Provides: bundled(crate(audio_thread_priority)) = 0.26.1
812674
Provides: bundled(crate(authenticator)) = 0.4.0-alpha.15
812674
Provides: bundled(crate(authrs_bridge)) = 0.1.0
812674
Provides: bundled(crate(autocfg)) = 1.1.0
812674
Provides: bundled(crate(base64)) = 0.13.999
812674
Provides: bundled(crate(base64)) = 0.21.0
812674
Provides: bundled(crate(bhttp)) = 0.3.1
812674
Provides: bundled(crate(binary_http)) = 0.1.0
812674
Provides: bundled(crate(bincode)) = 1.3.3
812674
Provides: bundled(crate(bindgen)) = 0.63.999
812674
Provides: bundled(crate(bindgen)) = 0.64.0
812674
Provides: bundled(crate(bitflags)) = 1.3.2
812674
Provides: bundled(crate(bitflags)) = 2.999.999
812674
Provides: bundled(crate(bitreader)) = 0.3.6
812674
Provides: bundled(crate(bit-set)) = 0.5.3
812674
Provides: bundled(crate(bit-vec)) = 0.6.3
812674
Provides: bundled(crate(block-buffer)) = 0.10.3
812674
Provides: bundled(crate(bookmark_sync)) = 0.1.0
812674
Provides: bundled(crate(build-parallel)) = 0.1.2
812674
Provides: bundled(crate(builtins-static)) = 0.1.0
812674
Provides: bundled(crate(byteorder)) = 1.4.3
812674
Provides: bundled(crate(bytes)) = 1.4.0
812674
Provides: bundled(crate(cache-padded)) = 1.2.0
812674
Provides: bundled(crate(camino)) = 1.1.2
812674
Provides: bundled(crate(cargo_metadata)) = 0.15.3
812674
Provides: bundled(crate(cargo-platform)) = 0.1.2
812674
Provides: bundled(crate(cascade_bloom_filter)) = 0.1.0
812674
Provides: bundled(crate(cc)) = 1.0.73
812674
Provides: bundled(crate(cert_storage)) = 0.0.1
812674
Provides: bundled(crate(cexpr)) = 0.6.0
812674
Provides: bundled(crate(cfg-if)) = 0.1.999
812674
Provides: bundled(crate(cfg-if)) = 1.0.0
812674
Provides: bundled(crate(chardetng)) = 0.1.9
812674
Provides: bundled(crate(chardetng_c)) = 0.1.2
812674
Provides: bundled(crate(chrono)) = 0.4.19
812674
Provides: bundled(crate(chunky-vec)) = 0.1.0
812674
Provides: bundled(crate(clang-sys)) = 1.6.0
812674
Provides: bundled(crate(cmake)) = 0.1.999
812674
Provides: bundled(crate(codespan-reporting)) = 0.11.1
812674
Provides: bundled(crate(cose)) = 0.1.4
812674
Provides: bundled(crate(cose-c)) = 0.1.5
812674
Provides: bundled(crate(cpufeatures)) = 0.2.5
812674
Provides: bundled(crate(crc32fast)) = 1.3.2
812674
Provides: bundled(crate(crossbeam-channel)) = 0.5.6
812674
Provides: bundled(crate(crossbeam-deque)) = 0.8.2
812674
Provides: bundled(crate(crossbeam-epoch)) = 0.9.14
812674
Provides: bundled(crate(crossbeam-queue)) = 0.3.8
812674
Provides: bundled(crate(crossbeam-utils)) = 0.8.14
812674
Provides: bundled(crate(crypto-common)) = 0.1.6
812674
Provides: bundled(crate(crypto_hash)) = 0.1.0
812674
Provides: bundled(crate(cssparser)) = 0.31.0
812674
Provides: bundled(crate(cssparser-macros)) = 0.6.0
812674
Provides: bundled(crate(cstr)) = 0.2.11
812674
Provides: bundled(crate(cty)) = 0.2.2
812674
Provides: bundled(crate(cubeb)) = 0.10.3
812674
Provides: bundled(crate(cubeb-backend)) = 0.10.3
812674
Provides: bundled(crate(cubeb-core)) = 0.10.3
812674
Provides: bundled(crate(cubeb-pulse)) = 0.4.1
812674
Provides: bundled(crate(cubeb-sys)) = 0.10.3
812674
Provides: bundled(crate(dap_ffi)) = 0.1.0
812674
Provides: bundled(crate(darling)) = 0.13.99
812674
Provides: bundled(crate(darling)) = 0.14.3
812674
Provides: bundled(crate(darling_core)) = 0.14.3
812674
Provides: bundled(crate(darling_macro)) = 0.14.3
812674
Provides: bundled(crate(data-encoding)) = 2.3.3
812674
Provides: bundled(crate(data-encoding-ffi)) = 0.1.0
812674
Provides: bundled(crate(dbus)) = 0.6.5
812674
Provides: bundled(crate(derive_common)) = 0.0.1
812674
Provides: bundled(crate(derive_more)) = 0.99.17
812674
Provides: bundled(crate(digest)) = 0.10.6
812674
Provides: bundled(crate(dirs)) = 4.0.0
812674
Provides: bundled(crate(dirs-sys)) = 0.3.7
812674
Provides: bundled(crate(displaydoc)) = 0.2.3
812674
Provides: bundled(crate(dns-parser)) = 0.8.0
812674
Provides: bundled(crate(dogear)) = 0.5.0
812674
Provides: bundled(crate(dom)) = 0.1.0
812674
Provides: bundled(crate(dtoa)) = 0.4.8
812674
Provides: bundled(crate(dtoa-short)) = 0.3.3
812674
Provides: bundled(crate(either)) = 1.8.1
812674
Provides: bundled(crate(encoding_c)) = 0.9.8
812674
Provides: bundled(crate(encoding_c_mem)) = 0.2.6
812674
Provides: bundled(crate(encoding_glue)) = 0.1.0
812674
Provides: bundled(crate(encoding_rs)) = 0.8.32
812674
Provides: bundled(crate(enumset)) = 1.0.12
812674
Provides: bundled(crate(enumset_derive)) = 0.6.1
812674
Provides: bundled(crate(env_logger)) = 0.10.0
812674
Provides: bundled(crate(env_logger)) = 0.9.999
812674
Provides: bundled(crate(error-chain)) = 0.12.4
812674
Provides: bundled(crate(error-support)) = 0.1.0
812674
Provides: bundled(crate(error-support-macros)) = 0.1.0
812674
Provides: bundled(crate(etagere)) = 0.2.7
812674
Provides: bundled(crate(euclid)) = 0.22.7
812674
Provides: bundled(crate(fallible_collections)) = 0.4.6
812674
Provides: bundled(crate(fallible-iterator)) = 0.2.0
812674
Provides: bundled(crate(fallible-streaming-iterator)) = 0.1.9
812674
Provides: bundled(crate(fastrand)) = 1.9.0
812674
Provides: bundled(crate(ffi-support)) = 0.4.4
812674
Provides: bundled(crate(firefox-on-glean)) = 0.1.0
812674
Provides: bundled(crate(flate2)) = 1.0.25
812674
Provides: bundled(crate(fluent)) = 0.16.0
812674
Provides: bundled(crate(fluent-bundle)) = 0.15.2
812674
Provides: bundled(crate(fluent-fallback)) = 0.7.0
812674
Provides: bundled(crate(fluent-ffi)) = 0.1.0
812674
Provides: bundled(crate(fluent-langneg)) = 0.13.0
812674
Provides: bundled(crate(fluent-langneg-ffi)) = 0.1.0
812674
Provides: bundled(crate(fluent-pseudo)) = 0.3.1
812674
Provides: bundled(crate(fluent-syntax)) = 0.11.0
812674
Provides: bundled(crate(fnv)) = 1.0.7
812674
Provides: bundled(crate(fog_control)) = 0.1.0
812674
Provides: bundled(crate(freetype)) = 0.7.0
812674
Provides: bundled(crate(fs-err)) = 2.9.0
812674
Provides: bundled(crate(futures)) = 0.3.26
812674
Provides: bundled(crate(futures-channel)) = 0.3.26
812674
Provides: bundled(crate(futures-core)) = 0.3.26
812674
Provides: bundled(crate(futures-executor)) = 0.3.26
812674
Provides: bundled(crate(futures-io)) = 0.3.26
812674
Provides: bundled(crate(futures-macro)) = 0.3.26
812674
Provides: bundled(crate(futures-sink)) = 0.3.26
812674
Provides: bundled(crate(futures-task)) = 0.3.26
812674
Provides: bundled(crate(futures-util)) = 0.3.26
812674
Provides: bundled(crate(fxhash)) = 0.2.1
812674
Provides: bundled(crate(gecko_logger)) = 0.1.0
812674
Provides: bundled(crate(gecko-profiler)) = 0.1.0
812674
Provides: bundled(crate(geckoservo)) = 0.0.1
812674
Provides: bundled(crate(generic-array)) = 0.14.6
812674
Provides: bundled(crate(getrandom)) = 0.2.9
812674
Provides: bundled(crate(gkrust)) = 0.1.0
812674
Provides: bundled(crate(gkrust-shared)) = 0.1.0
812674
Provides: bundled(crate(gkrust_utils)) = 0.1.0
812674
Provides: bundled(crate(gleam)) = 0.15.0
812674
Provides: bundled(crate(glean)) = 52.7.0
812674
Provides: bundled(crate(glean-core)) = 52.7.0
812674
Provides: bundled(crate(gl_generator)) = 0.14.0
812674
Provides: bundled(crate(glob)) = 0.3.1
812674
Provides: bundled(crate(glsl)) = 6.0.2
812674
Provides: bundled(crate(glslopt)) = 0.1.9
812674
Provides: bundled(crate(glsl-to-cxx)) = 0.1.0
812674
Provides: bundled(crate(goblin)) = 0.6.0
812674
Provides: bundled(crate(golden_gate)) = 0.1.0
812674
Provides: bundled(crate(gpu-alloc)) = 0.5.3
812674
Provides: bundled(crate(gpu-alloc-types)) = 0.2.0
812674
Provides: bundled(crate(gpu-descriptor)) = 0.2.3
812674
Provides: bundled(crate(gpu-descriptor-types)) = 0.1.1
812674
Provides: bundled(crate(half)) = 1.8.2
812674
Provides: bundled(crate(hashbrown)) = 0.12.3
812674
Provides: bundled(crate(hashlink)) = 0.8.1
812674
Provides: bundled(crate(heck)) = 0.4.1
812674
Provides: bundled(crate(hex)) = 0.4.3
812674
Provides: bundled(crate(hexf-parse)) = 0.2.1
812674
Provides: bundled(crate(http_sfv)) = 0.1.0
812674
Provides: bundled(crate(id-arena)) = 2.2.1
812674
Provides: bundled(crate(ident_case)) = 1.0.1
812674
Provides: bundled(crate(idna)) = 0.2.3
812674
Provides: bundled(crate(indexmap)) = 1.9.2
812674
Provides: bundled(crate(inherent)) = 1.0.4
812674
Provides: bundled(crate(instant)) = 0.1.12
812674
Provides: bundled(crate(interrupt-support)) = 0.1.0
812674
Provides: bundled(crate(intl-memoizer)) = 0.5.1
812674
Provides: bundled(crate(intl_pluralrules)) = 7.0.2
812674
Provides: bundled(crate(iovec)) = 0.1.4
812674
Provides: bundled(crate(ipcclientcerts-static)) = 0.1.0
812674
Provides: bundled(crate(itertools)) = 0.10.5
812674
Provides: bundled(crate(itoa)) = 1.0.5
812674
Provides: bundled(crate(jobserver)) = 0.1.25
812674
Provides: bundled(crate(jog)) = 0.1.0
812674
Provides: bundled(crate(jsrust)) = 0.1.0
812674
Provides: bundled(crate(jsrust_shared)) = 0.1.0
812674
Provides: bundled(crate(khronos_api)) = 3.1.0
812674
Provides: bundled(crate(kvstore)) = 0.1.0
812674
Provides: bundled(crate(l10nregistry)) = 0.3.0
812674
Provides: bundled(crate(l10nregistry-ffi)) = 0.1.0
812674
Provides: bundled(crate(lazycell)) = 1.3.0
812674
Provides: bundled(crate(lazy_static)) = 1.4.0
812674
Provides: bundled(crate(leb128)) = 0.2.5
812674
Provides: bundled(crate(libc)) = 0.2.139
812674
Provides: bundled(crate(libdbus-sys)) = 0.2.2
812674
Provides: bundled(crate(libloading)) = 0.7.4
812674
Provides: bundled(crate(libsqlite3-sys)) = 0.25.2
812674
Provides: bundled(crate(libudev)) = 0.2.0
812674
Provides: bundled(crate(libudev-sys)) = 0.1.3
812674
Provides: bundled(crate(lmdb-rkv)) = 0.14.0
812674
Provides: bundled(crate(lmdb-rkv-sys)) = 0.11.2
812674
Provides: bundled(crate(localization-ffi)) = 0.1.0
812674
Provides: bundled(crate(lock_api)) = 0.4.9
812674
Provides: bundled(crate(log)) = 0.4.17
812674
Provides: bundled(crate(malloc_size_of)) = 0.0.1
812674
Provides: bundled(crate(malloc_size_of_derive)) = 0.1.2
812674
Provides: bundled(crate(mapped_hyph)) = 0.4.3
812674
Provides: bundled(crate(matches)) = 0.1.10
812674
Provides: bundled(crate(md-5)) = 0.10.5
812674
Provides: bundled(crate(mdns_service)) = 0.1.1
812674
Provides: bundled(crate(memalloc)) = 0.1.0
812674
Provides: bundled(crate(memchr)) = 2.5.0
812674
Provides: bundled(crate(memmap2)) = 0.5.9
812674
Provides: bundled(crate(memoffset)) = 0.8.0
812674
Provides: bundled(crate(midir)) = 0.7.0
812674
Provides: bundled(crate(midir_impl)) = 0.1.0
812674
Provides: bundled(crate(mime)) = 0.3.16
812674
Provides: bundled(crate(mime_guess)) = 2.0.4
812674
Provides: bundled(crate(mime-guess-ffi)) = 0.1.0
812674
Provides: bundled(crate(minimal-lexical)) = 0.2.1
812674
Provides: bundled(crate(miniz_oxide)) = 0.6.2
812674
Provides: bundled(crate(mio)) = 0.8.0
812674
Provides: bundled(crate(moz_asserts)) = 0.1.0
812674
Provides: bundled(crate(mozbuild)) = 0.1.0
812674
Provides: bundled(crate(moz_cbor)) = 0.1.2
812674
Provides: bundled(crate(mozglue-static)) = 0.1.0
812674
Provides: bundled(crate(mozilla-central-workspace-hack)) = 0.1.0
812674
Provides: bundled(crate(moz_task)) = 0.1.0
812674
Provides: bundled(crate(mozurl)) = 0.0.1
812674
Provides: bundled(crate(mp4parse)) = 0.17.0
812674
Provides: bundled(crate(mp4parse_capi)) = 0.17.0
812674
Provides: bundled(crate(murmurhash3)) = 0.0.5
812674
Provides: bundled(crate(naga)) = 0.12.0
812674
Provides: bundled(crate(neqo-common)) = 0.6.4
812674
Provides: bundled(crate(neqo-crypto)) = 0.6.4
812674
Provides: bundled(crate(neqo_glue)) = 0.1.0
812674
Provides: bundled(crate(neqo-http3)) = 0.6.4
812674
Provides: bundled(crate(neqo-qpack)) = 0.6.4
812674
Provides: bundled(crate(neqo-transport)) = 0.6.4
812674
Provides: bundled(crate(netwerk_helper)) = 0.0.1
812674
Provides: bundled(crate(new_debug_unreachable)) = 1.0.4
812674
Provides: bundled(crate(nix)) = 0.24.99
812674
Provides: bundled(crate(nix)) = 0.26.2
812674
Provides: bundled(crate(nom)) = 7.1.3
812674
Provides: bundled(crate(nserror)) = 0.1.0
812674
Provides: bundled(crate(nss_build_common)) = 0.1.0
812674
Provides: bundled(crate(nss-gk-api)) = 0.2.1
812674
Provides: bundled(crate(nsstring)) = 0.1.0
812674
Provides: bundled(crate(num_cpus)) = 1.15.0
812674
Provides: bundled(crate(num-derive)) = 0.3.3
812674
Provides: bundled(crate(num-integer)) = 0.1.45
812674
Provides: bundled(crate(num-traits)) = 0.2.15
812674
Provides: bundled(crate(object)) = 0.30.3
812674
Provides: bundled(crate(oblivious_http)) = 0.1.0
812674
Provides: bundled(crate(ohttp)) = 0.3.1
812674
Provides: bundled(crate(once_cell)) = 1.17.1
812674
Provides: bundled(crate(ordered-float)) = 3.4.0
812674
Provides: bundled(crate(origin-trials-ffi)) = 0.1.0
812674
Provides: bundled(crate(origin-trial-token)) = 0.1.1
812674
Provides: bundled(crate(owning_ref)) = 0.4.1
812674
Provides: bundled(crate(parking_lot)) = 0.11.2
812674
Provides: bundled(crate(parking_lot)) = 0.12.999
812674
Provides: bundled(crate(parking_lot_core)) = 0.8.6
812674
Provides: bundled(crate(paste)) = 1.0.11
812674
Provides: bundled(crate(peeking_take_while)) = 0.1.2
812674
Provides: bundled(crate(peek-poke)) = 0.3.0
812674
Provides: bundled(crate(peek-poke-derive)) = 0.3.0
812674
Provides: bundled(crate(percent-encoding)) = 2.2.0
812674
Provides: bundled(crate(phf)) = 0.10.1
812674
Provides: bundled(crate(phf_codegen)) = 0.10.0
812674
Provides: bundled(crate(phf_generator)) = 0.10.0
812674
Provides: bundled(crate(phf_macros)) = 0.10.0
812674
Provides: bundled(crate(phf_shared)) = 0.10.0
812674
Provides: bundled(crate(pin-project-lite)) = 0.2.9
812674
Provides: bundled(crate(pin-utils)) = 0.1.0
812674
Provides: bundled(crate(pkcs11-bindings)) = 0.1.5
812674
Provides: bundled(crate(pkg-config)) = 0.3.26
812674
Provides: bundled(crate(plain)) = 0.2.3
812674
Provides: bundled(crate(plane-split)) = 0.18.0
812674
Provides: bundled(crate(ppv-lite86)) = 0.2.17
812674
Provides: bundled(crate(precomputed-hash)) = 0.1.1
812674
Provides: bundled(crate(prefs_parser)) = 0.0.1
812674
Provides: bundled(crate(prio)) = 0.9.1
812674
Provides: bundled(crate(processtools)) = 0.1.0
812674
Provides: bundled(crate(proc-macro2)) = 1.0.51
812674
Provides: bundled(crate(proc-macro-hack)) = 0.5.20+deprecated
812674
Provides: bundled(crate(profiler_helper)) = 0.1.0
812674
Provides: bundled(crate(profiler-macros)) = 0.1.0
812674
Provides: bundled(crate(profiling)) = 1.0.7
812674
Provides: bundled(crate(prost)) = 0.8.0
812674
Provides: bundled(crate(prost-derive)) = 0.8.0
812674
Provides: bundled(crate(pulse)) = 0.3.0
812674
Provides: bundled(crate(pulse-ffi)) = 0.1.0
812674
Provides: bundled(crate(qcms)) = 0.2.0
812674
Provides: bundled(crate(qlog)) = 0.4.0
812674
Provides: bundled(crate(quick-error)) = 1.2.3
812674
Provides: bundled(crate(quote)) = 1.0.23
812674
Provides: bundled(crate(rand)) = 0.8.5
812674
Provides: bundled(crate(rand_chacha)) = 0.3.1
812674
Provides: bundled(crate(rand_core)) = 0.6.4
812674
Provides: bundled(crate(raw-window-handle)) = 0.5.0
812674
Provides: bundled(crate(rayon)) = 1.6.1
812674
Provides: bundled(crate(rayon-core)) = 1.10.2
812674
Provides: bundled(crate(regex)) = 1.7.1
812674
Provides: bundled(crate(regex-syntax)) = 0.6.28
812674
Provides: bundled(crate(remove_dir_all)) = 0.5.3
812674
Provides: bundled(crate(replace_with)) = 0.1.7
812674
Provides: bundled(crate(ringbuf)) = 0.2.8
812674
Provides: bundled(crate(rkv)) = 0.18.4
812674
Provides: bundled(crate(ron)) = 0.8.0
812674
Provides: bundled(crate(rsclientcerts)) = 0.1.0
812674
Provides: bundled(crate(rsdparsa_capi)) = 0.1.0
812674
Provides: bundled(crate(runloop)) = 0.1.0
812674
Provides: bundled(crate(rure)) = 0.2.2
812674
Provides: bundled(crate(rusqlite)) = 0.28.0
812674
Provides: bundled(crate(rust_cascade)) = 1.5.0
812674
Provides: bundled(crate(rustc-demangle)) = 0.1.21
812674
Provides: bundled(crate(rustc-hash)) = 1.1.0
812674
Provides: bundled(crate(rustc_version)) = 0.4.0
812674
Provides: bundled(crate(rust_decimal)) = 1.28.1
812674
Provides: bundled(crate(ryu)) = 1.0.12
812674
Provides: bundled(crate(same-file)) = 1.0.6
812674
Provides: bundled(crate(scopeguard)) = 1.1.0
812674
Provides: bundled(crate(scroll)) = 0.11.0
812674
Provides: bundled(crate(scroll_derive)) = 0.11.0
812674
Provides: bundled(crate(selectors)) = 0.22.0
812674
Provides: bundled(crate(self_cell)) = 0.10.2
812674
Provides: bundled(crate(semver)) = 1.0.16
812674
Provides: bundled(crate(serde)) = 1.0.152
812674
Provides: bundled(crate(serde_bytes)) = 0.11.9
812674
Provides: bundled(crate(serde_cbor)) = 0.11.2
812674
Provides: bundled(crate(serde_derive)) = 1.0.152
812674
Provides: bundled(crate(serde_json)) = 1.0.93
812674
Provides: bundled(crate(serde_with)) = 1.14.0
812674
Provides: bundled(crate(serde_with_macros)) = 1.5.2
812674
Provides: bundled(crate(servo_arc)) = 0.1.1
812674
Provides: bundled(crate(sfv)) = 0.9.3
812674
Provides: bundled(crate(sha1)) = 0.10.5
812674
Provides: bundled(crate(sha2)) = 0.10.6
812674
Provides: bundled(crate(shlex)) = 1.1.0
812674
Provides: bundled(crate(siphasher)) = 0.3.10
812674
Provides: bundled(crate(slab)) = 0.4.8
812674
Provides: bundled(crate(smallbitvec)) = 2.5.1
812674
Provides: bundled(crate(smallvec)) = 1.10.0
812674
Provides: bundled(crate(socket2)) = 0.4.7
812674
Provides: bundled(crate(spirv)) = 0.2.0+1.5.4
812674
Provides: bundled(crate(sql-support)) = 0.1.0
812674
Provides: bundled(crate(stable_deref_trait)) = 1.2.0
812674
Provides: bundled(crate(static_assertions)) = 1.1.0
812674
Provides: bundled(crate(static_prefs)) = 0.1.0
812674
Provides: bundled(crate(storage)) = 0.1.0
812674
Provides: bundled(crate(storage_variant)) = 0.1.0
812674
Provides: bundled(crate(strsim)) = 0.10.0
812674
Provides: bundled(crate(style)) = 0.0.1
812674
Provides: bundled(crate(style_derive)) = 0.0.1
812674
Provides: bundled(crate(style_traits)) = 0.0.1
812674
Provides: bundled(crate(svg_fmt)) = 0.4.1
812674
Provides: bundled(crate(swgl)) = 0.1.0
812674
Provides: bundled(crate(syn)) = 1.0.107
812674
Provides: bundled(crate(sync15)) = 0.1.0
812674
Provides: bundled(crate(sync-guid)) = 0.1.0
812674
Provides: bundled(crate(synstructure)) = 0.12.6
812674
Provides: bundled(crate(tabs)) = 0.1.0
812674
Provides: bundled(crate(tempfile)) = 3.3.0
812674
Provides: bundled(crate(termcolor)) = 1.2.0
812674
Provides: bundled(crate(thin-vec)) = 0.2.12
812674
Provides: bundled(crate(thiserror)) = 1.0.38
812674
Provides: bundled(crate(thiserror-impl)) = 1.0.38
812674
Provides: bundled(crate(threadbound)) = 0.1.5
812674
Provides: bundled(crate(time)) = 0.1.45
812674
Provides: bundled(crate(tinystr)) = 0.7.1
812674
Provides: bundled(crate(tinyvec)) = 1.999.999
812674
Provides: bundled(crate(toml)) = 0.5.11
812674
Provides: bundled(crate(topological-sort)) = 0.1.0
812674
Provides: bundled(crate(to_shmem)) = 0.0.1
812674
Provides: bundled(crate(to_shmem_derive)) = 0.0.1
812674
Provides: bundled(crate(tracy-rs)) = 0.1.2
812674
Provides: bundled(crate(typed-arena-nomut)) = 0.1.0
812674
Provides: bundled(crate(type-map)) = 0.4.0
812674
Provides: bundled(crate(typenum)) = 1.16.0
812674
Provides: bundled(crate(uluru)) = 3.0.0
812674
Provides: bundled(crate(unicase)) = 2.6.0
812674
Provides: bundled(crate(unic-langid)) = 0.9.1
812674
Provides: bundled(crate(unic-langid-ffi)) = 0.1.0
812674
Provides: bundled(crate(unic-langid-impl)) = 0.9.1
812674
Provides: bundled(crate(unicode-bidi)) = 0.3.8
812674
Provides: bundled(crate(unicode-ident)) = 1.0.6
812674
Provides: bundled(crate(unicode-normalization)) = 0.1.22
812674
Provides: bundled(crate(unicode-segmentation)) = 1.10.0
812674
Provides: bundled(crate(unicode-width)) = 0.1.10
812674
Provides: bundled(crate(unicode-xid)) = 0.2.4
812674
Provides: bundled(crate(uniffi)) = 0.23.0
812674
Provides: bundled(crate(uniffi_bindgen)) = 0.23.0
812674
Provides: bundled(crate(uniffi_build)) = 0.23.0
812674
Provides: bundled(crate(uniffi_checksum_derive)) = 0.23.0
812674
Provides: bundled(crate(uniffi_core)) = 0.23.0
812674
Provides: bundled(crate(uniffi_macros)) = 0.23.0
812674
Provides: bundled(crate(uniffi_meta)) = 0.23.0
812674
Provides: bundled(crate(uniffi_testing)) = 0.23.0
812674
Provides: bundled(crate(url)) = 2.1.0
812674
Provides: bundled(crate(uuid)) = 1.3.0
812674
Provides: bundled(crate(vcpkg)) = 0.2.999
812674
Provides: bundled(crate(version_check)) = 0.9.4
812674
Provides: bundled(crate(viaduct)) = 0.1.0
812674
Provides: bundled(crate(void)) = 1.0.2
812674
Provides: bundled(crate(walkdir)) = 2.3.2
812674
Provides: bundled(crate(wasm-encoder)) = 0.25.0
812674
Provides: bundled(crate(wast)) = 56.0.0
812674
Provides: bundled(crate(webext-storage)) = 0.1.0
812674
Provides: bundled(crate(webext_storage_bridge)) = 0.1.0
812674
Provides: bundled(crate(webrender)) = 0.62.0
812674
Provides: bundled(crate(webrender_api)) = 0.62.0
812674
Provides: bundled(crate(webrender_bindings)) = 0.1.0
812674
Provides: bundled(crate(webrender_build)) = 0.0.2
812674
Provides: bundled(crate(webrtc-sdp)) = 0.3.10
812674
Provides: bundled(crate(weedle2)) = 4.0.0
812674
Provides: bundled(crate(wgpu_bindings)) = 0.1.0
812674
Provides: bundled(crate(wgpu-core)) = 0.16.0
812674
Provides: bundled(crate(wgpu-hal)) = 0.16.0
812674
Provides: bundled(crate(wgpu-types)) = 0.16.0
812674
Provides: bundled(crate(whatsys)) = 0.3.1
812674
Provides: bundled(crate(wpf-gpu-raster)) = 0.1.0
812674
Provides: bundled(crate(wr_glyph_rasterizer)) = 0.1.0
812674
Provides: bundled(crate(wr_malloc_size_of)) = 0.0.2
812674
Provides: bundled(crate(xmldecl)) = 0.2.0
812674
Provides: bundled(crate(xml-rs)) = 0.8.4
812674
Provides: bundled(crate(xpcom)) = 0.1.0
812674
Provides: bundled(crate(xpcom_macros)) = 0.1.0
812674
Provides: bundled(crate(zeitstempel)) = 0.1.1
488d12
29a772
%description
29a772
Mozilla Firefox is an open-source web browser, designed for standards
29a772
compliance, performance and portability.
29a772
481763
%if 0%{?run_firefox_tests}
481763
%global testsuite_pkg_name %{name}-testresults
d417c4
%package -n %{testsuite_pkg_name}
d417c4
Summary: Results of testsuite
d417c4
%description -n %{testsuite_pkg_name}
d417c4
This package contains results of tests executed during build.
d417c4
%files -n %{testsuite_pkg_name}
481763
/%{version}-%{release}/test_results
481763
/%{version}-%{release}/test_summary.txt
481763
/%{version}-%{release}/failures-*
d417c4
%endif
d417c4
cc45f5
%if 0%{?rhel} >= 9
cc45f5
%package x11
cc45f5
Summary: Firefox X11 launcher.
f71f55
Requires: %{name} = %{version}-%{release}
cc45f5
%description x11
cc45f5
The firefox-x11 package contains launcher and desktop file
cc45f5
to run Firefox explicitly on X11.
cc45f5
%files x11
cc45f5
%{_bindir}/firefox-x11
cc45f5
%{_datadir}/applications/firefox-x11.desktop
cc45f5
%endif
cc45f5
29a772
#---------------------------------------------------------------------
481763
29a772
%prep
e98f2c
echo "Build environment"
812674
echo "--------------------------------------------"
63d2ed
echo "dist                %{?dist}"
63d2ed
echo "RHEL minor version: %{?rhel_minor_version}"
63d2ed
echo "bundle_nss          %{?bundle_nss}"
63d2ed
echo "system_nss          %{?system_nss}"
63d2ed
echo "use_rust_ts         %{?use_rust_ts}"
63d2ed
echo "use_dts             %{?use_dts}"
63d2ed
echo "use_nodejs_scl      %{?use_nodejs_scl}"
63d2ed
echo "use_llvm_ts         %{?use_llvm_ts}"
63d2ed
echo "use_python3_scl     %{?use_python3_scl}"
812674
echo "--------------------------------------------"
812674
%setup -q -n %{name}-%{version}
812674
812674
# ---- RHEL specific patches ---
812674
# -- Downstream only --
812674
%patch -P1 -p1 -b .disable-elfhack
812674
%patch -P2 -p1 -b .firefox-gcc-build
812674
%patch -P3 -p1 -b .build-big-endian-errors
488d12
%if 0%{?rhel} == 7
812674
%patch -P5 -p1 -b .build-rhel7-lower-node-min-version
812674
  %ifarch ppc64
812674
  # abiv2 version not available in RHEL7 ppc
812674
  # TODO most likely not needed with system nss
812674
%patch -P6 -p1 -b .ppc64-abiv2
812674
  %endif
488d12
  %ifarch %{ix86}
812674
  # -F dwarf not available in RHEL7's nasm
812674
%patch -P7 -p1 -b .build-rhel7-nasm-dwarf
488d12
  %endif
daca4a
%endif
812674
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} <= 2)
812674
%patch -P8 -p1 -b .disable-pipewire
812674
%endif
812674
%patch -P9 -p1 -b .rhbz-2131158-webrtc-nss-fix
812674
812674
# -- Upstreamed patches --
812674
%patch -P51 -p1 -b .mozilla-bmo1170092
812674
812674
# -- Submitted upstream, not merged --
812674
%patch -P101 -p1 -b .mozilla-bmo1636168-fscreen
812674
%patch -P102 -p1 -b .mozilla-bmo1670333
812674
%patch -P103 -p1 -b .mozilla-bmo1504834-part1
812674
%patch -P104 -p1 -b .mozilla-bmo1504834-part3
812674
%patch -P105 -p1 -b .mozilla-bmo849632
812674
%patch -P106 -p1 -b .mozilla-bmo998749
812674
%patch -P107 -p1 -b .mozilla-bmo1716707-swizzle
812674
%patch -P108 -p1 -b .mozilla-bmo1716707-svg
812674
%patch -P109 -p1 -b .mozilla-bmo1789216-disable-av1
812674
812674
# ---- Fedora specific patches ----
812674
%patch -P151 -p1 -b .addons
812674
%patch -P152 -p1 -b .rhbz-1173156
812674
%patch -P153 -p1 -b .fedora-shebang
812674
%patch -P154 -p1 -b .addons-nss-hack
812674
# ARM run-time patch
812674
%ifarch aarch64
812674
%patch -P155 -p1 -b .rhbz-1354671
812674
%endif
daca4a
812674
# ---- Test patches ----
812674
%patch -P201 -p1 -b .firefox-tests-xpcshell-freeze
9996a1
63d2ed
# ---- Security patches ----
63d2ed
cd media/libvpx/libvpx
63d2ed
%patch -P301 -p1 -b .CVE-2023-44488-libvpx
63d2ed
cd -
63d2ed
29a772
%{__rm} -f .mozconfig
29a772
%{__cp} %{SOURCE10} .mozconfig
4cf60e
%{__cp} %{SOURCE24} mozilla-api-key
d417c4
%{__cp} %{SOURCE27} google-api-key
481763
%{__cp} %{SOURCE35} google-loc-api-key
481763
481763
echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig
481763
echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig
4cf60e
d417c4
%if %{?system_nss}
d417c4
echo "ac_add_options --with-system-nspr" >> .mozconfig
d417c4
echo "ac_add_options --with-system-nss" >> .mozconfig
d417c4
%else
d417c4
echo "ac_add_options --without-system-nspr" >> .mozconfig
d417c4
echo "ac_add_options --without-system-nss" >> .mozconfig
d417c4
%endif
4cf60e
d417c4
%if %{?debug_build}
d417c4
echo "ac_add_options --enable-debug" >> .mozconfig
d417c4
echo "ac_add_options --disable-optimize" >> .mozconfig
d417c4
%else
481763
%global optimize_flags "none"
488d12
%ifarch s390x
5bf1f5
%global optimize_flags "-g -O1"
d417c4
%endif
d417c4
%ifarch ppc64le aarch64
d417c4
%global optimize_flags "-g -O2"
d417c4
%endif
d417c4
%if %{optimize_flags} != "none"
d417c4
echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig
29a772
%else
d417c4
echo 'ac_add_options --enable-optimize' >> .mozconfig
d417c4
%endif
d417c4
echo "ac_add_options --disable-debug" >> .mozconfig
29a772
%endif
29a772
d417c4
# Second arches fail to start with jemalloc enabled
d417c4
%ifnarch %{ix86} x86_64
d417c4
echo "ac_add_options --disable-jemalloc" >> .mozconfig
4cf60e
%endif
4cf60e
481763
%if 0%{?build_tests}
481763
echo "ac_add_options --enable-tests" >> .mozconfig
481763
%else
481763
echo "ac_add_options --disable-tests" >> .mozconfig
4cf60e
%endif
4cf60e
481763
%if %{?system_libvpx}
481763
echo "ac_add_options --with-system-libvpx" >> .mozconfig
481763
%else
481763
echo "ac_add_options --without-system-libvpx" >> .mozconfig
481763
%endif
481763
812674
%ifarch s390x
e98f2c
echo "ac_add_options --disable-jit" >> .mozconfig
e98f2c
%endif
e98f2c
812674
%ifarch ppc64 ppc64le
812674
echo "ac_add_options --disable-webrtc" >> .mozconfig
812674
echo "ac_add_options --disable-lto" >> .mozconfig
d417c4
%endif
812674
echo "ac_add_options --disable-lto" >> .mozconfig
4cf60e
488d12
# AV1 requires newer nasm that was rebased in 8.4
812674
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4)
488d12
echo "ac_add_options --disable-av1" >> .mozconfig
488d12
%endif
488d12
481763
# api keys full path
481763
echo "ac_add_options --with-mozilla-api-keyfile=`pwd`/mozilla-api-key" >> .mozconfig
481763
echo "ac_add_options --with-google-location-service-api-keyfile=`pwd`/google-loc-api-key" >> .mozconfig
481763
echo "ac_add_options --with-google-safebrowsing-api-keyfile=`pwd`/google-api-key" >> .mozconfig
481763
530b72
# May result in empty --with-libclang-path= in earlier versions.
0a2a1d
# So far this is needed only for c8s/c9s.
0a2a1d
%if (0%{?rhel} == 8 && %{rhel_minor_version} >= 10) || (0%{?rhel} == 9 && %{rhel_minor_version} >= 4)
530b72
# Clang 17 upstream's detection fails, tell it where to look.
530b72
echo "ac_add_options --with-libclang-path=`llvm-config --libdir`" >> .mozconfig
530b72
%endif
530b72
c82edc
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
6ca8db
d417c4
# Remove executable bit to make brp-mangle-shebangs happy.
d417c4
chmod -x third_party/rust/itertools/src/lib.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
d417c4
29a772
#---------------------------------------------------------------------
29a772
29a772
%build
812674
# TODO: causes SIGSEGV on the webrender compilation, we might remove it with newer rust version
488d12
# Disable LTO to work around rhbz#1883904
488d12
%define _lto_cflags %{nil}
812674
d417c4
export PATH="%{_buildrootdir}/bin:$PATH"
481763
# Cleanup buildroot for existing rpms from bundled nss/nspr and other packages
481763
rm -rf %{_buildrootdir}/*
d417c4
d417c4
function install_rpms_to_current_dir() {
d417c4
    PACKAGE_RPM=$(eval echo $1)
d417c4
    PACKAGE_DIR=%{_rpmdir}
d417c4
d417c4
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
d417c4
        # Hack for tps tests
d417c4
        ARCH_STR=%{_arch}
488d12
        %ifarch %{ix86}
d417c4
            ARCH_STR="i?86"
d417c4
        %endif
488d12
        PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
d417c4
     fi
d417c4
d417c4
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
d417c4
     do
d417c4
         echo "$package"
d417c4
         rpm2cpio "$package" | cpio -idu
d417c4
     done
d417c4
}
812674
e98f2c
%if 0%{?bundle_nss}
488d12
  rpm -ivh %{SOURCE402}
488d12
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
488d12
  pushd %{_buildrootdir}
488d12
  install_rpms_to_current_dir nspr-4*.rpm
488d12
  install_rpms_to_current_dir nspr-devel*.rpm
488d12
  popd
488d12
  echo "Setting nspr flags"
488d12
  # nss-setup-flags-env.inc
488d12
  sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc
481763
  cat %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc
e98f2c
488d12
  export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
488d12
  export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
488d12
  export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
488d12
  export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
481763
  pkg-config --libs-only-L nspr
481763
  pkg-config --libs nspr
481763
  export PATH="%{_buildrootdir}%{bundled_install_path}/bin:$PATH"
488d12
488d12
  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
488d12
  echo $PKG_CONFIG_PATH
488d12
812674
%if 0%{?rhel} == 8
488d12
  rpm -ivh %{SOURCE403}
812674
%else
812674
  rpm -ivh %{SOURCE404}
812674
%endif
c88246
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nss.spec
488d12
  pushd %{_buildrootdir}
488d12
  #cleanup
488d12
  install_rpms_to_current_dir nss-3*.rpm
488d12
  install_rpms_to_current_dir nss-devel*.rpm
488d12
  install_rpms_to_current_dir nss-pkcs11-devel*.rpm
488d12
  install_rpms_to_current_dir nss-softokn-3*.rpm
488d12
  install_rpms_to_current_dir nss-softokn-devel*.rpm
488d12
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
488d12
  install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
488d12
  install_rpms_to_current_dir nss-util-3*.rpm
488d12
  install_rpms_to_current_dir nss-util-devel*.rpm
488d12
  popd
488d12
  %filter_provides_in %{bundled_install_path}/%{_lib}
488d12
  %filter_requires_in %{bundled_install_path}/%{_lib}
2d7a08
  %filter_from_requires /libnss3.so.*/d
2d7a08
  %filter_from_requires /libsmime3.so.*/d
2d7a08
  %filter_from_requires /libssl3.so.*/d
2d7a08
  %filter_from_requires /libnssutil3.so.*/d
2d7a08
  %filter_from_requires /libnspr4.so.*/d
488d12
  find %{_buildrootdir}
e98f2c
%endif
e98f2c
812674
# Enable toolsets
c82edc
set +e
812674
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
812674
  %ifarch aarch64
481763
source scl_source enable gcc-toolset-12
812674
  %endif
481763
%endif
c82edc
%if 0%{?use_dts}
c82edc
source scl_source enable devtoolset-%{dts_version}
c82edc
%endif
812674
%if 0%{?use_rust_ts}
488d12
source scl_source enable rust-toolset-%{rust_version}
488d12
%endif
812674
%if 0%{?use_nodejs_scl}
488d12
source scl_source enable rh-nodejs10
c82edc
%endif
812674
%if 0%{?use_llvm_ts}
481763
source scl_source enable llvm-toolset-%{llvm_version}
481763
%endif
812674
%if 0%{?use_python3_scl}
812674
source scl_source enable rh-python38
812674
%endif
c82edc
481763
set -e
e98f2c
env
e98f2c
which gcc
e98f2c
which c++
e98f2c
which g++
e98f2c
which ld
488d12
which nasm
481763
which node
812674
which python3
812674
# Bundled cbindgen
c82edc
mkdir -p my_rust_vendor
c82edc
cd my_rust_vendor
c82edc
%{__tar} xf %{SOURCE2}
c82edc
mkdir -p .cargo
c82edc
cat > .cargo/config <
c82edc
[source.crates-io]
c82edc
replace-with = "vendored-sources"
c82edc
c82edc
[source.vendored-sources]
481763
directory = "`pwd`"
c82edc
EOL
c82edc
481763
%ifarch aarch64
481763
#export RUSTFLAGS="-Cdebuginfo=0 -Clinker=/opt/rh/gcc-toolset-12/root/usr/bin/gcc"
481763
%endif
c82edc
481763
env CARGO_HOME=.cargo cargo install cbindgen
481763
export PATH=`pwd`/.cargo/bin:$PATH
481763
cd -
812674
812674
# end of Bundled cbindgen
e98f2c
c82edc
mkdir %{_buildrootdir}/bin || :
481763
cp %{SOURCE32} %{_buildrootdir}/bin || :
c82edc
d417c4
# Update the various config.guess to upstream release for aarch64 support
481763
# Do not update config.guess in the ./third_party/rust because that would break checksums
481763
find ./ -path ./third_party/rust -prune -o -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
481763
d417c4
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
d417c4
#rhbz#1037063
d417c4
# -Werror=format-security causes build failures when -Wno-format is explicitly given
d417c4
# for some sources
d417c4
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
d417c4
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
481763
%if 0%{?fedora} < 30
d417c4
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
481763
%else
481763
# Workaround for mozbz#1531309
481763
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//')
481763
%endif
812674
481763
%if 0%{?fedora} > 30
481763
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive"
481763
%endif
812674
481763
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
d417c4
%if %{?debug_build}
481763
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
481763
%endif
812674
812674
%ifarch %{ix86}
481763
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/')
481763
export MOZ_DEBUG_FLAGS=" "
29a772
%endif
812674
812674
%ifarch s390x aarch64 %{ix86}
481763
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
481763
%endif
812674
481763
%if 0%{?flatpak}
481763
# Make sure the linker can find libraries in /app/lib64 as we don't use
481763
# __global_ldflags that normally sets this.
481763
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}"
481763
%endif
812674
%ifarch %{ix86} %{s390x}
481763
export RUSTFLAGS="-Cdebuginfo=0"
481763
echo 'export RUSTFLAGS="-Cdebuginfo=0"' >> .mozconfig
481763
%endif
488d12
488d12
%if 0%{?bundle_nss}
488d12
  mkdir -p %{_buildrootdir}%{bundled_install_path}/%{_lib}
488d12
  MOZ_LINK_FLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
488d12
  MOZ_LINK_FLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
488d12
  MOZ_LINK_FLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
29a772
%endif
e98f2c
481763
# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss
481763
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
29a772
488d12
echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
488d12
echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
488d12
echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
481763
echo "export CC=gcc" >> .mozconfig
481763
echo "export CXX=g++" >> .mozconfig
481763
echo "export AR=\"gcc-ar\"" >> .mozconfig
481763
echo "export NM=\"gcc-nm\"" >> .mozconfig
481763
echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
29a772
29a772
MOZ_SMP_FLAGS=-j1
481763
# On x86_64 architectures, Mozilla can build up to 4 jobs at once in parallel,
481763
# however builds tend to fail on other arches when building in parallel.
812674
#%ifarch %{ix86} s390x aarch64 ppc64le
481763
#[ -z "$RPM_BUILD_NCPUS" ] && \
481763
#     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
481763
#[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
481763
#%endif
481763
#%ifarch x86_64 ppc ppc64 ppc64le
481763
[ -z "$RPM_BUILD_NCPUS" ] && \
488d12
       RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
481763
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
481763
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
481763
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
481763
[ "$RPM_BUILD_NCPUS" -ge 16 ] && MOZ_SMP_FLAGS=-j16
481763
#%endif
d417c4
481763
echo "mk_add_options MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig
481763
echo "mk_add_options MOZ_SERVICES_SYNC=1" >> .mozconfig
481763
echo "export STRIP=/bin/true" >> .mozconfig
e98f2c
481763
%if %{launch_wayland_compositor}
812674
cp %{SOURCE36} .
812674
. ./testing.sh run_wayland_compositor
d417c4
%endif
d417c4
812674
# We could use %%include, but in %%files, %%post and other sections, but in these
812674
# sections it could lead to syntax errors about unclosed %%if. Work around it by
812674
# using the following macro
812674
%define include_file() %{expand:%(cat '%1')}
812674
e98f2c
%if 0%{?bundle_nss}
488d12
  echo "Setting nss flags"
488d12
  # nss-setup-flags-env.inc
488d12
  %include_file %{SOURCE401}
488d12
  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
488d12
  echo $PKG_CONFIG_PATH
e98f2c
%endif
e98f2c
481763
./mach build -v 2>&1 || exit 1
29a772
29a772
#---------------------------------------------------------------------
29a772
%install
812674
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
d417c4
function install_rpms_to_current_dir() {
d417c4
    PACKAGE_RPM=$(eval echo $1)
d417c4
    PACKAGE_DIR=%{_rpmdir}
d417c4
d417c4
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
d417c4
        # Hack for tps tests
d417c4
        ARCH_STR=%{_arch}
488d12
        %ifarch %{ix86}
d417c4
            ARCH_STR="i?86"
d417c4
        %endif
488d12
        PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
d417c4
     fi
d417c4
d417c4
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
d417c4
     do
d417c4
         echo "$package"
d417c4
         rpm2cpio "$package" | cpio -idu
d417c4
     done
d417c4
}
d417c4
e98f2c
%if 0%{?bundle_nss}
e98f2c
  pushd %{buildroot}
e98f2c
  install_rpms_to_current_dir nspr-4*.rpm
e98f2c
  install_rpms_to_current_dir nss-3*.rpm
e98f2c
  install_rpms_to_current_dir nss-softokn-3*.rpm
e98f2c
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
e98f2c
  install_rpms_to_current_dir nss-util-3*.rpm
488d12
e98f2c
  # cleanup unecessary nss files
488d12
  rm -rf %{buildroot}/%{bundled_install_path}/lib/dracut
488d12
  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/nss
488d12
  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/share
488d12
  rm -rf %{buildroot}/%{bundled_install_path}/share
e98f2c
  rm -rf %{buildroot}/etc/pki
e98f2c
  rm -rf %{buildroot}/usr/lib/.build-id
e98f2c
  rm -rf %{buildroot}/etc/crypto-policies
e98f2c
  popd
e98f2c
%endif
e98f2c
481763
# run Firefox test suite
481763
%if %{launch_wayland_compositor}
812674
cp %{SOURCE36} .
812674
. ./testing.sh run_wayland_compositor
481763
%endif
481763
481763
%if 0%{?run_firefox_tests}
812674
  mkdir -p objdir/_virtualenvs/init_py3
812674
  %{__cat} > objdir/_virtualenvs/init_py3/pip.conf << EOF
481763
[global]
481763
find-links=`pwd`/mochitest-python
481763
no-index=true
481763
EOF
812674
  tar xf %{SOURCE37}
812674
  cp %{SOURCE36} .
812674
  mkdir -p test_results
812674
  %if %{?test_on_wayland}
812674
    ./testing.sh run_tests_wayland || true
812674
  %else
812674
    ./testing.sh run_tests_x11 || true
812674
  %endif
812674
  ./testing.sh print_results > test_summary.txt 2>&1 || true
812674
  ./testing.sh print_failures || true
d417c4
%endif
29a772
29a772
# set up our default bookmarks
481763
%if !0%{?flatpak}
812674
  %global default_bookmarks_file  /usr/share/bookmarks/default-bookmarks.html
812674
  %{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/browser/content/browser/default-bookmarks.html
481763
%endif
29a772
29a772
# Make sure locale works for langpacks
29a772
%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF
29a772
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
29a772
EOF
29a772
d417c4
DESTDIR=%{buildroot} make -C objdir install
4cf60e
d417c4
%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
29a772
d417c4
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20}
cc45f5
%if 0%{?rhel} >= 9
cc45f5
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE31}
cc45f5
%endif
29a772
d417c4
# set up the firefox start script
d417c4
%{__rm} -rf %{buildroot}%{_bindir}/firefox
481763
%{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE21} > %{buildroot}%{_bindir}/firefox
d417c4
%{__chmod} 755 %{buildroot}%{_bindir}/firefox
29a772
481763
%if 0%{?flatpak}
481763
sed -i -e 's|%FLATPAK_ENV_VARS%|export TMPDIR="$XDG_CACHE_HOME/tmp"|' %{buildroot}%{_bindir}/firefox
481763
%else
481763
sed -i -e 's|%FLATPAK_ENV_VARS%||' %{buildroot}%{_bindir}/firefox
481763
%endif
481763
481763
# Run firefox under wayland only on RHEL9 and newer
481763
%if 0%{?rhel} < 9
481763
sed -i -e 's|%DISABLE_WAYLAND_PLACEHOLDER%|export MOZ_DISABLE_WAYLAND=1|' %{buildroot}%{_bindir}/firefox
481763
%else
481763
sed -i -e 's|%DISABLE_WAYLAND_PLACEHOLDER%||' %{buildroot}%{_bindir}/firefox
cc45f5
# firefox-x11 launch script for RHEL9 only
cc45f5
%{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE30} > %{buildroot}%{_bindir}/firefox-x11
cc45f5
%{__chmod} 755 %{buildroot}%{_bindir}/firefox-x11
481763
%endif
481763
d417c4
%{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1
29a772
d417c4
%{__rm} -f %{buildroot}/%{mozappdir}/firefox-config
d417c4
%{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini
29a772
29a772
for s in 16 22 24 32 48 256; do
d417c4
    %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
29a772
    %{__cp} -p browser/branding/official/default${s}.png \
d417c4
               %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png
29a772
done
29a772
d417c4
# Install hight contrast icon
d417c4
%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
d417c4
%{__cp} -p %{SOURCE25} \
d417c4
           %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
d417c4
d417c4
echo > %{name}.lang
481763
%if %{with langpacks}
29a772
# Extract langpacks, make any mods needed, repack the langpack, and install it.
d417c4
%{__mkdir_p} %{buildroot}%{langpackdir}
d417c4
%{__tar} xf %{SOURCE1}
29a772
for langpack in `ls firefox-langpacks/*.xpi`; do
29a772
  language=`basename $langpack .xpi`
29a772
  extensionID=langpack-$language@firefox.mozilla.org
29a772
  %{__mkdir_p} $extensionID
d417c4
  unzip -qq $langpack -d $extensionID
29a772
  find $extensionID -type f | xargs chmod 644
29a772
29a772
  cd $extensionID
d417c4
  zip -qq -r9mX ../${extensionID}.xpi *
29a772
  cd -
29a772
d417c4
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
29a772
  language=`echo $language | sed -e 's/-/_/g'`
481763
%if 0%{?flatpak}
481763
  echo "%{langpackdir}/${extensionID}.xpi" >> %{name}.lang
481763
%else
d417c4
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
481763
%endif
29a772
done
29a772
%{__rm} -rf firefox-langpacks
690287
690287
# Install langpack workaround (see #707100, #821169)
690287
function create_default_langpack() {
d417c4
language_long=$1
d417c4
language_short=$2
d417c4
cd %{buildroot}%{langpackdir}
d417c4
ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi
d417c4
cd -
d417c4
echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang
690287
}
690287
690287
# Table of fallbacks for each language
690287
# please file a bug at bugzilla.redhat.com if the assignment is incorrect
481763
#create_default_langpack "bn-IN" "bn"
690287
create_default_langpack "es-AR" "es"
690287
create_default_langpack "fy-NL" "fy"
690287
create_default_langpack "ga-IE" "ga"
690287
create_default_langpack "gu-IN" "gu"
690287
create_default_langpack "hi-IN" "hi"
690287
create_default_langpack "hy-AM" "hy"
690287
create_default_langpack "nb-NO" "nb"
690287
create_default_langpack "nn-NO" "nn"
690287
create_default_langpack "pa-IN" "pa"
690287
create_default_langpack "pt-PT" "pt"
690287
create_default_langpack "sv-SE" "sv"
690287
create_default_langpack "zh-TW" "zh"
727eab
%endif
29a772
29a772
# Keep compatibility with the old preference location.
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults
29a772
ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences
d417c4
# Default preferences
d417c4
%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
62df9b
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
63d2ed
sed -i -e 's|%HOMEPAGE%|%{homepage}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
488d12
# Enable modern crypto for the key export on the RHEL9 only (rhbz#1764205)
488d12
%if 0%{?rhel} == 9
488d12
  echo 'pref("security.pki.use_modern_crypto_with_pkcs12", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
488d12
%endif
488d12
481763
%ifarch s390x
488d12
  echo 'pref("gfx.webrender.force-disabled", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
488d12
%endif
488d12
481763
%ifarch s390x ppc64
481763
  echo 'pref("gfx.webrender.force-disabled", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
481763
%endif
4cf60e
4cf60e
# System config dir
d417c4
%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref
690287
29a772
# System extensions
812674
%global firefox_app_id  \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
d417c4
%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id}
d417c4
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id}
29a772
29a772
# Copy over the LICENSE
d417c4
%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir}
d417c4
d417c4
# Use the system hunspell dictionaries
d417c4
%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries
d417c4
ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries
d417c4
481763
%if 0%{?run_firefox_tests}
481763
%{__mkdir_p} %{buildroot}/%{version}-%{release}/test_results
481763
%{__cp} test_results/* %{buildroot}/%{version}-%{release}/test_results
481763
%{__cp} test_summary.txt %{buildroot}/%{version}-%{release}/
481763
%{__cp} failures-* %{buildroot}/%{version}-%{release}/ || true
d417c4
%endif
4cf60e
d417c4
# Copy over run-mozilla.sh
d417c4
%{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir}
29a772
d417c4
# Add distribution.ini
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution
d417c4
%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution
29a772
481763
# Install appdata file
481763
mkdir -p %{buildroot}%{_datadir}/metainfo
481763
%{__sed} -e "s/__VERSION__/%{version}/" \
481763
         -e "s/__DATE__/$(date '+%Y-%m-%d')/" \
481763
         %{SOURCE33} > %{buildroot}%{_datadir}/metainfo/firefox.appdata.xml
481763
481763
# Install Gnome search provider files
481763
mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers
481763
%{__cp} %{SOURCE34} %{buildroot}%{_datadir}/gnome-shell/search-providers
481763
481763
# Remove gtk2 support as flash plugin is no longer supported
481763
rm -rf %{buildroot}%{mozappdir}/gtk2/
f5d0dc
481763
# Create a symlink to replace libnssckbi.so with p11-kit-client.so
481763
# instead of p11-kit-trust.so, so that Firefox can see the system
481763
# trust store on the host through the p11-kit RPC protocol.  A symlink
481763
# to libnss3.so is also needed, because Firefox tries to load
481763
# libnssckbi.so from the same directory where libnss3.so is loaded (as
481763
# of Firefox 89).
481763
%if 0%{?flatpak}
481763
ln -sf /usr/lib64/libnss3.so %{buildroot}%{_libdir}/libnss3.so
481763
ln -sf /usr/lib64/pkcs11/p11-kit-client.so %{buildroot}%{_libdir}/libnssckbi.so
481763
%endif
29a772
#---------------------------------------------------------------------
29a772
481763
%check
481763
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml
481763
4cf60e
%preun
4cf60e
# is it a final removal?
4cf60e
if [ $1 -eq 0 ]; then
4cf60e
  %{__rm} -rf %{mozappdir}/components
4cf60e
  %{__rm} -rf %{mozappdir}/extensions
4cf60e
  %{__rm} -rf %{mozappdir}/plugins
4cf60e
fi
4cf60e
d417c4
%clean
d417c4
rm -rf %{_srcrpmdir}/libffi*.src.rpm
d417c4
find %{_rpmdir} -name "libffi*.rpm" -delete
83e1c4
rm -rf %{_srcrpmdir}/openssl*.src.rpm
83e1c4
find %{_rpmdir} -name "openssl*.rpm" -delete
e98f2c
rm -rf %{_srcrpmdir}/nss*.src.rpm
e98f2c
find %{_rpmdir} -name "nss*.rpm" -delete
e98f2c
rm -rf %{_srcrpmdir}/nspr*.src.rpm
e98f2c
find %{_rpmdir} -name "nspr*.rpm" -delete
d417c4
d417c4
%post
d417c4
update-desktop-database &> /dev/null || :
d417c4
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
d417c4
d417c4
%postun
d417c4
update-desktop-database &> /dev/null || :
d417c4
if [ $1 -eq 0 ] ; then
d417c4
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
d417c4
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
481763
    %{__rm} -rf %{langpackdir}
d417c4
fi
d417c4
29a772
%posttrans
29a772
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
29a772
29a772
%files -f %{name}.lang
29a772
%{_bindir}/firefox
d417c4
%{mozappdir}/firefox
d417c4
%{mozappdir}/firefox-bin
29a772
%doc %{_mandir}/man1/*
d417c4
%dir %{_sysconfdir}/%{name}
4cf60e
%dir %{_sysconfdir}/%{name}/*
d417c4
%dir %{_datadir}/mozilla/extensions/*
d417c4
%dir %{_libdir}/mozilla/extensions/*
481763
%{_datadir}/applications/%{name}.desktop
481763
%{_datadir}/metainfo/*.appdata.xml
481763
%{_datadir}/gnome-shell/search-providers/*.ini
29a772
%dir %{mozappdir}
481763
%license %{mozappdir}/LICENSE
29a772
%{mozappdir}/browser/chrome
d417c4
%{mozappdir}/defaults/preferences/*
d417c4
%{mozappdir}/browser/defaults/preferences
d417c4
%{mozappdir}/browser/features/*.xpi
d417c4
%{mozappdir}/distribution/distribution.ini
481763
# That's Windows only
481763
%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi
481763
%if %{with langpacks}
d417c4
%dir %{langpackdir}
d417c4
%endif
29a772
%{mozappdir}/browser/omni.ja
29a772
%{mozappdir}/run-mozilla.sh
29a772
%{mozappdir}/application.ini
d417c4
%{mozappdir}/pingsender
29a772
%exclude %{mozappdir}/removed-files
481763
%if 0%{?flatpak}
481763
%{_libdir}/libnss3.so
481763
%{_libdir}/libnssckbi.so
481763
%endif
d417c4
%{_datadir}/icons/hicolor/16x16/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/22x22/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/24x24/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg
29a772
%{mozappdir}/*.so
d417c4
%{mozappdir}/defaults/pref/channel-prefs.js
d417c4
%{mozappdir}/dependentlibs.list
d417c4
%{mozappdir}/dictionaries
29a772
%{mozappdir}/omni.ja
29a772
%{mozappdir}/platform.ini
29a772
%{mozappdir}/plugin-container
f9af33
%{mozappdir}/gmp-clearkey
481763
%{mozappdir}/fonts/TwemojiMozilla.ttf
812674
%{mozappdir}/glxtest
812674
%{mozappdir}/vaapitest
812674
d417c4
%if !%{?system_nss}
d417c4
%exclude %{mozappdir}/libnssckbi.so
f9af33
%endif
d417c4
e98f2c
%if 0%{?bundle_nss}
e98f2c
%{mozappdir}/bundled/%{_lib}/libfreebl*
812674
%{mozappdir}/bundled/%{_lib}/libnss*
e98f2c
%{mozappdir}/bundled/%{_lib}/libsmime3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libsoftokn*
e98f2c
%{mozappdir}/bundled/%{_lib}/libssl3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnspr4.so
e98f2c
%{mozappdir}/bundled/%{_lib}/libplc4.so
e98f2c
%{mozappdir}/bundled/%{_lib}/libplds4.so
e98f2c
%endif
e98f2c
29a772
#---------------------------------------------------------------------
29a772
29a772
%changelog
0a2a1d
* Tue Dec 12 2023 Eike Rathke <erack@redhat.com> - 115.6.0-1
0a2a1d
- Update to 115.6.0 build1
0a2a1d
530b72
* Tue Nov 14 2023 Eike Rathke <erack@redhat.com> - 115.5.0-1
530b72
- Update to 115.5.0 build1
530b72
63d2ed
* Tue Oct 17 2023 Eike Rathke <erack@redhat.com> - 115.4.0-1
63d2ed
- Update to 115.4.0 build1
63d2ed
- Add fix for CVE-2023-44488
63d2ed
- Set homepage from os-release HOME_URL
63d2ed
812674
* Fri Sep 29 2023 Eike Rathke <erack@redhat.com> - 115.3.1-1
812674
- Update to 115.3.1
5d42b4
812674
* Thu Sep 21 2023 Jan Horak <jhorak@redhat.com> - 115.3.0-1
812674
- Update to 115.3.0 ESR
fb074e
812674
* Mon Sep  4 2023 Jan Horak <jhorak@redhat.com> - 115.2.0-3
812674
- Update to 115.2.0 ESR
373d2f
812674
* Wed Aug  2 2023 Jan Horak <jhorak@redhat.com> - 115.1.0-1
812674
- Update to 115.1.0 ESR
373d2f
812674
* Mon Jul 17 2023 Jan Horak <jhorak@redhat.com> - 115.0.2-1
812674
- Update to 115.0.2 ESR
43f726
812674
* Wed Jun 21 2023 Jan Horak <jhorak@redhat.com> - 115.0b8-1
812674
- Update to 115.0b8
43f726
ce8235
* Thu May 04 2023 Eike Rathke <erack@redhat.com> - 102.11.0-2
ce8235
- Update to 102.11.0 build2
ce8235
ce8235
* Tue May 02 2023 Eike Rathke <erack@redhat.com> - 102.11.0-1
ce8235
- Update to 102.11.0 build1
ce8235
f71f55
* Tue Apr 04 2023 Eike Rathke <erack@redhat.com> - 102.10.0-1
f71f55
- Update to 102.10.0 build1
f71f55
f71f55
* Fri Mar 10 2023 Eike Rathke <erack@redhat.com> - 102.9.0-4
1b394a
- Update to 102.9.0 build2
1b394a
1b394a
* Thu Mar 09 2023 Jan Horak <jhorak@redhat.com> - 102.9.0-2
1b394a
- removed disable-openh264-download
1b394a
1b394a
* Tue Mar 07 2023 Eike Rathke <erack@redhat.com> - 102.9.0-1
1b394a
- Update to 102.9.0 build1
1b394a
1cd84d
* Tue Feb 14 2023 Eike Rathke <erack@redhat.com> - 102.8.0-2
1cd84d
- Update to 102.8.0 build2
1cd84d
1cd84d
* Tue Feb 07 2023 Eike Rathke <erack@redhat.com> - 102.8.0-1
1cd84d
- Update to 102.8.0 build1
1cd84d
cc45f5
* Tue Jan 10 2023 Eike Rathke <erack@redhat.com> - 102.7.0-1
cc45f5
- Update to 102.7.0 build1
cc45f5
cc45f5
* Mon Jan 02 2023 Jan Horak <jhorak@redhat.com> - 102.6.0-2
cc45f5
- Add firefox-x11 subpackage to allow explicit run of firefox under x11 on RHEL9
cc45f5
56091a
* Tue Dec 06 2022 Eike Rathke <erack@redhat.com> - 102.6.0-1
56091a
- Update to 102.6.0 build1
56091a
56091a
* Fri Nov 25 2022 Jan Horak <jhorak@redhat.com> - 102.5.0-2
56091a
- Added libwebrtc screencast patch for newer features
56091a
52f53c
* Wed Nov 09 2022 Eike Rathke <erack@redhat.com> - 102.5.0-1
52f53c
- Update to 102.5.0 build1
52f53c
ab05ff
* Wed Oct 12 2022 Eike Rathke <erack@redhat.com> - 102.4.0-1
ab05ff
- Update to 102.4.0 build1
ab05ff
5b16e6
* Tue Oct 11 2022 Jan Horak <jhorak@redhat.com> - 102.3.0-7
5b16e6
- Fix for expat CVE-2022-40674 and non functional webrtc
5b16e6
481763
* Tue Sep 13 2022 Jan Horak <jhorak@redhat.com> - 102.3.0-6
481763
- Update to 102.3.0 build1
200a0a
2f536f
* Thu Jul 21 2022 Eike Rathke <erack@redhat.com> - 91.12.0-1
2f536f
- Update to 91.12.0 build1
2f536f
9e2646
* Thu Jun 23 2022 Eike Rathke <erack@redhat.com> - 91.11.0-2
9e2646
- Update to 91.11.0 build2
9e2646
9e2646
* Tue Jun 21 2022 Eike Rathke <erack@redhat.com> - 91.11.0-1
9e2646
- Update to 91.11.0 build1
9e2646
0ef921
* Tue May 24 2022 Eike Rathke <erack@redhat.com> - 91.10.0-1
0ef921
- Update to 91.10.0 build1
0ef921
d10ee9
* Fri May 20 2022 Jan Horak <jhorak@redhat.com> - 91.9.1-1
d10ee9
- Update to 91.9.1 build1
d10ee9
92cce7
* Tue Apr 26 2022 Eike Rathke <erack@redhat.com> - 91.9.0-1
92cce7
- Update to 91.9.0
92cce7
9b33a3
* Tue Apr 05 2022 Eike Rathke <erack@redhat.com> - 91.8.0-1
9b33a3
- Update to 91.8.0
9b33a3
c88246
* Mon Mar 07 2022 Eike Rathke <erack@redhat.com> - 91.7.0-3
c88246
- Update to 91.7.0 build3
c88246
c88246
* Wed Mar 02 2022 Jan Horak <jhorak@redhat.com> - 91.7.0-2
c88246
- Added expat backports of CVE-2022-25235, CVE-2022-25236 and CVE-2022-25315
c88246
c88246
* Tue Mar 01 2022 Eike Rathke <erack@redhat.com> - 91.7.0-1
c88246
- Update to 91.7.0 build2
c88246
c88246
* Fri Feb 25 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-2
c88246
- Install langpacks to the browser/extensions to make them available in UI:
c88246
  rhbz#2030190
c88246
391ea6
* Wed Feb 02 2022 Eike Rathke <erack@redhat.com> - 91.6.0-1
391ea6
- Update to 91.6.0 build1
391ea6
391ea6
* Wed Feb 02 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-2
391ea6
- Use default update channel to fix non working enterprise policies:
391ea6
  rhbz#2044667
391ea6
a9b9fb
* Thu Jan 06 2022 Eike Rathke <erack@redhat.com> - 91.5.0-1
a9b9fb
- Update to 91.5.0 build1
a9b9fb
391ea6
* Mon Dec 13 2021 Jan Horak <jhorak@redhat.com> - 91.4.0-2
391ea6
- Added fix for failing addons signatures.
391ea6
170e37
* Wed Dec 01 2021 Eike Rathke <erack@redhat.com> - 91.4.0-1
170e37
- Update to 91.4.0 build1
170e37
c5a455
* Mon Nov 01 2021 Eike Rathke <erack@redhat.com> - 91.3.0-1
c5a455
- Update to 91.3.0 build1
c5a455
04327a
* Thu Oct 21 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-5
04327a
- Fixed crashes when FIPS is enabled.
04327a
488d12
* Mon Oct 04 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-4
488d12
- Disable webrender on the s390x due to wrong colors: rhbz#2009503
488d12
488d12
* Wed Sep 29 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-3
488d12
- Update to 91.2.0 build1
488d12
488d12
* Wed Sep 15 2021 Jan Horak <jhorak@redhat.com> - 91.1.0-1
488d12
- Update to 91.1.0 build1
488d12
488d12
* Tue Aug 17 2021 Jan Horak <jhorak@redhat.com>
488d12
- Update to 91.0.1 build1
113162
488d12
* Tue Aug 10 2021 Jan Horak <jhorak@redhat.com> - 91.0-1
488d12
- Update to 91.0 ESR
2ebcee
488d12
* Thu Jul 29 2021 Jan Horak <jhorak@redhat.com> - 91.0-1
488d12
- Update to 91.0b8
2ebcee
2ebcee
* Fri Jul 16 2021 Jan Horak <jhorak@redhat.com> - 78.12.0-2
2ebcee
- Rebuild to pickup older nss
2ebcee
1a0d85
* Wed Jul 07 2021 Eike Rathke <erack@redhat.com> - 78.12.0-1
1a0d85
- Update to 78.12.0 build1
1a0d85
28122c
* Mon May 31 2021 Eike Rathke <erack@redhat.com> - 78.11.0-3
28122c
- Update to 78.11.0 build2 (release)
28122c
28122c
* Thu May 27 2021 Eike Rathke <erack@redhat.com> - 78.11.0-2
28122c
- Fix rhel_minor_version for dist .el8_4 and .el8
28122c
28122c
* Tue May 25 2021 Eike Rathke <erack@redhat.com> - 78.11.0-1
28122c
- Update to 78.11.0 build1
28122c
58cb8d
* Tue Apr 20 2021 Eike Rathke <erack@redhat.com> - 78.10.0-1
58cb8d
- Update to 78.10.0
58cb8d
bbd8ff
* Wed Mar 17 2021 Eike Rathke <erack@redhat.com> - 78.9.0-1
bbd8ff
- Update to 78.9.0 build1
bbd8ff
62df9b
* Wed Feb 17 2021 Eike Rathke <erack@redhat.com> - 78.8.0-1
62df9b
- Update to 78.8.0 build2
62df9b
62df9b
* Tue Feb 09 2021 Eike Rathke <erack@redhat.com> - 78.7.1-1
62df9b
- Update to 78.7.1
62df9b
62df9b
* Tue Feb 09 2021 Jan Horak <jhorak@redhat.com> - 78.7.0-3
62df9b
- Fixing install prefix for the homepage
62df9b
2329c5
* Fri Jan 22 2021 Eike Rathke <erack@redhat.com> - 78.7.0-2
2329c5
- Update to 78.7.0 build2
2329c5
2329c5
* Wed Jan 20 2021 Eike Rathke <erack@redhat.com> - 78.7.0-1
2329c5
- Update to 78.7.0 build1
2329c5
844667
* Wed Jan  6 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
844667
- Update to 78.6.1 build1
844667
62f5ec
* Thu Dec 10 2020 Jan Horak <jhorak@redhat.com> - 78.6.0-1
62f5ec
- Update to 78.6.0 build1
62f5ec
e0a0b4
* Wed Nov 18 2020 Jan Horak <jhorak@redhat.com> - 78.5.0-1
e0a0b4
- Update to 78.5.0 build1
e0a0b4
2d7a08
* Tue Nov 10 2020 erack@redhat.com - 78.4.1-1
2d7a08
- Update to 78.4.1
2d7a08
2d7a08
* Tue Nov 10 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-3
2d7a08
- Fixing flatpak build, fixing firefox.sh.in to not disable langpacks loading
2d7a08
2d7a08
* Thu Oct 29 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-2
2d7a08
- Enable addon sideloading
2d7a08
d3afb2
* Fri Oct 16 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-1
d3afb2
- Update to 78.4.0 build2
d3afb2
e98f2c
* Fri Sep 18 2020 Jan Horak <jhorak@redhat.com>
e98f2c
- Update to 78.3.0 build1
e98f2c
e98f2c
* Tue Aug 18 2020 Jan Horak <jhorak@redhat.com> - 78.2.0-3
e98f2c
- Update to 78.2.0 build1
812ff3
e98f2c
* Fri Jul 24 2020 Jan Horak <jhorak@redhat.com>
ec3a5b
- Update to 68.11.0 build1
ec3a5b
4c7c17
* Fri Jun 26 2020 Jan Horak <jhorak@redhat.com>
4c7c17
- Update to 68.10.0 build1
4c7c17
5bf1f5
* Fri May 29 2020 Jan Horak <jhorak@redhat.com>
5bf1f5
- Update to 68.9.0 build1
5bf1f5
- Added patch for pipewire 0.3
5bf1f5
5bf1f5
* Mon May 11 2020 Jan Horak <jhorak@redhat.com>
5bf1f5
- Added s390x specific patches
5bf1f5
f5d0dc
* Wed Apr 29 2020 Jan Horak <jhorak@redhat.com>
f5d0dc
- Update to 68.8.0 build1
f5d0dc
f5d0dc
* Thu Apr 23 2020 Martin Stransky <stransky@redhat.com> - 68.7.0-3
f5d0dc
- Added fix for rhbz#1821418
f5d0dc
10686e
* Tue Apr 07 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-2
10686e
- Update to 68.7.0 build3
10686e
79653b
* Mon Apr  6 2020 Jan Horak <jhorak@redhat.com> - 68.6.1-1
79653b
- Update to 68.6.1 ESR
79653b
727eab
* Wed Mar 04 2020 Jan Horak <jhorak@redhat.com>
727eab
- Update to 68.6.0 build1
727eab
727eab
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 68.5.0-3
727eab
- Added fix for rhbz#1805667
727eab
- Enabled mzbz@1170092 - Firefox prefs at /etc
727eab
aec9d4
* Fri Feb 07 2020 Jan Horak <jhorak@redhat.com>
aec9d4
- Update to 68.5.0 build2
aec9d4
aec9d4
* Wed Feb 05 2020 Jan Horak <jhorak@redhat.com>
aec9d4
- Update to 68.5.0 build1
aec9d4
ce8c9f
* Wed Jan 08 2020 Jan Horak <jhorak@redhat.com>
ce8c9f
- Update to 68.4.1esr build1
ce8c9f
ce8c9f
* Fri Jan 03 2020 Jan Horak <jhorak@redhat.com>
ce8c9f
- Update to 68.4.0esr build1
ce8c9f
ce8c9f
* Wed Dec 18 2019 Jan Horak <jhorak@redhat.com>
ce8c9f
- Fix for wrong intl.accept_lang when using non en-us langpack
ce8c9f
edb57c
* Wed Nov 27 2019 Martin Stransky <stransky@redhat.com> - 68.3.0-1
edb57c
- Update to 68.3.0 ESR
edb57c
edb57c
* Thu Oct 24 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-4
edb57c
- Added patch for TLS 1.3 support.
edb57c
edb57c
* Wed Oct 23 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-3
edb57c
- Rebuild
edb57c
edb57c
* Mon Oct 21 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-2
edb57c
- Rebuild
edb57c
83e1c4
* Thu Oct 17 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-1
83e1c4
- Update to 68.2.0 ESR
83e1c4
83e1c4
* Thu Oct 10 2019 Martin Stransky <stransky@redhat.com> - 68.1.0-6
83e1c4
- Enable system nss on RHEL6
83e1c4
c82edc
* Thu Sep  5 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-2
c82edc
- Enable building langpacks
64d073
c82edc
* Wed Aug 28 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-1
c82edc
- Update to 68.1.0 ESR
64d073
c82edc
* Mon Aug 5 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-4
c82edc
- Enable system nss
484e5e
c82edc
* Mon Jul 29 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-3
c82edc
- Enable official branding
484e5e
c82edc
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-2
c82edc
- Enabled PipeWire on RHEL8
585d85
c82edc
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-1
c82edc
- Updated to 68.0.1 ESR
585d85
c82edc
* Tue Jul 16 2019 Jan Horak <jhorak@redhat.com> - 68.0-0.11
c82edc
- Update to 68.0 ESR
585d85
c82edc
* Tue Jun 25 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.10
c82edc
- Updated to 68.0 alpha 13
c82edc
- Enabled second arches
c1be9b
c82edc
* Fri Mar 22 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.1
c82edc
- Updated to 68.0 alpha
9c9a85
073c86
* Fri Mar 15 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-3
073c86
- Added Google API keys (mozbz#1531176)
073c86
073c86
* Thu Mar 14 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-2
073c86
- Update to 60.6.0 ESR (Build 2)
073c86
073c86
* Wed Mar 13 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
073c86
- Update to 60.6.0 ESR (Build 1)
073c86
9844c3
* Wed Feb 13 2019 Jan Horak <jhorak@redhat.com> - 60.5.1-1
9844c3
- Update to 60.5.1 ESR
9844c3
9844c3
* Wed Feb 6 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-3
9844c3
- Added fix for rhbz#1672424 - Firefox crashes on NFS drives.
32a056
7468b5
* Fri Jan 25 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-2
7468b5
- Updated to 60.5.0 ESR build2
7468b5
7468b5
* Tue Jan 22 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
7468b5
- Updated to 60.5.0 ESR build1
7468b5
7468b5
* Thu Jan 10 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-3
7468b5
- Fixing fontconfig warnings (rhbz#1601475)
7468b5
7468b5
* Wed Jan  9 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-2
7468b5
- Added pipewire patch from Tomas Popela (rhbz#1664270)
400df2
b26a6b
* Wed Dec  5 2018 Jan Horak <jhorak@redhat.com> - 60.4.0-1
b26a6b
- Update to 60.4.0 ESR
b26a6b
b26a6b
* Tue Dec  4 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-2
b26a6b
- Added firefox-gnome-shell-extension
b26a6b
b26a6b
* Fri Oct 19 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
b26a6b
- Update to 60.3.0 ESR
b26a6b
332c93
* Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-2
332c93
- Added patch for rhbz#1633932
332c93
6a1aae
* Tue Oct  2 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-1
6a1aae
- Update to 60.2.2 ESR
a5ff67
b6986f
* Mon Sep 24 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-1
b6986f
- Update to 60.2.1 ESR
6d119b
58eb7f
* Fri Aug 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.0-1
58eb7f
- Update to 60.2.0 ESR
58eb7f
58eb7f
* Tue Aug 28 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-9
58eb7f
- Do not set user agent (rhbz#1608065)
58eb7f
- GTK dialogs are localized now (rhbz#1619373)
58eb7f
- JNLP association works again (rhbz#1607457)
58eb7f
58eb7f
* Thu Aug 16 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-8
58eb7f
- Fixed homepage and bookmarks (rhbz#1606778)
58eb7f
- Fixed missing file associations in RHEL6 (rhbz#1613565)
58eb7f
58eb7f
* Thu Jul 12 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-7
58eb7f
- Run at-spi-bus if not running already (for the bundled gtk3)
58eb7f
58eb7f
* Mon Jul  9 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-6
58eb7f
- Fix for missing schemes for bundled gtk3
58eb7f
58eb7f
* Mon Jun 25 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-5
58eb7f
- Added mesa-libEGL dependency to gtk3/rhel6
ce03ed
d417c4
* Sun Jun 24 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-4
d417c4
- Disabled jemalloc on all second arches
d417c4
d417c4
* Fri Jun 22 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-3
d417c4
- Updated to 60.1.0 ESR build2
d417c4
d417c4
* Thu Jun 21 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-2
d417c4
- Disabled jemalloc on second arches
d417c4
d417c4
* Wed Jun 20 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-1
d417c4
- Updated to 60.1.0 ESR
d417c4
d417c4
* Wed Jun 13 2018 Jan Horak <jhorak@redhat.com> - 60.0-12
d417c4
- Fixing bundled libffi issues
d417c4
- Readded some requirements
d417c4
d417c4
* Mon Jun 11 2018 Martin Stransky <stransky@redhat.com> - 60.0-10
d417c4
- Added fix for mozilla BZ#1436242 - IPC crashes.
48ab33
d417c4
* Mon Jun 11 2018 Jan Horak <jhorak@redhat.com> - 60.0-9
d417c4
- Bundling libffi for the sec-arches
d417c4
- Added openssl-devel for the Python
d417c4
- Fixing bundled gtk3
d3672c
d417c4
* Fri May 18 2018 Martin Stransky <stransky@redhat.com> - 60.0-8
d417c4
- Added fix for mozilla BZ#1458492
41fb10
d417c4
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-7
d417c4
- Added patch from rhbz#1498561 to fix ppc64(le) crashes.
d417c4
d417c4
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-6
d417c4
- Disabled jemalloc on second arches
d417c4
d417c4
* Sun May  6 2018 Jan Horak <jhorak@redhat.com> - 60.0-4
d417c4
- Update to 60.0 ESR
f0612e
746756
* Thu Mar  8 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
746756
- Update to 52.7.0 ESR
746756
d417c4
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-2
d417c4
- Build Firefox for desktop arches only (x86_64 and ppc64le)
e856dc
d417c4
* Thu Jan 18 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-1
d417c4
- Update to 52.6.0 ESR
56500d
d074aa
* Thu Nov  9 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
d074aa
- Update to 52.5.0 ESR
dfb614
07688c
* Mon Sep 25 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-1
07688c
- Update to 52.4.0 ESR
3dae0c
07688c
* Thu Aug  3 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-3
ecb567
- Update to 52.3.0 ESR (b2)
07688c
- Require correct nss version
c2606d
81cc07
* Tue Jun 13 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
7b80ca
- Update to 52.2.0 ESR
7b80ca
81cc07
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.1.2-1
81cc07
- Update to 52.1.2 ESR
00e548
81cc07
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.0-7
81cc07
- Added fix for accept language (rhbz#1454322)
99a998
81cc07
* Wed Mar 22 2017 Jan Horak <jhorak@redhat.com> - 52.0-6
81cc07
- Removing patch required for older NSS from RHEL 7.3
81cc07
- Added patch for rhbz#1414564
6b6f2b
464556
* Fri Mar 17 2017 Martin Stransky <stransky@redhat.com> - 52.0-5
464556
- Added fix for mozbz#1348168/CVE-2017-5428
464556
f9af33
* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
f9af33
- Update to 52.0 ESR (b4)
f9af33
f9af33
* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
f9af33
- Added fix for rhbz#1423012 - ppc64 gfx crashes
f9af33
f9af33
* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
f9af33
- Enable system nss
f9af33
f9af33
* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
f9af33
- Update to 52.0ESR (B1)
f9af33
- Build RHEL7 package for Gtk3
f9af33
f9af33
* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
f9af33
- Added fix for rhbz#1414535
f9af33
f9af33
* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
f9af33
- Update to 52.0b8
39f831
f9af33
* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
f9af33
- Readded addons patch
0775c5
f9af33
* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
f9af33
- Update to 52.0b3
eeb87f
f9af33
* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
f9af33
- Update to 52.0b2
28b932
f9af33
* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
f9af33
- Update to 52.0b1
76ac1a
f9af33
* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
f9af33
- Firefox Aurora 52 testing build
481763