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

  ViewVC Help
Powered by ViewVC 1.1.30