/[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 484107 - (show annotations) (download)
Mon Sep 23 10:12:06 2013 UTC (10 years, 6 months ago) by fwang
File size: 14031 byte(s)
update java br
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 4.
11 # /!\ Do not update more than FF 24 for mga4. /!\
12
13 %define major 24
14 %define ff_epoch 0
15 # (tpg) set version HERE !!!
16 %define extra esr
17 #define extra %nil
18 %define realver %{version}%extra
19 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
20
21 # (tpg) MOZILLA_FIVE_HOME
22 %define mozillalibdir %{_libdir}/%{name}-%{version}
23 %define pluginsdir %{_libdir}/mozilla/plugins
24
25 # libxul.so is provided by libxulrunnner2.0.
26 %define _requires_exceptions libxul.so
27
28 # this seems fragile, so require the exact version or later (#58754)
29 %define sqlite3_version %(pkg-config --modversion sqlite3 &>/dev/null && pkg-config --modversion sqlite3 2>/dev/null || echo 0)
30 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
31 %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null || echo 0)
32
33 %define _use_syshunspell 1
34
35 %define release %mkrel 3
36
37 %define update_channel %{extra}%major
38
39 Summary: Next generation web browser
40 Name: firefox
41 Version: %{major}.0
42 Epoch: %{ff_epoch}
43 Release: %{release}
44 License: MPLv1+
45 Group: Networking/WWW
46 Url: http://www.mozilla.org/firefox/organizations/
47 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
48 Source4: %{name}.desktop
49 Source8: %{name}-searchengines-duckduckgo.xml
50 Source9: kde.js
51 Patch1: firefox-6.0-lang.patch
52 Patch2: firefox-vendor.patch
53 Patch4: firefox-21.0-nss-binary.patch
54 # (OpenSuse) add patch to make firefox always use /usr/bin/firefox when "make firefox
55 # the default web browser" is used fix mdv bug#58784
56 Patch5: firefox-21.0-appname.patch
57 Patch6: firefox-7.0-fix-str-fmt.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: https://build.opensuse.org/package/rawsourcefile/mozilla:Factory/MozillaFirefox/mozilla-kde.patch
63 # (fwang) please modify patch12 with `sed -e 's/MozillaFirefox/firefox/'` to fit our desktop filename
64 Patch12: https://build.opensuse.org/package/rawsourcefile/mozilla:Factory/MozillaFirefox/firefox-kde.patch
65 Patch13: firefox-13-fix-nspr-include.patch
66 Patch37: firefox-17.0-nss-version.patch
67 BuildRequires: gtk+2-devel
68 BuildRequires: unzip
69 BuildRequires: zip
70 BuildRequires: libxinerama-devel
71 BuildRequires: libxscrnsaver-devel
72 BuildRequires: libjpeg-devel
73 BuildRequires: libpng-devel >= 2:1.4
74 BuildRequires: zlib-devel
75 BuildRequires: glib2-devel
76 BuildRequires: libIDL2-devel
77 BuildRequires: makedepend
78 BuildRequires: nss-devel >= 2:3.13.2
79 BuildRequires: nss-static-devel
80 BuildRequires: nspr-devel >= 2:4.9.0
81 BuildRequires: startup-notification-devel
82 BuildRequires: dbus-glib-devel
83 BuildRequires: python
84 BuildRequires: sqlite3-devel >= 3.7.13
85 %ifnarch %arm %mips
86 BuildRequires: valgrind
87 BuildRequires: java-devel
88 BuildRequires: jpackage-utils
89 BuildRequires: yasm >= 1.0.1
90 %endif
91 %ifarch %arm
92 BuildRequires: libffi-devel
93 %endif
94 BuildRequires: rootcerts >= 1:20110830.00
95 BuildRequires: libxt-devel
96 %if %_use_syshunspell
97 BuildRequires: hunspell-devel
98 %endif
99 BuildRequires: doxygen
100 BuildRequires: pkgconfig(libproxy-1.0)
101 BuildRequires: pkgconfig(alsa)
102 BuildRequires: wget
103 BuildRequires: libnotify-devel
104 BuildRequires: cairo-devel >= 1.10
105 BuildRequires: mesagl-devel
106 BuildRequires: libvpx-devel
107 BuildRequires: autoconf2.1
108 BuildRequires: libiw-devel
109 BuildRequires: python-virtualenv
110 BuildRequires: gstreamer0.10-devel
111 BuildRequires: libgstreamer0.10-plugins-base-devel
112 BuildRequires: pkgconfig(ogg)
113 BuildRequires: pkgconfig(vorbis)
114 BuildRequires: pkgconfig(theoradec)
115 BuildRequires: pkgconfig(opus)
116 BuildRequires: pkgconfig(libevent)
117
118 Provides: %{name} = %{epoch}:%{version}
119 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
120 Provides: webclient
121
122 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
123 Requires: %{mklibname nss 3} >= 2:%{nss_version}
124 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
125 Requires: indexhtml
126 Requires: xdg-utils
127 # fixes bug #42096
128 Requires: mailcap
129 Suggests: hunspell-en
130 Suggests: %{_lib}canberra0
131 Suggests: %{_lib}cups2
132 Obsoletes: firefox-ext-weave-sync
133 Obsoletes: firefox-beta < 18
134
135 %description
136 The award-winning Web browser is now faster, more secure, and fully customizable
137 to your online life. With Firefox(R), we've added powerful new features that
138 make your online experience even better. It is an 'open source' product which is
139 freely available, and is acquiring a growing proportion of international web
140 browser usage.
141
142 Firefox claims to offer a more secure web browsing experience than other products,
143 with better protection against spyware and other Internet-based security threats.
144 It includes all the standard features of a modern web browser, like Internet
145 searching, tracking recently visited sites, setting up shortcuts to favourite
146 sites, customising the software behaviour and so on. Firefox also includes
147 features like 'tabbed browsing' (opening several web sites as sections within the
148 same window) and methods for controlling pop-up windows, cookies and downloaded
149 files.
150
151 %package devel
152 Summary: Development files for %{name}
153 Group: Development/Other
154 Obsoletes: firefox-beta-devel < 18
155
156 %description devel
157 Files and macros mainly for building Firefox extensions.
158
159 %prep
160 %if %{?extra}
161 %setup -qn mozilla-%update_channel
162 %else
163 %setup -qn mozilla-release
164 %endif
165 %patch1 -p1 -b .lang
166 %patch2 -p1 -b .vendor
167 %patch4 -p0 -b .nss
168 %patch5 -p1 -b .appname
169 %patch8 -p1 -b .disable-software-update
170 %patch9 -p1 -b .ascii
171 %patch10 -p1 -b .default-mail-handler
172 %patch11 -p1 -b .mozkde
173 %patch12 -p1 -b .ffkde
174
175 %patch37 -p0
176
177 pushd js/src
178 autoconf-2.13
179 popd
180 autoconf-2.13
181
182 # needed to regenerate certdata.c
183 pushd security/nss/lib/ckfw/builtins
184 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
185 popd
186
187 %build
188 export MOZCONFIG=`pwd`/mozconfig
189 cat << EOF > $MOZCONFIG
190 mk_add_options MOZILLA_OFFICIAL=1
191 mk_add_options BUILD_OFFICIAL=1
192 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
193 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
194 ac_add_options --host=%{_host}
195 ac_add_options --target=%{_target_platform}
196 ac_add_options --enable-optimize="%{optflags}"
197 ac_add_options --prefix="%{_prefix}"
198 ac_add_options --libdir="%{_libdir}"
199 ac_add_options --sysconfdir="%{_sysconfdir}"
200 ac_add_options --mandir="%{_mandir}"
201 ac_add_options --includedir="%{_includedir}"
202 ac_add_options --datadir="%{_datadir}"
203 ac_add_options --with-system-nspr
204 ac_add_options --with-system-nss
205 ac_add_options --with-system-zlib
206 ac_add_options --with-system-libvpx
207 ac_add_options --with-system-libevent
208 ac_add_options --enable-webm
209 ac_add_options --enable-gio
210 ac_add_options --disable-gnomevfs
211 ac_add_options --disable-updater
212 ac_add_options --disable-tests
213 ac_add_options --disable-debug
214 ac_add_options --enable-official-branding
215 ac_add_options --enable-libproxy
216 ac_add_options --with-system-png
217 ac_add_options --with-system-jpeg
218 ac_add_options --enable-system-cairo
219 ac_add_options --enable-system-sqlite
220 ac_add_options --enable-startup-notification
221 ac_add_options --enable-xinerama
222 ac_add_options --with-distribution-id=org.mageia
223 ac_add_options --disable-crashreporter
224 ac_add_options --enable-update-channel=%{update_channel}
225 ac_add_options --enable-gstreamer
226 %ifarch %arm
227 %if "%{_target_cpu}" != "armv7l"
228 ac_add_options --disable-methodjit
229 %endif
230 ac_add_options --enable-system-ffi
231 %endif
232 %ifnarch %arm %mips
233 ac_add_options --with-valgrind
234 ac_add_options --with-java-include-path=%{java_home}/include
235 ac_add_options --with-java-bin-path=%{java_home}/bin
236 %endif
237 ac_add_options --with-system-ogg
238 ac_add_options --enable-opus
239 ac_add_options --disable-webrtc
240
241 EOF
242
243 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
244 %ifarch %arm
245 export CFLAGS="-D__ARM_PCS $(echo %{optflags})"
246 export CXXFLAGS="$CFLAGS"
247 %endif
248 export LDFLAGS="%ldflags"
249 make -f client.mk build
250
251 %install
252 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
253
254 # Copy files to buildroot
255 %{__mkdir_p} %{buildroot}%{mozillalibdir}
256 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
257
258 %{__mkdir_p} %{buildroot}%{_bindir}
259 ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
260 pushd %{buildroot}%{_bindir}
261 ln -sf firefox mozilla-firefox
262 popd
263 mkdir -p %{buildroot}%{mozillalibdir}/defaults/preferences/
264 install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/defaults/preferences/kde.js
265
266 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
267 %{__mkdir_p} %{buildroot}%{pluginsdir}
268 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
269 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
270
271 # (tpg) desktop entry
272 %{__mkdir_p} %{buildroot}%{_datadir}/applications
273 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
274
275 # (tpg) icons
276 %{__cp} %{buildroot}%{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/browser/icons/
277 for i in 16 22 24 32 48 256; do
278 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
279 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
280 done
281 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
282 ln -sf %{mozillalibdir}/browser/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
283 ln -sf %{mozillalibdir}/browser/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
284 ln -sf %{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
285
286 # exclusions
287 rm -f %{buildroot}%{mozillalibdir}/README.txt
288 rm -f %{buildroot}%{mozillalibdir}/removed-files
289 rm -f %{buildroot}%{mozillalibdir}/precomplete
290
291 # this file is only used when creating a new user profile
292 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
293 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
294 user_pref("browser.EULA.override", true);
295 user_pref("browser.shell.checkDefaultBrowser", false);
296 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
297 user_pref("app.update.auto", false);
298 user_pref("app.update.enabled", false);
299 user_pref("app.update.autoInstallEnabled", false);
300 user_pref("browser.showQuitWarning", true);
301 EOF
302
303 # display icon for Firefox button
304 %{__mkdir_p} %{buildroot}%{mozillalibdir}/defaults/profile/chrome
305 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/profile/chrome/userChrome.css
306 #appmenu-toolbar-button {
307 list-style-image: url("chrome://branding/content/icon16.png");
308 }
309 EOF
310
311 # files in this directory are read on every startup, and can change/add
312 # preferences for existing profiles
313 # extensions.autoDisableScopes is a new preference added in firefox 8
314 # it defines "scopes" where newly installed addons are disabled by default
315 # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
316 # we need to remove system scope (8) from it so language packs and other addons
317 # which are installed systemwide won't get marked as 3rd party and disabled
318 # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
319 # or in toolkit/mozapps/extensions/AddonManager.jsm
320 # we also need to disable the "disable addon selection dialog"
321 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/preferences/mga.js
322 pref("general.useragent.locale", "chrome://global/locale/intl.properties");
323 pref("extensions.autoDisableScopes", 0);
324 pref("extensions.shownSelectionUI", true);
325 EOF
326 # FIXME: Add it back in mga.js when this search engine will be used by default.
327 # user_pref("browser.search.selectedEngine","duckduckgo.com");
328
329 # use the system myspell dictionaries
330 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
331 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
332
333 # (lm) touch and %ghost bookmarks.html to a proper uninstall
334 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
335
336 %find_lang %{name}
337
338 mkdir -p %{buildroot}%{_sys_macros_dir}
339 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
340 # Macros from %{name} package
341 %%firefox_major %{version}
342 %%firefox_epoch %{ff_epoch}
343 %%firefox_version %{version}
344 %%firefox_mozillapath %{mozillalibdir}
345 %%firefox_pluginsdir %{pluginsdir}
346 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
347 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
348 FIN
349 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/browser/searchplugins/duckduckgo.xml
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}-%{version}*
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