/[packages]/cauldron/firefox/current/SPECS/firefox.spec
ViewVC logotype

Contents of /cauldron/firefox/current/SPECS/firefox.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 211783 - (show annotations) (download)
Wed Feb 22 00:14:56 2012 UTC (12 years, 2 months ago) by fwang
File size: 14020 byte(s)
turn to hunspell, bug#4437
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 # Stay on ESR for stable releases and for cauldron before mageia2 .
14 %define major 10.0.2
15 %define ff_epoch 0
16 # (tpg) set version HERE !!!
17 %define realver %{major}esr
18 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
19
20 # (tpg) MOZILLA_FIVE_HOME
21 %define mozillalibdir %{_libdir}/%{name}-%{major}
22 %define pluginsdir %{_libdir}/mozilla/plugins
23
24 # libxul.so is provided by libxulrunnner2.0.
25 %define _requires_exceptions libxul.so
26
27 # this seems fragile, so require the exact version or later (#58754)
28 %define sqlite3_version %(pkg-config --modversion sqlite3 &>/dev/null && pkg-config --modversion sqlite3 2>/dev/null || echo 0)
29 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
30 %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null || echo 0)
31
32 %define _use_syshunspell 1
33
34 %define release %mkrel 2
35
36 Summary: Next generation web browser
37 Name: firefox
38 Version: %{major}
39 Epoch: %{ff_epoch}
40 Release: %{release}
41 License: MPLv1+
42 Group: Networking/WWW
43 Url: http://www.mozilla.com/firefox/
44 %if 0%{?prel}
45 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
46 %else
47 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
48 %endif
49 Source4: %{name}.desktop
50 Source9: kde.js
51 Patch1: firefox-6.0-lang.patch
52 Patch2: firefox-vendor.patch
53 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
54 # (OpenSuse) add patch to make firefox always use /usr/bin/firefox when "make firefox
55 # the default web browser" is used fix mdv bug#58784
56 Patch5: firefox-6.0-appname.patch
57 Patch6: firefox-7.0-fix-str-fmt.patch
58 Patch7: mozilla-firefox-run-mozilla.patch
59 Patch8: firefox-disable-check-default-browser.patch
60 Patch10: firefox-3.5.3-default-mail-handler.patch
61 # Patches for kde integration of FF
62 Patch11: firefox-kde.patch
63 Patch12: mozilla-kde.patch
64 Patch34: xulrunner_nojit.patch
65 Patch35: firefox-5.0-asciidel.patch
66 BuildRequires: gtk+2-devel
67 BuildRequires: unzip
68 BuildRequires: zip
69 BuildRequires: libxinerama-devel
70 BuildRequires: libxscrnsaver-devel
71 BuildRequires: libjpeg-devel
72 BuildRequires: libpng-devel >= 2:1.4
73 BuildRequires: zlib-devel
74 BuildRequires: glib2-devel
75 BuildRequires: libIDL2-devel
76 BuildRequires: makedepend
77 BuildRequires: nss-devel >= 2:3.12.10
78 BuildRequires: nss-static-devel
79 BuildRequires: nspr-devel >= 2:4.8.9
80 BuildRequires: startup-notification-devel
81 BuildRequires: dbus-glib-devel
82 BuildRequires: python
83 BuildRequires: sqlite3-devel >= 3.7.7.1
84 %ifnarch %arm %mips
85 BuildRequires: valgrind
86 BuildRequires: java-rpmbuild
87 BuildRequires: yasm >= 1.0.1
88 %endif
89 %ifarch %arm
90 BuildRequires: libffi-devel
91 %endif
92 BuildRequires: rootcerts >= 1:20110830.00
93 BuildRequires: libxt-devel
94 %if %_use_syshunspell
95 BuildRequires: hunspell-devel
96 %endif
97 BuildRequires: doxygen
98 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
99 BuildRequires: pkgconfig(libproxy-1.0)
100 BuildRequires: pkgconfig(alsa)
101 BuildRequires: wget
102 BuildRequires: libnotify-devel
103 BuildRequires: cairo-devel >= 1.10
104 BuildRequires: mesagl-devel
105 BuildRequires: libvpx-devel
106 BuildRequires: autoconf2.1
107 BuildRequires: libiw-devel
108
109 %if 0%{?prel}
110 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
111 %else
112 Provides: %{name} = %{epoch}:%{realver}
113 %endif
114 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
115 Provides: webclient
116
117 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
118 Requires: %{mklibname nss 3} >= 2:%{nss_version}
119 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
120 Requires: indexhtml
121 Requires: xdg-utils
122 # fixes bug #42096
123 Requires: mailcap
124 Suggests: hunspell-en
125 Suggests: %{_lib}canberra0
126 Suggests: %{_lib}cups2
127 Obsoletes: firefox-ext-weave-sync
128 Obsoletes: firefox-beta < 11
129
130 %description
131 The award-winning Web browser is now faster, more secure, and fully customizable
132 to your online life. With Firefox(R), we've added powerful new features that
133 make your online experience even better. It is an 'open source' product which is
134 freely available, and is acquiring a growing proportion of international web
135 browser usage.
136
137 Firefox claims to offer a more secure web browsing experience than other products,
138 with better protection against spyware and other Internet-based security threats.
139 It includes all the standard features of a modern web browser, like Internet
140 searching, tracking recently visited sites, setting up shortcuts to favourite
141 sites, customising the software behaviour and so on. Firefox also includes
142 features like 'tabbed browsing' (opening several web sites as sections within the
143 same window) and methods for controlling pop-up windows, cookies and downloaded
144 files.
145
146 %package devel
147 Summary: Development files for %{name}
148 Group: Development/Other
149
150 %description devel
151 Files and macros mainly for building Firefox extensions.
152
153 %prep
154 %setup -qn mozilla-esr10
155 %patch1 -p1 -b .lang
156 %patch2 -p1 -b .vendor
157 #patch3 -p1 -b .systemproxy
158 %patch5 -p1 -b .appname
159 # It was disabled because firefox3 hangs when using soundwrapper
160 #patch7 -p1
161 %patch8 -p1 -b .disable-software-update
162 %patch10 -p1 -b .default-mail-handler
163 ## KDE INTEGRATION
164 # Disable kde integration , need refactoring
165 #%patch11 -p1 -b .kde
166 #%patch12 -p1 -b .kdemoz
167 # install kde.js
168 #install -m 644 %{SOURCE9} browser/app/profile/kde.js
169
170 %ifarch %arm
171 %if "%{_target_cpu}" != "armv7l"
172 %patch34 -p1
173 %endif
174 %endif
175 %patch35 -p1
176 pushd js/src
177 autoconf-2.13
178 popd
179 autoconf-2.13
180
181 # needed to regenerate certdata.c
182 pushd security/nss/lib/ckfw/builtins
183 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
184 popd
185
186 %build
187 export MOZCONFIG=`pwd`/mozconfig
188 cat << EOF > $MOZCONFIG
189 mk_add_options MOZILLA_OFFICIAL=1
190 mk_add_options BUILD_OFFICIAL=1
191 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
192 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
193 ac_add_options --host=%{_host}
194 ac_add_options --target=%{_target_platform}
195 ac_add_options --enable-optimize="%{optflags}"
196 ac_add_options --prefix="%{_prefix}"
197 ac_add_options --libdir="%{_libdir}"
198 ac_add_options --sysconfdir="%{_sysconfdir}"
199 ac_add_options --mandir="%{_mandir}"
200 ac_add_options --includedir="%{_includedir}"
201 ac_add_options --datadir="%{_datadir}"
202 ac_add_options --with-system-nspr
203 ac_add_options --with-system-nss
204 ac_add_options --with-system-zlib
205 ac_add_options --with-system-libvpx
206 ac_add_options --enable-webm
207 ac_add_options --enable-gio
208 ac_add_options --disable-gnomevfs
209 ac_add_options --disable-installer
210 ac_add_options --disable-updater
211 ac_add_options --disable-tests
212 ac_add_options --disable-debug
213 #ac_add_options --enable-chrome-format=jar
214 #ac_add_options --enable-update-channel=beta
215 ac_add_options --enable-official-branding
216 ac_add_options --enable-libproxy
217 ac_add_options --with-system-png
218 ac_add_options --with-system-jpeg
219 ac_add_options --enable-system-cairo
220 ac_add_options --enable-system-sqlite
221 ac_add_options --enable-startup-notification
222 ac_add_options --enable-xinerama
223 ac_add_options --with-distribution-id=org.mageia
224 ac_add_options --disable-crashreporter
225 %ifarch %arm
226 %if "%{_target_cpu}" != "armv7l"
227 ac_add_options --disable-methodjit
228 ac_add_options --disable-tracejit
229 %endif
230 ac_add_options --enable-system-ffi
231 %endif
232 %ifnarch %arm %mips
233 ac_add_options --with-valgrind
234 ac_add_options --with-java-include-path=%{java_home}/include
235 ac_add_options --with-java-bin-path=%{java_home}/bin
236 %endif
237
238 EOF
239
240 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
241
242 export LDFLAGS="%ldflags"
243 make -f client.mk build
244
245 %install
246 rm -rf %{buildroot}
247
248 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
249
250 # Copy files to buildroot
251 %{__mkdir_p} %{buildroot}%{mozillalibdir}
252 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
253
254 %{__mkdir_p} %{buildroot}%{_bindir}
255 ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
256 pushd %{buildroot}%{_bindir}
257 ln -sf firefox mozilla-firefox
258 popd
259
260 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
261 %{__mkdir_p} %{buildroot}%{pluginsdir}
262 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
263 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
264
265 # (tpg) desktop entry
266 %{__mkdir_p} %{buildroot}%{_datadir}/applications
267 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
268
269 # (tpg) icons
270 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
271 for i in 16 22 24 32 48 256; do
272 # (cg) Not all icon sizes are installed with make install, so just redo it here.
273 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
274 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
275 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
276 done
277 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
278 ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
279 ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
280 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
281
282 # exclusions
283 rm -f %{buildroot}%{mozillalibdir}/README.txt
284 rm -f %{buildroot}%{mozillalibdir}/removed-files
285 rm -f %{buildroot}%{mozillalibdir}/precomplete
286
287 # this file is only used when creating a new user profile
288 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
289 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
290 user_pref("browser.EULA.override", true);
291 user_pref("browser.shell.checkDefaultBrowser", false);
292 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
293 user_pref("app.update.auto", false);
294 user_pref("app.update.enabled", false);
295 user_pref("app.update.autoInstallEnabled", false);
296 user_pref("browser.showQuitWarning", true);
297 EOF
298
299 # files in this directory are read on every startup, and can change/add
300 # preferences for existing profiles
301 # extensions.autoDisableScopes is a new preference added in firefox 8
302 # it defines "scopes" where newly installed addons are disabled by default
303 # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
304 # we need to remove system scope (8) from it so language packs and other addons
305 # which are installed systemwide won't get marked as 3rd party and disabled
306 # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
307 # or in toolkit/mozapps/extensions/AddonManager.jsm
308 # we also need to disable the "disable addon selection dialog"
309 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/pref/mga.js
310 pref("extensions.autoDisableScopes", 0);
311 pref("extensions.shownSelectionUI", true);
312 EOF
313
314 # (ahmad) these ones belonged in prefs.js (see above), remove them until it's
315 # decided what search engines to ship by default
316 #user_pref("browser.search.selectedEngine","Ask.com");
317 #user_pref("browser.search.order.1","Ask.com");
318 #user_pref("browser.search.order.2","Exalead");
319 #user_pref("browser.search.order.3","Google");
320 #user_pref("browser.search.order.4","Yahoo");
321
322 # (ahmad) don't install these until it's decided what search engines to ship by
323 # default
324 # search engines
325 #cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
326 #cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
327 #cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
328
329 #sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
330 #sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
331
332 # use the system myspell dictionaries
333 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
334 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
335
336 # (lm) touch and %ghost bookmarks.html to a proper uninstall
337 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
338
339 %find_lang %{name}
340
341 mkdir -p %{buildroot}%{_sys_macros_dir}
342 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
343 # Macros from %{name} package
344 %%firefox_major %{major}
345 %%firefox_epoch %{ff_epoch}
346 %%firefox_version %{realver}%{?prel:-0.%prel}
347 %%firefox_mozillapath %{mozillalibdir}
348 %%firefox_pluginsdir %{pluginsdir}
349 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
350 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
351 FIN
352
353 %pre
354 if [ -d %{mozillalibdir}/dictionaries ]; then
355 rm -fr %{mozillalibdir}/dictionaries
356 fi
357
358 %post
359 if [ ! -r /etc/sysconfig/oem ]; then
360 case `grep META_CLASS /etc/sysconfig/system` in
361 *powerpack) bookmark="mozilla-powerpack.html" ;;
362 *desktop) bookmark="mozilla-one.html";;
363 *) bookmark="mozilla-download.html";;
364 esac
365 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
366 fi
367
368 %files -f %{name}.lang
369 %{_bindir}/%{name}
370 %{_bindir}/mozilla-firefox
371 %{_iconsdir}/hicolor/*/apps/*.png
372 %{_miconsdir}/%{name}.png
373 %{_iconsdir}/%{name}.png
374 %{_liconsdir}/%{name}.png
375 %{_datadir}/applications/*.desktop
376 %{_libdir}/%{name}-%{major}*
377 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
378 %dir %{_libdir}/mozilla
379 %dir %{pluginsdir}
380 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
381 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
382
383 %files devel
384 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30