/[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 390682 - (show annotations) (download)
Tue Jan 22 00:02:48 2013 UTC (11 years, 3 months ago) by luigiwalser
File size: 15301 byte(s)
new version 10.0.12esr
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.
14 %define major 10.0.12
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 Summary: Next generation web browser
35 Name: firefox
36 Version: %{major}
37 Epoch: %{ff_epoch}
38 Release: %mkrel 1
39 License: MPLv1+
40 Group: Networking/WWW
41 Url: http://www.mozilla.com/firefox/
42 %if 0%{?prel}
43 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
44 %else
45 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
46 %endif
47 Source4: %{name}.desktop
48 Source9: kde.js
49
50 Patch1: firefox-6.0-lang.patch
51 Patch2: firefox-vendor.patch
52 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
53 Patch4: firefox-10.0-nss-binary.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 Patch7: mozilla-firefox-run-mozilla.patch
58 Patch8: firefox-disable-check-default-browser.patch
59 Patch10: firefox-3.5.3-default-mail-handler.patch
60 # Patches for kde integration of FF
61 Patch11: firefox-kde.patch
62 Patch12: mozilla-kde.patch
63
64 Patch20: firefox-10.0-nspr-version.patch
65 Patch21: firefox-10.0-nss-version.patch
66
67 # patch from https://bugzilla.mozilla.org/show_bug.cgi?id=551138
68 # we'll have to use system libffi on arm because moz folks are using
69 # vfp asm which doesn't exist on non-cortex platforms
70 # src/arm/sysv.S: Assembler messages:
71 # src/arm/sysv.S:266: Error: selected processor does not support ARM mode `flddle d0,[ip]'
72 # src/arm/sysv.S:267: Error: selected processor does not support ARM mode `fldmiadgt ip,{d0-d7}'
73 # src/arm/sysv.S:307: Error: selected processor does not support ARM mode `fstseq s0,[r2]'
74 # src/arm/sysv.S:311: Error: selected processor does not support ARM mode `fstdeq d0,[r2]'
75 # src/arm/sysv.S:316: Error: selected processor does not support ARM mode `fstmiadeq r2,{d0-d3}'
76 # src/arm/sysv.S:400: Error: selected processor does not support ARM mode `fstmfdd sp!,{d0-d7}'
77 # src/arm/sysv.S:438: Error: selected processor does not support ARM mode `flds s0,[sp]'
78 # src/arm/sysv.S:441: Error: selected processor does not support ARM mode `fldd d0,[sp]'
79 # src/arm/sysv.S:450: Error: selected processor does not support ARM mode `fldmiad sp,{d0-d1}'
80 # src/arm/sysv.S:453: Error: selected processor does not support ARM mode `fldmiad sp,{d0-d3}'
81 Patch34: xulrunner_nojit.patch
82 Patch35: firefox-5.0-asciidel.patch
83
84 BuildRequires: gtk+2-devel
85 BuildRequires: unzip
86 BuildRequires: zip
87 BuildRequires: libxinerama-devel
88 BuildRequires: libjpeg-devel
89 BuildRequires: zlib-devel
90 BuildRequires: glib2-devel
91 BuildRequires: libIDL2-devel
92 BuildRequires: makedepend
93 BuildRequires: nss-devel >= 2:3.13.1
94 BuildRequires: nss-static-devel
95 BuildRequires: nspr-devel >= 2:4.8.7
96 BuildRequires: startup-notification-devel
97 BuildRequires: dbus-glib-devel
98 BuildRequires: python
99 BuildRequires: libsqlite3-devel >= 3.7.7.1
100 %ifnarch %arm %mips
101 BuildRequires: valgrind
102 BuildRequires: java-rpmbuild
103 BuildRequires: yasm >= 1.0.1
104 %endif
105 %ifarch %arm
106 BuildRequires: libffi-devel
107 %endif
108 BuildRequires: rootcerts >= 1:20110902.00
109 BuildRequires: libxt-devel
110 %if %_use_syshunspell
111 BuildRequires: hunspell-devel
112 %endif
113 BuildRequires: doxygen
114 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
115 BuildRequires: pkgconfig(libproxy-1.0)
116 BuildRequires: pkgconfig(alsa)
117 BuildRequires: wget
118 BuildRequires: libnotify-devel
119 BuildRequires: cairo-devel >= 1.10
120 BuildRequires: mesagl-devel
121 BuildRequires: libvpx-devel
122 BuildRequires: autoconf2.1
123 BuildRequires: libiw-devel
124
125 %if 0%{?prel}
126 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
127 %else
128 Provides: %{name} = %{epoch}:%{realver}
129 %endif
130 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
131 Provides: webclient
132
133 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
134 Requires: %{mklibname nss 3} >= 2:%{nss_version}
135 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
136 Requires: indexhtml
137 Requires: xdg-utils
138 # fixes bug #42096
139 Requires: mailcap
140 Suggests: myspell-en_US
141 %ifarch x86_64
142 Suggests: nspluginwrapper
143 %endif
144 Suggests: %{_lib}canberra0
145 Suggests: %{_lib}cups2
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-esr10
173 %patch1 -p1 -b .lang
174 %patch2 -p1 -b .vendor
175 #patch3 -p1 -b .systemproxy
176 %patch4 -p0 -b .nss
177 %patch5 -p1 -b .appname
178 # It was disabled because firefox3 hangs when using soundwrapper
179 #patch7 -p1
180 %patch8 -p1 -b .disable-software-update
181 %patch10 -p1 -b .default-mail-handler
182 ## KDE INTEGRATION
183 # copy current files and patch them later to keep them in sync
184 # Disable kde integration , need refactoring
185 #%patch11 -p1 -b .kde
186 #%patch12 -p1 -b .kdemoz
187 # install kde.js
188 install -m 644 %{SOURCE9} browser/app/profile/kde.js
189
190 %patch20 -p1 -b .nspr-version
191 %patch21 -p1 -b .nss-version
192
193 %ifarch %arm
194 %if "%{_target_cpu}" != "armv7l"
195 %patch34 -p1
196 %endif
197 %endif
198 %patch35 -p1
199 pushd js/src
200 autoconf-2.13
201 popd
202 autoconf-2.13
203
204 # needed to regenerate certdata.c
205 pushd security/nss/lib/ckfw/builtins
206 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
207 popd
208
209 %build
210 export MOZCONFIG=`pwd`/mozconfig
211 cat << EOF > $MOZCONFIG
212 mk_add_options MOZILLA_OFFICIAL=1
213 mk_add_options BUILD_OFFICIAL=1
214 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
215 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
216 ac_add_options --host=%{_host}
217 ac_add_options --target=%{_target_platform}
218 ac_add_options --enable-optimize="%{optflags}"
219 ac_add_options --prefix="%{_prefix}"
220 ac_add_options --libdir="%{_libdir}"
221 ac_add_options --sysconfdir="%{_sysconfdir}"
222 ac_add_options --mandir="%{_mandir}"
223 ac_add_options --includedir="%{_includedir}"
224 ac_add_options --datadir="%{_datadir}"
225 ac_add_options --with-system-nspr
226 ac_add_options --with-system-nss
227 ac_add_options --with-system-zlib
228 ac_add_options --with-system-libvpx
229 ac_add_options --enable-webm
230 ac_add_options --enable-gio
231 ac_add_options --disable-gnomevfs
232 ac_add_options --disable-installer
233 ac_add_options --disable-updater
234 ac_add_options --disable-tests
235 ac_add_options --disable-debug
236 #ac_add_options --enable-chrome-format=jar
237 #ac_add_options --enable-update-channel=beta
238 ac_add_options --enable-official-branding
239 ac_add_options --enable-libproxy
240 ac_add_options --without-system-png
241 ac_add_options --with-system-jpeg
242 ac_add_options --enable-system-cairo
243 ac_add_options --enable-system-sqlite
244 ac_add_options --enable-startup-notification
245 ac_add_options --enable-xinerama
246 ac_add_options --with-distribution-id=org.mageia
247 ac_add_options --disable-crashreporter
248 %ifarch %arm
249 %if "%{_target_cpu}" != "armv7l"
250 ac_add_options --disable-methodjit
251 ac_add_options --disable-tracejit
252 %endif
253 ac_add_options --enable-system-ffi
254 %endif
255 %ifnarch %arm %mips
256 ac_add_options --with-valgrind
257 ac_add_options --with-java-include-path=%{java_home}/include
258 ac_add_options --with-java-bin-path=%{java_home}/bin
259 %endif
260
261 EOF
262
263 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
264
265 export LDFLAGS="%ldflags"
266 make -f client.mk build
267
268 %install
269 rm -rf %{buildroot}
270
271 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
272
273 # Copy files to buildroot
274 %{__mkdir_p} %{buildroot}%{mozillalibdir}
275 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
276
277 %{__mkdir_p} %{buildroot}%{_bindir}
278 ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
279 pushd %{buildroot}%{_bindir}
280 ln -sf firefox mozilla-firefox
281 popd
282
283 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
284 %{__mkdir_p} %{buildroot}%{pluginsdir}
285 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
286 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
287
288 # (tpg) desktop entry
289 %{__mkdir_p} %{buildroot}%{_datadir}/applications
290 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
291
292 # (tpg) icons
293 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
294 for i in 16 22 24 32 48 256; do
295 # (cg) Not all icon sizes are installed with make install, so just redo it here.
296 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
297 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
298 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
299 done
300 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
301 ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
302 ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
303 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
304
305 # exclusions
306 rm -f %{buildroot}%{mozillalibdir}/README.txt
307 rm -f %{buildroot}%{mozillalibdir}/removed-files
308 rm -f %{buildroot}%{mozillalibdir}/precomplete
309
310 # this file is only used when creating a new user profile
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 # files in this directory are read on every startup, and can change/add
323 # preferences for existing profiles
324 # extensions.autoDisableScopes is a new preference added in firefox 8
325 # it defines "scopes" where newly installed addons are disabled by default
326 # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
327 # we need to remove system scope (8) from it so language packs and other addons
328 # which are installed systemwide won't get marked as 3rd party and disabled
329 # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
330 # or in toolkit/mozapps/extensions/AddonManager.jsm
331 # we also need to disable the "disable addon selection dialog"
332 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/pref/mga.js
333 pref("extensions.autoDisableScopes", 0);
334 pref("extensions.shownSelectionUI", true);
335 EOF
336
337 # (ahmad) these ones belonged in prefs.js (see above), remove them until it's
338 # decided what search engines to ship by default
339 #user_pref("browser.search.selectedEngine","Ask.com");
340 #user_pref("browser.search.order.1","Ask.com");
341 #user_pref("browser.search.order.2","Exalead");
342 #user_pref("browser.search.order.3","Google");
343 #user_pref("browser.search.order.4","Yahoo");
344
345 # (ahmad) don't install these until it's decided what search engines to ship by
346 # default
347 # search engines
348 #cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
349 #cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
350 #cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
351
352 #sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
353 #sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
354
355 # use the system myspell dictionaries
356 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
357 ln -s %{_datadir}/dict/mozilla %{buildroot}%{mozillalibdir}/dictionaries
358
359 # (lm) touch and %ghost bookmarks.html to a proper uninstall
360 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
361
362 %find_lang %{name}
363
364 mkdir -p %{buildroot}%{_sys_macros_dir}
365 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
366 # Macros from %{name} package
367 %%firefox_major %{major}
368 %%firefox_epoch %{ff_epoch}
369 %%firefox_version %{major}%{?prel:-0.%prel}
370 %%firefox_mozillapath %{mozillalibdir}
371 %%firefox_pluginsdir %{pluginsdir}
372 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
373 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
374 FIN
375
376 %pre
377 if [ -d %{mozillalibdir}/dictionaries ]; then
378 rm -fr %{mozillalibdir}/dictionaries
379 fi
380
381 %post
382 if [ ! -r /etc/sysconfig/oem ]; then
383 case `grep META_CLASS /etc/sysconfig/system` in
384 *powerpack) bookmark="mozilla-powerpack.html" ;;
385 *desktop) bookmark="mozilla-one.html";;
386 *) bookmark="mozilla-download.html";;
387 esac
388 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
389 fi
390
391 %files -f %{name}.lang
392 %{_bindir}/%{name}
393 %{_bindir}/mozilla-firefox
394 %{_iconsdir}/hicolor/*/apps/*.png
395 %{_miconsdir}/%{name}.png
396 %{_iconsdir}/%{name}.png
397 %{_liconsdir}/%{name}.png
398 %{_datadir}/applications/*.desktop
399 %{_libdir}/%{name}-%{major}*
400 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
401 %dir %{_libdir}/mozilla
402 %dir %{pluginsdir}
403 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
404 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
405
406 %files devel
407 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30