]>
Commit | Line | Data |
---|---|---|
1 | # Conditional build: | |
2 | %bcond_without system_ffmpeg # build with internal ffmpeg library | |
3 | %bcond_without system_gtk # build with internal gtk library | |
4 | %bcond_without system_sqlite # build with internal sqlite library | |
5 | ||
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 | |
14 | Version: 53.0.3 | |
15 | Release: 1 | |
16 | License: MPL/LGPL | |
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: 0339f0a8be0e5af9a206bdfe67689cf8 | |
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: 6219384d2631020adf1b5bb96f73621d | |
22 | Source2: %{name}.desktop | |
23 | Source3: %{name}.sh | |
24 | URL: https://www.mozilla.org/firefox/ | |
25 | BuildRequires: rpmbuild(macros) >= 1.453 | |
26 | BuildRequires: zip | |
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.2} | |
31 | %{?with_system_gtk:Requires: gtk+3 >= 3.22} | |
32 | Requires: myspell-common | |
33 | Requires: nspr >= 1:4.13.1 | |
34 | Requires: nss >= 1:3.29.5 | |
35 | %{?with_system_sqlite:Requires: sqlite3 >= 3.17.0} | |
36 | Suggests: pulseaudio | |
37 | Provides: wwwbrowser | |
38 | Obsoletes: mozilla-firebird | |
39 | Conflicts: mozilla-firefox | |
40 | ExclusiveArch: i686 athlon %{x8664} | |
41 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
42 | ||
43 | %define _firefoxdir %{_libdir}/%{name} | |
44 | ||
45 | %define moz_caps libmozalloc.so libmozavcodec.so libmozavutil.so libclearkey.so liblgpllibs.so libmozgtk.so libmozsandbox.so libmozsqlite3.so libxpcom.so libxul.so | |
46 | %define sqlite_caps libsqlite3.so | |
47 | ||
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 | |
53 | ||
54 | # no debuginfo available | |
55 | %define _enable_debug_packages 0 | |
56 | ||
57 | %description | |
58 | Mozilla Firefox is an open-source web browser, designed for standards | |
59 | compliance, performance and portability. | |
60 | ||
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ą. | |
64 | ||
65 | %prep | |
66 | %setup -qcT | |
67 | %ifarch i686 athlon | |
68 | %{__tar} jxf %{SOURCE0} --strip-components=1 | |
69 | %endif | |
70 | %ifarch %{x8664} | |
71 | %{__tar} jxf %{SOURCE1} --strip-components=1 | |
72 | %endif | |
73 | ||
74 | %install | |
75 | rm -rf $RPM_BUILD_ROOT | |
76 | install -d \ | |
77 | $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}/browser/plugins} \ | |
78 | $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} | |
79 | ||
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/icons/mozicon128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png | |
85 | ||
86 | %browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins | |
87 | ||
88 | # use system dict | |
89 | rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries | |
90 | ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries | |
91 | ||
92 | %if %{with system_ffmpeg} | |
93 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so | |
94 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so | |
95 | ln -s %{_libdir}/libavcodec.so.%{avcodec_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so | |
96 | ln -s %{_libdir}/libavutil.so.%{avutil_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so | |
97 | %endif | |
98 | ||
99 | %if %{with system_gtk} | |
100 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so | |
101 | ln -s %{_libdir}/libgtk-3.so.%{gtk_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so | |
102 | %endif | |
103 | ||
104 | %if %{with system_sqlite} | |
105 | # use system sqlite | |
106 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so | |
107 | ln -s /%{_lib}/libsqlite3.so.%{sqlite_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so | |
108 | %endif | |
109 | ||
110 | # never package these | |
111 | # nss | |
112 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freeblpriv3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.* | |
113 | # nspr | |
114 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so | |
115 | grep -v 'libnspr4.so\|libplc4.so\|libplds4.so\|libnssutil3.so\|libnss3.so\|libsmime3.so\|libssl3.so' \ | |
116 | dependentlibs.list > $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list | |
117 | ||
118 | # remove update notifier, we prefer rpm packages for updating | |
119 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater | |
120 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini | |
121 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/update-settings.ini | |
122 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif | |
123 | ||
124 | # remove unecessary stuff | |
125 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/removed-files | |
126 | ||
127 | %clean | |
128 | rm -rf $RPM_BUILD_ROOT | |
129 | ||
130 | %pretrans | |
131 | if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then | |
132 | mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave} | |
133 | fi | |
134 | exit 0 | |
135 | ||
136 | %post | |
137 | %update_browser_plugins | |
138 | %update_desktop_database_post | |
139 | ||
140 | %postun | |
141 | %update_desktop_database_postun | |
142 | if [ "$1" = 0 ]; then | |
143 | %update_browser_plugins | |
144 | fi | |
145 | ||
146 | %files | |
147 | %defattr(644,root,root,755) | |
148 | %attr(755,root,root) %{_bindir}/%{name} | |
149 | %attr(755,root,root) %{_bindir}/firefox-bin | |
150 | ||
151 | # browser plugins v2 | |
152 | %{_browserpluginsconfdir}/browsers.d/%{name}.* | |
153 | %config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist | |
154 | ||
155 | %dir %{_libdir}/%{name} | |
156 | %{_libdir}/%{name}/application.ini | |
157 | %{_libdir}/%{name}/chrome.manifest | |
158 | %{_libdir}/%{name}/icudt58l.dat | |
159 | ||
160 | %dir %{_libdir}/%{name}/browser | |
161 | %{_libdir}/%{name}/browser/blocklist.xml | |
162 | %{_libdir}/%{name}/browser/chrome.manifest | |
163 | %{_libdir}/%{name}/browser/omni.ja | |
164 | ||
165 | %{_libdir}/%{name}/omni.ja | |
166 | %{_libdir}/%{name}/platform.ini | |
167 | %attr(755,root,root) %{_libdir}/%{name}/firefox | |
168 | %attr(755,root,root) %{_libdir}/%{name}/firefox-bin | |
169 | %attr(755,root,root) %{_libdir}/%{name}/minidump-analyzer | |
170 | %attr(755,root,root) %{_libdir}/%{name}/precomplete | |
171 | %attr(755,root,root) %{_libdir}/%{name}/plugin-container | |
172 | ||
173 | %{_libdir}/%{name}/browser/chrome | |
174 | %{_libdir}/%{name}/browser/icons | |
175 | %{_libdir}/%{name}/defaults | |
176 | %{_libdir}/%{name}/dependentlibs.list | |
177 | %{_libdir}/%{name}/dictionaries | |
178 | %{_libdir}/%{name}/icons | |
179 | ||
180 | %dir %{_libdir}/%{name}/fonts | |
181 | %{_libdir}/%{name}/fonts/EmojiOneMozilla.ttf | |
182 | ||
183 | %dir %{_libdir}/%{name}/gtk2 | |
184 | %attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so | |
185 | ||
186 | %dir %{_libdir}/%{name}/browser/extensions | |
187 | # the signature of the default theme | |
188 | %{_libdir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi | |
189 | ||
190 | %dir %{_libdir}/%{name}/browser/features | |
191 | %{_libdir}/%{name}/browser/features/aushelper@mozilla.org.xpi | |
192 | %{_libdir}/%{name}/browser/features/e10srollout@mozilla.org.xpi | |
193 | %{_libdir}/%{name}/browser/features/firefox@getpocket.com.xpi | |
194 | %{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi | |
195 | ||
196 | %dir %{_libdir}/%{name}/browser/plugins | |
197 | %attr(755,root,root) %{_libdir}/%{name}/*.so | |
198 | %attr(755,root,root) %{_libdir}/%{name}/*.sh | |
199 | ||
200 | # crashreporter | |
201 | %attr(755,root,root) %{_libdir}/%{name}/crashreporter | |
202 | %{_libdir}/%{name}/browser/crashreporter-override.ini | |
203 | %{_libdir}/%{name}/crashreporter.ini | |
204 | ||
205 | %dir %{_libdir}/%{name}/gmp-clearkey | |
206 | %dir %{_libdir}/%{name}/gmp-clearkey/0.1 | |
207 | %{_libdir}/%{name}/gmp-clearkey/0.1/manifest.json | |
208 | %attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so | |
209 | ||
210 | %{_pixmapsdir}/%{name}.png | |
211 | %{_desktopdir}/%{name}.desktop |