X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=mozilla-firefox-bin.spec;h=ae666d7341b863a1d611cbe1eae5d97faaf30c72;hb=417dcd1;hp=d1e0cfcef24222dd19ddba380e3f27dbdb5a850c;hpb=afd107bc943bfee972f7d134ec59fd7bc1f35194;p=packages%2Fmozilla-firefox-bin.git diff --git a/mozilla-firefox-bin.spec b/mozilla-firefox-bin.spec index d1e0cfc..027b9e8 100644 --- a/mozilla-firefox-bin.spec +++ b/mozilla-firefox-bin.spec @@ -1,27 +1,38 @@ +# Conditional build: +%bcond_with system_ffmpeg # build with system ffmpeg library +%bcond_without system_gtk # build with internal gtk library +%bcond_without system_sqlite # build with internal sqlite library + %define realname firefox +%define avcodec_soname_ver 57 +%define avutil_soname_ver 55 +%define gtk_soname_ver 0 +%define sqlite_soname_ver 0 Summary: Mozilla Firefox web browser Summary(pl.UTF-8): Mozilla Firefox - przeglądarka WWW Name: mozilla-firefox-bin -Version: 15.0 +Version: 74.0.1 Release: 1 License: MPL/LGPL Group: X11/Applications/Networking -Source0: http://releases.mozilla.org/pub/mozilla.org/%{realname}/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2#/%{realname}-%{version}.i686.tar.bz2 -# Source0-md5: 1eef3b698ff06150b97ea7835e710769 -Source1: http://releases.mozilla.org/pub/mozilla.org/%{realname}/releases/%{version}/linux-x86_64/en-US/%{realname}-%{version}.tar.bz2#/%{realname}-%{version}.x8664.tar.bz2 -# Source1-md5: 69d58ff1dc2a4115d675b2169a3b5671 +Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.i686.tar.bz2 +# Source0-md5: 111584b081be64f6a55f0c7041e4f9f9 +Source1: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-x86_64/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.x8664.tar.bz2 +# Source1-md5: f3951951bd482e94f25ccb1e7eb005c0 Source2: %{name}.desktop Source3: %{name}.sh -#Patch0: %{name}-agent.patch -#Patch1: %{name}-ti-agent.patch -#Patch2: nochilds.patch -URL: http://www.mozilla.org/projects/firefox/ +URL: https://www.mozilla.org/firefox/ BuildRequires: rpmbuild(macros) >= 1.453 BuildRequires: zip +Requires(post,postun): desktop-file-utils Requires: browser-plugins >= 2.0 -Requires: myspell-common -Requires: nss >=3.12.10 -Requires: sqlite3 >= 3.6.22-2 +Requires: cpuinfo(sse2) +%{?with_system_ffmpeg:Requires: ffmpeg-libs >= 3.4} +%{?with_system_gtk:Requires: gtk+3 >= 3.22} +Requires: nspr >= 1:4.25 +Requires: nss >= 1:3.50 +%{?with_system_sqlite:Requires: sqlite3 >= 3.31.1} +Suggests: pulseaudio Provides: wwwbrowser Obsoletes: mozilla-firebird Conflicts: mozilla-firefox @@ -30,14 +41,14 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _firefoxdir %{_libdir}/%{name} -%define moz_caps libmozalloc.so libmozsqlite3.so libxpcom.so libxul.so +%define moz_caps libmozalloc.so libmozavcodec.so libmozavutil.so libclearkey.so liblgpllibs.so libmozgtk.so libmozsandbox.so libmozsqlite3.so libxpcom.so libxul.so %define sqlite_caps libsqlite3.so # list of files (regexps) which don't generate Provides %define _noautoprovfiles %{_libdir}/%{name}/components # list of script capabilities (regexps) not to be used in Provides -%define _noautoprov %{moz_caps} -%define _noautoreq %{_noautoprov} %{sqlite_caps} libnotify.so.1 +%define _noautoprov %{moz_caps} +%define _noautoreq %{_noautoprov} %{sqlite_caps} libnotify.so.1 # no debuginfo available %define _enable_debug_packages 0 @@ -58,67 +69,65 @@ myślą o zgodności ze standardami, wydajnością i przenośnością. %ifarch %{x8664} %{__tar} jxf %{SOURCE1} --strip-components=1 %endif -%if "%{pld_release}" == "th" -#%patch0 -p0 -%endif -%if "%{pld_release}" == "ti" -#%patch1 -p0 -%endif -#%patch2 -p1 %install rm -rf $RPM_BUILD_ROOT install -d \ - $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}/plugins} \ + $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}/browser/plugins} \ $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} cp -a . $RPM_BUILD_ROOT%{_libdir}/%{name} sed 's,@LIBDIR@,%{_libdir},' %{SOURCE3} > $RPM_BUILD_ROOT%{_bindir}/%{name} ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/firefox-bin cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir} -cp -a icons/mozicon128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png +cp -a browser/chrome/icons/default/default128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png -%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins +%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins -# use system dict -rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries -ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries +%if %{with system_ffmpeg} +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so +ln -s %{_libdir}/libavcodec.so.%{avcodec_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so +ln -s %{_libdir}/libavutil.so.%{avutil_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so +%endif +%if %{with system_gtk} +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so +ln -s %{_libdir}/libgtk-3.so.%{gtk_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so +%endif + +%if %{with system_sqlite} # use system sqlite -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/libsqlite3.so -ln -s /%{_lib}/libsqlite3.so.0 $RPM_BUILD_ROOT%{_libdir}/%{name}/libsqlite3.so +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so +ln -s /%{_lib}/libsqlite3.so.%{sqlite_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so +%endif # never package these # nss -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.* +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freeblpriv3,nss3,nssckbi,nssutil3,smime3,softokn3,ssl3}.* # nspr -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so -# mozldap -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{ldap,ldif,prldap,ssldap}60.so +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so +grep -v 'libnspr4.so\|libplc4.so\|libplds4.so\|libnssutil3.so\|libnss3.so\|libsmime3.so\|libssl3.so' \ + dependentlibs.list > $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list # remove update notifier, we prefer rpm packages for updating -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/updater -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/update.locale -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/update-settings.ini +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif # remove unecessary stuff rm $RPM_BUILD_ROOT%{_libdir}/%{name}/removed-files -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list %clean rm -rf $RPM_BUILD_ROOT -%pretrans -if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then - mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave} -fi -exit 0 - %post %update_browser_plugins +%update_desktop_database_post %postun +%update_desktop_database_postun if [ "$1" = 0 ]; then %update_browser_plugins fi @@ -134,51 +143,50 @@ fi %dir %{_libdir}/%{name} %{_libdir}/%{name}/application.ini -%{_libdir}/%{name}/blocklist.xml -#%{_libdir}/%{name}/browserconfig.properties -%{_libdir}/%{name}/chrome.manifest + +%dir %{_libdir}/%{name}/browser +%{_libdir}/%{name}/browser/blocklist.xml +%{_libdir}/%{name}/browser/omni.ja + %{_libdir}/%{name}/omni.ja %{_libdir}/%{name}/platform.ini %attr(755,root,root) %{_libdir}/%{name}/firefox %attr(755,root,root) %{_libdir}/%{name}/firefox-bin -%attr(755,root,root) %{_libdir}/%{name}/precomplete -%attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client +%attr(755,root,root) %{_libdir}/%{name}/minidump-analyzer +%attr(755,root,root) %{_libdir}/%{name}/pingsender %attr(755,root,root) %{_libdir}/%{name}/plugin-container +%attr(755,root,root) %{_libdir}/%{name}/precomplete -%{_libdir}/%{name}/chrome +%{_libdir}/%{name}/browser/chrome %{_libdir}/%{name}/defaults -%{_libdir}/%{name}/dictionaries -#%{_libdir}/%{name}/greprefs -#%{_libdir}/%{name}/hyphenation -#%{_libdir}/%{name}/hyphenation/hyph_en_US.dic +%{_libdir}/%{name}/dependentlibs.list %{_libdir}/%{name}/icons -#%{_libdir}/%{name}/modules -#%{_libdir}/%{name}/res -%{_libdir}/%{name}/searchplugins - -%dir %{_libdir}/%{name}/extensions -# the signature of the default theme -%{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} - -#%dir %{_libdir}/%{name}/distribution -#%dir %{_libdir}/%{name}/distribution/extensions -#%{_libdir}/%{name}/distribution/extensions/testpilot@labs.mozilla.com.xpi - -%dir %{_libdir}/%{name}/components -%attr(755,root,root) %{_libdir}/%{name}/components/*.so -%{_libdir}/%{name}/components/binary.manifest -#%{_libdir}/%{name}/components/*.js -#%{_libdir}/%{name}/components/*.xpt - -%dir %{_libdir}/%{name}/plugins -#%attr(755,root,root) %{_libdir}/%{name}/plugins/libnullplugin.so + +%dir %{_libdir}/%{name}/fonts +%{_libdir}/%{name}/fonts/TwemojiMozilla.ttf + +%dir %{_libdir}/%{name}/gtk2 +%attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so + +%dir %{_libdir}/%{name}/browser/features +%{_libdir}/%{name}/browser/features/doh-rollout@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/formautofill@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/screenshots@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/webcompat-reporter@mozilla.org.xpi + +%dir %{_libdir}/%{name}/browser/plugins %attr(755,root,root) %{_libdir}/%{name}/*.so -%attr(755,root,root) %{_libdir}/%{name}/*.sh # crashreporter %attr(755,root,root) %{_libdir}/%{name}/crashreporter -%{_libdir}/%{name}/crashreporter-override.ini +%{_libdir}/%{name}/browser/crashreporter-override.ini %{_libdir}/%{name}/crashreporter.ini +%dir %{_libdir}/%{name}/gmp-clearkey +%dir %{_libdir}/%{name}/gmp-clearkey/0.1 +%{_libdir}/%{name}/gmp-clearkey/0.1/manifest.json +%attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so + %{_pixmapsdir}/%{name}.png %{_desktopdir}/%{name}.desktop