/[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 319742 - (show annotations) (download)
Tue Nov 20 14:04:27 2012 UTC (11 years, 4 months ago) by dmorgan
File size: 14134 byte(s)
New version 17.0
SILENT: Disable KDE integration for the moment

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 17.0
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 %if 0
178 ## KDE INTEGRATION
179 %patch11 -p1 -b .kde
180 %patch12 -p1 -b .kdemoz
181 %endif
182
183 %ifarch %arm
184 %if "%{_target_cpu}" != "armv7l"
185 %patch34 -p1
186 %endif
187 %endif
188 %patch36 -p2 -b .system-virtualenv
189
190 pushd js/src
191 autoconf-2.13
192 popd
193 autoconf-2.13
194
195 # needed to regenerate certdata.c
196 pushd security/nss/lib/ckfw/builtins
197 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
198 popd
199
200 %build
201 export MOZCONFIG=`pwd`/mozconfig
202 cat << EOF > $MOZCONFIG
203 mk_add_options MOZILLA_OFFICIAL=1
204 mk_add_options BUILD_OFFICIAL=1
205 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
206 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
207 ac_add_options --host=%{_host}
208 ac_add_options --target=%{_target_platform}
209 ac_add_options --enable-optimize="%{optflags}"
210 ac_add_options --prefix="%{_prefix}"
211 ac_add_options --libdir="%{_libdir}"
212 ac_add_options --sysconfdir="%{_sysconfdir}"
213 ac_add_options --mandir="%{_mandir}"
214 ac_add_options --includedir="%{_includedir}"
215 ac_add_options --datadir="%{_datadir}"
216 ac_add_options --with-system-nspr
217 ac_add_options --with-system-nss
218 ac_add_options --with-system-zlib
219 ac_add_options --with-system-libvpx
220 ac_add_options --enable-webm
221 ac_add_options --enable-gio
222 ac_add_options --disable-gnomevfs
223 ac_add_options --disable-updater
224 ac_add_options --disable-tests
225 ac_add_options --disable-debug
226 #ac_add_options --enable-chrome-format=jar
227 #ac_add_options --enable-update-channel=beta
228 ac_add_options --enable-official-branding
229 ac_add_options --enable-libproxy
230 ac_add_options --with-system-png
231 ac_add_options --with-system-jpeg
232 ac_add_options --enable-system-cairo
233 ac_add_options --enable-system-sqlite
234 ac_add_options --enable-startup-notification
235 ac_add_options --enable-xinerama
236 ac_add_options --with-distribution-id=org.mageia
237 ac_add_options --disable-crashreporter
238 ac_add_options --enable-update-channel=%{update_channel}
239 ac_add_options --enable-gstreamer
240 %ifarch %arm
241 %if "%{_target_cpu}" != "armv7l"
242 ac_add_options --disable-methodjit
243 ac_add_options --disable-tracejit
244 %endif
245 ac_add_options --enable-system-ffi
246 %endif
247 %ifnarch %arm %mips
248 ac_add_options --with-valgrind
249 ac_add_options --with-java-include-path=%{java_home}/include
250 ac_add_options --with-java-bin-path=%{java_home}/bin
251 ac_add_options --enable-opus
252 %endif
253
254 EOF
255
256 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
257
258 export LDFLAGS="%ldflags"
259 make -f client.mk build
260
261 %install
262 rm -rf %{buildroot}
263
264 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
265
266 # Copy files to buildroot
267 %{__mkdir_p} %{buildroot}%{mozillalibdir}
268 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
269
270 %{__mkdir_p} %{buildroot}%{_bindir}
271 ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
272 pushd %{buildroot}%{_bindir}
273 ln -sf firefox mozilla-firefox
274 popd
275 mkdir -p %{buildroot}%{mozillalibdir}/defaults/preferences/
276 install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/defaults/preferences/kde.js
277
278 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
279 %{__mkdir_p} %{buildroot}%{pluginsdir}
280 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
281 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
282
283 # (tpg) desktop entry
284 %{__mkdir_p} %{buildroot}%{_datadir}/applications
285 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
286
287 # (tpg) icons
288 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
289 for i in 16 22 24 32 48 256; do
290 # (cg) Not all icon sizes are installed with make install, so just redo it here.
291 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
292 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
293 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
294 done
295 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
296 ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
297 ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
298 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
299
300 # exclusions
301 rm -f %{buildroot}%{mozillalibdir}/README.txt
302 rm -f %{buildroot}%{mozillalibdir}/removed-files
303 rm -f %{buildroot}%{mozillalibdir}/precomplete
304
305 # this file is only used when creating a new user profile
306 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
307 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
308 user_pref("browser.EULA.override", true);
309 user_pref("browser.shell.checkDefaultBrowser", false);
310 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
311 user_pref("app.update.auto", false);
312 user_pref("app.update.enabled", false);
313 user_pref("app.update.autoInstallEnabled", false);
314 user_pref("browser.showQuitWarning", true);
315 EOF
316
317 # display icon for Firefox button
318 %{__mkdir_p} %{buildroot}%{mozillalibdir}/defaults/profile/chrome
319 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/profile/chrome/userChrome.css
320 #appmenu-toolbar-button {
321 list-style-image: url("chrome://branding/content/icon16.png");
322 }
323 EOF
324
325 # files in this directory are read on every startup, and can change/add
326 # preferences for existing profiles
327 # extensions.autoDisableScopes is a new preference added in firefox 8
328 # it defines "scopes" where newly installed addons are disabled by default
329 # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
330 # we need to remove system scope (8) from it so language packs and other addons
331 # which are installed systemwide won't get marked as 3rd party and disabled
332 # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
333 # or in toolkit/mozapps/extensions/AddonManager.jsm
334 # we also need to disable the "disable addon selection dialog"
335 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/pref/mga.js
336 pref("extensions.autoDisableScopes", 0);
337 pref("extensions.shownSelectionUI", true);
338 EOF
339
340 # use the system myspell dictionaries
341 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
342 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
343
344 # (lm) touch and %ghost bookmarks.html to a proper uninstall
345 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
346
347 %find_lang %{name}
348
349 mkdir -p %{buildroot}%{_sys_macros_dir}
350 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
351 # Macros from %{name} package
352 %%firefox_major %{major}
353 %%firefox_epoch %{ff_epoch}
354 %%firefox_version %{major}%{?prel:-0.%prel}
355 %%firefox_mozillapath %{mozillalibdir}
356 %%firefox_pluginsdir %{pluginsdir}
357 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
358 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
359 FIN
360
361 %pre
362 if [ -d %{mozillalibdir}/dictionaries ]; then
363 rm -fr %{mozillalibdir}/dictionaries
364 fi
365
366 %post
367 if [ ! -r /etc/sysconfig/oem ]; then
368 case `grep META_CLASS /etc/sysconfig/system` in
369 *powerpack) bookmark="mozilla-powerpack.html" ;;
370 *desktop) bookmark="mozilla-one.html";;
371 *) bookmark="mozilla-download.html";;
372 esac
373 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
374 fi
375
376 %files -f %{name}.lang
377 %{_bindir}/%{name}
378 %{_bindir}/mozilla-firefox
379 %{_iconsdir}/hicolor/*/apps/*.png
380 %{_miconsdir}/%{name}.png
381 %{_iconsdir}/%{name}.png
382 %{_liconsdir}/%{name}.png
383 %{_datadir}/applications/*.desktop
384 %{_libdir}/%{name}-%{major}*
385 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
386 %dir %{_libdir}/mozilla
387 %dir %{pluginsdir}
388 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
389 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
390 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
391
392 %files devel
393 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30