/[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 583091 - (hide annotations) (download)
Wed Feb 5 03:34:50 2014 UTC (10 years, 1 month ago) by fwang
File size: 14955 byte(s)
24.3.0esr
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 fwang 480701 # Stay on ESR for stable releases and for cauldron before mageia 4.
11     # /!\ Do not update more than FF 24 for mga4. /!\
12 dmorgan 287522
13 fwang 480701 %define major 24
14 blino 20612 %define ff_epoch 0
15     # (tpg) set version HERE !!!
16 fwang 480701 %define extra esr
17     #define extra %nil
18 tv 445222 %define realver %{version}%extra
19 lmenut 130942 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
20 dmorgan 127856
21 blino 20612 # (tpg) MOZILLA_FIVE_HOME
22 tv 445222 %define mozillalibdir %{_libdir}/%{name}-%{version}
23 blino 20612 %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 lmenut 130942 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
31 fwang 464111 %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null || echo 0)
32 blino 20612
33     %define _use_syshunspell 1
34    
35 pterjan 566090 %define release %mkrel 2
36 blino 20612
37 tv 445222 %define update_channel %{extra}%major
38 dmorgan 256220
39 blino 20612 Summary: Next generation web browser
40     Name: firefox
41 fwang 583091 Version: %{major}.3.0
42 blino 20612 Epoch: %{ff_epoch}
43     Release: %{release}
44     License: MPLv1+
45     Group: Networking/WWW
46 fwang 319950 Url: http://www.mozilla.org/firefox/organizations/
47 dmorgan 256939 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
48 blino 20612 Source4: %{name}.desktop
49 luigiwalser 390568 Source8: %{name}-searchengines-duckduckgo.xml
50 blino 20612 Source9: kde.js
51 fwang 133091 Patch1: firefox-6.0-lang.patch
52 luigiwalser 390568 Patch2: firefox-vendor.patch
53 tv 445222 Patch4: firefox-21.0-nss-binary.patch
54 blino 20612 # (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 tv 445222 Patch5: firefox-21.0-appname.patch
57 fwang 149203 Patch6: firefox-7.0-fix-str-fmt.patch
58 dmorgan 127856 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 fwang 480717 # 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 luigiwalser 390568 Patch13: firefox-13-fix-nspr-include.patch
66     Patch37: firefox-17.0-nss-version.patch
67 blino 20612 BuildRequires: gtk+2-devel
68     BuildRequires: unzip
69     BuildRequires: zip
70 fwang 133282 BuildRequires: libxinerama-devel
71 fwang 164134 BuildRequires: libxscrnsaver-devel
72 blino 20612 BuildRequires: libjpeg-devel
73 fwang 142362 BuildRequires: libpng-devel >= 2:1.4
74 blino 20612 BuildRequires: zlib-devel
75     BuildRequires: glib2-devel
76     BuildRequires: libIDL2-devel
77     BuildRequires: makedepend
78 oden 496812 BuildRequires: nss-devel >= 2:3.15.2
79 luigiwalser 390568 BuildRequires: nss-static-devel
80 oden 496812 BuildRequires: nspr-devel >= 2:4.10.1
81 blino 20612 BuildRequires: startup-notification-devel
82     BuildRequires: dbus-glib-devel
83     BuildRequires: python
84 oden 496812 BuildRequires: sqlite3-devel >= 3.7.17
85 rtp 79029 %ifnarch %arm %mips
86 blino 20612 BuildRequires: valgrind
87 oden 496908 %if %{mgaversion} >= 4
88 fwang 484107 BuildRequires: java-devel
89     BuildRequires: jpackage-utils
90 oden 496812 %else
91     BuildRequires: java-rpmbuild
92     %endif
93 luigiwalser 390568 BuildRequires: yasm >= 1.0.1
94 rtp 79029 %endif
95     %ifarch %arm
96     BuildRequires: libffi-devel
97     %endif
98 oden 496812 BuildRequires: rootcerts >= 1:20130411.00
99 blino 20612 BuildRequires: libxt-devel
100     %if %_use_syshunspell
101     BuildRequires: hunspell-devel
102     %endif
103     BuildRequires: doxygen
104 ahmad 130766 BuildRequires: pkgconfig(libproxy-1.0)
105     BuildRequires: pkgconfig(alsa)
106 blino 20612 BuildRequires: wget
107     BuildRequires: libnotify-devel
108 ahmad 48246 BuildRequires: cairo-devel >= 1.10
109 blino 20612 BuildRequires: mesagl-devel
110 ahmad 75100 BuildRequires: libvpx-devel
111 rtp 79029 BuildRequires: autoconf2.1
112 luigiwalser 390568 BuildRequires: libiw-devel
113 dmorgan 284628 BuildRequires: python-virtualenv
114     BuildRequires: gstreamer0.10-devel
115     BuildRequires: libgstreamer0.10-plugins-base-devel
116 luigiwalser 390635 BuildRequires: pkgconfig(ogg)
117     BuildRequires: pkgconfig(vorbis)
118     BuildRequires: pkgconfig(theoradec)
119 luigiwalser 390568 BuildRequires: pkgconfig(opus)
120 fwang 467025 BuildRequires: pkgconfig(libevent)
121 lmenut 329825
122 tv 445222 Provides: %{name} = %{epoch}:%{version}
123 lmenut 130942 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
124 blino 20612 Provides: webclient
125 lmenut 130942
126     Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
127     Requires: %{mklibname nss 3} >= 2:%{nss_version}
128     Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
129 blino 20612 Requires: indexhtml
130 luigiwalser 390568 Requires: xdg-utils
131 lmenut 130942 # fixes bug #42096
132     Requires: mailcap
133 fwang 211783 Suggests: hunspell-en
134 oden 496908 %if %{mgaversion} >= 4
135 fwang 485813 Requires: %{_lib}notify4
136     Requires: %{_lib}gstreamer0.10_0
137     Requires: %{_lib}gstreamer-plugins-base0.10_0
138 oden 496908 %endif
139 doktor5000 492319 # make sure our default bookmarks are present
140     Requires: desktop-common-data
141 fwang 205048 Suggests: %{_lib}canberra0
142     Suggests: %{_lib}cups2
143 ahmad 75375 Obsoletes: firefox-ext-weave-sync
144 tv 492484 Obsoletes: firefox-beta < 25
145 blino 20612
146     %description
147     The award-winning Web browser is now faster, more secure, and fully customizable
148 tv 45609 to your online life. With Firefox(R), we've added powerful new features that
149 blino 20612 make your online experience even better. It is an 'open source' product which is
150     freely available, and is acquiring a growing proportion of international web
151     browser usage.
152    
153     Firefox claims to offer a more secure web browsing experience than other products,
154     with better protection against spyware and other Internet-based security threats.
155     It includes all the standard features of a modern web browser, like Internet
156     searching, tracking recently visited sites, setting up shortcuts to favourite
157     sites, customising the software behaviour and so on. Firefox also includes
158     features like 'tabbed browsing' (opening several web sites as sections within the
159     same window) and methods for controlling pop-up windows, cookies and downloaded
160     files.
161    
162     %package devel
163     Summary: Development files for %{name}
164     Group: Development/Other
165 tv 492484 Obsoletes: firefox-beta-devel < 25
166 blino 20612
167     %description devel
168     Files and macros mainly for building Firefox extensions.
169    
170     %prep
171 fwang 480701 %if %{?extra}
172 doktor5000 492319 %setup -q -n mozilla-%update_channel
173 tv 445222 %else
174 doktor5000 492319 setup -q -n mozilla-release
175 tv 445222 %endif
176 dmorgan 116916 %patch1 -p1 -b .lang
177 dmorgan 127856 %patch2 -p1 -b .vendor
178 fwang 223798 %patch4 -p0 -b .nss
179 lmenut 130942 %patch5 -p1 -b .appname
180 dmorgan 252897 %patch8 -p1 -b .disable-software-update
181 dmorgan 284629 %patch9 -p1 -b .ascii
182 dmorgan 127856 %patch10 -p1 -b .default-mail-handler
183 fwang 480717 %patch11 -p1 -b .mozkde
184     %patch12 -p1 -b .ffkde
185 blino 20612
186 dmorgan 320058 %patch37 -p0
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 tv 492471 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 fwang 467025 ac_add_options --with-system-libevent
219 fwang 133280 ac_add_options --enable-webm
220 lmenut 130942 ac_add_options --enable-gio
221     ac_add_options --disable-gnomevfs
222 dmorgan 127856 ac_add_options --disable-updater
223     ac_add_options --disable-tests
224     ac_add_options --disable-debug
225     ac_add_options --enable-official-branding
226     ac_add_options --enable-libproxy
227 oden 497301 %if %{mgaversion} >= 3
228 fwang 142362 ac_add_options --with-system-png
229 oden 497301 %endif
230 dmorgan 127856 ac_add_options --with-system-jpeg
231     ac_add_options --enable-system-cairo
232     ac_add_options --enable-system-sqlite
233 lmenut 130942 ac_add_options --enable-startup-notification
234 fwang 133282 ac_add_options --enable-xinerama
235 dmorgan 127856 ac_add_options --with-distribution-id=org.mageia
236     ac_add_options --disable-crashreporter
237 dmorgan 263350 ac_add_options --enable-update-channel=%{update_channel}
238 dmorgan 276864 ac_add_options --enable-gstreamer
239 rtp 79029 %ifarch %arm
240     %if "%{_target_cpu}" != "armv7l"
241 dmorgan 127856 ac_add_options --disable-methodjit
242 rtp 79029 %endif
243 dmorgan 127856 ac_add_options --enable-system-ffi
244 rtp 79029 %endif
245     %ifnarch %arm %mips
246 dmorgan 127856 ac_add_options --with-valgrind
247     ac_add_options --with-java-include-path=%{java_home}/include
248     ac_add_options --with-java-bin-path=%{java_home}/bin
249 rtp 385395 %endif
250 luigiwalser 390635 ac_add_options --with-system-ogg
251 dmorgan 284628 ac_add_options --enable-opus
252 luigiwalser 390635 ac_add_options --disable-webrtc
253 blino 20612
254 dmorgan 127856 EOF
255    
256 blino 20612 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
257 rtp 385395 %ifarch %arm
258     export CFLAGS="-D__ARM_PCS $(echo %{optflags})"
259     export CXXFLAGS="$CFLAGS"
260     %endif
261 fwang 133345 export LDFLAGS="%ldflags"
262 dmorgan 127856 make -f client.mk build
263 blino 20612
264     %install
265 dmorgan 287524 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
266 blino 20612
267 dmorgan 127856 # Copy files to buildroot
268     %{__mkdir_p} %{buildroot}%{mozillalibdir}
269     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
270 blino 20612
271 dmorgan 127856 %{__mkdir_p} %{buildroot}%{_bindir}
272     ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
273     pushd %{buildroot}%{_bindir}
274     ln -sf firefox mozilla-firefox
275     popd
276 doktor5000 492319 mkdir -p %{buildroot}%{mozillalibdir}/browser/defaults/preferences/
277     install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/browser/defaults/preferences/kde.js
278 tv 110649
279 lmenut 130942 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
280     %{__mkdir_p} %{buildroot}%{pluginsdir}
281     %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
282     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
283 blino 20612
284     # (tpg) desktop entry
285     %{__mkdir_p} %{buildroot}%{_datadir}/applications
286     install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
287    
288     # (tpg) icons
289 tv 445230 %{__cp} %{buildroot}%{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/browser/icons/
290 colin 130660 for i in 16 22 24 32 48 256; do
291 blino 20612 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
292 tv 445243 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
293 blino 20612 done
294 colin 130660 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
295 tv 445230 ln -sf %{mozillalibdir}/browser/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
296     ln -sf %{mozillalibdir}/browser/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
297     ln -sf %{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
298 blino 20612
299 dmorgan 127856 # exclusions
300     rm -f %{buildroot}%{mozillalibdir}/README.txt
301     rm -f %{buildroot}%{mozillalibdir}/removed-files
302     rm -f %{buildroot}%{mozillalibdir}/precomplete
303    
304 doktor5000 170221 # this file is only used when creating a new user profile
305 doktor5000 492319 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/browser/defaults/profile/prefs.js
306     cat << EOF >> %{buildroot}%{mozillalibdir}/browser/defaults/profile/prefs.js
307 blino 20612 user_pref("browser.EULA.override", true);
308     user_pref("browser.shell.checkDefaultBrowser", false);
309 rda 76933 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
310 blino 20612 user_pref("app.update.auto", false);
311     user_pref("app.update.enabled", false);
312     user_pref("app.update.autoInstallEnabled", false);
313 lmenut 130942 user_pref("browser.showQuitWarning", true);
314 blino 20612 EOF
315    
316 fwang 223187 # display icon for Firefox button
317 doktor5000 492319 %{__mkdir_p} %{buildroot}%{mozillalibdir}/browser/defaults/profile/chrome
318     cat << EOF > %{buildroot}%{mozillalibdir}/browser/defaults/profile/chrome/userChrome.css
319 fwang 223187 #appmenu-toolbar-button {
320     list-style-image: url("chrome://branding/content/icon16.png");
321     }
322     EOF
323    
324 doktor5000 170221 # files in this directory are read on every startup, and can change/add
325     # preferences for existing profiles
326     # extensions.autoDisableScopes is a new preference added in firefox 8
327     # it defines "scopes" where newly installed addons are disabled by default
328     # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
329     # we need to remove system scope (8) from it so language packs and other addons
330     # which are installed systemwide won't get marked as 3rd party and disabled
331     # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
332     # or in toolkit/mozapps/extensions/AddonManager.jsm
333     # we also need to disable the "disable addon selection dialog"
334 doktor5000 492319 # (doktor5000) - path has changed since FF 21
335     # http://mike.kaply.com/2013/04/24/major-changes-coming-in-firefox-21/
336     cat << EOF > %{buildroot}%{mozillalibdir}/browser/defaults/preferences/mga.js
337 fwang 484046 pref("general.useragent.locale", "chrome://global/locale/intl.properties");
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 doktor5000 492319 touch %{buildroot}%{mozillalibdir}/browser/defaults/profile/bookmarks.html
350 lmenut 130942
351 blino 20612 %find_lang %{name}
352    
353 pterjan 566090 # Add stuff to build a plugin to -devel
354     mkdir -p %{buildroot}%{_includedir}
355     cp -a dom/plugins/base/np*.h %{buildroot}%{_includedir}
356     mkdir -p %{buildroot}/%{_datadir}/pkgconfig
357     cat <<EOF >%{buildroot}/%{_datadir}/pkgconfig/mozilla-plugin.pc
358     Name: Mozilla Plug-In API
359     Description: Mozilla Plug-In API
360     Version: %{version}
361     Cflags: -I%{_includedir} -DXP_UNIX
362     EOF
363    
364 blino 20612 mkdir -p %{buildroot}%{_sys_macros_dir}
365     cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
366     # Macros from %{name} package
367 tv 445222 %%firefox_major %{version}
368 blino 20612 %%firefox_epoch %{ff_epoch}
369 tv 445222 %%firefox_version %{version}
370 blino 20612 %%firefox_mozillapath %{mozillalibdir}
371     %%firefox_pluginsdir %{pluginsdir}
372 tv 45614 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
373     %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
374 blino 20612 FIN
375 tv 445249 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/browser/searchplugins/duckduckgo.xml
376 blino 20612
377 ahmad 130766 %pre
378     if [ -d %{mozillalibdir}/dictionaries ]; then
379     rm -fr %{mozillalibdir}/dictionaries
380     fi
381 dmorgan 127856
382 blino 20612 %post
383     if [ ! -r /etc/sysconfig/oem ]; then
384     case `grep META_CLASS /etc/sysconfig/system` in
385     *powerpack) bookmark="mozilla-powerpack.html" ;;
386     *desktop) bookmark="mozilla-one.html";;
387     *) bookmark="mozilla-download.html";;
388     esac
389 doktor5000 492319 ln -s -f %_prefix/share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/browser/defaults/profile/bookmarks.html
390 blino 20612 fi
391    
392     %files -f %{name}.lang
393     %{_bindir}/%{name}
394     %{_bindir}/mozilla-firefox
395     %{_iconsdir}/hicolor/*/apps/*.png
396 colin 130660 %{_miconsdir}/%{name}.png
397     %{_iconsdir}/%{name}.png
398     %{_liconsdir}/%{name}.png
399 blino 20612 %{_datadir}/applications/*.desktop
400 tv 445222 %{_libdir}/%{name}-%{version}*
401 doktor5000 492319 %ghost %{mozillalibdir}/browser/defaults/profile/bookmarks.html
402 blino 20612 %dir %{_libdir}/mozilla
403     %dir %{pluginsdir}
404 lmenut 130942 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
405     %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
406 blino 20612
407     %files devel
408     %{_sys_macros_dir}/%{name}.macros
409 pterjan 566090 %{_includedir}/np*.h
410     %{_datadir}/pkgconfig/mozilla-plugin.pc

  ViewVC Help
Powered by ViewVC 1.1.30