/[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 287522 - (hide annotations) (download)
Mon Sep 3 06:03:43 2012 UTC (11 years, 7 months ago) by dmorgan
File size: 14533 byte(s)
SILENT: Add warning about mga3 final version as we need ESR for mga3
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 dmorgan 284628 %define major 15.0
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 284628 %define release %mkrel 1
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 fwang 260908 #patch11 -p1 -b .kde
187     #patch12 -p1 -b .kdemoz
188 blino 20612 # install kde.js
189 dmorgan 276610 #install -m 644 %{SOURCE9} browser/app/profile/kde.js
190 blino 20612
191 rtp 79029 %ifarch %arm
192     %if "%{_target_cpu}" != "armv7l"
193     %patch34 -p1
194     %endif
195     %endif
196 dmorgan 284628 %patch35 -p2 -b .h264-youtube-ok
197     %patch36 -p2 -b .system-virtualenv
198     %patch37 -p1 -b .gstreamer-crash
199     %patch38 -p1 -b .system-nss-nspr
200    
201 rtp 79029 pushd js/src
202     autoconf-2.13
203     popd
204     autoconf-2.13
205    
206 dmorgan 127856 # needed to regenerate certdata.c
207     pushd security/nss/lib/ckfw/builtins
208     perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
209     popd
210    
211 blino 20612 %build
212 fwang 149200 export MOZCONFIG=`pwd`/mozconfig
213 dmorgan 127856 cat << EOF > $MOZCONFIG
214     mk_add_options MOZILLA_OFFICIAL=1
215     mk_add_options BUILD_OFFICIAL=1
216     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
217     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
218 fwang 132978 ac_add_options --host=%{_host}
219     ac_add_options --target=%{_target_platform}
220 fwang 205048 ac_add_options --enable-optimize="%{optflags}"
221 dmorgan 127856 ac_add_options --prefix="%{_prefix}"
222     ac_add_options --libdir="%{_libdir}"
223     ac_add_options --sysconfdir="%{_sysconfdir}"
224     ac_add_options --mandir="%{_mandir}"
225     ac_add_options --includedir="%{_includedir}"
226     ac_add_options --datadir="%{_datadir}"
227     ac_add_options --with-system-nspr
228     ac_add_options --with-system-nss
229     ac_add_options --with-system-zlib
230 fwang 133280 ac_add_options --with-system-libvpx
231     ac_add_options --enable-webm
232 lmenut 130942 ac_add_options --enable-gio
233     ac_add_options --disable-gnomevfs
234 dmorgan 127856 ac_add_options --disable-updater
235     ac_add_options --disable-tests
236     ac_add_options --disable-debug
237     #ac_add_options --enable-chrome-format=jar
238     #ac_add_options --enable-update-channel=beta
239     ac_add_options --enable-official-branding
240     ac_add_options --enable-libproxy
241 fwang 142362 ac_add_options --with-system-png
242 dmorgan 127856 ac_add_options --with-system-jpeg
243     ac_add_options --enable-system-cairo
244     ac_add_options --enable-system-sqlite
245 lmenut 130942 ac_add_options --enable-startup-notification
246 fwang 133282 ac_add_options --enable-xinerama
247 dmorgan 127856 ac_add_options --with-distribution-id=org.mageia
248     ac_add_options --disable-crashreporter
249 dmorgan 263350 ac_add_options --enable-update-channel=%{update_channel}
250 dmorgan 276864 ac_add_options --enable-gstreamer
251 rtp 79029 %ifarch %arm
252     %if "%{_target_cpu}" != "armv7l"
253 dmorgan 127856 ac_add_options --disable-methodjit
254     ac_add_options --disable-tracejit
255 rtp 79029 %endif
256 dmorgan 127856 ac_add_options --enable-system-ffi
257 rtp 79029 %endif
258     %ifnarch %arm %mips
259 dmorgan 127856 ac_add_options --with-valgrind
260     ac_add_options --with-java-include-path=%{java_home}/include
261     ac_add_options --with-java-bin-path=%{java_home}/bin
262 dmorgan 284628 ac_add_options --enable-opus
263 rtp 79029 %endif
264 blino 20612
265 dmorgan 127856 EOF
266    
267 blino 20612 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
268    
269 fwang 133345 export LDFLAGS="%ldflags"
270 dmorgan 127856 make -f client.mk build
271 blino 20612
272     %install
273 ahmad 75100 rm -rf %{buildroot}
274 blino 20612
275 dmorgan 127856 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
276 blino 20612
277 dmorgan 127856 # Copy files to buildroot
278     %{__mkdir_p} %{buildroot}%{mozillalibdir}
279     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
280 blino 20612
281 dmorgan 127856 %{__mkdir_p} %{buildroot}%{_bindir}
282     ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
283     pushd %{buildroot}%{_bindir}
284     ln -sf firefox mozilla-firefox
285     popd
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