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