2 %bcond_with system_ffmpeg # build with system ffmpeg library
3 %bcond_with system_gtk # build with internal gtk library
4 %bcond_with system_sqlite # build with internal sqlite library
6 %define realname firefox
7 %define avcodec_soname_ver 57
8 %define avutil_soname_ver 55
9 %define gtk_soname_ver 0
10 %define sqlite_soname_ver 0
11 Summary: Mozilla Firefox web browser
12 Summary(pl.UTF-8): Mozilla Firefox - przeglądarka WWW
13 Name: mozilla-firefox-bin
17 Group: X11/Applications/Networking
18 Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.i686.tar.bz2
19 # Source0-md5: b4c9cd21ddbd0dc36ab077e8888cef86
20 Source1: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-x86_64/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.x8664.tar.bz2
21 # Source1-md5: cca43e042a2e35d530082baa13419cfe
22 Source2: %{name}.desktop
24 URL: https://www.mozilla.org/firefox/
25 BuildRequires: rpmbuild(macros) >= 1.453
27 Requires(post,postun): desktop-file-utils
28 Requires: browser-plugins >= 2.0
29 Requires: cpuinfo(sse2)
30 %{?with_system_ffmpeg:Requires: ffmpeg-libs >= 3.4}
31 Requires: glib2 >= 1:2.42
32 %{?with_system_gtk:Requires: gtk+3 >= 3.22}
33 Requires: nspr >= 1:4.35
34 Requires: nss >= 1:3.93
35 %{?with_system_sqlite:Requires: sqlite3 >= 3.31.1}
38 Obsoletes: mozilla-firebird
39 Conflicts: mozilla-firefox
40 ExclusiveArch: i686 athlon %{x8664}
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 %define _firefoxdir %{_libdir}/%{name}
45 %define moz_caps libmozalloc.so libmozavcodec.so libmozavutil.so libclearkey.so libgkcodecs.so liblgpllibs.so libmozgtk.so libmozsandbox.so libmozsqlite3.so libxpcom.so libxul.so
46 %define sqlite_caps libsqlite3.so
48 # list of files (regexps) which don't generate Provides
49 %define _noautoprovfiles %{_libdir}/%{name}/components
50 # list of script capabilities (regexps) not to be used in Provides
51 %define _noautoprov %{moz_caps}
52 %define _noautoreq %{_noautoprov} %{sqlite_caps} libnotify.so.1
54 # no debuginfo available
55 %define _enable_debug_packages 0
58 Mozilla Firefox is an open-source web browser, designed for standards
59 compliance, performance and portability.
61 %description -l pl.UTF-8
62 Mozilla Firefox jest open sourcową przeglądarką sieci WWW, stworzoną z
63 myślą o zgodności ze standardami, wydajnością i przenośnością.
68 %{__tar} jxf %{SOURCE0} --strip-components=1
71 %{__tar} jxf %{SOURCE1} --strip-components=1
75 rm -rf $RPM_BUILD_ROOT
77 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}/browser/plugins} \
78 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}}
80 cp -a . $RPM_BUILD_ROOT%{_libdir}/%{name}
81 sed 's,@LIBDIR@,%{_libdir},' %{SOURCE3} > $RPM_BUILD_ROOT%{_bindir}/%{name}
82 ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/firefox-bin
83 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
84 cp -a browser/chrome/icons/default/default128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
86 %browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins
88 %if %{with system_ffmpeg}
89 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so
90 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so
91 ln -s %{_libdir}/libavcodec.so.%{avcodec_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so
92 ln -s %{_libdir}/libavutil.so.%{avutil_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so
95 %if %{with system_gtk}
96 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so
97 ln -s %{_libdir}/libgtk-3.so.%{gtk_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so
100 %if %{with system_sqlite}
102 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so
103 ln -s /%{_lib}/libsqlite3.so.%{sqlite_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so
106 # never package these
108 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freeblpriv3,nss3,nssckbi,nssutil3,smime3,softokn3,ssl3}.*
110 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so
111 grep -v 'libnspr4.so\|libplc4.so\|libplds4.so\|libnssutil3.so\|libnss3.so\|libsmime3.so\|libssl3.so' \
112 dependentlibs.list > $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list
114 # remove update notifier, we prefer rpm packages for updating
115 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater
116 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini
117 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/update-settings.ini
118 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif
120 # remove unecessary stuff
121 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/removed-files
124 rm -rf $RPM_BUILD_ROOT
127 %update_browser_plugins
128 %update_desktop_database_post
131 %update_desktop_database_postun
132 if [ "$1" = 0 ]; then
133 %update_browser_plugins
137 %defattr(644,root,root,755)
138 %attr(755,root,root) %{_bindir}/%{name}
139 %attr(755,root,root) %{_bindir}/firefox-bin
142 %{_browserpluginsconfdir}/browsers.d/%{name}.*
143 %config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
145 %dir %{_libdir}/%{name}
146 %{_libdir}/%{name}/application.ini
148 %dir %{_libdir}/%{name}/browser
149 %{_libdir}/%{name}/browser/omni.ja
151 %{_libdir}/%{name}/omni.ja
152 %{_libdir}/%{name}/platform.ini
153 %attr(755,root,root) %{_libdir}/%{name}/firefox
154 %attr(755,root,root) %{_libdir}/%{name}/firefox-bin
155 %attr(755,root,root) %{_libdir}/%{name}/glxtest
156 %attr(755,root,root) %{_libdir}/%{name}/minidump-analyzer
157 %attr(755,root,root) %{_libdir}/%{name}/pingsender
158 %attr(755,root,root) %{_libdir}/%{name}/plugin-container
159 %attr(755,root,root) %{_libdir}/%{name}/precomplete
160 %attr(755,root,root) %{_libdir}/%{name}/vaapitest
162 %{_libdir}/%{name}/browser/chrome
163 %{_libdir}/%{name}/defaults
164 %{_libdir}/%{name}/dependentlibs.list
165 %{_libdir}/%{name}/icons
167 %dir %{_libdir}/%{name}/fonts
168 %{_libdir}/%{name}/fonts/TwemojiMozilla.ttf
170 %dir %{_libdir}/%{name}/browser/features
171 %{_libdir}/%{name}/browser/features/formautofill@mozilla.org.xpi
172 %{_libdir}/%{name}/browser/features/pictureinpicture@mozilla.org.xpi
173 %{_libdir}/%{name}/browser/features/screenshots@mozilla.org.xpi
174 %{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi
175 %{_libdir}/%{name}/browser/features/webcompat-reporter@mozilla.org.xpi
177 %dir %{_libdir}/%{name}/browser/plugins
178 %attr(755,root,root) %{_libdir}/%{name}/*.so
181 %attr(755,root,root) %{_libdir}/%{name}/crashreporter
182 %{_libdir}/%{name}/browser/crashreporter-override.ini
183 %{_libdir}/%{name}/crashreporter.ini
185 %dir %{_libdir}/%{name}/gmp-clearkey
186 %dir %{_libdir}/%{name}/gmp-clearkey/0.1
187 %{_libdir}/%{name}/gmp-clearkey/0.1/manifest.json
188 %attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so
190 %{_pixmapsdir}/%{name}.png
191 %{_desktopdir}/%{name}.desktop