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

  ViewVC Help
Powered by ViewVC 1.1.30