/[packages]/updates/1/firefox/current/SPECS/firefox.spec
ViewVC logotype

Contents of /updates/1/firefox/current/SPECS/firefox.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 20612 - (show annotations) (download)
Sun Jan 16 22:32:37 2011 UTC (13 years, 3 months ago) by blino
Original Path: cauldron/firefox/current/SPECS/firefox.spec
File size: 15724 byte(s)
imported package firefox
1 #
2 # WARNING, READ FIRST:
3 #
4 # PLEASE svn cp SOURCES FROM xulrunner SOURCES INSTEAD
5 # OF COMMITING AGAIN THE TARBALL
6 #
7 # This is a special package that needs special treatment. Due to the amount of
8 # security updates it needs, it's common to ship new upstream versions instead of patching.
9 # That means this package MUST be BUILDABLE for stable official releases.
10 # This also means only STABLE upstream releases, NO betas.
11 # This is a discussed topic. Please, do not flame it again.
12
13 %define major 4
14 %define ff_epoch 0
15 # (tpg) set version HERE !!!
16 %define realver %{major}.0
17 %define prel b8
18 %define xulrunner_version 2.0
19 # (tpg) MOZILLA_FIVE_HOME
20 %define mozillalibdir %{_libdir}/%{name}-%{realver}%{?prel}
21 %define pluginsdir %{_libdir}/mozilla/plugins
22
23 # libxul.so is provided by libxulrunnner2.0.
24 %define _requires_exceptions libxul.so
25
26 # this seems fragile, so require the exact version or later (#58754)
27 %define sqlite3_version %(pkg-config --modversion sqlite3 &>/dev/null && pkg-config --modversion sqlite3 2>/dev/null || echo 0)
28
29 %if %mdkversion >= 200900
30 %define _use_syshunspell 1
31 %else
32 %define _use_syshunspell 0
33 %endif
34
35 %if %mandriva_branch == Cooker
36 # Cooker
37 %define release %mkrel -c %prel 1
38 %else
39 # Old distros
40 %define subrel 1
41 %define release %mkrel 0
42 %endif
43
44 Summary: Next generation web browser
45 Name: firefox
46 Version: %{realver}
47 Epoch: %{ff_epoch}
48 Release: %{release}
49 License: MPLv1+
50 Group: Networking/WWW
51 Url: http://www.mozilla.org/
52 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
53 Source1: %{SOURCE0}.asc
54 Source4: %{name}.desktop
55 Source5: firefox-searchengines-jamendo.xml
56 Source6: firefox-searchengines-exalead.xml
57 Source7: firefox-rebuild-databases.pl.in.generatechrome
58 Source8: firefox-searchengines-askcom.xml
59 Source9: kde.js
60 Patch1: mozilla-firefox-3.0.5-lang.patch
61 Patch2: mozilla-firefox-3.0.5-vendor.patch
62 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
63 Patch5: firefox-3.0b3-check-default-browser.patch
64 Patch6: mozilla-firefox-run-mozilla.patch
65 Patch14: mozilla-firefox-1.5-software-update.patch
66 #Patch15: firefox-3.0.1-disable-classic-theme.patch
67 Patch16: firefox-3.5.3-default-mail-handler.patch
68 Patch17: firefox-kde.patch
69 # (OpenSuse) add patch to make firefox always use /usr/bin/firefox when "make firefox
70 # the default web browser" is used fix mdv bug#58784
71 Patch18: firefox-3.6.3-appname.patch
72 BuildRequires: gtk+2-devel
73 BuildRequires: libx11-devel
74 BuildRequires: unzip
75 BuildRequires: zip
76 #(tpg) older versions doesn't support apng extension
77 %if %mdkversion >= 200900
78 BuildRequires: libpng-devel >= 1.2.25-2
79 %endif
80 BuildRequires: libjpeg-devel
81 BuildRequires: zlib-devel
82 BuildRequires: glib2-devel
83 BuildRequires: libIDL2-devel
84 BuildRequires: makedepend
85 BuildRequires: nss-devel >= 2:3.12.7
86 BuildRequires: nspr-devel >= 2:4.8.7
87 BuildRequires: startup-notification-devel
88 BuildRequires: dbus-glib-devel
89 BuildRequires: python
90 # (fhimpe) Starting from Firefox 3.0.1, at least sqlite 3.5.9 is needed
91 # so only use system sqlite on Mandriva >= 2009.0
92 # (eugeni) Starting from Firefox 3.0.11, at least sqlite 3.6.7 is required
93 %if %mdkversion >= 200800
94 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
95 # (tpg) older releases does not have SQLITE_ENABLE_UNLOCK_NOTIFY enabled
96 BuildRequires: libsqlite3-devel >= 3.7.0.1-2
97 %endif
98 BuildRequires: valgrind
99 BuildRequires: rootcerts
100 BuildRequires: libxt-devel
101 %if %_use_syshunspell
102 BuildRequires: hunspell-devel
103 %endif
104 BuildRequires: doxygen
105 BuildRequires: libgnome-vfs2-devel
106 BuildRequires: libgnome2-devel
107 BuildRequires: libgnomeui2-devel
108 %if %mdkversion >= 200900
109 BuildRequires: java-rpmbuild
110 %endif
111 %if %mdkversion < 200900
112 BuildRequires: java-1.5.0-devel
113 %endif
114 BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
115 BuildRequires: wget
116 BuildRequires: libnotify-devel
117 %if %mdkversion >= 201000
118 BuildRequires: cairo-devel >= 1.8.8
119 %endif
120 BuildRequires: yasm
121 BuildRequires: mesagl-devel
122 %if %{prel}
123 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
124 %endif
125 Provides: webclient
126 Requires: indexhtml
127 Requires: xdg-utils
128 %define ff_deps myspell-en_US nspluginwrapper
129 %if %mdkversion >= 200810
130 Suggests: %{ff_deps}
131 %else
132 Requires: %{ff_deps}
133 %endif
134 Requires(post): desktop-file-utils
135 Requires(postun): desktop-file-utils
136 # fixes bug #42096
137 Requires: mailcap
138 # ff3 now provides /usr/bin/firefox and mozilla-firefox
139 Conflicts: mozilla-firefox < 2.0.0.16-2
140 Obsoletes: mozilla-firefox-gnome-support
141 Obsoletes: mozilla-firefox < 3.0
142 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
143 Obsoletes: mozilla-firefox-theme-gnome
144 Obsoletes: mozilla-firefox-theme-kdeff <= 0.4
145 # since 3.0.1-2 we do not have ff libification anymore
146 Obsoletes: %{mklibname firefox 3} < 3.0.1-2
147 # (salem) while we dont have a better solution, we need to obsolete them all
148 Obsoletes: %mklibname mozilla-firefox 2.0.0.1
149 Obsoletes: %mklibname mozilla-firefox 2.0.0.3
150 Obsoletes: %mklibname mozilla-firefox 2.0.0.4
151 Obsoletes: %mklibname mozilla-firefox 2.0.0.6
152 Obsoletes: %mklibname mozilla-firefox 2.0.0.8
153 Obsoletes: %mklibname mozilla-firefox 2.0.0.11
154 Obsoletes: %mklibname mozilla-firefox 2.0.0.12
155 Obsoletes: %mklibname mozilla-firefox 2.0.0.13
156 Obsoletes: %mklibname mozilla-firefox 2.0.0.14
157 Obsoletes: %mklibname mozilla-firefox 2.0.0.15
158 Obsoletes: %mklibname mozilla-firefox 2.0.0.16
159 Obsoletes: %mklibname mozilla-firefox 2.0.0.17
160 Obsoletes: %mklibname mozilla-firefox 2.0.0.18
161 Obsoletes: %mklibname mozilla-firefox 2.0.0.19
162 Requires: xulrunner >= %{xulrunner_version}%{?prel:-0.%prel}
163 Requires: %{mklibname xulrunner %xulrunner_version}
164 BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
165
166 %description
167 The award-winning Web browser is now faster, more secure, and fully customizable
168 to your online life. With Firefox(R) 3, we've added powerful new features that
169 make your online experience even better. It is an 'open source' product which is
170 freely available, and is acquiring a growing proportion of international web
171 browser usage.
172
173 Firefox claims to offer a more secure web browsing experience than other products,
174 with better protection against spyware and other Internet-based security threats.
175 It includes all the standard features of a modern web browser, like Internet
176 searching, tracking recently visited sites, setting up shortcuts to favourite
177 sites, customising the software behaviour and so on. Firefox also includes
178 features like 'tabbed browsing' (opening several web sites as sections within the
179 same window) and methods for controlling pop-up windows, cookies and downloaded
180 files.
181
182 %package devel
183 Summary: Development files for %{name}
184 Group: Development/Other
185
186 %description devel
187 Files and macros mainly for building Firefox extensions.
188
189 %prep
190 %setup -qn mozilla-central
191 #%patch1 -p1 -b .lang rediff
192 %patch2 -p1 -b .vendor
193 # Temporary disabled. It prevents firefox from running.
194 #%patch3 -p1
195 %patch5 -p1 -b .defaultbrowser
196 # It was disabled because firefox3 hangs when using soundwrapper
197 #%patch6 -p1
198 #%patch14 -p1 -b .disable-software-update rediff
199 # (salem) this patch does not work properly on ff3.
200 #%patch15 -p1 -b .disable-classic-theme
201 %patch16 -p1 -b .default-mail-handler
202 ## KDE INTEGRATION
203 # copy current files and patch them later to keep them in sync
204 #%patch17 -p1
205 # install kde.js
206 install -m 644 %{SOURCE9} browser/app/profile/kde.js
207 %patch18 -p1 -b .appname
208 # (tpg) remove ff bookmarks, use mdv ones
209 rm -rf browser/locales/en-US/profile/bookmarks.html
210 touch browser/locales/en-US/profile/bookmarks.html
211
212 # needed to regenerate certdata.c
213 pushd security/nss/lib/ckfw/builtins
214 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
215 popd
216
217 %build
218 %if %mdkversion >= 200900
219 %setup_compile_flags
220 %else
221 CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ;
222 CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ;
223 FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ;
224 %endif
225 %serverbuild
226 export PREFIX="%{_prefix}"
227 export LIBDIR="%{_libdir}"
228 export MOZILLA_OFFICIAL=1
229 export BUILD_OFFICIAL=1
230
231 # (tpg) don't use macro here
232 # (fhimpe) javaxpcom does not build correctly with xulrunner (is it
233 # actually needed/useful here when enabled already in xulrunner?)
234 # https://bugzilla.mozilla.org/show_bug.cgi?id=448386
235 ./configure --build=%{_target_platform} \
236 --prefix=%{_prefix} \
237 --bindir=%{_bindir} \
238 --libdir=%{_libdir} \
239 --includedir=%{_includedir} \
240 --datadir=%{_datadir} \
241 --enable-application=browser \
242 --with-pthreads \
243 --with-system-jpeg \
244 --with-system-zlib \
245 --with-system-bz2 \
246 %if %mdkversion >= 200900
247 --enable-system-png \
248 %else
249 --disable-system-png \
250 %endif
251 --with-system-nspr \
252 --without-system-nss \
253 --disable-ldap \
254 --disable-calendar \
255 --disable-mailnews \
256 --disable-chatzilla \
257 --disable-composer \
258 --disable-profilesharing \
259 --disable-toolkit-qt \
260 --disable-installer \
261 --disable-updater \
262 --disable-debug \
263 --disable-pedantic \
264 --disable-native-uconv \
265 --disable-elf-dynstr-gc \
266 --disable-crashreporter \
267 --disable-strip \
268 --enable-crypto \
269 --enable-gnomevfs \
270 --enable-gnomeui \
271 --enable-places \
272 --enable-storage \
273 --enable-default-toolkit=cairo-gtk2 \
274 --enable-official-branding \
275 --enable-svg \
276 --enable-svg-renderer=cairo \
277 --enable-single-profile \
278 --enable-startup-notification \
279 %if %mdkversion >= 201000
280 --enable-system-cairo \
281 %else
282 --disable-system-cairo \
283 %endif
284 --disable-javaxpcom \
285 --enable-optimize \
286 --enable-safe-browsing \
287 --enable-xinerama \
288 --enable-canvas \
289 --enable-pango \
290 --enable-xtf \
291 --enable-wave \
292 --enable-webm \
293 --enable-ogg \
294 --enable-xpcom-fastload \
295 --enable-gio \
296 --enable-dbus \
297 --enable-image-encoder=all \
298 --enable-image-decoders=all \
299 --enable-extensions=default \
300 %if %_use_syshunspell
301 --enable-system-hunspell \
302 %endif
303 --enable-install-strip \
304 --enable-url-classifier \
305 --disable-faststart \
306 --enable-smil \
307 --disable-tree-freetype \
308 --enable-canvas3d \
309 --disable-coretext \
310 --enable-necko-protocols=all \
311 --disable-necko-wifi \
312 --disable-tests \
313 --disable-mochitest \
314 --with-distribution-id=com.mandriva \
315 --with-valgrind \
316 --enable-jemalloc \
317 %if %mdkversion >= 200800
318 --enable-system-sqlite \
319 %else
320 --disable-system-sqlite \
321 %endif
322 --with-system-libxul \
323 --with-libxul-sdk=`pkg-config --variable=sdkdir libxul` \
324 --with-java-include-path=%{java_home}/include \
325 --with-java-bin-path=%{java_home}/bin \
326 --with-default-mozilla-five-home="%{mozillalibdir}"
327
328 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
329
330 %make
331
332 %install
333 [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
334
335 %makeinstall_std
336
337 ln -s firefox %{buildroot}%{_bindir}/mozilla-firefox
338 sed -i "s,@LIBDIR@,%{_libdir}," %{buildroot}%{mozillalibdir}/%{name}
339
340 # Create an own %_libdir/mozilla/plugins
341 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/plugins
342
343 # (tpg) desktop entry
344 %{__mkdir_p} %{buildroot}%{_datadir}/applications
345 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
346
347 # (tpg) icons
348 %{__cp} other-licenses/branding/%{name}/default16.png %{buildroot}/%{mozillalibdir}/icons/
349 for i in 16 22 24 32 48 256; do
350 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
351 %{__cp} other-licenses/branding/%{name}/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/firefox.png ;
352 done
353
354 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
355 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
356 user_pref("browser.search.selectedEngine","Ask.com");
357 user_pref("browser.search.order.1","Ask.com");
358 user_pref("browser.search.order.2","Exalead");
359 user_pref("browser.search.order.3","Google");
360 user_pref("browser.search.order.4","Yahoo");
361 user_pref("browser.EULA.override", true);
362 user_pref("browser.shell.checkDefaultBrowser", false);
363 user_pref("browser.startup.homepage", "file:///usr/share/doc/HTML/index.html");
364 user_pref("browser.ctrlTab.previews", true);
365 user_pref("browser.tabs.insertRelatedAfterCurrent", false);
366 user_pref("app.update.auto", false);
367 user_pref("app.update.enabled", false);
368 user_pref("app.update.autoInstallEnabled", false);
369 user_pref("security.ssl.require_safe_negotiation", false);
370 user_pref("browser.startup.homepage","file:///usr/share/doc/HTML/index.html");
371 EOF
372
373 # search engines
374 cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
375 cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
376 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
377
378 %if %mdkversion == 200900
379 sed -i 's/@DISTRO_VALUE@/101490/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
380 sed -i 's/@DISTRO_VALUE@/MDV20090/' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
381 %else
382 %if %mdkversion == 200810
383 sed -i 's/@DISTRO_VALUE@/1681/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
384 sed -i 's/@DISTRO_VALUE@/MDV20081/' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
385 %else
386 %if %mdkversion == 200800
387 sed -i 's/@DISTRO_VALUE@/1680/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
388 sed -i 's/@DISTRO_VALUE@/MDV20080/' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
389 %else
390 %if %mdkversion == 200710
391 sed -i 's/@DISTRO_VALUE@/1655/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
392 sed -i 's/@DISTRO_VALUE@/MDV20071/' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
393 %else
394 %if %mdkversion == 200700
395 sed -i 's/@DISTRO_VALUE@/101489/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
396 sed -i 's/@DISTRO_VALUE@/MDV20070/' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
397 %else
398 %if %mdkversion == 300
399 sed -i 's/@DISTRO_VALUE@/101471/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
400 sed -i 's/@DISTRO_VALUE@/MDVCorp/' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
401 %else
402 # default
403 sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
404 sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
405 %endif #corp
406 %endif #200700
407 %endif #200710
408 %endif #200800
409 %endif #200810
410 %endif #200900
411
412 #ghost files
413 touch %{buildroot}%{mozillalibdir}/components/compreg.dat
414 touch %{buildroot}%{mozillalibdir}/components/xpti.dat
415
416 # firefox update tool
417 cat %{SOURCE7} |\
418 sed -e "s|FIREFOX_VERSION|%{realver}|g;s|LIBDIR|%{_libdir}|g"\
419 > %{buildroot}%{mozillalibdir}/firefox-rebuild-databases.pl
420 chmod 755 %{buildroot}%{mozillalibdir}/firefox-rebuild-databases.pl
421
422 %find_lang %{name}
423
424 mkdir -p %{buildroot}%{_sys_macros_dir}
425 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
426 # Macros from %{name} package
427 %%firefox_major %{major}
428 %%firefox_epoch %{ff_epoch}
429 %%firefox_version %{realver}%{?prel:-0.%prel}
430 %%firefox_mozillapath %{mozillalibdir}
431 %%firefox_xulrunner_version %{xulrunner_version}
432 %%firefox_pluginsdir %{pluginsdir}
433 FIN
434
435 %post
436 %if %mdkversion < 200900
437 %{update_menus}
438 %{update_desktop_database}
439 %endif
440 unset DISPLAY
441 %{mozillalibdir}/firefox-rebuild-databases.pl
442 if [ ! -r /etc/sysconfig/oem ]; then
443 case `grep META_CLASS /etc/sysconfig/system` in
444 *powerpack) bookmark="mozilla-powerpack.html" ;;
445 *desktop) bookmark="mozilla-one.html";;
446 *) bookmark="mozilla-download.html";;
447 esac
448 ln -s -f ../../../../share/mdk/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
449 fi
450
451 %if %mdkversion < 200900
452 %postun
453 %{clean_menus}
454 %{clean_desktop_database}
455 %endif
456
457 %clean
458 [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
459
460 %files -f %{name}.lang
461 %defattr(-,root,root)
462 %{_bindir}/%{name}
463 %{_bindir}/mozilla-firefox
464 %{_iconsdir}/hicolor/*/apps/*.png
465 %ghost %{mozillalibdir}/components/compreg.dat
466 %ghost %{mozillalibdir}/components/xpti.dat
467 %{_datadir}/applications/*.desktop
468 %{_libdir}/%{name}-%{realver}*
469 %dir %{_libdir}/mozilla
470 %dir %{pluginsdir}
471
472 %files devel
473 %{_sys_macros_dir}/%{name}.macros
474
475

  ViewVC Help
Powered by ViewVC 1.1.30