]> git.pld-linux.org Git - packages/mozilla-firefox-bin.git/blame_incremental - mozilla-firefox-bin.spec
link libmozgtk/libmozav* to system libs by default
[packages/mozilla-firefox-bin.git] / mozilla-firefox-bin.spec
... / ...
CommitLineData
1# Conditional build:
2%bcond_without system_ffmpeg # build with internal ffmpeg library
3%bcond_without system_gtk # build with internal gtk library
4%bcond_without system_sqlite # build with internal sqlite library
5
6%define realname firefox
7%define avcodec_soname_ver 57
8%define avutil_soname_ver 55
9%define gtk_soname_ver 0
10%define sqlite_soname_ver 0
11Summary: Mozilla Firefox web browser
12Summary(pl.UTF-8): Mozilla Firefox - przeglądarka WWW
13Name: mozilla-firefox-bin
14Version: 53.0.3
15Release: 1
16License: MPL/LGPL
17Group: X11/Applications/Networking
18Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.i686.tar.bz2
19# Source0-md5: 0339f0a8be0e5af9a206bdfe67689cf8
20Source1: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-x86_64/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.x8664.tar.bz2
21# Source1-md5: 6219384d2631020adf1b5bb96f73621d
22Source2: %{name}.desktop
23Source3: %{name}.sh
24URL: https://www.mozilla.org/firefox/
25BuildRequires: rpmbuild(macros) >= 1.453
26BuildRequires: zip
27Requires(post,postun): desktop-file-utils
28Requires: browser-plugins >= 2.0
29Requires: cpuinfo(sse2)
30%{?with_system_ffmpeg:Requires: ffmpeg-libs >= 3.2}
31%{?with_system_gtk:Requires: gtk+3 >= 3.22}
32Requires: myspell-common
33Requires: nspr >= 1:4.13.1
34Requires: nss >= 1:3.29.5
35%{?with_system_sqlite:Requires: sqlite3 >= 3.17.0}
36Suggests: pulseaudio
37Provides: wwwbrowser
38Obsoletes: mozilla-firebird
39Conflicts: mozilla-firefox
40ExclusiveArch: i686 athlon %{x8664}
41BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43%define _firefoxdir %{_libdir}/%{name}
44
45%define moz_caps libmozalloc.so libmozavcodec.so libmozavutil.so libclearkey.so liblgpllibs.so libmozgtk.so libmozsandbox.so libmozsqlite3.so libxpcom.so libxul.so
46%define sqlite_caps libsqlite3.so
47
48# list of files (regexps) which don't generate Provides
49%define _noautoprovfiles %{_libdir}/%{name}/components
50# list of script capabilities (regexps) not to be used in Provides
51%define _noautoprov %{moz_caps}
52%define _noautoreq %{_noautoprov} %{sqlite_caps} libnotify.so.1
53
54# no debuginfo available
55%define _enable_debug_packages 0
56
57%description
58Mozilla Firefox is an open-source web browser, designed for standards
59compliance, performance and portability.
60
61%description -l pl.UTF-8
62Mozilla Firefox jest open sourcową przeglądarką sieci WWW, stworzoną z
63myślą o zgodności ze standardami, wydajnością i przenośnością.
64
65%prep
66%setup -qcT
67%ifarch i686 athlon
68%{__tar} jxf %{SOURCE0} --strip-components=1
69%endif
70%ifarch %{x8664}
71%{__tar} jxf %{SOURCE1} --strip-components=1
72%endif
73
74%install
75rm -rf $RPM_BUILD_ROOT
76install -d \
77 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}/browser/plugins} \
78 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}}
79
80cp -a . $RPM_BUILD_ROOT%{_libdir}/%{name}
81sed 's,@LIBDIR@,%{_libdir},' %{SOURCE3} > $RPM_BUILD_ROOT%{_bindir}/%{name}
82ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/firefox-bin
83cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
84cp -a browser/icons/mozicon128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
85
86%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins
87
88# use system dict
89rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
90ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
91
92%if %{with system_ffmpeg}
93rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so
94rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so
95ln -s %{_libdir}/libavcodec.so.%{avcodec_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so
96ln -s %{_libdir}/libavutil.so.%{avutil_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so
97%endif
98
99%if %{with system_gtk}
100rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so
101ln -s %{_libdir}/libgtk-3.so.%{gtk_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so
102%endif
103
104%if %{with system_sqlite}
105# use system sqlite
106rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so
107ln -s /%{_lib}/libsqlite3.so.%{sqlite_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so
108%endif
109
110# never package these
111# nss
112rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freeblpriv3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.*
113# nspr
114rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so
115grep -v 'libnspr4.so\|libplc4.so\|libplds4.so\|libnssutil3.so\|libnss3.so\|libsmime3.so\|libssl3.so' \
116 dependentlibs.list > $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list
117
118# remove update notifier, we prefer rpm packages for updating
119rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater
120rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini
121rm $RPM_BUILD_ROOT%{_libdir}/%{name}/update-settings.ini
122rm $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif
123
124# remove unecessary stuff
125rm $RPM_BUILD_ROOT%{_libdir}/%{name}/removed-files
126
127%clean
128rm -rf $RPM_BUILD_ROOT
129
130%pretrans
131if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then
132 mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave}
133fi
134exit 0
135
136%post
137%update_browser_plugins
138%update_desktop_database_post
139
140%postun
141%update_desktop_database_postun
142if [ "$1" = 0 ]; then
143 %update_browser_plugins
144fi
145
146%files
147%defattr(644,root,root,755)
148%attr(755,root,root) %{_bindir}/%{name}
149%attr(755,root,root) %{_bindir}/firefox-bin
150
151# browser plugins v2
152%{_browserpluginsconfdir}/browsers.d/%{name}.*
153%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
154
155%dir %{_libdir}/%{name}
156%{_libdir}/%{name}/application.ini
157%{_libdir}/%{name}/chrome.manifest
158%{_libdir}/%{name}/icudt58l.dat
159
160%dir %{_libdir}/%{name}/browser
161%{_libdir}/%{name}/browser/blocklist.xml
162%{_libdir}/%{name}/browser/chrome.manifest
163%{_libdir}/%{name}/browser/omni.ja
164
165%{_libdir}/%{name}/omni.ja
166%{_libdir}/%{name}/platform.ini
167%attr(755,root,root) %{_libdir}/%{name}/firefox
168%attr(755,root,root) %{_libdir}/%{name}/firefox-bin
169%attr(755,root,root) %{_libdir}/%{name}/minidump-analyzer
170%attr(755,root,root) %{_libdir}/%{name}/precomplete
171%attr(755,root,root) %{_libdir}/%{name}/plugin-container
172
173%{_libdir}/%{name}/browser/chrome
174%{_libdir}/%{name}/browser/icons
175%{_libdir}/%{name}/defaults
176%{_libdir}/%{name}/dependentlibs.list
177%{_libdir}/%{name}/dictionaries
178%{_libdir}/%{name}/icons
179
180%dir %{_libdir}/%{name}/fonts
181%{_libdir}/%{name}/fonts/EmojiOneMozilla.ttf
182
183%dir %{_libdir}/%{name}/gtk2
184%attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so
185
186%dir %{_libdir}/%{name}/browser/extensions
187# the signature of the default theme
188%{_libdir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
189
190%dir %{_libdir}/%{name}/browser/features
191%{_libdir}/%{name}/browser/features/aushelper@mozilla.org.xpi
192%{_libdir}/%{name}/browser/features/e10srollout@mozilla.org.xpi
193%{_libdir}/%{name}/browser/features/firefox@getpocket.com.xpi
194%{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi
195
196%dir %{_libdir}/%{name}/browser/plugins
197%attr(755,root,root) %{_libdir}/%{name}/*.so
198%attr(755,root,root) %{_libdir}/%{name}/*.sh
199
200# crashreporter
201%attr(755,root,root) %{_libdir}/%{name}/crashreporter
202%{_libdir}/%{name}/browser/crashreporter-override.ini
203%{_libdir}/%{name}/crashreporter.ini
204
205%dir %{_libdir}/%{name}/gmp-clearkey
206%dir %{_libdir}/%{name}/gmp-clearkey/0.1
207%{_libdir}/%{name}/gmp-clearkey/0.1/manifest.json
208%attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so
209
210%{_pixmapsdir}/%{name}.png
211%{_desktopdir}/%{name}.desktop
This page took 0.064649 seconds and 4 git commands to generate.