/[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 604772 - (hide annotations) (download)
Tue Mar 18 06:24:47 2014 UTC (10 years ago) by tv
File size: 14932 byte(s)
regroup pkgconfig BRs (SILENT)

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 tv 604711 %define major 28
14 blino 20612 %define ff_epoch 0
15     # (tpg) set version HERE !!!
16 tv 587049 #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 tv 587049 %define release %mkrel 1
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 tv 604711 Version: %{major}.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 604711 Patch4: firefox-28.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     Patch10: firefox-3.5.3-default-mail-handler.patch
60 fwang 480717 # Patches for kde integration of FF
61     Patch11: https://build.opensuse.org/package/rawsourcefile/mozilla:Factory/MozillaFirefox/mozilla-kde.patch
62     # (fwang) please modify patch12 with `sed -e 's/MozillaFirefox/firefox/'` to fit our desktop filename
63     Patch12: https://build.opensuse.org/package/rawsourcefile/mozilla:Factory/MozillaFirefox/firefox-kde.patch
64 luigiwalser 390568 Patch13: firefox-13-fix-nspr-include.patch
65     Patch37: firefox-17.0-nss-version.patch
66 blino 20612 BuildRequires: gtk+2-devel
67     BuildRequires: unzip
68     BuildRequires: zip
69 fwang 133282 BuildRequires: libxinerama-devel
70 fwang 164134 BuildRequires: libxscrnsaver-devel
71 blino 20612 BuildRequires: libjpeg-devel
72 fwang 142362 BuildRequires: libpng-devel >= 2:1.4
73 blino 20612 BuildRequires: zlib-devel
74     BuildRequires: glib2-devel
75     BuildRequires: libIDL2-devel
76     BuildRequires: makedepend
77 oden 496812 BuildRequires: nss-devel >= 2:3.15.2
78 luigiwalser 390568 BuildRequires: nss-static-devel
79 oden 496812 BuildRequires: nspr-devel >= 2:4.10.1
80 blino 20612 BuildRequires: startup-notification-devel
81     BuildRequires: dbus-glib-devel
82     BuildRequires: python
83 oden 496812 BuildRequires: sqlite3-devel >= 3.7.17
84 rtp 79029 %ifnarch %arm %mips
85 blino 20612 BuildRequires: valgrind
86 oden 496908 %if %{mgaversion} >= 4
87 fwang 484107 BuildRequires: java-devel
88     BuildRequires: jpackage-utils
89 oden 496812 %else
90     BuildRequires: java-rpmbuild
91     %endif
92 luigiwalser 390568 BuildRequires: yasm >= 1.0.1
93 rtp 79029 %endif
94     %ifarch %arm
95     BuildRequires: libffi-devel
96     %endif
97 oden 496812 BuildRequires: rootcerts >= 1:20130411.00
98 blino 20612 BuildRequires: libxt-devel
99     %if %_use_syshunspell
100     BuildRequires: hunspell-devel
101     %endif
102     BuildRequires: doxygen
103     BuildRequires: wget
104     BuildRequires: libnotify-devel
105 ahmad 48246 BuildRequires: cairo-devel >= 1.10
106 blino 20612 BuildRequires: mesagl-devel
107 ahmad 75100 BuildRequires: libvpx-devel
108 rtp 79029 BuildRequires: autoconf2.1
109 luigiwalser 390568 BuildRequires: libiw-devel
110 dmorgan 284628 BuildRequires: python-virtualenv
111     BuildRequires: gstreamer0.10-devel
112     BuildRequires: libgstreamer0.10-plugins-base-devel
113 tv 604772 BuildRequires: pkgconfig(alsa)
114 tv 604751 BuildRequires: pkgconfig(libevent)
115 tv 604772 BuildRequires: pkgconfig(libproxy-1.0)
116 tv 604755 BuildRequires: pkgconfig(libpulse)
117 luigiwalser 390635 BuildRequires: pkgconfig(ogg)
118 tv 604751 BuildRequires: pkgconfig(opus)
119     BuildRequires: pkgconfig(theoradec)
120 luigiwalser 390635 BuildRequires: pkgconfig(vorbis)
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 tv 587049 %if 0%{?extra}
172 doktor5000 492319 %setup -q -n mozilla-%update_channel
173 tv 445222 %else
174 tv 587039 %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 127856 %patch10 -p1 -b .default-mail-handler
182 tv 587049 #patch11 -p1 -b .mozkde
183     #patch12 -p1 -b .ffkde
184 blino 20612
185 dmorgan 320058 %patch37 -p0
186 dmorgan 284628
187 rtp 79029 pushd js/src
188     autoconf-2.13
189     popd
190     autoconf-2.13
191    
192 dmorgan 127856 # needed to regenerate certdata.c
193     pushd security/nss/lib/ckfw/builtins
194     perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
195     popd
196    
197 blino 20612 %build
198 tv 492471 export MOZCONFIG=$PWD/mozconfig
199 dmorgan 127856 cat << EOF > $MOZCONFIG
200     mk_add_options MOZILLA_OFFICIAL=1
201     mk_add_options BUILD_OFFICIAL=1
202     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
203     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
204 fwang 132978 ac_add_options --host=%{_host}
205     ac_add_options --target=%{_target_platform}
206 fwang 205048 ac_add_options --enable-optimize="%{optflags}"
207 dmorgan 127856 ac_add_options --prefix="%{_prefix}"
208     ac_add_options --libdir="%{_libdir}"
209     ac_add_options --sysconfdir="%{_sysconfdir}"
210     ac_add_options --mandir="%{_mandir}"
211     ac_add_options --includedir="%{_includedir}"
212     ac_add_options --datadir="%{_datadir}"
213     ac_add_options --with-system-nspr
214     ac_add_options --with-system-nss
215     ac_add_options --with-system-zlib
216 fwang 133280 ac_add_options --with-system-libvpx
217 fwang 467025 ac_add_options --with-system-libevent
218 fwang 133280 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-official-branding
225     ac_add_options --enable-libproxy
226 oden 497301 %if %{mgaversion} >= 3
227 fwang 142362 ac_add_options --with-system-png
228 oden 497301 %endif
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 dmorgan 287524 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
265 blino 20612
266 dmorgan 127856 # Copy files to buildroot
267     %{__mkdir_p} %{buildroot}%{mozillalibdir}
268     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
269 blino 20612
270 dmorgan 127856 %{__mkdir_p} %{buildroot}%{_bindir}
271     ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
272     pushd %{buildroot}%{_bindir}
273     ln -sf firefox mozilla-firefox
274     popd
275 doktor5000 492319 mkdir -p %{buildroot}%{mozillalibdir}/browser/defaults/preferences/
276     install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/browser/defaults/preferences/kde.js
277 tv 110649
278 lmenut 130942 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
279     %{__mkdir_p} %{buildroot}%{pluginsdir}
280     %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
281     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
282 blino 20612
283     # (tpg) desktop entry
284     %{__mkdir_p} %{buildroot}%{_datadir}/applications
285     install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
286    
287     # (tpg) icons
288 tv 445230 %{__cp} %{buildroot}%{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/browser/icons/
289 colin 130660 for i in 16 22 24 32 48 256; do
290 blino 20612 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
291 tv 445243 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
292 blino 20612 done
293 colin 130660 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
294 tv 445230 ln -sf %{mozillalibdir}/browser/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
295     ln -sf %{mozillalibdir}/browser/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
296     ln -sf %{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
297 blino 20612
298 dmorgan 127856 # exclusions
299     rm -f %{buildroot}%{mozillalibdir}/README.txt
300     rm -f %{buildroot}%{mozillalibdir}/removed-files
301     rm -f %{buildroot}%{mozillalibdir}/precomplete
302    
303 doktor5000 170221 # this file is only used when creating a new user profile
304 doktor5000 492319 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/browser/defaults/profile/prefs.js
305     cat << EOF >> %{buildroot}%{mozillalibdir}/browser/defaults/profile/prefs.js
306 blino 20612 user_pref("browser.EULA.override", true);
307     user_pref("browser.shell.checkDefaultBrowser", false);
308 rda 76933 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
309 blino 20612 user_pref("app.update.auto", false);
310     user_pref("app.update.enabled", false);
311     user_pref("app.update.autoInstallEnabled", false);
312 lmenut 130942 user_pref("browser.showQuitWarning", true);
313 blino 20612 EOF
314    
315 fwang 223187 # display icon for Firefox button
316 doktor5000 492319 %{__mkdir_p} %{buildroot}%{mozillalibdir}/browser/defaults/profile/chrome
317     cat << EOF > %{buildroot}%{mozillalibdir}/browser/defaults/profile/chrome/userChrome.css
318 fwang 223187 #appmenu-toolbar-button {
319     list-style-image: url("chrome://branding/content/icon16.png");
320     }
321     EOF
322    
323 doktor5000 170221 # files in this directory are read on every startup, and can change/add
324     # preferences for existing profiles
325     # extensions.autoDisableScopes is a new preference added in firefox 8
326     # it defines "scopes" where newly installed addons are disabled by default
327     # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
328     # we need to remove system scope (8) from it so language packs and other addons
329     # which are installed systemwide won't get marked as 3rd party and disabled
330     # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
331     # or in toolkit/mozapps/extensions/AddonManager.jsm
332     # we also need to disable the "disable addon selection dialog"
333 doktor5000 492319 # (doktor5000) - path has changed since FF 21
334     # http://mike.kaply.com/2013/04/24/major-changes-coming-in-firefox-21/
335     cat << EOF > %{buildroot}%{mozillalibdir}/browser/defaults/preferences/mga.js
336 fwang 484046 pref("general.useragent.locale", "chrome://global/locale/intl.properties");
337 doktor5000 170221 pref("extensions.autoDisableScopes", 0);
338     pref("extensions.shownSelectionUI", true);
339     EOF
340 dmorgan 320058 # FIXME: Add it back in mga.js when this search engine will be used by default.
341     # user_pref("browser.search.selectedEngine","duckduckgo.com");
342 doktor5000 170221
343 ahmad 130766 # use the system myspell dictionaries
344     rm -fr %{buildroot}%{mozillalibdir}/dictionaries
345 fwang 211783 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
346 ahmad 130766
347 lmenut 130942 # (lm) touch and %ghost bookmarks.html to a proper uninstall
348 doktor5000 492319 touch %{buildroot}%{mozillalibdir}/browser/defaults/profile/bookmarks.html
349 lmenut 130942
350 blino 20612 %find_lang %{name}
351    
352 pterjan 566090 # Add stuff to build a plugin to -devel
353     mkdir -p %{buildroot}%{_includedir}
354     cp -a dom/plugins/base/np*.h %{buildroot}%{_includedir}
355     mkdir -p %{buildroot}/%{_datadir}/pkgconfig
356     cat <<EOF >%{buildroot}/%{_datadir}/pkgconfig/mozilla-plugin.pc
357     Name: Mozilla Plug-In API
358     Description: Mozilla Plug-In API
359     Version: %{version}
360     Cflags: -I%{_includedir} -DXP_UNIX
361     EOF
362    
363 blino 20612 mkdir -p %{buildroot}%{_sys_macros_dir}
364     cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
365     # Macros from %{name} package
366 tv 445222 %%firefox_major %{version}
367 blino 20612 %%firefox_epoch %{ff_epoch}
368 tv 445222 %%firefox_version %{version}
369 blino 20612 %%firefox_mozillapath %{mozillalibdir}
370     %%firefox_pluginsdir %{pluginsdir}
371 tv 45614 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
372     %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
373 blino 20612 FIN
374 tv 445249 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/browser/searchplugins/duckduckgo.xml
375 blino 20612
376 ahmad 130766 %pre
377     if [ -d %{mozillalibdir}/dictionaries ]; then
378     rm -fr %{mozillalibdir}/dictionaries
379     fi
380 dmorgan 127856
381 blino 20612 %post
382     if [ ! -r /etc/sysconfig/oem ]; then
383     case `grep META_CLASS /etc/sysconfig/system` in
384     *powerpack) bookmark="mozilla-powerpack.html" ;;
385     *desktop) bookmark="mozilla-one.html";;
386     *) bookmark="mozilla-download.html";;
387     esac
388 doktor5000 492319 ln -s -f %_prefix/share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/browser/defaults/profile/bookmarks.html
389 blino 20612 fi
390    
391     %files -f %{name}.lang
392     %{_bindir}/%{name}
393     %{_bindir}/mozilla-firefox
394     %{_iconsdir}/hicolor/*/apps/*.png
395 colin 130660 %{_miconsdir}/%{name}.png
396     %{_iconsdir}/%{name}.png
397     %{_liconsdir}/%{name}.png
398 blino 20612 %{_datadir}/applications/*.desktop
399 tv 445222 %{_libdir}/%{name}-%{version}*
400 doktor5000 492319 %ghost %{mozillalibdir}/browser/defaults/profile/bookmarks.html
401 blino 20612 %dir %{_libdir}/mozilla
402     %dir %{pluginsdir}
403 lmenut 130942 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
404     %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
405 blino 20612
406     %files devel
407     %{_sys_macros_dir}/%{name}.macros
408 pterjan 566090 %{_includedir}/np*.h
409     %{_datadir}/pkgconfig/mozilla-plugin.pc

  ViewVC Help
Powered by ViewVC 1.1.30