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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 149276 - (show annotations) (download)
Tue Sep 27 05:47:34 2011 UTC (12 years, 7 months ago) by dmorgan
File size: 14298 byte(s)
SILENT: Fix version
1 #
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 %define major 7.0
14 %define ff_epoch 0
15 # (tpg) set version HERE !!!
16 %define realver %{major}
17 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
18
19 # (tpg) MOZILLA_FIVE_HOME
20 %define mozillalibdir %{_libdir}/%{name}-%{realver}
21 %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 %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
31 %define _use_syshunspell 1
32 %define subrel 1
33
34 Summary: Next generation web browser
35 Name: firefox
36 Version: %{realver}
37 Epoch: %{ff_epoch}
38 Release: %mkrel 0
39 License: MPLv1+
40 Group: Networking/WWW
41 Url: http://www.mozilla.com/firefox/
42 %if 0%{?prel}
43 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
44 %else
45 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
46 %endif
47 Source4: %{name}.desktop
48 Source9: kde.js
49
50 Patch1: firefox-6.0-lang.patch
51 Patch2: firefox-vendor.patch
52 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 Patch5: firefox-6.0-appname.patch
56 Patch6: firefox-7.0-fix-str-fmt.patch
57 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
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 Patch32: xulrunner_allow_to_use_system_libffi.patch
79 Patch33: xulrunner_configure_neon_check.patch
80 Patch34: xulrunner_nojit.patch
81 Patch35: firefox-5.0-asciidel.patch
82
83 BuildRequires: gtk+2-devel
84 BuildRequires: unzip
85 BuildRequires: zip
86 BuildRequires: libxinerama-devel
87 BuildRequires: libjpeg-devel
88 BuildRequires: zlib-devel
89 BuildRequires: glib2-devel
90 BuildRequires: libIDL2-devel
91 BuildRequires: makedepend
92 BuildRequires: nss-devel >= 2:3.12.8
93 BuildRequires: nss-static-devel
94 BuildRequires: nspr-devel >= 2:4.8.7
95 BuildRequires: startup-notification-devel
96 BuildRequires: dbus-glib-devel
97 BuildRequires: python
98 BuildRequires: libsqlite3-devel >= 3.7.0.1-2
99 %ifnarch %arm %mips
100 BuildRequires: valgrind
101 BuildRequires: java-rpmbuild
102 BuildRequires: yasm >= 1.0.1
103 %endif
104 %ifarch %arm
105 BuildRequires: libffi-devel
106 %endif
107 BuildRequires: rootcerts >= 1:20110902.00
108 BuildRequires: libxt-devel
109 %if %_use_syshunspell
110 BuildRequires: hunspell-devel
111 %endif
112 BuildRequires: doxygen
113 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
114 BuildRequires: pkgconfig(libproxy-1.0)
115 BuildRequires: pkgconfig(alsa)
116 BuildRequires: wget
117 BuildRequires: libnotify-devel
118 BuildRequires: cairo-devel >= 1.10
119 BuildRequires: mesagl-devel
120 BuildRequires: libvpx-devel
121 BuildRequires: autoconf2.1
122 BuildRequires: libiw-devel
123
124 %if 0%{?prel}
125 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
126 %else
127 Provides: %{name} = %{epoch}:%{realver}
128 %endif
129 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
130 Provides: webclient
131
132 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
133 Requires: %{mklibname nss 3} >= 2:%{nss_version}
134 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
135 Requires: indexhtml
136 Requires: xdg-utils
137 # fixes bug #42096
138 Requires: mailcap
139 Suggests: myspell-en_US
140 %ifarch x86_64
141 Suggests: nspluginwrapper
142 %endif
143
144 Obsoletes: firefox-ext-weave-sync
145
146 %description
147 The award-winning Web browser is now faster, more secure, and fully customizable
148 to your online life. With Firefox(R), we've added powerful new features that
149 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
166 %description devel
167 Files and macros mainly for building Firefox extensions.
168
169 %prep
170 %setup -qn mozilla-release
171 %patch1 -p1 -b .lang
172 %patch2 -p1 -b .vendor
173 #patch3 -p1 -b .systemproxy
174 %patch5 -p1 -b .appname
175 %patch6 -p0 -b .str
176 # It was disabled because firefox3 hangs when using soundwrapper
177 #patch7 -p1
178 %patch8 -p1 -b .disable-software-update
179 %patch10 -p1 -b .default-mail-handler
180 ## KDE INTEGRATION
181 # copy current files and patch them later to keep them in sync
182 %patch11 -p1 -b .kde
183 %patch12 -p1 -b .kdemoz
184 # install kde.js
185 install -m 644 %{SOURCE9} browser/app/profile/kde.js
186
187 %patch32 -p1
188 #patch33 -p1
189 %ifarch %arm
190 %if "%{_target_cpu}" != "armv7l"
191 %patch34 -p1
192 %endif
193 %endif
194 %patch35 -p1
195 pushd js/src
196 autoconf-2.13
197 popd
198 autoconf-2.13
199
200 # needed to regenerate certdata.c
201 pushd security/nss/lib/ckfw/builtins
202 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
203 popd
204
205 %build
206 export MOZCONFIG=`pwd`/mozconfig
207 cat << EOF > $MOZCONFIG
208 mk_add_options MOZILLA_OFFICIAL=1
209 mk_add_options BUILD_OFFICIAL=1
210 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
211 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
212 ac_add_options --host=%{_host}
213 ac_add_options --target=%{_target_platform}
214 ac_add_options --enable-optimize="%{optflags}"
215 ac_add_options --prefix="%{_prefix}"
216 ac_add_options --libdir="%{_libdir}"
217 ac_add_options --sysconfdir="%{_sysconfdir}"
218 ac_add_options --mandir="%{_mandir}"
219 ac_add_options --includedir="%{_includedir}"
220 ac_add_options --datadir="%{_datadir}"
221 ac_add_options --with-system-nspr
222 ac_add_options --with-system-nss
223 ac_add_options --with-system-zlib
224 ac_add_options --with-system-libvpx
225 ac_add_options --enable-webm
226 ac_add_options --enable-gio
227 ac_add_options --disable-gnomevfs
228 ac_add_options --disable-installer
229 ac_add_options --disable-updater
230 ac_add_options --disable-tests
231 ac_add_options --disable-debug
232 #ac_add_options --enable-chrome-format=jar
233 #ac_add_options --enable-update-channel=beta
234 ac_add_options --enable-official-branding
235 ac_add_options --enable-libproxy
236 ac_add_options --without-system-png
237 ac_add_options --with-system-jpeg
238 ac_add_options --enable-system-cairo
239 ac_add_options --enable-system-sqlite
240 ac_add_options --enable-startup-notification
241 ac_add_options --enable-xinerama
242 ac_add_options --with-distribution-id=org.mageia
243 ac_add_options --disable-crashreporter
244 %ifarch %arm
245 %if "%{_target_cpu}" != "armv7l"
246 ac_add_options --disable-methodjit
247 ac_add_options --disable-tracejit
248 %endif
249 ac_add_options --enable-system-ffi
250 %endif
251 %ifnarch %arm %mips
252 ac_add_options --with-valgrind
253 ac_add_options --with-java-include-path=%{java_home}/include
254 ac_add_options --with-java-bin-path=%{java_home}/bin
255 %endif
256
257 EOF
258
259 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
260
261 export LDFLAGS="%ldflags"
262 make -f client.mk build
263
264 %install
265 rm -rf %{buildroot}
266
267 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
268
269 # Copy files to buildroot
270 %{__mkdir_p} %{buildroot}%{mozillalibdir}
271 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
272
273 %{__mkdir_p} %{buildroot}%{_bindir}
274 ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
275 pushd %{buildroot}%{_bindir}
276 ln -sf firefox mozilla-firefox
277 popd
278
279 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
280 %{__mkdir_p} %{buildroot}%{pluginsdir}
281 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
282 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
283
284 # (tpg) desktop entry
285 %{__mkdir_p} %{buildroot}%{_datadir}/applications
286 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
287
288 # (tpg) icons
289 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
290 for i in 16 22 24 32 48 256; do
291 # (cg) Not all icon sizes are installed with make install, so just redo it here.
292 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
293 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
294 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
295 done
296 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
297 ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
298 ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
299 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
300
301 # exclusions
302 rm -f %{buildroot}%{mozillalibdir}/README.txt
303 rm -f %{buildroot}%{mozillalibdir}/removed-files
304 rm -f %{buildroot}%{mozillalibdir}/precomplete
305
306 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
307 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
308 user_pref("browser.EULA.override", true);
309 user_pref("browser.shell.checkDefaultBrowser", false);
310 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
311 user_pref("app.update.auto", false);
312 user_pref("app.update.enabled", false);
313 user_pref("app.update.autoInstallEnabled", false);
314 user_pref("browser.showQuitWarning", true);
315 EOF
316
317 # (ahmad) these ones belonged in prefs.js (see above), remove them until it's
318 # decided what search engines to ship by default
319 #user_pref("browser.search.selectedEngine","Ask.com");
320 #user_pref("browser.search.order.1","Ask.com");
321 #user_pref("browser.search.order.2","Exalead");
322 #user_pref("browser.search.order.3","Google");
323 #user_pref("browser.search.order.4","Yahoo");
324
325 # (ahmad) don't install these until it's decided what search engines to ship by
326 # default
327 # search engines
328 #cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
329 #cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
330 #cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
331
332 #sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
333 #sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
334
335 # use the system myspell dictionaries
336 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
337 ln -s %{_datadir}/dict/mozilla %{buildroot}%{mozillalibdir}/dictionaries
338
339 # (lm) touch and %ghost bookmarks.html to a proper uninstall
340 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
341
342 %find_lang %{name}
343
344 mkdir -p %{buildroot}%{_sys_macros_dir}
345 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
346 # Macros from %{name} package
347 %%firefox_major %{major}
348 %%firefox_epoch %{ff_epoch}
349 %%firefox_version %{realver}%{?prel:-0.%prel}
350 %%firefox_mozillapath %{mozillalibdir}
351 %%firefox_pluginsdir %{pluginsdir}
352 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
353 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
354 FIN
355
356 %pre
357 if [ -d %{mozillalibdir}/dictionaries ]; then
358 rm -fr %{mozillalibdir}/dictionaries
359 fi
360
361 %post
362 if [ ! -r /etc/sysconfig/oem ]; then
363 case `grep META_CLASS /etc/sysconfig/system` in
364 *powerpack) bookmark="mozilla-powerpack.html" ;;
365 *desktop) bookmark="mozilla-one.html";;
366 *) bookmark="mozilla-download.html";;
367 esac
368 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
369 fi
370
371 %files -f %{name}.lang
372 %{_bindir}/%{name}
373 %{_bindir}/mozilla-firefox
374 %{_iconsdir}/hicolor/*/apps/*.png
375 %{_miconsdir}/%{name}.png
376 %{_iconsdir}/%{name}.png
377 %{_liconsdir}/%{name}.png
378 %{_datadir}/applications/*.desktop
379 %{_libdir}/%{name}-%{realver}*
380 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
381 %dir %{_libdir}/mozilla
382 %dir %{pluginsdir}
383 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
384 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
385
386 %files devel
387 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30