/[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 492319 - (hide annotations) (download)
Sun Oct 6 19:43:46 2013 UTC (10 years, 6 months ago) by doktor5000
File size: 14408 byte(s)
- fixed location of Mageia default profile, bookmarks and preferences
  o also fixes disabling of 3rd party addons (enables e.g. language pack) and
    reenables our changes to default preferences
  o fixes mga#11162 - No localized interface in firefox (addon is disabled)
- changed %%setup macro, %%setup -qn doesn't work on Mageia 3, preparation
  for backporting 24ESR to Mageia 3 and 2
- added Requires on desktop-common-data to ensure bookmarks are existent
- changed broken relative symlink to absolute symlink in %%post (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 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 doktor5000 492319 %define release %mkrel 5
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 fwang 484107 BuildRequires: java-devel
88     BuildRequires: jpackage-utils
89 luigiwalser 390568 BuildRequires: yasm >= 1.0.1
90 rtp 79029 %endif
91     %ifarch %arm
92     BuildRequires: libffi-devel
93     %endif
94 dmorgan 137463 BuildRequires: rootcerts >= 1:20110830.00
95 blino 20612 BuildRequires: libxt-devel
96     %if %_use_syshunspell
97     BuildRequires: hunspell-devel
98     %endif
99     BuildRequires: doxygen
100 ahmad 130766 BuildRequires: pkgconfig(libproxy-1.0)
101     BuildRequires: pkgconfig(alsa)
102 blino 20612 BuildRequires: wget
103     BuildRequires: libnotify-devel
104 ahmad 48246 BuildRequires: cairo-devel >= 1.10
105 blino 20612 BuildRequires: mesagl-devel
106 ahmad 75100 BuildRequires: libvpx-devel
107 rtp 79029 BuildRequires: autoconf2.1
108 luigiwalser 390568 BuildRequires: libiw-devel
109 dmorgan 284628 BuildRequires: python-virtualenv
110     BuildRequires: gstreamer0.10-devel
111     BuildRequires: libgstreamer0.10-plugins-base-devel
112 luigiwalser 390635 BuildRequires: pkgconfig(ogg)
113     BuildRequires: pkgconfig(vorbis)
114     BuildRequires: pkgconfig(theoradec)
115 luigiwalser 390568 BuildRequires: pkgconfig(opus)
116 fwang 467025 BuildRequires: pkgconfig(libevent)
117 lmenut 329825
118 tv 445222 Provides: %{name} = %{epoch}:%{version}
119 lmenut 130942 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
120 blino 20612 Provides: webclient
121 lmenut 130942
122     Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
123     Requires: %{mklibname nss 3} >= 2:%{nss_version}
124     Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
125 blino 20612 Requires: indexhtml
126 luigiwalser 390568 Requires: xdg-utils
127 lmenut 130942 # fixes bug #42096
128     Requires: mailcap
129 fwang 211783 Suggests: hunspell-en
130 fwang 485813 Requires: %{_lib}notify4
131     Requires: %{_lib}gstreamer0.10_0
132     Requires: %{_lib}gstreamer-plugins-base0.10_0
133 doktor5000 492319 # make sure our default bookmarks are present
134     Requires: desktop-common-data
135 fwang 205048 Suggests: %{_lib}canberra0
136     Suggests: %{_lib}cups2
137 ahmad 75375 Obsoletes: firefox-ext-weave-sync
138 fwang 319950 Obsoletes: firefox-beta < 18
139 blino 20612
140     %description
141     The award-winning Web browser is now faster, more secure, and fully customizable
142 tv 45609 to your online life. With Firefox(R), we've added powerful new features that
143 blino 20612 make your online experience even better. It is an 'open source' product which is
144     freely available, and is acquiring a growing proportion of international web
145     browser usage.
146    
147     Firefox claims to offer a more secure web browsing experience than other products,
148     with better protection against spyware and other Internet-based security threats.
149     It includes all the standard features of a modern web browser, like Internet
150     searching, tracking recently visited sites, setting up shortcuts to favourite
151     sites, customising the software behaviour and so on. Firefox also includes
152     features like 'tabbed browsing' (opening several web sites as sections within the
153     same window) and methods for controlling pop-up windows, cookies and downloaded
154     files.
155    
156     %package devel
157     Summary: Development files for %{name}
158     Group: Development/Other
159 fwang 319950 Obsoletes: firefox-beta-devel < 18
160 blino 20612
161     %description devel
162     Files and macros mainly for building Firefox extensions.
163    
164     %prep
165 fwang 480701 %if %{?extra}
166 doktor5000 492319 %setup -q -n mozilla-%update_channel
167 tv 445222 %else
168 doktor5000 492319 setup -q -n mozilla-release
169 tv 445222 %endif
170 dmorgan 116916 %patch1 -p1 -b .lang
171 dmorgan 127856 %patch2 -p1 -b .vendor
172 fwang 223798 %patch4 -p0 -b .nss
173 lmenut 130942 %patch5 -p1 -b .appname
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 fwang 480717 %patch11 -p1 -b .mozkde
178     %patch12 -p1 -b .ffkde
179 blino 20612
180 dmorgan 320058 %patch37 -p0
181 dmorgan 284628
182 rtp 79029 pushd js/src
183     autoconf-2.13
184     popd
185     autoconf-2.13
186    
187 dmorgan 127856 # needed to regenerate certdata.c
188     pushd security/nss/lib/ckfw/builtins
189     perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
190     popd
191    
192 blino 20612 %build
193 fwang 149200 export MOZCONFIG=`pwd`/mozconfig
194 dmorgan 127856 cat << EOF > $MOZCONFIG
195     mk_add_options MOZILLA_OFFICIAL=1
196     mk_add_options BUILD_OFFICIAL=1
197     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
198     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
199 fwang 132978 ac_add_options --host=%{_host}
200     ac_add_options --target=%{_target_platform}
201 fwang 205048 ac_add_options --enable-optimize="%{optflags}"
202 dmorgan 127856 ac_add_options --prefix="%{_prefix}"
203     ac_add_options --libdir="%{_libdir}"
204     ac_add_options --sysconfdir="%{_sysconfdir}"
205     ac_add_options --mandir="%{_mandir}"
206     ac_add_options --includedir="%{_includedir}"
207     ac_add_options --datadir="%{_datadir}"
208     ac_add_options --with-system-nspr
209     ac_add_options --with-system-nss
210     ac_add_options --with-system-zlib
211 fwang 133280 ac_add_options --with-system-libvpx
212 fwang 467025 ac_add_options --with-system-libevent
213 fwang 133280 ac_add_options --enable-webm
214 lmenut 130942 ac_add_options --enable-gio
215     ac_add_options --disable-gnomevfs
216 dmorgan 127856 ac_add_options --disable-updater
217     ac_add_options --disable-tests
218     ac_add_options --disable-debug
219     ac_add_options --enable-official-branding
220     ac_add_options --enable-libproxy
221 fwang 142362 ac_add_options --with-system-png
222 dmorgan 127856 ac_add_options --with-system-jpeg
223     ac_add_options --enable-system-cairo
224     ac_add_options --enable-system-sqlite
225 lmenut 130942 ac_add_options --enable-startup-notification
226 fwang 133282 ac_add_options --enable-xinerama
227 dmorgan 127856 ac_add_options --with-distribution-id=org.mageia
228     ac_add_options --disable-crashreporter
229 dmorgan 263350 ac_add_options --enable-update-channel=%{update_channel}
230 dmorgan 276864 ac_add_options --enable-gstreamer
231 rtp 79029 %ifarch %arm
232     %if "%{_target_cpu}" != "armv7l"
233 dmorgan 127856 ac_add_options --disable-methodjit
234 rtp 79029 %endif
235 dmorgan 127856 ac_add_options --enable-system-ffi
236 rtp 79029 %endif
237     %ifnarch %arm %mips
238 dmorgan 127856 ac_add_options --with-valgrind
239     ac_add_options --with-java-include-path=%{java_home}/include
240     ac_add_options --with-java-bin-path=%{java_home}/bin
241 rtp 385395 %endif
242 luigiwalser 390635 ac_add_options --with-system-ogg
243 dmorgan 284628 ac_add_options --enable-opus
244 luigiwalser 390635 ac_add_options --disable-webrtc
245 blino 20612
246 dmorgan 127856 EOF
247    
248 blino 20612 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
249 rtp 385395 %ifarch %arm
250     export CFLAGS="-D__ARM_PCS $(echo %{optflags})"
251     export CXXFLAGS="$CFLAGS"
252     %endif
253 fwang 133345 export LDFLAGS="%ldflags"
254 dmorgan 127856 make -f client.mk build
255 blino 20612
256     %install
257 dmorgan 287524 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
258 blino 20612
259 dmorgan 127856 # Copy files to buildroot
260     %{__mkdir_p} %{buildroot}%{mozillalibdir}
261     cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
262 blino 20612
263 dmorgan 127856 %{__mkdir_p} %{buildroot}%{_bindir}
264     ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
265     pushd %{buildroot}%{_bindir}
266     ln -sf firefox mozilla-firefox
267     popd
268 doktor5000 492319 mkdir -p %{buildroot}%{mozillalibdir}/browser/defaults/preferences/
269     install -m 644 %{SOURCE9} %{buildroot}%{mozillalibdir}/browser/defaults/preferences/kde.js
270 tv 110649
271 lmenut 130942 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
272     %{__mkdir_p} %{buildroot}%{pluginsdir}
273     %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
274     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
275 blino 20612
276     # (tpg) desktop entry
277     %{__mkdir_p} %{buildroot}%{_datadir}/applications
278     install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
279    
280     # (tpg) icons
281 tv 445230 %{__cp} %{buildroot}%{mozillalibdir}/browser/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/browser/icons/
282 colin 130660 for i in 16 22 24 32 48 256; do
283 blino 20612 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
284 tv 445243 %{__install} -m 644 browser/branding/official/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 tv 445230 ln -sf %{mozillalibdir}/browser/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
288     ln -sf %{mozillalibdir}/browser/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
289     ln -sf %{mozillalibdir}/browser/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 doktor5000 492319 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/browser/defaults/profile/prefs.js
298     cat << EOF >> %{buildroot}%{mozillalibdir}/browser/defaults/profile/prefs.js
299 blino 20612 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 doktor5000 492319 %{__mkdir_p} %{buildroot}%{mozillalibdir}/browser/defaults/profile/chrome
310     cat << EOF > %{buildroot}%{mozillalibdir}/browser/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 doktor5000 492319 # (doktor5000) - path has changed since FF 21
327     # http://mike.kaply.com/2013/04/24/major-changes-coming-in-firefox-21/
328     cat << EOF > %{buildroot}%{mozillalibdir}/browser/defaults/preferences/mga.js
329 fwang 484046 pref("general.useragent.locale", "chrome://global/locale/intl.properties");
330 doktor5000 170221 pref("extensions.autoDisableScopes", 0);
331     pref("extensions.shownSelectionUI", true);
332     EOF
333 dmorgan 320058 # FIXME: Add it back in mga.js when this search engine will be used by default.
334     # user_pref("browser.search.selectedEngine","duckduckgo.com");
335 doktor5000 170221
336 ahmad 130766 # use the system myspell dictionaries
337     rm -fr %{buildroot}%{mozillalibdir}/dictionaries
338 fwang 211783 ln -s %{_datadir}/hunspell %{buildroot}%{mozillalibdir}/dictionaries
339 ahmad 130766
340 lmenut 130942 # (lm) touch and %ghost bookmarks.html to a proper uninstall
341 doktor5000 492319 touch %{buildroot}%{mozillalibdir}/browser/defaults/profile/bookmarks.html
342 lmenut 130942
343 blino 20612 %find_lang %{name}
344    
345     mkdir -p %{buildroot}%{_sys_macros_dir}
346     cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
347     # Macros from %{name} package
348 tv 445222 %%firefox_major %{version}
349 blino 20612 %%firefox_epoch %{ff_epoch}
350 tv 445222 %%firefox_version %{version}
351 blino 20612 %%firefox_mozillapath %{mozillalibdir}
352     %%firefox_pluginsdir %{pluginsdir}
353 tv 45614 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
354     %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
355 blino 20612 FIN
356 tv 445249 cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/browser/searchplugins/duckduckgo.xml
357 blino 20612
358 ahmad 130766 %pre
359     if [ -d %{mozillalibdir}/dictionaries ]; then
360     rm -fr %{mozillalibdir}/dictionaries
361     fi
362 dmorgan 127856
363 blino 20612 %post
364     if [ ! -r /etc/sysconfig/oem ]; then
365     case `grep META_CLASS /etc/sysconfig/system` in
366     *powerpack) bookmark="mozilla-powerpack.html" ;;
367     *desktop) bookmark="mozilla-one.html";;
368     *) bookmark="mozilla-download.html";;
369     esac
370 doktor5000 492319 ln -s -f %_prefix/share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/browser/defaults/profile/bookmarks.html
371 blino 20612 fi
372    
373     %files -f %{name}.lang
374     %{_bindir}/%{name}
375     %{_bindir}/mozilla-firefox
376     %{_iconsdir}/hicolor/*/apps/*.png
377 colin 130660 %{_miconsdir}/%{name}.png
378     %{_iconsdir}/%{name}.png
379     %{_liconsdir}/%{name}.png
380 blino 20612 %{_datadir}/applications/*.desktop
381 tv 445222 %{_libdir}/%{name}-%{version}*
382 doktor5000 492319 %ghost %{mozillalibdir}/browser/defaults/profile/bookmarks.html
383 blino 20612 %dir %{_libdir}/mozilla
384     %dir %{pluginsdir}
385 lmenut 130942 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
386     %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
387 blino 20612
388     %files devel
389     %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30