/[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 304776 - (hide annotations) (download)
Thu Oct 11 23:02:17 2012 UTC (11 years, 6 months ago) by fwang
File size: 14068 byte(s)
new version 16.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 304776 %define major 16.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 fwang 304776 %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) use system virtualenv
71     Patch36: iceape-2.12-system-virtualenv.patch
72 blino 20612 BuildRequires: gtk+2-devel
73     BuildRequires: unzip
74     BuildRequires: zip
75 fwang 133282 BuildRequires: libxinerama-devel
76 fwang 164134 BuildRequires: libxscrnsaver-devel
77 blino 20612 BuildRequires: libjpeg-devel
78 fwang 142362 BuildRequires: libpng-devel >= 2:1.4
79 blino 20612 BuildRequires: zlib-devel
80     BuildRequires: glib2-devel
81     BuildRequires: libIDL2-devel
82     BuildRequires: makedepend
83 dmorgan 134679 BuildRequires: nss-devel >= 2:3.12.10
84 dmorgan 127866 BuildRequires: nss-static-devel
85 dmorgan 134676 BuildRequires: nspr-devel >= 2:4.8.9
86 blino 20612 BuildRequires: startup-notification-devel
87     BuildRequires: dbus-glib-devel
88     BuildRequires: python
89 fwang 184892 BuildRequires: sqlite3-devel >= 3.7.7.1
90 rtp 79029 %ifnarch %arm %mips
91 blino 20612 BuildRequires: valgrind
92 rtp 79029 BuildRequires: java-rpmbuild
93 dmorgan 114215 BuildRequires: yasm >= 1.0.1
94 rtp 79029 %endif
95     %ifarch %arm
96     BuildRequires: libffi-devel
97     %endif
98 dmorgan 137463 BuildRequires: rootcerts >= 1:20110830.00
99 blino 20612 BuildRequires: libxt-devel
100     %if %_use_syshunspell
101     BuildRequires: hunspell-devel
102     %endif
103     BuildRequires: doxygen
104 ahmad 130766 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
105     BuildRequires: pkgconfig(libproxy-1.0)
106     BuildRequires: pkgconfig(alsa)
107 blino 20612 BuildRequires: wget
108     BuildRequires: libnotify-devel
109 ahmad 48246 BuildRequires: cairo-devel >= 1.10
110 blino 20612 BuildRequires: mesagl-devel
111 ahmad 75100 BuildRequires: libvpx-devel
112 rtp 79029 BuildRequires: autoconf2.1
113 dmorgan 127865 BuildRequires: libiw-devel
114 dmorgan 284628 BuildRequires: python-virtualenv
115     BuildRequires: gstreamer0.10-devel
116     BuildRequires: libgstreamer0.10-plugins-base-devel
117     BuildRequires: pkgconfig(opus)
118 lmenut 130942
119 ahmad 75375 %if 0%{?prel}
120 blino 20612 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
121 ahmad 75375 %else
122     Provides: %{name} = %{epoch}:%{realver}
123 blino 20612 %endif
124 lmenut 130942 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
125 blino 20612 Provides: webclient
126 lmenut 130942
127     Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
128     Requires: %{mklibname nss 3} >= 2:%{nss_version}
129     Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
130 blino 20612 Requires: indexhtml
131     Requires: xdg-utils
132 lmenut 130942 # fixes bug #42096
133     Requires: mailcap
134 fwang 211783 Suggests: hunspell-en
135 fwang 205048 Suggests: %{_lib}canberra0
136     Suggests: %{_lib}cups2
137 ahmad 75375 Obsoletes: firefox-ext-weave-sync
138 fwang 211782 Obsoletes: firefox-beta < 11
139 blino 20612
140     %description
141     The award-winning Web browser is now faster, more secure, and fully customizable
142 tv 45609 to your online life. With Firefox(R), we've added powerful new features that
143 blino 20612 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 fwang 215462 Obsoletes: firefox-beta-devel < 11
160 blino 20612
161     %description devel
162     Files and macros mainly for building Firefox extensions.
163    
164     %prep
165 dmorgan 263350 %setup -qn mozilla-%update_channel
166 dmorgan 116916 %patch1 -p1 -b .lang
167 dmorgan 127856 %patch2 -p1 -b .vendor
168 lmenut 130942 #patch3 -p1 -b .systemproxy
169 fwang 223798 %patch4 -p0 -b .nss
170 lmenut 130942 %patch5 -p1 -b .appname
171 blino 20612 # It was disabled because firefox3 hangs when using soundwrapper
172 dmorgan 127856 #patch7 -p1
173 dmorgan 252897 %patch8 -p1 -b .disable-software-update
174 dmorgan 284629 %patch9 -p1 -b .ascii
175 dmorgan 127856 %patch10 -p1 -b .default-mail-handler
176 dmorgan 284631 %patch14 -p1
177 dmorgan 249717
178 blino 20612 ## KDE INTEGRATION
179 dmorgan 304598 %patch11 -p1 -b .kde
180     %patch12 -p1 -b .kdemoz
181 blino 20612
182 rtp 79029 %ifarch %arm
183     %if "%{_target_cpu}" != "armv7l"
184     %patch34 -p1
185     %endif
186     %endif
187 dmorgan 284628 %patch36 -p2 -b .system-virtualenv
188    
189 rtp 79029 pushd js/src
190     autoconf-2.13
191     popd
192     autoconf-2.13
193    
194 dmorgan 127856 # needed to regenerate certdata.c
195     pushd security/nss/lib/ckfw/builtins
196     perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
197     popd
198    
199 blino 20612 %build
200 fwang 149200 export MOZCONFIG=`pwd`/mozconfig
201 dmorgan 127856 cat << EOF > $MOZCONFIG
202     mk_add_options MOZILLA_OFFICIAL=1
203     mk_add_options BUILD_OFFICIAL=1
204     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
205     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
206 fwang 132978 ac_add_options --host=%{_host}
207     ac_add_options --target=%{_target_platform}
208 fwang 205048 ac_add_options --enable-optimize="%{optflags}"
209 dmorgan 127856 ac_add_options --prefix="%{_prefix}"
210     ac_add_options --libdir="%{_libdir}"
211     ac_add_options --sysconfdir="%{_sysconfdir}"
212     ac_add_options --mandir="%{_mandir}"
213     ac_add_options --includedir="%{_includedir}"
214     ac_add_options --datadir="%{_datadir}"
215     ac_add_options --with-system-nspr
216     ac_add_options --with-system-nss
217     ac_add_options --with-system-zlib
218 fwang 133280 ac_add_options --with-system-libvpx
219     ac_add_options --enable-webm
220 lmenut 130942 ac_add_options --enable-gio
221     ac_add_options --disable-gnomevfs
222 dmorgan 127856 ac_add_options --disable-updater
223     ac_add_options --disable-tests
224     ac_add_options --disable-debug
225     #ac_add_options --enable-chrome-format=jar
226     #ac_add_options --enable-update-channel=beta
227     ac_add_options --enable-official-branding
228     ac_add_options --enable-libproxy
229 fwang 142362 ac_add_options --with-system-png
230 dmorgan 127856 ac_add_options --with-system-jpeg
231     ac_add_options --enable-system-cairo
232     ac_add_options --enable-system-sqlite
233 lmenut 130942 ac_add_options --enable-startup-notification
234 fwang 133282 ac_add_options --enable-xinerama
235 dmorgan 127856 ac_add_options --with-distribution-id=org.mageia
236     ac_add_options --disable-crashreporter
237 dmorgan 263350 ac_add_options --enable-update-channel=%{update_channel}
238 dmorgan 276864 ac_add_options --enable-gstreamer
239 rtp 79029 %ifarch %arm
240     %if "%{_target_cpu}" != "armv7l"
241 dmorgan 127856 ac_add_options --disable-methodjit
242     ac_add_options --disable-tracejit
243 rtp 79029 %endif
244 dmorgan 127856 ac_add_options --enable-system-ffi
245 rtp 79029 %endif
246     %ifnarch %arm %mips
247 dmorgan 127856 ac_add_options --with-valgrind
248     ac_add_options --with-java-include-path=%{java_home}/include
249     ac_add_options --with-java-bin-path=%{java_home}/bin
250 dmorgan 284628 ac_add_options --enable-opus
251 rtp 79029 %endif
252 blino 20612
253 dmorgan 127856 EOF
254    
255 blino 20612 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
256    
257 fwang 133345 export LDFLAGS="%ldflags"
258 dmorgan 127856 make -f client.mk build
259 blino 20612
260     %install
261 ahmad 75100 rm -rf %{buildroot}
262 blino 20612
263 dmorgan 287524 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
264 blino 20612
265 dmorgan 127856 # Copy files to buildroot
266     %{__mkdir_p} %{buildroot}%{mozillalibdir}
267     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
268 blino 20612
269 dmorgan 127856 %{__mkdir_p} %{buildroot}%{_bindir}
270     ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
271     pushd %{buildroot}%{_bindir}
272     ln -sf firefox mozilla-firefox
273     popd
274 dmorgan 287524 mkdir -p %{buildroot}%{mozillalibdir}/defaults/preferences/
275     install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/defaults/preferences/kde.js
276 tv 110649
277 lmenut 130942 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
278     %{__mkdir_p} %{buildroot}%{pluginsdir}
279     %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
280     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
281 blino 20612
282     # (tpg) desktop entry
283     %{__mkdir_p} %{buildroot}%{_datadir}/applications
284     install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
285    
286     # (tpg) icons
287 dmorgan 127856 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
288 colin 130660 for i in 16 22 24 32 48 256; do
289     # (cg) Not all icon sizes are installed with make install, so just redo it here.
290 tv 133105 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
291 blino 20612 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
292 colin 130660 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
293 blino 20612 done
294 colin 130660 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
295     ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
296     ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
297 dmorgan 130666 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
298 blino 20612
299 dmorgan 127856 # exclusions
300     rm -f %{buildroot}%{mozillalibdir}/README.txt
301     rm -f %{buildroot}%{mozillalibdir}/removed-files
302     rm -f %{buildroot}%{mozillalibdir}/precomplete
303    
304 doktor5000 170221 # this file is only used when creating a new user profile
305 blino 20612 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
306     cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
307     user_pref("browser.EULA.override", true);
308     user_pref("browser.shell.checkDefaultBrowser", false);
309 rda 76933 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
310 blino 20612 user_pref("app.update.auto", false);
311     user_pref("app.update.enabled", false);
312     user_pref("app.update.autoInstallEnabled", false);
313 lmenut 130942 user_pref("browser.showQuitWarning", true);
314 blino 20612 EOF
315    
316 fwang 223187 # display icon for Firefox button
317     %{__mkdir_p} %{buildroot}%{mozillalibdir}/defaults/profile/chrome
318 dmorgan 225217 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/profile/chrome/userChrome.css
319 fwang 223187 #appmenu-toolbar-button {
320     list-style-image: url("chrome://branding/content/icon16.png");
321     }
322     EOF
323    
324 doktor5000 170221 # files in this directory are read on every startup, and can change/add
325     # preferences for existing profiles
326     # extensions.autoDisableScopes is a new preference added in firefox 8
327     # it defines "scopes" where newly installed addons are disabled by default
328     # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
329     # we need to remove system scope (8) from it so language packs and other addons
330     # which are installed systemwide won't get marked as 3rd party and disabled
331     # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
332     # or in toolkit/mozapps/extensions/AddonManager.jsm
333     # we also need to disable the "disable addon selection dialog"
334     cat << EOF > %{buildroot}%{mozillalibdir}/defaults/pref/mga.js
335     pref("extensions.autoDisableScopes", 0);
336     pref("extensions.shownSelectionUI", true);
337     EOF
338    
339 ahmad 130766 # use the system myspell dictionaries
340     rm -fr %{buildroot}%{mozillalibdir}/dictionaries
341 fwang 211783 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
342 ahmad 130766
343 lmenut 130942 # (lm) touch and %ghost bookmarks.html to a proper uninstall
344     touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
345    
346 blino 20612 %find_lang %{name}
347    
348     mkdir -p %{buildroot}%{_sys_macros_dir}
349     cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
350     # Macros from %{name} package
351     %%firefox_major %{major}
352     %%firefox_epoch %{ff_epoch}
353 fwang 248940 %%firefox_version %{major}%{?prel:-0.%prel}
354 blino 20612 %%firefox_mozillapath %{mozillalibdir}
355     %%firefox_pluginsdir %{pluginsdir}
356 tv 45614 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
357     %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
358 blino 20612 FIN
359    
360 ahmad 130766 %pre
361     if [ -d %{mozillalibdir}/dictionaries ]; then
362     rm -fr %{mozillalibdir}/dictionaries
363     fi
364 dmorgan 127856
365 blino 20612 %post
366     if [ ! -r /etc/sysconfig/oem ]; then
367     case `grep META_CLASS /etc/sysconfig/system` in
368     *powerpack) bookmark="mozilla-powerpack.html" ;;
369     *desktop) bookmark="mozilla-one.html";;
370     *) bookmark="mozilla-download.html";;
371     esac
372 lmenut 130942 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
373 blino 20612 fi
374    
375     %files -f %{name}.lang
376     %{_bindir}/%{name}
377     %{_bindir}/mozilla-firefox
378     %{_iconsdir}/hicolor/*/apps/*.png
379 colin 130660 %{_miconsdir}/%{name}.png
380     %{_iconsdir}/%{name}.png
381     %{_liconsdir}/%{name}.png
382 blino 20612 %{_datadir}/applications/*.desktop
383 fwang 206849 %{_libdir}/%{name}-%{major}*
384 lmenut 130942 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
385 blino 20612 %dir %{_libdir}/mozilla
386     %dir %{pluginsdir}
387 lmenut 130942 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
388     %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
389 blino 20612
390     %files devel
391     %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30