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

  ViewVC Help
Powered by ViewVC 1.1.30