/[packages]/updates/1/firefox/current/SPECS/firefox.spec
ViewVC logotype

Annotation of /updates/1/firefox/current/SPECS/firefox.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 185636 - (hide annotations) (download)
Thu Dec 22 02:49:01 2011 UTC (12 years, 4 months ago) by fwang
File size: 15056 byte(s)
new version 9.0.1
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 fwang 185636 %define major 9.0.1
14 blino 20612 %define ff_epoch 0
15     # (tpg) set version HERE !!!
16 dmorgan 164143 %define realver %{major}
17 lmenut 130944 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
18 dmorgan 128575
19 blino 20612 # (tpg) MOZILLA_FIVE_HOME
20 tv 67799 %define mozillalibdir %{_libdir}/%{name}-%{realver}
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 130944 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
29     %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null || echo 0)
30 blino 20612
31     %define _use_syshunspell 1
32 dmorgan 184845 %define subrel 1
33 blino 20612
34     Summary: Next generation web browser
35     Name: firefox
36     Version: %{realver}
37     Epoch: %{ff_epoch}
38 dmorgan 138410 Release: %mkrel 0
39 blino 20612 License: MPLv1+
40     Group: Networking/WWW
41 tv 45608 Url: http://www.mozilla.com/firefox/
42 ahmad 75375 %if 0%{?prel}
43 blino 20612 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
44 ahmad 75375 %else
45     Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
46     %endif
47 blino 20612 Source4: %{name}.desktop
48     Source9: kde.js
49 dmorgan 128575
50 dmorgan 134672 Patch1: firefox-6.0-lang.patch
51 dmorgan 128575 Patch2: firefox-vendor.patch
52 blino 20612 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
53     # (OpenSuse) add patch to make firefox always use /usr/bin/firefox when "make firefox
54     # the default web browser" is used fix mdv bug#58784
55 dmorgan 134672 Patch5: firefox-6.0-appname.patch
56 dmorgan 149275 Patch6: firefox-7.0-fix-str-fmt.patch
57 dmorgan 128575 Patch7: mozilla-firefox-run-mozilla.patch
58     Patch8: firefox-disable-check-default-browser.patch
59     Patch10: firefox-3.5.3-default-mail-handler.patch
60     # Patches for kde integration of FF
61     Patch11: firefox-kde.patch
62     Patch12: mozilla-kde.patch
63 rtp 79029
64     # patch from https://bugzilla.mozilla.org/show_bug.cgi?id=551138
65     # we'll have to use system libffi on arm because moz folks are using
66     # vfp asm which doesn't exist on non-cortex platforms
67     # src/arm/sysv.S: Assembler messages:
68     # src/arm/sysv.S:266: Error: selected processor does not support ARM mode `flddle d0,[ip]'
69     # src/arm/sysv.S:267: Error: selected processor does not support ARM mode `fldmiadgt ip,{d0-d7}'
70     # src/arm/sysv.S:307: Error: selected processor does not support ARM mode `fstseq s0,[r2]'
71     # src/arm/sysv.S:311: Error: selected processor does not support ARM mode `fstdeq d0,[r2]'
72     # src/arm/sysv.S:316: Error: selected processor does not support ARM mode `fstmiadeq r2,{d0-d3}'
73     # src/arm/sysv.S:400: Error: selected processor does not support ARM mode `fstmfdd sp!,{d0-d7}'
74     # src/arm/sysv.S:438: Error: selected processor does not support ARM mode `flds s0,[sp]'
75     # src/arm/sysv.S:441: Error: selected processor does not support ARM mode `fldd d0,[sp]'
76     # src/arm/sysv.S:450: Error: selected processor does not support ARM mode `fldmiad sp,{d0-d1}'
77     # src/arm/sysv.S:453: Error: selected processor does not support ARM mode `fldmiad sp,{d0-d3}'
78     Patch34: xulrunner_nojit.patch
79 dmorgan 128575 Patch35: firefox-5.0-asciidel.patch
80 lmenut 130944
81 blino 20612 BuildRequires: gtk+2-devel
82     BuildRequires: unzip
83     BuildRequires: zip
84 dmorgan 134672 BuildRequires: libxinerama-devel
85 blino 20612 BuildRequires: libjpeg-devel
86     BuildRequires: zlib-devel
87     BuildRequires: glib2-devel
88     BuildRequires: libIDL2-devel
89     BuildRequires: makedepend
90 dmorgan 168153 BuildRequires: nss-devel >= 2:3.13.1
91 dmorgan 128575 BuildRequires: nss-static-devel
92 blino 20612 BuildRequires: nspr-devel >= 2:4.8.7
93     BuildRequires: startup-notification-devel
94     BuildRequires: dbus-glib-devel
95     BuildRequires: python
96 dmorgan 185216 BuildRequires: libsqlite3-devel >= 3.7.7.1
97 rtp 79029 %ifnarch %arm %mips
98 blino 20612 BuildRequires: valgrind
99 rtp 79029 BuildRequires: java-rpmbuild
100 dmorgan 128575 BuildRequires: yasm >= 1.0.1
101 rtp 79029 %endif
102     %ifarch %arm
103     BuildRequires: libffi-devel
104     %endif
105 dmorgan 141744 BuildRequires: rootcerts >= 1:20110902.00
106 blino 20612 BuildRequires: libxt-devel
107     %if %_use_syshunspell
108 dmorgan 137413 BuildRequires: hunspell-devel
109 blino 20612 %endif
110     BuildRequires: doxygen
111 lmenut 130944 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
112 ahmad 130767 BuildRequires: pkgconfig(libproxy-1.0)
113     BuildRequires: pkgconfig(alsa)
114 blino 20612 BuildRequires: wget
115     BuildRequires: libnotify-devel
116 ahmad 48246 BuildRequires: cairo-devel >= 1.10
117 blino 20612 BuildRequires: mesagl-devel
118 ahmad 75100 BuildRequires: libvpx-devel
119 rtp 79029 BuildRequires: autoconf2.1
120 dmorgan 128575 BuildRequires: libiw-devel
121 lmenut 130944
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 130944 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
128 blino 20612 Provides: webclient
129 lmenut 130944
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 130944 # fixes bug #42096
136     Requires: mailcap
137 ahmad 117224 Suggests: myspell-en_US
138     %ifarch x86_64
139     Suggests: nspluginwrapper
140     %endif
141 lmenut 130944
142 ahmad 75375 Obsoletes: firefox-ext-weave-sync
143 blino 20612
144     %description
145     The award-winning Web browser is now faster, more secure, and fully customizable
146 tv 45609 to your online life. With Firefox(R), we've added powerful new features that
147 blino 20612 make your online experience even better. It is an 'open source' product which is
148     freely available, and is acquiring a growing proportion of international web
149     browser usage.
150    
151     Firefox claims to offer a more secure web browsing experience than other products,
152     with better protection against spyware and other Internet-based security threats.
153     It includes all the standard features of a modern web browser, like Internet
154     searching, tracking recently visited sites, setting up shortcuts to favourite
155     sites, customising the software behaviour and so on. Firefox also includes
156     features like 'tabbed browsing' (opening several web sites as sections within the
157     same window) and methods for controlling pop-up windows, cookies and downloaded
158     files.
159    
160     %package devel
161     Summary: Development files for %{name}
162     Group: Development/Other
163    
164     %description devel
165     Files and macros mainly for building Firefox extensions.
166    
167     %prep
168 dmorgan 128575 %setup -qn mozilla-release
169     %patch1 -p1 -b .lang
170     %patch2 -p1 -b .vendor
171 lmenut 130944 #patch3 -p1 -b .systemproxy
172     %patch5 -p1 -b .appname
173 dmorgan 149275 %patch6 -p0 -b .str
174 blino 20612 # It was disabled because firefox3 hangs when using soundwrapper
175 dmorgan 128575 #patch7 -p1
176     %patch8 -p1 -b .disable-software-update
177     %patch10 -p1 -b .default-mail-handler
178 blino 20612 ## KDE INTEGRATION
179     # copy current files and patch them later to keep them in sync
180 dmorgan 128575 %patch11 -p1 -b .kde
181     %patch12 -p1 -b .kdemoz
182 blino 20612 # install kde.js
183 dmorgan 74498 install -m 644 %{SOURCE9} browser/app/profile/kde.js
184 blino 20612
185 rtp 79029 %ifarch %arm
186     %if "%{_target_cpu}" != "armv7l"
187     %patch34 -p1
188     %endif
189     %endif
190     %patch35 -p1
191     pushd js/src
192     autoconf-2.13
193     popd
194     autoconf-2.13
195    
196 dmorgan 128575 # needed to regenerate certdata.c
197     pushd security/nss/lib/ckfw/builtins
198     perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
199     popd
200    
201 blino 20612 %build
202 dmorgan 149275 export MOZCONFIG=`pwd`/mozconfig
203 dmorgan 128575 cat << EOF > $MOZCONFIG
204     mk_add_options MOZILLA_OFFICIAL=1
205     mk_add_options BUILD_OFFICIAL=1
206     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
207     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
208 dmorgan 134672 ac_add_options --host=%{_host}
209     ac_add_options --target=%{_target_platform}
210     ac_add_options --enable-optimize="%{optflags}"
211 dmorgan 128575 ac_add_options --prefix="%{_prefix}"
212     ac_add_options --libdir="%{_libdir}"
213     ac_add_options --sysconfdir="%{_sysconfdir}"
214     ac_add_options --mandir="%{_mandir}"
215     ac_add_options --includedir="%{_includedir}"
216     ac_add_options --datadir="%{_datadir}"
217     ac_add_options --with-system-nspr
218     ac_add_options --with-system-nss
219     ac_add_options --with-system-zlib
220 dmorgan 134672 ac_add_options --with-system-libvpx
221     ac_add_options --enable-webm
222 lmenut 130944 ac_add_options --enable-gio
223     ac_add_options --disable-gnomevfs
224 dmorgan 128575 ac_add_options --disable-installer
225     ac_add_options --disable-updater
226     ac_add_options --disable-tests
227     ac_add_options --disable-debug
228     #ac_add_options --enable-chrome-format=jar
229     #ac_add_options --enable-update-channel=beta
230     ac_add_options --enable-official-branding
231     ac_add_options --enable-libproxy
232     ac_add_options --without-system-png
233     ac_add_options --with-system-jpeg
234     ac_add_options --enable-system-cairo
235     ac_add_options --enable-system-sqlite
236 lmenut 130944 ac_add_options --enable-startup-notification
237 dmorgan 134672 ac_add_options --enable-xinerama
238 dmorgan 128575 ac_add_options --with-distribution-id=org.mageia
239     ac_add_options --disable-crashreporter
240 rtp 79029 %ifarch %arm
241     %if "%{_target_cpu}" != "armv7l"
242 dmorgan 128575 ac_add_options --disable-methodjit
243     ac_add_options --disable-tracejit
244 rtp 79029 %endif
245 dmorgan 128575 ac_add_options --enable-system-ffi
246 rtp 79029 %endif
247     %ifnarch %arm %mips
248 dmorgan 128575 ac_add_options --with-valgrind
249     ac_add_options --with-java-include-path=%{java_home}/include
250     ac_add_options --with-java-bin-path=%{java_home}/bin
251 rtp 79029 %endif
252 blino 20612
253 dmorgan 128575 EOF
254    
255 blino 20612 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
256    
257 dmorgan 134672 export LDFLAGS="%ldflags"
258 dmorgan 128575 make -f client.mk build
259 blino 20612
260     %install
261 ahmad 75100 rm -rf %{buildroot}
262 blino 20612
263 dmorgan 128575 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
264 blino 20612
265 dmorgan 128575 # Copy files to buildroot
266     %{__mkdir_p} %{buildroot}%{mozillalibdir}
267     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
268 blino 20612
269 dmorgan 128575 %{__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    
275 lmenut 130944 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
276     %{__mkdir_p} %{buildroot}%{pluginsdir}
277     %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
278     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
279 blino 20612
280     # (tpg) desktop entry
281     %{__mkdir_p} %{buildroot}%{_datadir}/applications
282     install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
283    
284     # (tpg) icons
285 dmorgan 128575 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
286 lmenut 130944 for i in 16 22 24 32 48 256; do
287     # (cg) Not all icon sizes are installed with make install, so just redo it here.
288 dmorgan 134672 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
289 blino 20612 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
290 lmenut 130944 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
291 blino 20612 done
292 lmenut 130944 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
293     ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
294     ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
295     ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
296 blino 20612
297 dmorgan 128575 # exclusions
298     rm -f %{buildroot}%{mozillalibdir}/README.txt
299     rm -f %{buildroot}%{mozillalibdir}/removed-files
300     rm -f %{buildroot}%{mozillalibdir}/precomplete
301    
302 doktor5000 170215 # this file is only used when creating a new user profile
303 blino 20612 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
304     cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
305     user_pref("browser.EULA.override", true);
306     user_pref("browser.shell.checkDefaultBrowser", false);
307 rda 76933 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
308 blino 20612 user_pref("app.update.auto", false);
309     user_pref("app.update.enabled", false);
310     user_pref("app.update.autoInstallEnabled", false);
311 lmenut 130944 user_pref("browser.showQuitWarning", true);
312 blino 20612 EOF
313    
314 doktor5000 170215 # files in this directory are read on every startup, and can change/add
315     # preferences for existing profiles
316     # extensions.autoDisableScopes is a new preference added in firefox 8
317     # it defines "scopes" where newly installed addons are disabled by default
318     # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
319     # we need to remove system scope (8) from it so language packs and other addons
320     # which are installed systemwide won't get marked as 3rd party and disabled
321     # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
322     # or in toolkit/mozapps/extensions/AddonManager.jsm
323     # we also need to disable the "disable addon selection dialog"
324     cat << EOF > %{buildroot}%{mozillalibdir}/defaults/pref/mga.js
325     pref("extensions.autoDisableScopes", 0);
326     pref("extensions.shownSelectionUI", true);
327     EOF
328    
329 ahmad 75106 # (ahmad) these ones belonged in prefs.js (see above), remove them until it's
330     # decided what search engines to ship by default
331     #user_pref("browser.search.selectedEngine","Ask.com");
332     #user_pref("browser.search.order.1","Ask.com");
333     #user_pref("browser.search.order.2","Exalead");
334     #user_pref("browser.search.order.3","Google");
335     #user_pref("browser.search.order.4","Yahoo");
336    
337     # (ahmad) don't install these until it's decided what search engines to ship by
338     # default
339 blino 20612 # search engines
340 ahmad 75106 #cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
341     #cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
342     #cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
343 blino 20612
344 ahmad 75106 #sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
345     #sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
346 blino 20612
347 lmenut 130944 # use the system myspell dictionaries
348 ahmad 130767 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
349 ahmad 130768 ln -s %{_datadir}/dict/mozilla %{buildroot}%{mozillalibdir}/dictionaries
350 ahmad 130767
351 lmenut 130944 # (lm) touch and %ghost bookmarks.html to a proper uninstall
352     touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
353    
354 blino 20612 %find_lang %{name}
355    
356     mkdir -p %{buildroot}%{_sys_macros_dir}
357     cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
358     # Macros from %{name} package
359     %%firefox_major %{major}
360     %%firefox_epoch %{ff_epoch}
361     %%firefox_version %{realver}%{?prel:-0.%prel}
362     %%firefox_mozillapath %{mozillalibdir}
363     %%firefox_pluginsdir %{pluginsdir}
364 tv 45614 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
365     %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
366 blino 20612 FIN
367    
368 ahmad 130767 %pre
369     if [ -d %{mozillalibdir}/dictionaries ]; then
370     rm -fr %{mozillalibdir}/dictionaries
371     fi
372    
373 blino 20612 %post
374     if [ ! -r /etc/sysconfig/oem ]; then
375     case `grep META_CLASS /etc/sysconfig/system` in
376     *powerpack) bookmark="mozilla-powerpack.html" ;;
377     *desktop) bookmark="mozilla-one.html";;
378     *) bookmark="mozilla-download.html";;
379     esac
380 lmenut 130944 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
381 blino 20612 fi
382    
383     %files -f %{name}.lang
384     %{_bindir}/%{name}
385     %{_bindir}/mozilla-firefox
386     %{_iconsdir}/hicolor/*/apps/*.png
387 lmenut 130944 %{_miconsdir}/%{name}.png
388     %{_iconsdir}/%{name}.png
389     %{_liconsdir}/%{name}.png
390 blino 20612 %{_datadir}/applications/*.desktop
391     %{_libdir}/%{name}-%{realver}*
392 lmenut 130944 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
393 blino 20612 %dir %{_libdir}/mozilla
394     %dir %{pluginsdir}
395 lmenut 130944 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
396     %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
397 blino 20612
398     %files devel
399     %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30