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

  ViewVC Help
Powered by ViewVC 1.1.30