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

  ViewVC Help
Powered by ViewVC 1.1.30