/[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 379672 - (show annotations) (download)
Sun Jan 13 21:31:50 2013 UTC (11 years, 3 months ago) by dmorgan
File size: 14099 byte(s)
Add back kde integration ( opensuse )
1 #
2 # WARNING, READ FIRST:
3 #
4 # This is a special package that needs special treatment. Due to the amount of
5 # security updates it needs, it's common to ship new upstream versions instead of patching.
6 # That means this package MUST be BUILDABLE for stable official releases.
7 # This also means only STABLE upstream releases, NO betas.
8 # This is a discussed topic. Please, do not flame it again.
9
10 # Stay on ESR for stable releases and for cauldron before mageia 3.
11 # /!\ Do not update more than FF 17 for mga3. /!\
12
13 %define major 17.0.2
14 %define ff_epoch 0
15 # (tpg) set version HERE !!!
16 %define realver %{major}esr
17 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
18
19 # (tpg) MOZILLA_FIVE_HOME
20 %define mozillalibdir %{_libdir}/%{name}-%{major}
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 |sed -e 's!\.0!!' || echo 0)
30
31 %define _use_syshunspell 1
32
33 %define release %mkrel 3
34
35 %define update_channel esr17
36
37 Summary: Next generation web browser
38 Name: firefox
39 Version: %{major}
40 Epoch: %{ff_epoch}
41 Release: %{release}
42 License: MPLv1+
43 Group: Networking/WWW
44 Url: http://www.mozilla.org/firefox/organizations/
45 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
46 Source4: %{name}.desktop
47 Source8: %{name}-searchengines-duckduckgo.xml
48 Source9: kde.js
49 Patch1: firefox-6.0-lang.patch
50 Patch2: firefox-vendor.patch
51 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
52 Patch4: firefox-17.0-nss-binary.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 Patch9: firefox-5.0-asciidel.patch
60 Patch10: firefox-3.5.3-default-mail-handler.patch
61 # Patches for kde integration of FF
62 Patch11: firefox-kde.patch
63 Patch12: mozilla-kde.patch
64 Patch13: firefox-13-fix-nspr-include.patch
65 Patch14: firefox-13-fix-cairo-build.patch
66 Patch34: xulrunner_nojit.patch
67 # (cjw) use system virtualenv
68 Patch36: iceape-2.12-system-virtualenv.patch
69 Patch37: firefox-17.0-nss-version.patch
70 BuildRequires: gtk+2-devel
71 BuildRequires: unzip
72 BuildRequires: zip
73 BuildRequires: libxinerama-devel
74 BuildRequires: libxscrnsaver-devel
75 BuildRequires: libjpeg-devel
76 BuildRequires: libpng-devel >= 2:1.4
77 BuildRequires: zlib-devel
78 BuildRequires: glib2-devel
79 BuildRequires: libIDL2-devel
80 BuildRequires: makedepend
81 BuildRequires: nss-devel >= 2:3.13.2
82 BuildRequires: nss-static-devel
83 BuildRequires: nspr-devel >= 2:4.8.9
84 BuildRequires: startup-notification-devel
85 BuildRequires: dbus-glib-devel
86 BuildRequires: python
87 BuildRequires: sqlite3-devel >= 3.7.13
88 %ifnarch %arm %mips
89 BuildRequires: valgrind
90 BuildRequires: java-rpmbuild
91 BuildRequires: yasm >= 1.0.1
92 %endif
93 %ifarch %arm
94 BuildRequires: libffi-devel
95 %endif
96 BuildRequires: rootcerts >= 1:20110830.00
97 BuildRequires: libxt-devel
98 %if %_use_syshunspell
99 BuildRequires: hunspell-devel
100 %endif
101 BuildRequires: doxygen
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 BuildRequires: python-virtualenv
112 BuildRequires: gstreamer0.10-devel
113 BuildRequires: libgstreamer0.10-plugins-base-devel
114 BuildRequires: pkgconfig(opus)
115
116 Provides: %{name} = %{epoch}:%{major}
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 < 18
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 < 18
153
154 %description devel
155 Files and macros mainly for building Firefox extensions.
156
157 %prep
158 %setup -qn mozilla-%update_channel
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 %patch9 -p1 -b .ascii
168 %patch10 -p1 -b .default-mail-handler
169 %patch14 -p1
170 ## KDE INTEGRATION
171 %patch11 -p1 -b .kde
172 %patch12 -p1 -b .kdemoz
173
174 %ifarch %arm
175 %if "%{_target_cpu}" != "armv7l"
176 %patch34 -p1
177 %endif
178 %endif
179 %patch36 -p2 -b .system-virtualenv
180 %patch37 -p0
181
182 pushd js/src
183 autoconf-2.13
184 popd
185 autoconf-2.13
186
187 # needed to regenerate certdata.c
188 pushd security/nss/lib/ckfw/builtins
189 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
190 popd
191
192 %build
193 export MOZCONFIG=`pwd`/mozconfig
194 cat << EOF > $MOZCONFIG
195 mk_add_options MOZILLA_OFFICIAL=1
196 mk_add_options BUILD_OFFICIAL=1
197 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
198 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
199 ac_add_options --host=%{_host}
200 ac_add_options --target=%{_target_platform}
201 ac_add_options --enable-optimize="%{optflags}"
202 ac_add_options --prefix="%{_prefix}"
203 ac_add_options --libdir="%{_libdir}"
204 ac_add_options --sysconfdir="%{_sysconfdir}"
205 ac_add_options --mandir="%{_mandir}"
206 ac_add_options --includedir="%{_includedir}"
207 ac_add_options --datadir="%{_datadir}"
208 ac_add_options --with-system-nspr
209 ac_add_options --with-system-nss
210 ac_add_options --with-system-zlib
211 ac_add_options --with-system-libvpx
212 ac_add_options --enable-webm
213 ac_add_options --enable-gio
214 ac_add_options --disable-gnomevfs
215 ac_add_options --disable-updater
216 ac_add_options --disable-tests
217 ac_add_options --disable-debug
218 #ac_add_options --enable-chrome-format=jar
219 #ac_add_options --enable-update-channel=beta
220 ac_add_options --enable-official-branding
221 ac_add_options --enable-libproxy
222 ac_add_options --with-system-png
223 ac_add_options --with-system-jpeg
224 ac_add_options --enable-system-cairo
225 ac_add_options --enable-system-sqlite
226 ac_add_options --enable-startup-notification
227 ac_add_options --enable-xinerama
228 ac_add_options --with-distribution-id=org.mageia
229 ac_add_options --disable-crashreporter
230 ac_add_options --enable-update-channel=%{update_channel}
231 ac_add_options --enable-gstreamer
232 %ifarch %arm
233 %if "%{_target_cpu}" != "armv7l"
234 ac_add_options --disable-methodjit
235 ac_add_options --disable-tracejit
236 %endif
237 ac_add_options --enable-system-ffi
238 %endif
239 %ifnarch %arm %mips
240 ac_add_options --with-valgrind
241 ac_add_options --with-java-include-path=%{java_home}/include
242 ac_add_options --with-java-bin-path=%{java_home}/bin
243 ac_add_options --enable-opus
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 MOZ_PKG_FATAL_WARNINGS=0
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 mkdir -p %{buildroot}%{mozillalibdir}/defaults/preferences/
268 install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/defaults/preferences/kde.js
269
270 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
271 %{__mkdir_p} %{buildroot}%{pluginsdir}
272 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
273 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
274
275 # (tpg) desktop entry
276 %{__mkdir_p} %{buildroot}%{_datadir}/applications
277 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
278
279 # (tpg) icons
280 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
281 for i in 16 22 24 32 48 256; do
282 # (cg) Not all icon sizes are installed with make install, so just redo it here.
283 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
284 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
285 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
286 done
287 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
288 ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
289 ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
290 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
291
292 # exclusions
293 rm -f %{buildroot}%{mozillalibdir}/README.txt
294 rm -f %{buildroot}%{mozillalibdir}/removed-files
295 rm -f %{buildroot}%{mozillalibdir}/precomplete
296
297 # this file is only used when creating a new user profile
298 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
299 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
300 user_pref("browser.EULA.override", true);
301 user_pref("browser.shell.checkDefaultBrowser", false);
302 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
303 user_pref("app.update.auto", false);
304 user_pref("app.update.enabled", false);
305 user_pref("app.update.autoInstallEnabled", false);
306 user_pref("browser.showQuitWarning", true);
307 EOF
308
309 # display icon for Firefox button
310 %{__mkdir_p} %{buildroot}%{mozillalibdir}/defaults/profile/chrome
311 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/profile/chrome/userChrome.css
312 #appmenu-toolbar-button {
313 list-style-image: url("chrome://branding/content/icon16.png");
314 }
315 EOF
316
317 # files in this directory are read on every startup, and can change/add
318 # preferences for existing profiles
319 # extensions.autoDisableScopes is a new preference added in firefox 8
320 # it defines "scopes" where newly installed addons are disabled by default
321 # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
322 # we need to remove system scope (8) from it so language packs and other addons
323 # which are installed systemwide won't get marked as 3rd party and disabled
324 # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
325 # or in toolkit/mozapps/extensions/AddonManager.jsm
326 # we also need to disable the "disable addon selection dialog"
327 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/preferences/mga.js
328 pref("extensions.autoDisableScopes", 0);
329 pref("extensions.shownSelectionUI", true);
330 EOF
331 # FIXME: Add it back in mga.js when this search engine will be used by default.
332 # user_pref("browser.search.selectedEngine","duckduckgo.com");
333
334 # use the system myspell dictionaries
335 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
336 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
337
338 # (lm) touch and %ghost bookmarks.html to a proper uninstall
339 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
340
341 %find_lang %{name}
342
343 mkdir -p %{buildroot}%{_sys_macros_dir}
344 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
345 # Macros from %{name} package
346 %%firefox_major %{major}
347 %%firefox_epoch %{ff_epoch}
348 %%firefox_version %{major}
349 %%firefox_mozillapath %{mozillalibdir}
350 %%firefox_pluginsdir %{pluginsdir}
351 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
352 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
353 FIN
354 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/duckduckgo.xml
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}-%{major}*
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