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