]>
Commit | Line | Data |
---|---|---|
0d00fa1b AM |
1 | # TODO: |
2 | # - handle locales differently (runtime, since it's possible to do) | |
3 | # - see ftp://ftp.debian.org/debian/pool/main/m/mozilla-firefox/*diff* | |
f37c2ce5 ER |
4 | # for hints how to make locales |
5 | # - make it more pld-like (bookmarks, default page etc..) | |
6 | # - add dictionaries outside of mozilla | |
2f695f11 | 7 | # |
ca6a7239 JB |
8 | # Conditional build: |
9 | %bcond_with tests # enable tests (whatever they check) | |
56cf7ebf | 10 | %bcond_without gnome # disable all GNOME components (gnomevfs, gnome, gnomeui) |
c4f9bb37 | 11 | # |
52dbdf60 | 12 | Summary: Firefox Community Edition web browser |
948d1385 | 13 | Summary(pl.UTF-8): Firefox Community Edition - przeglądarka WWW |
ea721d92 | 14 | Name: mozilla-firefox |
95e03807 | 15 | Version: 2.0.0.1 |
2de50ddb | 16 | Release: 3.2 |
ea721d92 | 17 | License: MPL/LGPL |
51c0f20a | 18 | Group: X11/Applications/Networking |
8359e4e0 | 19 | Source0: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}-source.tar.bz2 |
95e03807 | 20 | # Source0-md5: 7a1fc804ed735c5b7e9b1498bac8b5db |
ea721d92 | 21 | Source1: %{name}.desktop |
2dd3b7f4 | 22 | Source2: %{name}.sh |
d541162e | 23 | Patch0: mozilla-install.patch |
52befddb | 24 | Patch1: %{name}-lib_path.patch |
52befddb | 25 | Patch3: %{name}-nopangoxft.patch |
52befddb | 26 | Patch5: %{name}-fonts.patch |
f37c2ce5 ER |
27 | # if ac rebuild is needed... |
28 | #PatchX: %{name}-ac.patch | |
5f561b4c | 29 | URL: http://www.mozilla.org/projects/firefox/ |
56cf7ebf | 30 | %{?with_gnome:BuildRequires: GConf2-devel >= 1.2.1} |
e933d2a8 | 31 | BuildRequires: automake |
56cf7ebf | 32 | BuildRequires: cairo-devel >= 1.0.0 |
75e09104 | 33 | %{?with_gnome:BuildRequires: gnome-vfs2-devel >= 2.0} |
af914259 | 34 | BuildRequires: gtk+2-devel >= 1:2.0.0 |
56cf7ebf | 35 | BuildRequires: heimdal-devel >= 0.7.1 |
8a88dcf7 | 36 | BuildRequires: libIDL-devel >= 0.8.0 |
56cf7ebf | 37 | %{?with_gnome:BuildRequires: libgnome-devel >= 2.0} |
38 | %{?with_gnome:BuildRequires: libgnomeui-devel >= 2.2.0} | |
ea721d92 | 39 | BuildRequires: libjpeg-devel >= 6b |
1dd3785b | 40 | BuildRequires: libpng-devel >= 1.2.7 |
ea721d92 | 41 | BuildRequires: libstdc++-devel |
f37c2ce5 ER |
42 | BuildRequires: nspr-devel >= 1:4.6.3 |
43 | BuildRequires: nss-devel >= 1:3.11.3-3 | |
56cf7ebf | 44 | BuildRequires: pango-devel >= 1:1.6.0 |
45 | BuildRequires: perl-modules >= 5.004 | |
1bb00684 | 46 | BuildRequires: pkgconfig |
4d9eecad | 47 | BuildRequires: rpmbuild(macros) >= 1.356 |
446ffaab JB |
48 | BuildRequires: xorg-lib-libXext-devel |
49 | BuildRequires: xorg-lib-libXft-devel >= 2.1 | |
50 | BuildRequires: xorg-lib-libXinerama-devel | |
51 | BuildRequires: xorg-lib-libXp-devel | |
de5abc0a | 52 | BuildRequires: xorg-lib-libXt-devel |
b0a3aa79 | 53 | BuildRequires: zip |
1dd3785b | 54 | BuildRequires: zlib-devel >= 1.2.3 |
f37c2ce5 | 55 | Requires(post): mktemp >= 1.5-18 |
ca6a7239 | 56 | Requires: %{name}-lang-resources = %{version} |
f37c2ce5 | 57 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} |
1408fb17 | 58 | Requires: browser-plugins >= 2.0 |
f37c2ce5 | 59 | Requires: nspr >= 1:4.6.3 |
1a285f98 | 60 | Requires: nss >= 1:3.11.3 |
0d52cac8 | 61 | Provides: wwwbrowser |
51c0f20a | 62 | Obsoletes: mozilla-firebird |
ea721d92 | 63 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
64 | ||
ca6a7239 | 65 | # mozilla and firefox provide their own versions |
f37c2ce5 | 66 | %define _noautoreqdep libgkgfx.so libgtkembedmoz.so libgtkxtbin.so libjsj.so libmozjs.so libxpcom.so libxpcom_compat.so libxpcom_core.so |
6162f349 | 67 | %define _noautoprovfiles %{_libdir}/%{name}/components |
c14d6140 | 68 | |
2de50ddb | 69 | %define specflags -fno-strict-aliasing -fno-tree-vrp -fno-stack-protector |
d3b02e37 | 70 | |
ea721d92 | 71 | %description |
52dbdf60 ER |
72 | Firefox Community Edition is an open-source web browser, designed for |
73 | standards compliance, performance and portability. | |
ea721d92 | 74 | |
eace6cdf JR |
75 | %description -l pl.UTF-8 |
76 | Firefox Community Edition jest open sourcową przeglądarką sieci WWW, | |
77 | stworzoną z myślą o zgodności ze standardami, wydajnością i | |
78 | przenośnością. | |
ea721d92 | 79 | |
f37c2ce5 | 80 | %package libs |
52dbdf60 | 81 | Summary: Firefox Community Edition shared libraries |
948d1385 | 82 | Summary(pl.UTF-8): Biblioteki współdzielone przeglądarki Firefox Community Edition |
f37c2ce5 | 83 | Group: Libraries |
7c40e3fe | 84 | Conflicts: mozilla-firefox < 2.0-1.4 |
f37c2ce5 ER |
85 | |
86 | %description libs | |
52dbdf60 | 87 | Firefox Community Edition shared libraries. |
f37c2ce5 | 88 | |
eace6cdf JR |
89 | %description libs -l pl.UTF-8 |
90 | Biblioteki współdzielone przeglądarki Firefox Community Edition. | |
7c40e3fe | 91 | |
cdbdbff1 | 92 | %package lang-en |
52dbdf60 | 93 | Summary: English resources for Firefox Community Edition |
948d1385 | 94 | Summary(pl.UTF-8): Anglojęzyczne zasoby dla przeglądarki Firefox Community Edition |
22a45100 | 95 | Group: X11/Applications/Networking |
ca6a7239 JB |
96 | Requires: %{name} = %{version}-%{release} |
97 | Provides: %{name}-lang-resources = %{version}-%{release} | |
cdbdbff1 | 98 | |
99 | %description lang-en | |
52dbdf60 | 100 | English resources for Firefox Community Edition. |
cdbdbff1 | 101 | |
eace6cdf JR |
102 | %description lang-en -l pl.UTF-8 |
103 | Anglojęzyczne zasoby dla przeglądarki Firefox Community Edition. | |
cdbdbff1 | 104 | |
ea721d92 | 105 | %prep |
56143477 ER |
106 | %setup -qc |
107 | cd mozilla | |
d541162e | 108 | %patch0 -p1 |
52befddb | 109 | %patch1 -p1 |
52befddb | 110 | %patch3 -p1 |
52befddb | 111 | %patch5 -p1 |
a4a42caf | 112 | |
52befddb | 113 | sed -i 's/\(-lgss\)\(\W\)/\1disable\2/' configure |
ea721d92 | 114 | |
f37c2ce5 ER |
115 | # use system |
116 | #rm -rf mozilla/nsprpub mozilla/security/nss | |
117 | ||
ea721d92 | 118 | %build |
56143477 | 119 | cd mozilla |
f37c2ce5 ER |
120 | export CFLAGS="%{rpmcflags} $(%{_bindir}/pkg-config mozilla-nspr --cflags-only-I)" |
121 | export CXXFLAGS="%{rpmcflags} $(%{_bindir}/pkg-config mozilla-nspr --cflags-only-I)" | |
52befddb | 122 | |
123 | cp -f %{_datadir}/automake/config.* build/autoconf | |
124 | cp -f %{_datadir}/automake/config.* nsprpub/build/autoconf | |
125 | cp -f %{_datadir}/automake/config.* directory/c-sdk/config/autoconf | |
126 | ||
52befddb | 127 | cat << 'EOF' > .mozconfig |
128 | . $topsrcdir/browser/config/mozconfig | |
129 | ||
f37c2ce5 | 130 | # Options for 'configure' (same as command-line options). |
52befddb | 131 | ac_add_options --prefix=%{_prefix} |
132 | ac_add_options --exec-prefix=%{_exec_prefix} | |
133 | ac_add_options --bindir=%{_bindir} | |
134 | ac_add_options --sbindir=%{_sbindir} | |
135 | ac_add_options --sysconfdir=%{_sysconfdir} | |
136 | ac_add_options --datadir=%{_datadir} | |
137 | ac_add_options --includedir=%{_includedir} | |
138 | ac_add_options --libdir=%{_libdir} | |
139 | ac_add_options --libexecdir=%{_libexecdir} | |
140 | ac_add_options --localstatedir=%{_localstatedir} | |
141 | ac_add_options --sharedstatedir=%{_sharedstatedir} | |
142 | ac_add_options --mandir=%{_mandir} | |
143 | ac_add_options --infodir=%{_infodir} | |
cf471ce5 | 144 | %if %{?debug:1}0 |
f37c2ce5 | 145 | ac_add_options --disable-optimize |
52befddb | 146 | ac_add_options --enable-debug |
147 | ac_add_options --enable-debug-modules | |
f37c2ce5 ER |
148 | ac_add_options --enable-debugger-info-modules |
149 | ac_add_options --enable-crash-on-assert | |
52befddb | 150 | %else |
151 | ac_add_options --disable-debug | |
f37c2ce5 ER |
152 | ac_add_options --disable-logging |
153 | ac_add_options --enable-optimize="%{rpmcflags}" | |
52befddb | 154 | %endif |
155 | %if %{with tests} | |
156 | ac_add_options --enable-tests | |
c4f9bb37 | 157 | %else |
52befddb | 158 | ac_add_options --disable-tests |
c4f9bb37 | 159 | %endif |
f37c2ce5 ER |
160 | %if %{with gnome} |
161 | ac_add_options --enable-gnomevfs | |
162 | ac_add_options --enable-gnomeui | |
163 | %else | |
164 | ac_add_options --disable-gnomevfs | |
165 | ac_add_options --disable-gnomeui | |
166 | %endif | |
52befddb | 167 | ac_add_options --disable-freetype2 |
168 | ac_add_options --disable-installer | |
f37c2ce5 ER |
169 | ac_add_options --disable-javaxpcom |
170 | ac_add_options --disable-updater | |
52befddb | 171 | ac_add_options --enable-default-toolkit=gtk2 |
164d575d | 172 | ac_add_options --enable-svg |
52befddb | 173 | ac_add_options --enable-system-cairo |
174 | ac_add_options --enable-xft | |
f37c2ce5 | 175 | ac_add_options --with-distribution-id=org.pld-linux |
52befddb | 176 | ac_add_options --with-system-nspr |
f37c2ce5 | 177 | ac_add_options --with-system-nss |
52befddb | 178 | ac_add_options --with-system-zlib |
f37c2ce5 ER |
179 | ac_add_options --with-system-jpeg |
180 | ac_add_options --with-system-png | |
6162f349 | 181 | ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name} |
52befddb | 182 | ac_cv_visibility_pragma=no |
183 | EOF | |
33f81726 | 184 | |
1698621e | 185 | %{__make} -j1 -f client.mk build \ |
3d445135 | 186 | CC="%{__cc}" \ |
33f81726 | 187 | CXX="%{__cxx}" |
ea721d92 | 188 | |
189 | %install | |
190 | rm -rf $RPM_BUILD_ROOT | |
56143477 | 191 | cd mozilla |
45f27404 | 192 | install -d \ |
f37c2ce5 | 193 | $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}} \ |
45f27404 | 194 | $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \ |
93639547 | 195 | $RPM_BUILD_ROOT%{_datadir}/%{name} |
75e09104 | 196 | |
6162f349 | 197 | %browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins |
4d9eecad | 198 | |
f37c2ce5 | 199 | %{__make} -C xpinstall/packager stage-package \ |
d541162e | 200 | DESTDIR=$RPM_BUILD_ROOT \ |
6162f349 | 201 | MOZ_PKG_APPDIR=%{_libdir}/%{name} \ |
f37c2ce5 | 202 | PKG_SKIP_STRIP=1 |
ea721d92 | 203 | |
f86547d4 ER |
204 | # move arch independant ones to datadir |
205 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/chrome | |
206 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults | |
207 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries $RPM_BUILD_ROOT%{_datadir}/%{name}/dictionaries | |
208 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/extensions $RPM_BUILD_ROOT%{_datadir}/%{name}/extensions | |
209 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs $RPM_BUILD_ROOT%{_datadir}/%{name}/greprefs | |
210 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/icons $RPM_BUILD_ROOT%{_datadir}/%{name}/icons | |
211 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/init.d $RPM_BUILD_ROOT%{_datadir}/%{name}/init.d | |
212 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/res $RPM_BUILD_ROOT%{_datadir}/%{name}/res | |
213 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins $RPM_BUILD_ROOT%{_datadir}/%{name}/searchplugins | |
214 | ln -s ../../share/%{name}/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome | |
215 | ln -s ../../share/%{name}/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults | |
216 | ln -s ../../share/%{name}/dictionaries $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries | |
217 | ln -s ../../share/%{name}/extensions $RPM_BUILD_ROOT%{_libdir}/%{name}/extensions | |
218 | ln -s ../../share/%{name}/greprefs $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs | |
219 | ln -s ../../share/%{name}/icons $RPM_BUILD_ROOT%{_libdir}/%{name}/icons | |
220 | ln -s ../../share/%{name}/init.d $RPM_BUILD_ROOT%{_libdir}/%{name}/init.d | |
221 | ln -s ../../share/%{name}/res $RPM_BUILD_ROOT%{_libdir}/%{name}/res | |
222 | ln -s ../../share/%{name}/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins | |
223 | ||
748e4db1 | 224 | sed 's,@LIBDIR@,%{_libdir},' %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox |
f37c2ce5 | 225 | ln -s mozilla-firefox $RPM_BUILD_ROOT%{_bindir}/firefox |
ea721d92 | 226 | |
f37c2ce5 | 227 | install browser/base/branding/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/mozilla-firefox.png |
ea721d92 | 228 | |
229 | install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir} | |
230 | ||
7c40e3fe | 231 | # header/development files |
93639547 ER |
232 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/xpidl |
233 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/xpt_dump | |
234 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/xpt_link | |
75e09104 | 235 | |
f37c2ce5 | 236 | # files created by regxpcom and firefox -register |
6162f349 ER |
237 | touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/compreg.dat |
238 | touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/xpti.dat | |
f37c2ce5 | 239 | |
f86547d4 ER |
240 | # what's this? it's content is invalid anyway. |
241 | rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list | |
242 | ||
f37c2ce5 | 243 | cat << 'EOF' > $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate |
6d77929c | 244 | #!/bin/sh |
050f03d2 | 245 | umask 022 |
6162f349 | 246 | rm -f %{_libdir}/%{name}/components/{compreg,xpti}.dat |
3eeab518 | 247 | |
f37c2ce5 ER |
248 | # it attempts to touch files in $HOME/.mozilla |
249 | # beware if you run this with sudo!!! | |
250 | export HOME=$(mktemp -d) | |
251 | # also TMPDIR could be pointing to sudo user's homedir | |
252 | unset TMPDIR TMP || : | |
3eeab518 | 253 | |
6162f349 ER |
254 | LD_LIBRARY_PATH=%{_libdir}/%{name}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} %{_libdir}/%{name}/regxpcom |
255 | %{_libdir}/%{name}/firefox -register | |
3eeab518 | 256 | |
56143477 | 257 | rm -rf $HOME |
6d77929c | 258 | EOF |
3eeab518 | 259 | |
6d77929c JB |
260 | %clean |
261 | rm -rf $RPM_BUILD_ROOT | |
3eeab518 | 262 | |
f86547d4 ER |
263 | %pre |
264 | for d in chrome defaults dictionaries extensions greprefs icons init.d res searchplugins; do | |
265 | if [ -d %{_libdir}/%{name}/$d ] && [ ! -L %{_libdir}/%{name}/$d ]; then | |
266 | install -d %{_datadir}/%{name} | |
267 | mv %{_libdir}/%{name}/$d %{_datadir}/%{name}/$d | |
268 | fi | |
269 | done | |
270 | exit 0 | |
271 | ||
6d77929c | 272 | %post |
f37c2ce5 | 273 | %{_sbindir}/%{name}-chrome+xpcom-generate |
4d9eecad ER |
274 | %update_browser_plugins |
275 | ||
276 | %postun | |
277 | if [ "$1" = 0 ]; then | |
278 | %update_browser_plugins | |
279 | fi | |
ea0245e6 | 280 | |
ea721d92 | 281 | %files |
282 | %defattr(644,root,root,755) | |
f37c2ce5 | 283 | %attr(755,root,root) %{_bindir}/%{name} |
fb0d8197 | 284 | %attr(755,root,root) %{_bindir}/firefox |
f37c2ce5 ER |
285 | %attr(755,root,root) %{_sbindir}/%{name}-chrome+xpcom-generate |
286 | ||
4d9eecad ER |
287 | # browser plugins v2 |
288 | %{_browserpluginsconfdir}/browsers.d/%{name}.* | |
289 | %config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist | |
290 | ||
6162f349 ER |
291 | %dir %{_libdir}/%{name}/components |
292 | %attr(755,root,root) %{_libdir}/%{name}/components/*.so | |
293 | %{_libdir}/%{name}/components/*.js | |
294 | %{_libdir}/%{name}/components/*.xpt | |
295 | %dir %{_libdir}/%{name}/plugins | |
296 | %attr(755,root,root) %{_libdir}/%{name}/plugins/*.so | |
6162f349 ER |
297 | %attr(755,root,root) %{_libdir}/%{name}/*.sh |
298 | %attr(755,root,root) %{_libdir}/%{name}/m* | |
299 | %attr(755,root,root) %{_libdir}/%{name}/f* | |
300 | %attr(755,root,root) %{_libdir}/%{name}/regxpcom | |
93639547 ER |
301 | %attr(755,root,root) %{_libdir}/%{name}/xpcshell |
302 | %attr(755,root,root) %{_libdir}/%{name}/xpicleanup | |
303 | %{_pixmapsdir}/mozilla-firefox.png | |
304 | %{_desktopdir}/mozilla-firefox.desktop | |
cdbdbff1 | 305 | |
f86547d4 ER |
306 | # symlinks |
307 | %{_libdir}/%{name}/chrome | |
308 | %{_libdir}/%{name}/defaults | |
309 | %{_libdir}/%{name}/dictionaries | |
310 | %{_libdir}/%{name}/extensions | |
311 | %{_libdir}/%{name}/greprefs | |
312 | %{_libdir}/%{name}/icons | |
313 | %{_libdir}/%{name}/init.d | |
314 | %{_libdir}/%{name}/res | |
315 | %{_libdir}/%{name}/searchplugins | |
f37c2ce5 ER |
316 | |
317 | # browserconfig | |
6162f349 | 318 | %{_libdir}/%{name}/browserconfig.properties |
f37c2ce5 | 319 | |
6162f349 ER |
320 | %{_libdir}/%{name}/LICENSE |
321 | %{_libdir}/%{name}/README.txt | |
f86547d4 ER |
322 | |
323 | %dir %{_datadir}/%{name} | |
324 | %{_datadir}/%{name}/chrome | |
325 | %{_datadir}/%{name}/defaults | |
326 | %{_datadir}/%{name}/dictionaries | |
327 | %{_datadir}/%{name}/greprefs | |
328 | %{_datadir}/%{name}/icons | |
329 | %{_datadir}/%{name}/init.d | |
330 | %{_datadir}/%{name}/res | |
331 | %{_datadir}/%{name}/searchplugins | |
332 | ||
333 | %dir %{_datadir}/%{name}/extensions | |
334 | # -dom-inspector subpackage? | |
335 | %{_datadir}/%{name}/extensions/inspector@mozilla.org | |
336 | # the signature of the default theme | |
337 | %{_datadir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} | |
f37c2ce5 ER |
338 | |
339 | # files created by regxpcom and firefox -register | |
6162f349 ER |
340 | %ghost %{_libdir}/%{name}/components/compreg.dat |
341 | %ghost %{_libdir}/%{name}/components/xpti.dat | |
f37c2ce5 ER |
342 | |
343 | %files libs | |
344 | %defattr(644,root,root,755) | |
6162f349 ER |
345 | %dir %{_libdir}/%{name} |
346 | %attr(755,root,root) %{_libdir}/%{name}/*.so | |
f37c2ce5 | 347 | |
cdbdbff1 | 348 | %files lang-en |
ecf01c4d | 349 | %defattr(644,root,root,755) |
f86547d4 ER |
350 | %{_datadir}/%{name}/chrome/en-US.jar |
351 | %{_datadir}/%{name}/chrome/en-US.manifest | |
f37c2ce5 | 352 | # probably should share these with all mozilla apps |
f86547d4 ER |
353 | %{_datadir}/%{name}/dictionaries/en-US.aff |
354 | %{_datadir}/%{name}/dictionaries/en-US.dic |