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

  ViewVC Help
Powered by ViewVC 1.1.30