X-Git-Url: http://git.pld-linux.org/?p=packages%2Ffirefox.git;a=blobdiff_plain;f=firefox.spec;h=62c991bc3622fb35a18d43c9c0ad8d6dbf8380fe;hp=03ff9ae68e06c8eddb0993827e349709903b812c;hb=5086fbc;hpb=28a11eae04274f266ef48a93a35d9a8c3f617b6c diff --git a/firefox.spec b/firefox.spec index 03ff9ae..62c991b 100644 --- a/firefox.spec +++ b/firefox.spec @@ -1,16 +1,16 @@ # TODO: # - consider --enable-libproxy -# - enable rust support # # Conditional build: %bcond_with tests # enable tests (whatever they check) %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 system_icu # build without system ICU +%bcond_with clang # build using Clang/LLVM # On updating version, grab CVE links from: # https://www.mozilla.org/security/known-vulnerabilities/firefox.html @@ -20,25 +20,24 @@ # 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.13.1 -%define nss_ver 3.28.1 +%define nspr_ver 4.14 +%define nss_ver 3.30.2 Summary: Firefox web browser Summary(hu.UTF-8): Firefox web böngésző Summary(pl.UTF-8): Firefox - przeglądarka WWW Name: firefox -Version: 53.0 -Release: 2 +Version: 55.0.2 +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: 73175f850d4ff6068c6af674df20477c +# Source0-md5: d1e65708db51034d2ad090b4bfba7f1c Source3: %{name}.desktop Source4: %{name}.sh Source5: vendor.js Source6: vendor-ac.js Patch0: idl-parser.patch -Patch1: xulrunner-new-libxul.patch Patch2: xulrunner-paths.patch Patch4: %{name}-prefs.patch Patch5: %{name}-pld-bookmarks.patch @@ -54,6 +53,7 @@ BuildRequires: automake BuildRequires: autoconf2_13 BuildRequires: bzip2-devel BuildRequires: cairo-devel >= 1.10.2-5 +BuildRequires: cargo BuildRequires: dbus-glib-devel >= 0.60 BuildRequires: fontconfig-devel >= 1:2.7.0 BuildRequires: freetype-devel >= 1:2.1.8 @@ -76,7 +76,7 @@ BuildRequires: libffi-devel >= 6:3.0.9 BuildRequires: libjpeg-devel >= 6b BuildRequires: libjpeg-turbo-devel BuildRequires: libpng(APNG)-devel >= 0.10 -BuildRequires: libpng-devel >= 2:1.6.25 +BuildRequires: libpng-devel >= 2:1.6.28 BuildRequires: libstdc++-devel >= 6:4.4 BuildRequires: libvpx-devel >= 1.5.0 BuildRequires: nspr-devel >= 1:%{nspr_ver} @@ -94,6 +94,7 @@ BuildRequires: python-virtualenv >= 15 BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpmbuild(macros) >= 1.601 +BuildRequires: rust BuildRequires: sed >= 4.0 BuildRequires: sqlite3-devel >= 3.17.0 BuildRequires: startup-notification-devel >= 0.8 @@ -123,7 +124,7 @@ Requires: glib2 >= 1:2.22 %{?with_gtk3:Requires: gtk+3 >= 3.4.0} Requires: hicolor-icon-theme Requires: libjpeg-turbo -Requires: libpng >= 2:1.6.25 +Requires: libpng >= 2:1.6.28 Requires: libpng(APNG) >= 0.10 Requires: libvpx >= 1.5.0 Requires: myspell-common @@ -135,7 +136,7 @@ Requires: startup-notification >= 0.8 Provides: xulrunner-libs = 2:%{version}-%{release} Provides: wwwbrowser Obsoletes: firefox-devel -Obsoletes: firefox-lib +Obsoletes: firefox-libs Obsoletes: iceweasel Obsoletes: iceweasel-libs Obsoletes: mozilla-firebird @@ -154,7 +155,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _noautoprovfiles %{_libdir}/%{name} # and as we don't provide them, don't require either -%define _noautoreq libmozjs.so libxul.so +%define _noautoreq liblgpllibs.so libmozavcodec.so libmozavutil.so libmozgtk.so libmozjs.so libmozsandbox.so libxul.so %description Firefox is an open-source web browser, designed for standards @@ -169,6 +170,20 @@ Firefox jest przeglądarką WWW rozpowszechnianą zgodnie z ideami ruchu otwartego oprogramowania oraz tworzoną z myślą o zgodności ze standardami, wydajnością i przenośnością. +%package -n gmp-api +Summary: GeckoMediaPlugins API header files +Summary(pl.UTF-8): Pliki nagłówkowe API GeckoMediaPlugins +Group: Development/Libraries +URL: https://wiki.mozilla.org/GeckoMediaPlugins +# actually C++ compiler; STL is not even used +Requires: libstdc++-devel + +%description -n gmp-api +GeckoMediaPlugins API header files. + +%description -n gmp-api -l pl.UTF-8 +Pliki nagłówkowe API GeckoMediaPlugins. + %prep %setup -q @@ -178,7 +193,6 @@ standardami, wydajnością i przenośnością. echo 'LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS)' >> extensions/spellcheck/src/Makefile.in %patch0 -p2 -%patch1 -p1 %patch2 -p2 %patch4 -p1 %patch5 -p1 @@ -200,6 +214,16 @@ cp -p %{_datadir}/automake/config.* build/autoconf cat << 'EOF' > .mozconfig . $topsrcdir/browser/config/mozconfig +%if %{with clang} +export CC="clang" +export CXX="clang++" +%else +export CC="%{__cc}" +export CXX="%{__cxx}" +%endif +export CFLAGS="%{rpmcflags} -D_FILE_OFFSET_BITS=64" +export CXXFLAGS="%{rpmcxxflags} -D_FILE_OFFSET_BITS=64" + mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu} # Options for 'configure' (same as command-line options). @@ -213,7 +237,7 @@ ac_add_options --enable-debugger-info-modules ac_add_options --enable-crash-on-assert %else ac_add_options --disable-debug -ac_add_options --enable-optimize="%{rpmcflags} -Os" +ac_add_options --enable-optimize="%{rpmcflags}%{?with_pgo: -Os}" %endif ac_add_options --disable-strip ac_add_options --disable-install-strip @@ -229,15 +253,12 @@ ac_add_options --disable-tests %endif ac_add_options --disable-crashreporter ac_add_options --disable-gconf -ac_add_options --disable-gnomeui ac_add_options --disable-necko-wifi ac_add_options --disable-updater -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-readline ac_add_options --enable-safe-browsing %{?with_shared_js:ac_add_options --enable-shared-js} @@ -292,20 +313,20 @@ install -d \ %browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins -cd obj-%{_target_cpu} -%{__make} -C browser/installer stage-package \ +OBJDIR=obj-%{_target_cpu} +%{__make} -C ${OBJDIR}/browser/installer stage-package \ DESTDIR=$RPM_BUILD_ROOT \ installdir=%{_libdir}/%{name} \ PKG_SKIP_STRIP=1 -cp -aL dist/firefox/* $RPM_BUILD_ROOT%{_libdir}/%{name}/ +cp -aL ${OBJDIR}/dist/firefox/* $RPM_BUILD_ROOT%{_libdir}/%{name}/ # move arch independant ones to datadir -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/chrome -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/extensions $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/extensions -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/icons $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/icons -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults -mv $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/{pref,preferences} +%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/chrome +%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/extensions $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/extensions +%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/icons $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/icons +%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults +%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/{pref,preferences} ln -s ../../../share/%{name}/browser/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome ln -s ../../../share/%{name}/browser/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults @@ -321,7 +342,7 @@ chmod 755 $RPM_BUILD_ROOT%{_bindir}/firefox # install icons and desktop file 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/%{!?with_official:un}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 @@ -351,6 +372,10 @@ rm -rf $HOME EOF chmod 755 $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate +# GeckoMediaPlugin API headers +install -d $RPM_BUILD_ROOT%{_includedir} +cp -pr dom/media/gmp/gmp-api $RPM_BUILD_ROOT%{_includedir} + %clean rm -rf $RPM_BUILD_ROOT @@ -397,6 +422,7 @@ fi %attr(755,root,root) %{_libdir}/%{name}/firefox %attr(755,root,root) %{_libdir}/%{name}/firefox-bin +%attr(755,root,root) %{_libdir}/%{name}/pingsender %attr(755,root,root) %{_libdir}/%{name}/run-mozilla.sh %{_libdir}/%{name}/application.ini %{_libdir}/%{name}/chrome.manifest @@ -407,8 +433,12 @@ fi %{_libdir}/%{name}/browser/omni.ja %{_libdir}/%{name}/browser/features/aushelper@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/clicktoplay-rollout@mozilla.org.xpi %{_libdir}/%{name}/browser/features/e10srollout@mozilla.org.xpi %{_libdir}/%{name}/browser/features/firefox@getpocket.com.xpi +%{_libdir}/%{name}/browser/features/followonsearch@mozilla.com.xpi +%{_libdir}/%{name}/browser/features/screenshots@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/shield-recipe-client@mozilla.org.xpi %{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi %attr(755,root,root) %{_libdir}/%{name}/plugin-container @@ -438,3 +468,7 @@ fi %attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so %attr(755,root,root) %{_libdir}/%{name}/libmozgtk.so %endif + +%files -n gmp-api +%defattr(644,root,root,755) +%{_includedir}/gmp-api