/[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 164144 - (show annotations) (download)
Sun Nov 6 09:16:03 2011 UTC (12 years, 5 months ago) by dmorgan
File size: 14174 byte(s)
SILENT: Remove merged patches
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 8.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 Patch34: xulrunner_nojit.patch
79 Patch35: firefox-5.0-asciidel.patch
80
81 BuildRequires: gtk+2-devel
82 BuildRequires: unzip
83 BuildRequires: zip
84 BuildRequires: libxinerama-devel
85 BuildRequires: libjpeg-devel
86 BuildRequires: zlib-devel
87 BuildRequires: glib2-devel
88 BuildRequires: libIDL2-devel
89 BuildRequires: makedepend
90 BuildRequires: nss-devel >= 2:3.12.8
91 BuildRequires: nss-static-devel
92 BuildRequires: nspr-devel >= 2:4.8.7
93 BuildRequires: startup-notification-devel
94 BuildRequires: dbus-glib-devel
95 BuildRequires: python
96 BuildRequires: libsqlite3-devel >= 3.7.0.1-2
97 %ifnarch %arm %mips
98 BuildRequires: valgrind
99 BuildRequires: java-rpmbuild
100 BuildRequires: yasm >= 1.0.1
101 %endif
102 %ifarch %arm
103 BuildRequires: libffi-devel
104 %endif
105 BuildRequires: rootcerts >= 1:20110902.00
106 BuildRequires: libxt-devel
107 %if %_use_syshunspell
108 BuildRequires: hunspell-devel
109 %endif
110 BuildRequires: doxygen
111 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
112 BuildRequires: pkgconfig(libproxy-1.0)
113 BuildRequires: pkgconfig(alsa)
114 BuildRequires: wget
115 BuildRequires: libnotify-devel
116 BuildRequires: cairo-devel >= 1.10
117 BuildRequires: mesagl-devel
118 BuildRequires: libvpx-devel
119 BuildRequires: autoconf2.1
120 BuildRequires: libiw-devel
121
122 %if 0%{?prel}
123 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
124 %else
125 Provides: %{name} = %{epoch}:%{realver}
126 %endif
127 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
128 Provides: webclient
129
130 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
131 Requires: %{mklibname nss 3} >= 2:%{nss_version}
132 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
133 Requires: indexhtml
134 Requires: xdg-utils
135 # fixes bug #42096
136 Requires: mailcap
137 Suggests: myspell-en_US
138 %ifarch x86_64
139 Suggests: nspluginwrapper
140 %endif
141
142 Obsoletes: firefox-ext-weave-sync
143
144 %description
145 The award-winning Web browser is now faster, more secure, and fully customizable
146 to your online life. With Firefox(R), we've added powerful new features that
147 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 %setup -qn mozilla-release
169 %patch1 -p1 -b .lang
170 %patch2 -p1 -b .vendor
171 #patch3 -p1 -b .systemproxy
172 %patch5 -p1 -b .appname
173 %patch6 -p0 -b .str
174 # It was disabled because firefox3 hangs when using soundwrapper
175 #patch7 -p1
176 %patch8 -p1 -b .disable-software-update
177 %patch10 -p1 -b .default-mail-handler
178 ## KDE INTEGRATION
179 # copy current files and patch them later to keep them in sync
180 %patch11 -p1 -b .kde
181 %patch12 -p1 -b .kdemoz
182 # install kde.js
183 install -m 644 %{SOURCE9} browser/app/profile/kde.js
184
185 %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 # 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 %build
202 export MOZCONFIG=`pwd`/mozconfig
203 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 ac_add_options --host=%{_host}
209 ac_add_options --target=%{_target_platform}
210 ac_add_options --enable-optimize="%{optflags}"
211 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 ac_add_options --with-system-libvpx
221 ac_add_options --enable-webm
222 ac_add_options --enable-gio
223 ac_add_options --disable-gnomevfs
224 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 ac_add_options --enable-startup-notification
237 ac_add_options --enable-xinerama
238 ac_add_options --with-distribution-id=org.mageia
239 ac_add_options --disable-crashreporter
240 %ifarch %arm
241 %if "%{_target_cpu}" != "armv7l"
242 ac_add_options --disable-methodjit
243 ac_add_options --disable-tracejit
244 %endif
245 ac_add_options --enable-system-ffi
246 %endif
247 %ifnarch %arm %mips
248 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 %endif
252
253 EOF
254
255 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
256
257 export LDFLAGS="%ldflags"
258 make -f client.mk build
259
260 %install
261 rm -rf %{buildroot}
262
263 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
264
265 # Copy files to buildroot
266 %{__mkdir_p} %{buildroot}%{mozillalibdir}
267 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
268
269 %{__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 # 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
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 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
286 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 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
289 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
290 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
291 done
292 %{__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
297 # exclusions
298 rm -f %{buildroot}%{mozillalibdir}/README.txt
299 rm -f %{buildroot}%{mozillalibdir}/removed-files
300 rm -f %{buildroot}%{mozillalibdir}/precomplete
301
302 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
303 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
304 user_pref("browser.EULA.override", true);
305 user_pref("browser.shell.checkDefaultBrowser", false);
306 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
307 user_pref("app.update.auto", false);
308 user_pref("app.update.enabled", false);
309 user_pref("app.update.autoInstallEnabled", false);
310 user_pref("browser.showQuitWarning", true);
311 EOF
312
313 # (ahmad) these ones belonged in prefs.js (see above), remove them until it's
314 # decided what search engines to ship by default
315 #user_pref("browser.search.selectedEngine","Ask.com");
316 #user_pref("browser.search.order.1","Ask.com");
317 #user_pref("browser.search.order.2","Exalead");
318 #user_pref("browser.search.order.3","Google");
319 #user_pref("browser.search.order.4","Yahoo");
320
321 # (ahmad) don't install these until it's decided what search engines to ship by
322 # default
323 # search engines
324 #cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
325 #cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
326 #cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
327
328 #sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
329 #sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
330
331 # use the system myspell dictionaries
332 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
333 ln -s %{_datadir}/dict/mozilla %{buildroot}%{mozillalibdir}/dictionaries
334
335 # (lm) touch and %ghost bookmarks.html to a proper uninstall
336 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
337
338 %find_lang %{name}
339
340 mkdir -p %{buildroot}%{_sys_macros_dir}
341 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
342 # Macros from %{name} package
343 %%firefox_major %{major}
344 %%firefox_epoch %{ff_epoch}
345 %%firefox_version %{realver}%{?prel:-0.%prel}
346 %%firefox_mozillapath %{mozillalibdir}
347 %%firefox_pluginsdir %{pluginsdir}
348 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
349 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
350 FIN
351
352 %pre
353 if [ -d %{mozillalibdir}/dictionaries ]; then
354 rm -fr %{mozillalibdir}/dictionaries
355 fi
356
357 %post
358 if [ ! -r /etc/sysconfig/oem ]; then
359 case `grep META_CLASS /etc/sysconfig/system` in
360 *powerpack) bookmark="mozilla-powerpack.html" ;;
361 *desktop) bookmark="mozilla-one.html";;
362 *) bookmark="mozilla-download.html";;
363 esac
364 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
365 fi
366
367 %files -f %{name}.lang
368 %{_bindir}/%{name}
369 %{_bindir}/mozilla-firefox
370 %{_iconsdir}/hicolor/*/apps/*.png
371 %{_miconsdir}/%{name}.png
372 %{_iconsdir}/%{name}.png
373 %{_liconsdir}/%{name}.png
374 %{_datadir}/applications/*.desktop
375 %{_libdir}/%{name}-%{realver}*
376 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
377 %dir %{_libdir}/mozilla
378 %dir %{pluginsdir}
379 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
380 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
381
382 %files devel
383 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30