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

  ViewVC Help
Powered by ViewVC 1.1.30