X-Git-Url: http://git.pld-linux.org/?p=packages%2Ffirefox.git;a=blobdiff_plain;f=firefox.spec;h=c84332a31459b74d3f8f7acdc903519850c06dfe;hp=baebd72dac4a9f5557161c26cf696c68806dc171;hb=7ab9d54;hpb=46f13783f1411bb3faf33373ec2f86d8fee96bd2 diff --git a/firefox.spec b/firefox.spec index baebd72..c84332a 100644 --- a/firefox.spec +++ b/firefox.spec @@ -3,11 +3,13 @@ # # Conditional build: %bcond_with tests # enable tests (whatever they check) -%bcond_with gtk3 # GTK+ 3.x instead of 2.x +%bcond_without gtk3 # GTK+ 3.x instead of 2.x %bcond_without kerberos # disable krb5 support -%bcond_with pgo # PGO-enabled build (requires working $DISPLAY == :100) +%bcond_without official # official Firefox branding +%bcond_without 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) # On updating version, grab CVE links from: # https://www.mozilla.org/security/known-vulnerabilities/firefox.html @@ -17,45 +19,43 @@ # The actual sqlite version (see RHBZ#480989): %define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR) -%define nspr_ver 4.10.8 -%define nss_ver 3.19.2 +%define nspr_ver 4.13.1 +%define nss_ver 3.28.1 Summary: Firefox web browser Summary(hu.UTF-8): Firefox web böngésző Summary(pl.UTF-8): Firefox - przeglądarka WWW Name: firefox -Version: 45.0.1 +Version: 53.0 Release: 1 License: MPL v2.0 Group: X11/Applications/Networking Source0: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz -# Source0-md5: ea1e436b278b933747d9de167310592c +# Source0-md5: 73175f850d4ff6068c6af674df20477c Source3: %{name}.desktop Source4: %{name}.sh Source5: vendor.js Source6: vendor-ac.js -Patch1: idl-parser.patch -Patch2: xulrunner-new-libxul.patch -Patch3: xulrunner-paths.patch -Patch4: xulrunner-pc.patch -Patch5: install-pc-files.patch -Patch6: %{name}-prefs.patch -Patch7: %{name}-pld-bookmarks.patch -Patch8: %{name}-no-subshell.patch -Patch9: %{name}-middle_click_paste.patch -Patch11: %{name}-system-virtualenv.patch -Patch12: %{name}-Disable-Firefox-Health-Report.patch -Patch14: freetype.patch +Patch0: idl-parser.patch +Patch1: xulrunner-new-libxul.patch +Patch2: xulrunner-paths.patch +Patch3: xulrunner-pc.patch +Patch4: %{name}-prefs.patch +Patch5: %{name}-pld-bookmarks.patch +Patch6: %{name}-no-subshell.patch +Patch7: %{name}-middle_click_paste.patch +Patch8: %{name}-system-virtualenv.patch +Patch9: %{name}-Disable-Firefox-Health-Report.patch +Patch10: freetype.patch URL: https://www.mozilla.org/firefox/ BuildRequires: OpenGL-devel -BuildRequires: ImageMagick -BuildRequires: ImageMagick-coder-png -BuildRequires: ImageMagick-coder-svg BuildRequires: alsa-lib-devel BuildRequires: automake +BuildRequires: autoconf2_13 BuildRequires: bzip2-devel BuildRequires: cairo-devel >= 1.10.2-5 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 BuildRequires: glib2-devel >= 1:2.22 @@ -71,17 +71,14 @@ BuildRequires: libIDL-devel >= 0.8.0 BuildRequires: libevent-devel >= 1.4.7 # standalone libffi 3.0.9 or gcc's from 4.5(?)+ BuildRequires: libffi-devel >= 6:3.0.9 -BuildRequires: libicu-devel >= 50.1 +%{?with_system_icu:BuildRequires: libicu-devel >= 58.1} # requires libjpeg-turbo implementing at least libjpeg 6b API BuildRequires: libjpeg-devel >= 6b BuildRequires: libjpeg-turbo-devel -# for rsvg-convert -BuildRequires: librsvg BuildRequires: libpng(APNG)-devel >= 0.10 -BuildRequires: libpng-devel >= 2:1.6.16 +BuildRequires: libpng-devel >= 2:1.6.25 BuildRequires: libstdc++-devel >= 6:4.4 -BuildRequires: libvpx-devel >= 1.3.0 -BuildRequires: libxslt-progs >= 1.1.28 +BuildRequires: libvpx-devel >= 1.5.0 BuildRequires: nspr-devel >= 1:%{nspr_ver} BuildRequires: nss-devel >= 1:%{nss_ver} BuildRequires: pango-devel >= 1:1.22.0 @@ -93,19 +90,25 @@ BuildRequires: pulseaudio-devel BuildRequires: python-modules >= 1:2.5 %{?with_pgo:BuildRequires: python-modules-sqlite} BuildRequires: python-simplejson -BuildRequires: python-virtualenv >= 1.9.1-4 +BuildRequires: python-virtualenv >= 15 BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpmbuild(macros) >= 1.601 BuildRequires: sed >= 4.0 -BuildRequires: sqlite3-devel >= 3.8.11.1-3 +BuildRequires: sqlite3-devel >= 3.17.0 BuildRequires: startup-notification-devel >= 0.8 -BuildRequires: virtualenv +BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXScrnSaver-devel +BuildRequires: xorg-lib-libXcomposite-devel +BuildRequires: xorg-lib-libXdamage-devel BuildRequires: xorg-lib-libXext-devel +BuildRequires: xorg-lib-libXfixes-devel BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXt-devel %{?with_pgo:BuildRequires: xorg-xserver-Xvfb} +%ifarch %{x8664} +BuildRequires: yasm >= 1.0.1 +%endif BuildRequires: zip BuildRequires: zlib-devel >= 1.2.3 BuildConflicts: %{name}-devel < %{version} @@ -155,13 +158,14 @@ Summary(pl.UTF-8): Biblioteki współdzielone Firefoxa 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.16 +Requires: libpng >= 2:1.6.25 Requires: libpng(APNG) >= 0.10 -Requires: libvpx >= 1.3.0 +Requires: libvpx >= 1.5.0 Requires: pango >= 1:1.22.0 Requires: sqlite3 >= %{sqlite_build_version} Requires: startup-notification >= 0.8 @@ -204,23 +208,22 @@ Pakiet programistyczny Firefoxa. # hunspell needed for factory including mozHunspell.h echo 'LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS)' >> extensions/spellcheck/src/Makefile.in -%patch1 -p2 -%patch2 -p1 -%patch3 -p2 +%patch0 -p2 +%patch1 -p1 +%patch2 -p2 +%patch3 -p1 %patch4 -p1 -%patch5 -p2 -%patch6 -p1 +%patch5 -p1 +%patch6 -p2 %patch7 -p1 %patch8 -p2 -#%patch9 -p2 -%patch11 -p2 -%patch12 -p1 -%patch14 -p2 +%patch9 -p1 +%patch10 -p2 -cp -a xulrunner/installer/*.pc.in browser/installer/ +%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' xpcom/typelib/xpt/tools/xpt.py xpcom/idl-parser/xpidl/xpidl.py %if %{with pgo} -sed -i -e 's@__BROWSER_PATH__@"../../dist/bin/firefox-bin"@' build/automation.py.in +%{__sed} -i -e 's@__BROWSER_PATH__@"../../dist/bin/firefox-bin"@' build/automation.py.in %endif %build @@ -232,21 +235,8 @@ cat << 'EOF' > .mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu} # Options for 'configure' (same as command-line options). -ac_add_options --build=%{_target_platform} ac_add_options --host=%{_target_platform} ac_add_options --prefix=%{_prefix} -ac_add_options --exec-prefix=%{_exec_prefix} -ac_add_options --bindir=%{_bindir} -ac_add_options --sbindir=%{_sbindir} -ac_add_options --sysconfdir=%{_sysconfdir} -ac_add_options --datadir=%{_datadir} -ac_add_options --includedir=%{_includedir} -ac_add_options --libdir=%{_libdir} -ac_add_options --libexecdir=%{_libexecdir} -ac_add_options --localstatedir=%{_localstatedir} -ac_add_options --sharedstatedir=%{_sharedstatedir} -ac_add_options --mandir=%{_mandir} -ac_add_options --infodir=%{_infodir} %if %{?debug:1}0 ac_add_options --disable-optimize ac_add_options --enable-debug @@ -255,11 +245,9 @@ ac_add_options --enable-debugger-info-modules ac_add_options --enable-crash-on-assert %else ac_add_options --disable-debug -ac_add_options --disable-debug-modules ac_add_options --enable-optimize="%{rpmcflags} -Os" %endif ac_add_options --disable-strip -ac_add_options --disable-strip-libs ac_add_options --disable-install-strip %if %{with tests} ac_add_options --enable-tests @@ -270,53 +258,38 @@ ac_add_options --enable-tests %else ac_add_options --disable-tests %endif -ac_add_options --disable-mochitest %endif -ac_add_options --disable-cpp-exceptions ac_add_options --disable-crashreporter -ac_add_options --disable-elf-dynstr-gc ac_add_options --disable-gconf ac_add_options --disable-gnomeui -ac_add_options --disable-gnomevfs -ac_add_options --disable-installer -ac_add_options --disable-javaxpcom -ac_add_options --disable-long-long-warning ac_add_options --disable-necko-wifi -ac_add_options --disable-pedantic ac_add_options --disable-updater -ac_add_options --disable-xterm-updates -ac_add_options --enable-canvas +ac_add_options --disable-rust +ac_add_options --enable-alsa 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 ac_add_options --enable-gio -ac_add_options --enable-gstreamer=1.0 -ac_add_options --enable-libxul -ac_add_options --enable-mathml -ac_add_options --enable-pango ac_add_options --enable-readline ac_add_options --enable-safe-browsing %{?with_shared_js:ac_add_options --enable-shared-js} ac_add_options --enable-startup-notification -ac_add_options --enable-svg ac_add_options --enable-system-cairo ac_add_options --enable-system-ffi ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-url-classifier -ac_add_options --enable-xinerama -ac_add_options --enable-official-branding +%{?with_official:ac_add_options --enable-official-branding} ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name} ac_add_options --with-distribution-id=org.pld-linux ac_add_options --with-pthreads ac_add_options --with-system-bz2 -ac_add_options --with-system-icu +ac_add_options --with%{!?with_system_icu:out}-system-icu ac_add_options --with-system-jpeg ac_add_options --with-system-libevent ac_add_options --with-system-libvpx ac_add_options --with-system-nspr ac_add_options --with-system-nss -ac_add_options --with-system-ply ac_add_options --with-system-png ac_add_options --with-system-zlib ac_add_options --with-x @@ -329,15 +302,13 @@ XVFB_PID=$! [ -n "$XVFB_PID" ] || exit 1 export DISPLAY=:${D} %{__make} -j1 -f client.mk profiledbuild \ + AUTOCONF=/usr/bin/autoconf2_13 \ DESTDIR=obj-%{_target_cpu}/dist \ - CC="%{__cc}" \ - CXX="%{__cxx}" \ MOZ_MAKE_FLAGS="%{_smp_mflags}" kill $XVFB_PID %else %{__make} -j1 -f client.mk build \ - CC="%{__cc}" \ - CXX="%{__cxx}" \ + AUTOCONF=/usr/bin/autoconf2_13 \ MOZ_MAKE_FLAGS="%{_smp_mflags}" %endif @@ -401,9 +372,9 @@ sed 's,@LIBDIR@,%{_libdir},' %{SOURCE4} > $RPM_BUILD_ROOT%{_bindir}/firefox chmod 755 $RPM_BUILD_ROOT%{_bindir}/firefox # install icons and desktop file -for i in 16 22 24 32 48 256; do +for i in 16 32 48 %{?with_official:22 24 256}; do install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps - cp -a ../browser/branding/official/default${i}.png \ + cp -a ../browser/branding/%{!?with_official:un}official/default${i}.png \ $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps/firefox.png done @@ -416,10 +387,6 @@ cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/preferences cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/preferences/vendor.js %endif -# files created by firefox -register -touch $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/components/compreg.dat -touch $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/components/xpti.dat - cat << 'EOF' > $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate #!/bin/sh umask 022 @@ -465,7 +432,6 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist %dir %{_libdir}/%{name}/browser -%dir %{_libdir}/%{name}/browser/components %dir %{_libdir}/%{name}/browser/plugins %dir %{_libdir}/%{name}/browser/features @@ -486,29 +452,29 @@ fi %attr(755,root,root) %{_libdir}/%{name}/firefox-bin %attr(755,root,root) %{_libdir}/%{name}/run-mozilla.sh %{_libdir}/%{name}/application.ini +%{_libdir}/%{name}/chrome.manifest %{_libdir}/%{name}/browser/blocklist.xml %{_libdir}/%{name}/browser/chrome.manifest -%{_libdir}/%{name}/browser/components/components.manifest -%attr(755,root,root) %{_libdir}/%{name}/browser/components/libbrowsercomps.so # the signature of the default theme %{_datadir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi %{_libdir}/%{name}/browser/omni.ja -%{_libdir}/%{name}/webapprt -%attr(755,root,root) %{_libdir}/%{name}/webapprt-stub - -%{_libdir}/%{name}/browser/features/loop@mozilla.org.xpi -# files created by firefox -register -%ghost %{_libdir}/%{name}/browser/components/compreg.dat -%ghost %{_libdir}/%{name}/browser/components/xpti.dat +%{_libdir}/%{name}/browser/features/aushelper@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/e10srollout@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/firefox@getpocket.com.xpi +%{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi %attr(755,root,root) %{_libdir}/%{name}/plugin-container %{_libdir}/%{name}/dictionaries +%dir %{_libdir}/%{name}/fonts +%{_libdir}/%{name}/fonts/EmojiOneMozilla.ttf + %dir %{_libdir}/%{name}/gmp-clearkey %dir %{_libdir}/%{name}/gmp-clearkey/0.1 %{_libdir}/%{name}/gmp-clearkey/0.1/clearkey.info %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) @@ -517,8 +483,16 @@ fi %{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so} %attr(755,root,root) %{_libdir}/%{name}/liblgpllibs.so %attr(755,root,root) %{_libdir}/%{name}/libxul.so +%attr(755,root,root) %{_libdir}/%{name}/libmozavcodec.so +%attr(755,root,root) %{_libdir}/%{name}/libmozavutil.so +%attr(755,root,root) %{_libdir}/%{name}/libmozsandbox.so %{_libdir}/%{name}/dependentlibs.list %{_libdir}/%{name}/omni.ja +%if %{with gtk3} +%dir %{_libdir}/%{name}/gtk2 +%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)