/[packages]/cauldron/firefox/current/SPECS/firefox.spec
ViewVC logotype

Annotation of /cauldron/firefox/current/SPECS/firefox.spec

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30