%bcond_without kerberos # disable krb5 support
%bcond_without official # official Firefox branding
%bcond_with pgo # PGO-enabled build (requires working $DISPLAY == :100)
+%bcond_without gold # use default linker instead of gold
# - 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)
%define _basename firefox
%define nspr_ver 4.13.1
-%define nss_ver 3.28.5
+%define nss_ver 3.28.6
Summary: Firefox web browser
Summary(hu.UTF-8): Firefox web böngésző
Summary(pl.UTF-8): Firefox - przeglądarka WWW
Name: firefox52-esr
-Version: 52.7.0
-Release: 1
+Version: 52.9.0
+Release: 2
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: 5e8d73d94ec686b7920c483e5d7f7816
+# Source0-md5: b8c2f3619c684818be9a513f8aa1dbfd
Source3: %{_basename}.desktop
Source4: %{_basename}.sh
Source5: vendor.js
Patch0: idl-parser.patch
Patch1: xulrunner-new-libxul.patch
Patch2: xulrunner-paths.patch
+Patch3: ffmpeg4.patch
Patch4: %{_basename}-prefs.patch
Patch5: %{_basename}-pld-bookmarks.patch
Patch6: %{_basename}-no-subshell.patch
Patch8: %{_basename}-system-virtualenv.patch
Patch9: %{_basename}-Disable-Firefox-Health-Report.patch
Patch10: freetype.patch
+Patch11: xulrunner-pc.patch
URL: https://www.mozilla.org/firefox/
BuildRequires: OpenGL-devel
BuildRequires: alsa-lib-devel
BuildRequires: autoconf2_13
BuildRequires: automake
+%{?with_gold:BuildRequires: binutils >= 3:2.20.51.0.7}
BuildRequires: bzip2-devel
BuildRequires: cairo-devel >= 1.10.2-5
%{?with_clang:BuildRequires: clang}
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: 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
+Requires: %{name}-libs = %{version}-%{release}
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)
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: firefox-libs
+Obsoletes: iceweasel-libs
+Obsoletes: mozilla-firefox-libs
+Obsoletes: xulrunner-libs < 2:%{version}
+Conflicts: firefox52-esr < 52.9.0-2
+
+%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: firefox-devel
+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
%patch8 -p2
%patch9 -p1
%patch10 -p2
+%patch11 -p1
%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' xpcom/typelib/xpt/tools/xpt.py xpcom/idl-parser/xpidl/xpidl.py
ac_add_options --enable-chrome-format=omni
ac_add_options --enable-default-toolkit=%{?with_gtk3:cairo-gtk3}%{!?with_gtk3:cairo-gtk2}
ac_add_options --enable-extensions=default
+%{?with_gold:ac_add_options --enable-gold}
ac_add_options --enable-gio
ac_add_options --enable-readline
ac_add_options --enable-safe-browsing
$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 \
+%{__make} -C browser/installer stage-package libxul.pc libxul-embedding.pc mozilla-js.pc mozilla-plugin.pc \
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