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

  ViewVC Help
Powered by ViewVC 1.1.30