/[packages]/cauldron/firefox/current/SPECS/firefox.spec
ViewVC logotype

Contents of /cauldron/firefox/current/SPECS/firefox.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 252913 - (show annotations) (download)
Fri Jun 1 15:40:30 2012 UTC (11 years, 10 months ago) by dmorgan
File size: 13662 byte(s)
SILENT: Kde integration still does not build
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 # Stay on ESR for stable releases and for cauldron before mageia2 .
14 %define major 13.0
15 %define ff_epoch 0
16 # (tpg) set version HERE !!!
17 %define realver %{major}b5
18 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
19
20 # (tpg) MOZILLA_FIVE_HOME
21 %define mozillalibdir %{_libdir}/%{name}-%{major}
22 %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 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
30 %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null |sed -e 's!\.0!!' || echo 0)
31
32 %define _use_syshunspell 1
33
34 %define release %mkrel 2
35
36 Summary: Next generation web browser
37 Name: firefox
38 Version: %{major}
39 Epoch: %{ff_epoch}
40 Release: %{release}
41 License: MPLv1+
42 Group: Networking/WWW
43 Url: http://www.mozilla.com/firefox/
44 %if 0%{?prel}
45 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
46 %else
47 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
48 %endif
49 Source4: %{name}.desktop
50 Source9: kde.js
51 Patch1: firefox-6.0-lang.patch
52 Patch2: firefox-vendor.patch
53 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
54 Patch4: firefox-10.0-nss-binary.patch
55 # (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 Patch5: firefox-6.0-appname.patch
58 Patch6: firefox-7.0-fix-str-fmt.patch
59 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 Patch13: firefox-13-fix-nspr-include.patch
66 Patch14: firefox-13-fix-cairo-build.patch
67 Patch34: xulrunner_nojit.patch
68 Patch35: firefox-5.0-asciidel.patch
69 BuildRequires: gtk+2-devel
70 BuildRequires: unzip
71 BuildRequires: zip
72 BuildRequires: libxinerama-devel
73 BuildRequires: libxscrnsaver-devel
74 BuildRequires: libjpeg-devel
75 BuildRequires: libpng-devel >= 2:1.4
76 BuildRequires: zlib-devel
77 BuildRequires: glib2-devel
78 BuildRequires: libIDL2-devel
79 BuildRequires: makedepend
80 BuildRequires: nss-devel >= 2:3.12.10
81 BuildRequires: nss-static-devel
82 BuildRequires: nspr-devel >= 2:4.8.9
83 BuildRequires: startup-notification-devel
84 BuildRequires: dbus-glib-devel
85 BuildRequires: python
86 BuildRequires: sqlite3-devel >= 3.7.7.1
87 %ifnarch %arm %mips
88 BuildRequires: valgrind
89 BuildRequires: java-rpmbuild
90 BuildRequires: yasm >= 1.0.1
91 %endif
92 %ifarch %arm
93 BuildRequires: libffi-devel
94 %endif
95 BuildRequires: rootcerts >= 1:20110830.00
96 BuildRequires: libxt-devel
97 %if %_use_syshunspell
98 BuildRequires: hunspell-devel
99 %endif
100 BuildRequires: doxygen
101 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
102 BuildRequires: pkgconfig(libproxy-1.0)
103 BuildRequires: pkgconfig(alsa)
104 BuildRequires: wget
105 BuildRequires: libnotify-devel
106 BuildRequires: cairo-devel >= 1.10
107 BuildRequires: mesagl-devel
108 BuildRequires: libvpx-devel
109 BuildRequires: autoconf2.1
110 BuildRequires: libiw-devel
111
112 %if 0%{?prel}
113 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
114 %else
115 Provides: %{name} = %{epoch}:%{realver}
116 %endif
117 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
118 Provides: webclient
119
120 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
121 Requires: %{mklibname nss 3} >= 2:%{nss_version}
122 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
123 Requires: indexhtml
124 Requires: xdg-utils
125 # fixes bug #42096
126 Requires: mailcap
127 Suggests: hunspell-en
128 Suggests: %{_lib}canberra0
129 Suggests: %{_lib}cups2
130 Obsoletes: firefox-ext-weave-sync
131 Obsoletes: firefox-beta < 11
132
133 %description
134 The award-winning Web browser is now faster, more secure, and fully customizable
135 to your online life. With Firefox(R), we've added powerful new features that
136 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 Obsoletes: firefox-beta-devel < 11
153
154 %description devel
155 Files and macros mainly for building Firefox extensions.
156
157 %prep
158 %setup -qn mozilla-beta
159 %patch1 -p1 -b .lang
160 %patch2 -p1 -b .vendor
161 #patch3 -p1 -b .systemproxy
162 %patch4 -p0 -b .nss
163 %patch5 -p1 -b .appname
164 # It was disabled because firefox3 hangs when using soundwrapper
165 #patch7 -p1
166 %patch8 -p1 -b .disable-software-update
167 %patch10 -p1 -b .default-mail-handler
168 %patch13 -p0
169 %patch14 -p1
170
171 ## KDE INTEGRATION
172 # Disable kde integration , need refactoring
173 #%patch11 -p1 -b .kde
174 #%patch12 -p1 -b .kdemoz
175 # install kde.js
176 #install -m 644 %{SOURCE9} browser/app/profile/kde.js
177
178 %ifarch %arm
179 %if "%{_target_cpu}" != "armv7l"
180 %patch34 -p1
181 %endif
182 %endif
183 %patch35 -p1
184 pushd js/src
185 autoconf-2.13
186 popd
187 autoconf-2.13
188
189 # 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 %build
195 export MOZCONFIG=`pwd`/mozconfig
196 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 ac_add_options --host=%{_host}
202 ac_add_options --target=%{_target_platform}
203 ac_add_options --enable-optimize="%{optflags}"
204 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 ac_add_options --with-system-libvpx
214 ac_add_options --enable-webm
215 ac_add_options --enable-gio
216 ac_add_options --disable-gnomevfs
217 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 ac_add_options --with-system-png
226 ac_add_options --with-system-jpeg
227 ac_add_options --enable-system-cairo
228 ac_add_options --enable-system-sqlite
229 ac_add_options --enable-startup-notification
230 ac_add_options --enable-xinerama
231 ac_add_options --with-distribution-id=org.mageia
232 ac_add_options --disable-crashreporter
233 %ifarch %arm
234 %if "%{_target_cpu}" != "armv7l"
235 ac_add_options --disable-methodjit
236 ac_add_options --disable-tracejit
237 %endif
238 ac_add_options --enable-system-ffi
239 %endif
240 %ifnarch %arm %mips
241 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 %endif
245
246 EOF
247
248 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
249
250 export LDFLAGS="%ldflags"
251 make -f client.mk build
252
253 %install
254 rm -rf %{buildroot}
255
256 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
257
258 # Copy files to buildroot
259 %{__mkdir_p} %{buildroot}%{mozillalibdir}
260 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
261
262 %{__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
268 # 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
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 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
279 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 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
282 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
283 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
284 done
285 %{__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 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
289
290 # exclusions
291 rm -f %{buildroot}%{mozillalibdir}/README.txt
292 rm -f %{buildroot}%{mozillalibdir}/removed-files
293 rm -f %{buildroot}%{mozillalibdir}/precomplete
294
295 # this file is only used when creating a new user profile
296 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 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
301 user_pref("app.update.auto", false);
302 user_pref("app.update.enabled", false);
303 user_pref("app.update.autoInstallEnabled", false);
304 user_pref("browser.showQuitWarning", true);
305 EOF
306
307 # display icon for Firefox button
308 %{__mkdir_p} %{buildroot}%{mozillalibdir}/defaults/profile/chrome
309 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/profile/chrome/userChrome.css
310 #appmenu-toolbar-button {
311 list-style-image: url("chrome://branding/content/icon16.png");
312 }
313 EOF
314
315 # 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 # use the system myspell dictionaries
331 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
332 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
333
334 # (lm) touch and %ghost bookmarks.html to a proper uninstall
335 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
336
337 %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 %%firefox_version %{major}%{?prel:-0.%prel}
345 %%firefox_mozillapath %{mozillalibdir}
346 %%firefox_pluginsdir %{pluginsdir}
347 %%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 FIN
350
351 %pre
352 if [ -d %{mozillalibdir}/dictionaries ]; then
353 rm -fr %{mozillalibdir}/dictionaries
354 fi
355
356 %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 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
364 fi
365
366 %files -f %{name}.lang
367 %{_bindir}/%{name}
368 %{_bindir}/mozilla-firefox
369 %{_iconsdir}/hicolor/*/apps/*.png
370 %{_miconsdir}/%{name}.png
371 %{_iconsdir}/%{name}.png
372 %{_liconsdir}/%{name}.png
373 %{_datadir}/applications/*.desktop
374 %{_libdir}/%{name}-%{major}*
375 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
376 %dir %{_libdir}/mozilla
377 %dir %{pluginsdir}
378 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
379 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
380
381 %files devel
382 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30