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

  ViewVC Help
Powered by ViewVC 1.1.30