%bcond_without gtk3 # GTK+ 3.x instead of 2.x
%bcond_without kerberos # disable krb5 support
%bcond_without official # official Firefox branding
-%bcond_without pgo # PGO-enabled build (requires working $DISPLAY == :100)
+%bcond_with pgo # PGO-enabled build (requires working $DISPLAY == :100)
# - disabled shared_js - https://bugzilla.mozilla.org/show_bug.cgi?id=1039964
%bcond_with shared_js # shared libmozjs library [broken]
%bcond_with system_icu # build with system ICU (disabled due to crashes with system icu 58.2)
+%bcond_without clang # build using Clang/LLVM
# On updating version, grab CVE links from:
# https://www.mozilla.org/security/known-vulnerabilities/firefox.html
Summary(hu.UTF-8): Firefox web böngésző
Summary(pl.UTF-8): Firefox - przeglądarka WWW
Name: firefox52-esr
-Version: 52.5.3
+Version: 52.7.1
Release: 1
License: MPL v2.0
Group: X11/Applications/Networking
Source0: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz
-# Source0-md5: 83cb993309bb62021b9772bf1f71571f
+# Source0-md5: 326622eed221f9566518aa1d3cd92f12
Source3: %{_basename}.desktop
Source4: %{_basename}.sh
Source5: vendor.js
Patch0: idl-parser.patch
Patch1: xulrunner-new-libxul.patch
Patch2: xulrunner-paths.patch
-Patch3: xulrunner-pc.patch
Patch4: %{_basename}-prefs.patch
Patch5: %{_basename}-pld-bookmarks.patch
Patch6: %{_basename}-no-subshell.patch
URL: https://www.mozilla.org/firefox/
BuildRequires: OpenGL-devel
BuildRequires: alsa-lib-devel
-BuildRequires: automake
BuildRequires: autoconf2_13
+BuildRequires: automake
BuildRequires: bzip2-devel
BuildRequires: cairo-devel >= 1.10.2-5
+%{?with_clang:BuildRequires: clang}
BuildRequires: dbus-glib-devel >= 0.60
BuildRequires: fontconfig-devel >= 1:2.7.0
BuildRequires: freetype-devel >= 1:2.1.8
-BuildRequires: gcc-c++ >= 6:4.4
+%{!?with_clang:BuildRequires: gcc-c++ >= 6:4.4}
BuildRequires: glib2-devel >= 1:2.22
BuildRequires: gstreamer-devel >= 1.0
BuildRequires: gstreamer-plugins-base-devel >= 1.0
BuildRequires: nspr-devel >= 1:%{nspr_ver}
BuildRequires: nss-devel >= 1:%{nss_ver}
BuildRequires: pango-devel >= 1:1.22.0
-BuildRequires: pixman-devel >= 0.19.2
BuildRequires: perl-modules >= 5.004
+BuildRequires: pixman-devel >= 0.19.2
BuildRequires: pkgconfig
-BuildRequires: pkgconfig(libffi) >= 3.0.9
BuildRequires: pulseaudio-devel
BuildRequires: python-modules >= 1:2.5
%{?with_pgo:BuildRequires: python-modules-sqlite}
BuildConflicts: %{name}-devel < %{version}
Requires(post): mktemp >= 1.5-18
Requires: browser-plugins >= 2.0
+Requires: cairo >= 1.10.2-5
+Requires: dbus-glib >= 0.60
Requires: desktop-file-utils
+Requires: fontconfig-libs >= 1:2.7.0
+Requires: glib2 >= 1:2.22
+%{!?with_gtk3:Requires: gtk+2 >= 2:2.18.0}
+%{?with_gtk3:Requires: gtk+3 >= 3.4.0}
Requires: hicolor-icon-theme
+Requires: libjpeg-turbo
+Requires: libpng >= 2:1.6.25
+Requires: libpng(APNG) >= 0.10
+Requires: libvpx >= 1.5.0
Requires: myspell-common
-Requires: %{name}-libs = %{version}-%{release}
+Requires: nspr >= 1:%{nspr_ver}
+Requires: nss >= 1:%{nss_ver}
+Requires: pango >= 1:1.22.0
+Requires: sqlite3 >= %{sqlite_build_version}
+Requires: startup-notification >= 0.8
Provides: wwwbrowser
+Provides: xulrunner-libs = 2:%{version}-%{release}
+Obsoletes: firefox-devel
+Obsoletes: firefox-libs
+Obsoletes: firefox52-esr-libs
Obsoletes: iceweasel
+Obsoletes: iceweasel-libs
Obsoletes: mozilla-firebird
Obsoletes: mozilla-firefox
Obsoletes: mozilla-firefox-lang-en < 2.0.0.8-3
Obsoletes: mozilla-firefox-libs
Obsoletes: xulrunner
Obsoletes: xulrunner-gnome
+Obsoletes: xulrunner-libs < 42
Conflicts: firefox-lang-resources < %{version}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+
+%if %{with clang}
+%define filterout -fvar-tracking-assignments
+%else
+%define filterout -Werror=format-security
+%endif
+
# don't satisfy other packages
%define _noautoprovfiles %{_libdir}/%{name}
ruchu otwartego oprogramowania oraz tworzoną z myślą o zgodności ze
standardami, wydajnością i przenośnością.
-%package libs
-Summary: Firefox shared libraries
-Summary(pl.UTF-8): Biblioteki współdzielone Firefoksa
-Group: X11/Libraries
-Requires: cairo >= 1.10.2-5
-Requires: dbus-glib >= 0.60
-Requires: fontconfig-libs >= 1:2.7.0
-Requires: glib2 >= 1:2.22
-%{!?with_gtk3:Requires: gtk+2 >= 2:2.18.0}
-%{?with_gtk3:Requires: gtk+3 >= 3.4.0}
-Requires: libjpeg-turbo
-Requires: libpng >= 2:1.6.25
-Requires: libpng(APNG) >= 0.10
-Requires: libvpx >= 1.5.0
-Requires: nspr >= 1:%{nspr_ver}
-Requires: nss >= 1:%{nss_ver}
-Requires: pango >= 1:1.22.0
-Requires: sqlite3 >= %{sqlite_build_version}
-Requires: startup-notification >= 0.8
-Provides: xulrunner-libs = 2:%{version}-%{release}
-Obsoletes: iceweasel-libs
-Obsoletes: xulrunner-libs < 2:%{version}
-
-%description libs
-XULRunner shared libraries.
-
-%description libs -l pl.UTF-8
-Biblioteki współdzielone XULRunnera.
-
-%package devel
-Summary: Headers for developing programs that will use Firefox
-Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia programów używających Firefoksa
-Group: X11/Development/Libraries
-Requires: %{name}-libs = %{version}-%{release}
-Requires: nspr-devel >= 1:%{nspr_ver}
-Requires: nss-devel >= 1:%{nss_ver}
-Requires: python-ply
-Provides: xulrunner-devel = 2:%{version}-%{release}
-Obsoletes: iceweasel-devel
-Obsoletes: mozilla-devel
-Obsoletes: mozilla-firefox-devel
-Obsoletes: seamonkey-devel
-Obsoletes: xulrunner-devel
-
-%description devel
-Firefox development package.
-
-%description devel -l pl.UTF-8
-Pakiet programistyczny Firefoksa.
-
%prep
%setup -q -n %{_basename}-%{version}esr
%patch0 -p2
%patch1 -p1
%patch2 -p2
-%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p2
cat << 'EOF' > .mozconfig
. $topsrcdir/browser/config/mozconfig
+%if %{with clang}
+export CC="clang"
+export CXX="clang++"
+%else
+export CC="%{__cc}"
+export CXX="%{__cxx}"
+%endif
+
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
# Options for 'configure' (same as command-line options).
$RPM_BUILD_ROOT%{_desktopdir} \
$RPM_BUILD_ROOT%{_datadir}/%{name}/browser \
$RPM_BUILD_ROOT%{_libdir}/%{name}/browser/plugins \
- $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/{lib,bin} \
$RPM_BUILD_ROOT%{_includedir}/%{name} \
- $RPM_BUILD_ROOT%{_datadir}/idl/%{name} \
$RPM_BUILD_ROOT%{_pkgconfigdir}
%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins
cd obj-%{_target_cpu}
-%{__make} -C browser/installer stage-package libxul.pc libxul-embedding.pc mozilla-js.pc mozilla-plugin.pc \
+%{__make} -C browser/installer stage-package \
DESTDIR=$RPM_BUILD_ROOT \
- INSTALL_SDK=1 \
PKG_SKIP_STRIP=1 \
idldir=%{_datadir}/idl/%{name} \
includedir=%{_includedir}/%{name} \
installdir=%{_libdir}/%{name} \
sdkdir=%{_libdir}/%{name}-devel
-cp -aL browser/installer/*.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
cp -aL dist/firefox/* $RPM_BUILD_ROOT%{_libdir}/%{name}/
-cp -aL dist/idl/* $RPM_BUILD_ROOT%{_datadir}/idl/%{name}
-cp -aL dist/include/* $RPM_BUILD_ROOT%{_includedir}/%{name}
-cp -aL dist/include/xpcom-config.h $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
-cp -aL dist/sdk/lib/* $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib
-cp -aL dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/bin
-find $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk -name "*.pyc" | xargs rm -f
-
-ln -s %{_libdir}/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/bin
-ln -s %{_includedir}/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/include
-ln -s %{_datadir}/idl/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/idl
-ln -s %{_libdir}/%{name}-devel/sdk/lib $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/lib
-
-# replace copies with symlinks
-%{?with_shared_js:ln -sf %{_libdir}/%{name}/libmozjs.so $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib/libmozjs.so}
-ln -sf %{_libdir}/%{name}/libxul.so $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib/libxul.so
-# temp fix for https://bugzilla.mozilla.org/show_bug.cgi?id=63955
-chmod a+rx $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/bin/xpt.py
# move arch independant ones to datadir
%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/chrome
%attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so
%{!?with_system_icu:%{_libdir}/%{name}//icudt58l.dat}
-%files libs
-%defattr(644,root,root,755)
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/platform.ini
%{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so}
%attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so
%attr(755,root,root) %{_libdir}/%{name}/libmozgtk.so
%endif
-
-%files devel
-%defattr(644,root,root,755)
-%{_includedir}/%{name}
-%{_datadir}/idl/%{name}
-%dir %{_libdir}/%{name}-devel
-%{_libdir}/%{name}-devel/bin
-%{_libdir}/%{name}-devel/idl
-%{_libdir}/%{name}-devel/lib
-%{_libdir}/%{name}-devel/include
-%{_libdir}/%{name}-devel/*.h
-%dir %{_libdir}/%{name}-devel/sdk
-%{_libdir}/%{name}-devel/sdk/lib
-%dir %{_libdir}/%{name}-devel/sdk/bin
-%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/header.py
-%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/run-mozilla.sh
-%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/typelib.py
-%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpcshell
-%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpidl.py
-%{_libdir}/%{name}-devel/sdk/bin/xpidllex.py
-%{_libdir}/%{name}-devel/sdk/bin/xpidlyacc.py
-%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpt.py
-%{_libdir}/%{name}-devel/sdk/bin/ply
-
-%{_pkgconfigdir}/libxul.pc
-%{_pkgconfigdir}/libxul-embedding.pc
-%{_pkgconfigdir}/mozilla-js.pc
-%{_pkgconfigdir}/mozilla-plugin.pc