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

  ViewVC Help
Powered by ViewVC 1.1.30