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

  ViewVC Help
Powered by ViewVC 1.1.30