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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 407104 - (hide annotations) (download)
Tue Apr 2 07:22:07 2013 UTC (10 years, 11 months ago) by fwang
File size: 14428 byte(s)
new version 17.0.5esr
1 blino 20612 #
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 dmorgan 287522 # Stay on ESR for stable releases and for cauldron before mageia 3.
11     # /!\ Do not update more than FF 17 for mga3. /!\
12    
13 fwang 407104 %define major 17.0.5
14 blino 20612 %define ff_epoch 0
15     # (tpg) set version HERE !!!
16 fwang 319950 %define realver %{major}esr
17 lmenut 130942 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
18 dmorgan 127856
19 blino 20612 # (tpg) MOZILLA_FIVE_HOME
20 fwang 206843 %define mozillalibdir %{_libdir}/%{name}-%{major}
21 blino 20612 %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 lmenut 130942 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
29 tv 211809 %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null |sed -e 's!\.0!!' || echo 0)
30 blino 20612
31     %define _use_syshunspell 1
32    
33 fwang 398685 %define release %mkrel 1
34 blino 20612
35 fwang 319950 %define update_channel esr17
36 dmorgan 256220
37 blino 20612 Summary: Next generation web browser
38     Name: firefox
39 fwang 206843 Version: %{major}
40 blino 20612 Epoch: %{ff_epoch}
41     Release: %{release}
42     License: MPLv1+
43     Group: Networking/WWW
44 fwang 319950 Url: http://www.mozilla.org/firefox/organizations/
45 dmorgan 256939 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
46 blino 20612 Source4: %{name}.desktop
47 luigiwalser 390568 Source8: %{name}-searchengines-duckduckgo.xml
48 blino 20612 Source9: kde.js
49 fwang 133091 Patch1: firefox-6.0-lang.patch
50 luigiwalser 390568 Patch2: firefox-vendor.patch
51 blino 20612 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
52 tv 319844 Patch4: firefox-17.0-nss-binary.patch
53 blino 20612 # (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 luigiwalser 390568 Patch5: firefox-6.0-appname.patch
56 fwang 149203 Patch6: firefox-7.0-fix-str-fmt.patch
57 dmorgan 127856 Patch7: mozilla-firefox-run-mozilla.patch
58     Patch8: firefox-disable-check-default-browser.patch
59 luigiwalser 390568 Patch9: firefox-5.0-asciidel.patch
60 dmorgan 127856 Patch10: firefox-3.5.3-default-mail-handler.patch
61     # Patches for kde integration of FF
62 luigiwalser 390568 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 rtp 385395 Patch34: Bug-814693-Allow-webrtc-to-build-on-more-architectur.patch
67 dmorgan 284628 # (cjw) use system virtualenv
68 dmorgan 320058 Patch36: iceape-2.12-system-virtualenv.patch
69 luigiwalser 390568 Patch37: firefox-17.0-nss-version.patch
70 luigiwalser 390635 # (cjw) build against system ogg libs
71     Patch38: firefox-17.0-system-ogg.patch
72     # (cjw) use mozilla ogg player instead of gstreamer
73     Patch39: firefox-17.0-moz-ogg.patch
74 blino 20612 BuildRequires: gtk+2-devel
75     BuildRequires: unzip
76     BuildRequires: zip
77 fwang 133282 BuildRequires: libxinerama-devel
78 fwang 164134 BuildRequires: libxscrnsaver-devel
79 blino 20612 BuildRequires: libjpeg-devel
80 fwang 142362 BuildRequires: libpng-devel >= 2:1.4
81 blino 20612 BuildRequires: zlib-devel
82     BuildRequires: glib2-devel
83     BuildRequires: libIDL2-devel
84     BuildRequires: makedepend
85 dmorgan 320058 BuildRequires: nss-devel >= 2:3.13.2
86 luigiwalser 390568 BuildRequires: nss-static-devel
87 dmorgan 134676 BuildRequires: nspr-devel >= 2:4.8.9
88 blino 20612 BuildRequires: startup-notification-devel
89     BuildRequires: dbus-glib-devel
90     BuildRequires: python
91 luigiwalser 390568 BuildRequires: sqlite3-devel >= 3.7.13
92 rtp 79029 %ifnarch %arm %mips
93 blino 20612 BuildRequires: valgrind
94 rtp 79029 BuildRequires: java-rpmbuild
95 luigiwalser 390568 BuildRequires: yasm >= 1.0.1
96 rtp 79029 %endif
97     %ifarch %arm
98     BuildRequires: libffi-devel
99     %endif
100 dmorgan 137463 BuildRequires: rootcerts >= 1:20110830.00
101 blino 20612 BuildRequires: libxt-devel
102     %if %_use_syshunspell
103     BuildRequires: hunspell-devel
104     %endif
105     BuildRequires: doxygen
106 ahmad 130766 BuildRequires: pkgconfig(libproxy-1.0)
107     BuildRequires: pkgconfig(alsa)
108 blino 20612 BuildRequires: wget
109     BuildRequires: libnotify-devel
110 ahmad 48246 BuildRequires: cairo-devel >= 1.10
111 blino 20612 BuildRequires: mesagl-devel
112 ahmad 75100 BuildRequires: libvpx-devel
113 rtp 79029 BuildRequires: autoconf2.1
114 luigiwalser 390568 BuildRequires: libiw-devel
115 dmorgan 284628 BuildRequires: python-virtualenv
116     BuildRequires: gstreamer0.10-devel
117     BuildRequires: libgstreamer0.10-plugins-base-devel
118 luigiwalser 390635 BuildRequires: pkgconfig(ogg)
119     BuildRequires: pkgconfig(vorbis)
120     BuildRequires: pkgconfig(theoradec)
121 luigiwalser 390568 BuildRequires: pkgconfig(opus)
122 lmenut 329825
123     Provides: %{name} = %{epoch}:%{major}
124 lmenut 130942 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
125 blino 20612 Provides: webclient
126 lmenut 130942
127     Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
128     Requires: %{mklibname nss 3} >= 2:%{nss_version}
129     Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
130 blino 20612 Requires: indexhtml
131 luigiwalser 390568 Requires: xdg-utils
132 lmenut 130942 # fixes bug #42096
133     Requires: mailcap
134 fwang 211783 Suggests: hunspell-en
135 fwang 205048 Suggests: %{_lib}canberra0
136     Suggests: %{_lib}cups2
137 ahmad 75375 Obsoletes: firefox-ext-weave-sync
138 fwang 319950 Obsoletes: firefox-beta < 18
139 blino 20612
140     %description
141     The award-winning Web browser is now faster, more secure, and fully customizable
142 tv 45609 to your online life. With Firefox(R), we've added powerful new features that
143 blino 20612 make your online experience even better. It is an 'open source' product which is
144     freely available, and is acquiring a growing proportion of international web
145     browser usage.
146    
147     Firefox claims to offer a more secure web browsing experience than other products,
148     with better protection against spyware and other Internet-based security threats.
149     It includes all the standard features of a modern web browser, like Internet
150     searching, tracking recently visited sites, setting up shortcuts to favourite
151     sites, customising the software behaviour and so on. Firefox also includes
152     features like 'tabbed browsing' (opening several web sites as sections within the
153     same window) and methods for controlling pop-up windows, cookies and downloaded
154     files.
155    
156     %package devel
157     Summary: Development files for %{name}
158     Group: Development/Other
159 fwang 319950 Obsoletes: firefox-beta-devel < 18
160 blino 20612
161     %description devel
162     Files and macros mainly for building Firefox extensions.
163    
164     %prep
165 dmorgan 263350 %setup -qn mozilla-%update_channel
166 dmorgan 116916 %patch1 -p1 -b .lang
167 dmorgan 127856 %patch2 -p1 -b .vendor
168 lmenut 130942 #patch3 -p1 -b .systemproxy
169 fwang 223798 %patch4 -p0 -b .nss
170 lmenut 130942 %patch5 -p1 -b .appname
171 blino 20612 # It was disabled because firefox3 hangs when using soundwrapper
172 dmorgan 127856 #patch7 -p1
173 dmorgan 252897 %patch8 -p1 -b .disable-software-update
174 dmorgan 284629 %patch9 -p1 -b .ascii
175 dmorgan 127856 %patch10 -p1 -b .default-mail-handler
176 dmorgan 284631 %patch14 -p1
177 blino 20612 ## KDE INTEGRATION
178 dmorgan 304598 %patch11 -p1 -b .kde
179     %patch12 -p1 -b .kdemoz
180 blino 20612
181 rtp 385395
182     %patch34 -p1 -b .webrtc
183 dmorgan 284628 %patch36 -p2 -b .system-virtualenv
184 dmorgan 320058 %patch37 -p0
185 luigiwalser 390635 %patch38 -p1
186     %patch39 -p1
187 dmorgan 284628
188 rtp 79029 pushd js/src
189     autoconf-2.13
190     popd
191     autoconf-2.13
192    
193 dmorgan 127856 # needed to regenerate certdata.c
194     pushd security/nss/lib/ckfw/builtins
195     perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
196     popd
197    
198 blino 20612 %build
199 fwang 149200 export MOZCONFIG=`pwd`/mozconfig
200 dmorgan 127856 cat << EOF > $MOZCONFIG
201     mk_add_options MOZILLA_OFFICIAL=1
202     mk_add_options BUILD_OFFICIAL=1
203     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
204     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
205 fwang 132978 ac_add_options --host=%{_host}
206     ac_add_options --target=%{_target_platform}
207 fwang 205048 ac_add_options --enable-optimize="%{optflags}"
208 dmorgan 127856 ac_add_options --prefix="%{_prefix}"
209     ac_add_options --libdir="%{_libdir}"
210     ac_add_options --sysconfdir="%{_sysconfdir}"
211     ac_add_options --mandir="%{_mandir}"
212     ac_add_options --includedir="%{_includedir}"
213     ac_add_options --datadir="%{_datadir}"
214     ac_add_options --with-system-nspr
215     ac_add_options --with-system-nss
216     ac_add_options --with-system-zlib
217 fwang 133280 ac_add_options --with-system-libvpx
218     ac_add_options --enable-webm
219 lmenut 130942 ac_add_options --enable-gio
220     ac_add_options --disable-gnomevfs
221 dmorgan 127856 ac_add_options --disable-updater
222     ac_add_options --disable-tests
223     ac_add_options --disable-debug
224     #ac_add_options --enable-chrome-format=jar
225     #ac_add_options --enable-update-channel=beta
226     ac_add_options --enable-official-branding
227     ac_add_options --enable-libproxy
228 fwang 142362 ac_add_options --with-system-png
229 dmorgan 127856 ac_add_options --with-system-jpeg
230     ac_add_options --enable-system-cairo
231     ac_add_options --enable-system-sqlite
232 lmenut 130942 ac_add_options --enable-startup-notification
233 fwang 133282 ac_add_options --enable-xinerama
234 dmorgan 127856 ac_add_options --with-distribution-id=org.mageia
235     ac_add_options --disable-crashreporter
236 dmorgan 263350 ac_add_options --enable-update-channel=%{update_channel}
237 dmorgan 276864 ac_add_options --enable-gstreamer
238 rtp 79029 %ifarch %arm
239     %if "%{_target_cpu}" != "armv7l"
240 dmorgan 127856 ac_add_options --disable-methodjit
241 rtp 79029 %endif
242 dmorgan 127856 ac_add_options --enable-system-ffi
243 rtp 79029 %endif
244     %ifnarch %arm %mips
245 dmorgan 127856 ac_add_options --with-valgrind
246     ac_add_options --with-java-include-path=%{java_home}/include
247     ac_add_options --with-java-bin-path=%{java_home}/bin
248 rtp 385395 %endif
249 luigiwalser 390635 ac_add_options --with-system-ogg
250 dmorgan 284628 ac_add_options --enable-opus
251 luigiwalser 390635 ac_add_options --disable-webrtc
252 blino 20612
253 dmorgan 127856 EOF
254    
255 blino 20612 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
256 rtp 385395 %ifarch %arm
257     export CFLAGS="-D__ARM_PCS $(echo %{optflags})"
258     export CXXFLAGS="$CFLAGS"
259     %endif
260 fwang 133345 export LDFLAGS="%ldflags"
261 dmorgan 127856 make -f client.mk build
262 blino 20612
263     %install
264 ahmad 75100 rm -rf %{buildroot}
265 blino 20612
266 dmorgan 287524 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
267 blino 20612
268 dmorgan 127856 # Copy files to buildroot
269     %{__mkdir_p} %{buildroot}%{mozillalibdir}
270     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
271 blino 20612
272 dmorgan 127856 %{__mkdir_p} %{buildroot}%{_bindir}
273     ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
274     pushd %{buildroot}%{_bindir}
275     ln -sf firefox mozilla-firefox
276     popd
277 dmorgan 287524 mkdir -p %{buildroot}%{mozillalibdir}/defaults/preferences/
278     install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/defaults/preferences/kde.js
279 tv 110649
280 lmenut 130942 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
281     %{__mkdir_p} %{buildroot}%{pluginsdir}
282     %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
283     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
284 blino 20612
285     # (tpg) desktop entry
286     %{__mkdir_p} %{buildroot}%{_datadir}/applications
287     install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
288    
289     # (tpg) icons
290 dmorgan 127856 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
291 colin 130660 for i in 16 22 24 32 48 256; do
292     # (cg) Not all icon sizes are installed with make install, so just redo it here.
293 tv 133105 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
294 blino 20612 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
295 colin 130660 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
296 blino 20612 done
297 colin 130660 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
298     ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
299     ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
300 dmorgan 130666 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
301 blino 20612
302 dmorgan 127856 # exclusions
303     rm -f %{buildroot}%{mozillalibdir}/README.txt
304     rm -f %{buildroot}%{mozillalibdir}/removed-files
305     rm -f %{buildroot}%{mozillalibdir}/precomplete
306    
307 doktor5000 170221 # this file is only used when creating a new user profile
308 blino 20612 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
309     cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
310     user_pref("browser.EULA.override", true);
311     user_pref("browser.shell.checkDefaultBrowser", false);
312 rda 76933 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
313 blino 20612 user_pref("app.update.auto", false);
314     user_pref("app.update.enabled", false);
315     user_pref("app.update.autoInstallEnabled", false);
316 lmenut 130942 user_pref("browser.showQuitWarning", true);
317 blino 20612 EOF
318    
319 fwang 223187 # display icon for Firefox button
320     %{__mkdir_p} %{buildroot}%{mozillalibdir}/defaults/profile/chrome
321 dmorgan 225217 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/profile/chrome/userChrome.css
322 fwang 223187 #appmenu-toolbar-button {
323     list-style-image: url("chrome://branding/content/icon16.png");
324     }
325     EOF
326    
327 doktor5000 170221 # files in this directory are read on every startup, and can change/add
328     # preferences for existing profiles
329     # extensions.autoDisableScopes is a new preference added in firefox 8
330     # it defines "scopes" where newly installed addons are disabled by default
331     # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
332     # we need to remove system scope (8) from it so language packs and other addons
333     # which are installed systemwide won't get marked as 3rd party and disabled
334     # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
335     # or in toolkit/mozapps/extensions/AddonManager.jsm
336     # we also need to disable the "disable addon selection dialog"
337 lmenut 329825 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/preferences/mga.js
338 doktor5000 170221 pref("extensions.autoDisableScopes", 0);
339     pref("extensions.shownSelectionUI", true);
340     EOF
341 dmorgan 320058 # FIXME: Add it back in mga.js when this search engine will be used by default.
342     # user_pref("browser.search.selectedEngine","duckduckgo.com");
343 doktor5000 170221
344 ahmad 130766 # use the system myspell dictionaries
345     rm -fr %{buildroot}%{mozillalibdir}/dictionaries
346 fwang 211783 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
347 ahmad 130766
348 lmenut 130942 # (lm) touch and %ghost bookmarks.html to a proper uninstall
349     touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
350    
351 blino 20612 %find_lang %{name}
352    
353     mkdir -p %{buildroot}%{_sys_macros_dir}
354     cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
355     # Macros from %{name} package
356     %%firefox_major %{major}
357     %%firefox_epoch %{ff_epoch}
358 fwang 325454 %%firefox_version %{major}
359 blino 20612 %%firefox_mozillapath %{mozillalibdir}
360     %%firefox_pluginsdir %{pluginsdir}
361 tv 45614 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
362     %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
363 blino 20612 FIN
364 dmorgan 319763 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/duckduckgo.xml
365 blino 20612
366 ahmad 130766 %pre
367     if [ -d %{mozillalibdir}/dictionaries ]; then
368     rm -fr %{mozillalibdir}/dictionaries
369     fi
370 dmorgan 127856
371 blino 20612 %post
372     if [ ! -r /etc/sysconfig/oem ]; then
373     case `grep META_CLASS /etc/sysconfig/system` in
374     *powerpack) bookmark="mozilla-powerpack.html" ;;
375     *desktop) bookmark="mozilla-one.html";;
376     *) bookmark="mozilla-download.html";;
377     esac
378 lmenut 130942 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
379 blino 20612 fi
380    
381     %files -f %{name}.lang
382     %{_bindir}/%{name}
383     %{_bindir}/mozilla-firefox
384     %{_iconsdir}/hicolor/*/apps/*.png
385 colin 130660 %{_miconsdir}/%{name}.png
386     %{_iconsdir}/%{name}.png
387     %{_liconsdir}/%{name}.png
388 blino 20612 %{_datadir}/applications/*.desktop
389 fwang 206849 %{_libdir}/%{name}-%{major}*
390 lmenut 130942 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
391 blino 20612 %dir %{_libdir}/mozilla
392     %dir %{pluginsdir}
393 lmenut 130942 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
394     %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
395 blino 20612
396     %files devel
397     %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30