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

  ViewVC Help
Powered by ViewVC 1.1.30