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

  ViewVC Help
Powered by ViewVC 1.1.30