%define name opera %define version 12.16 %define rel 1 %define snap 0 %define buildnb 1860 %define tarball_base %{name}-%{version}-%{buildnb} %ifarch x86_64 %define pluginwrapper_32on64 %{_libdir}/%{name}/pluginwrapper/operapluginwrapper-ia32-linux %else %define pluginwrapper_32on64 %nil %endif # Exclude 32-bit requires on x86_64; 32-bit plugins will pull them themselves. %define arch_exclude_files_from_autoreq ^%{pluginwrapper_32on64}$ # Exclude requires on GTK/KDE toolkits, they are optional and used # automatically when present. %define common_exclude_files_from_autoreq ^%{_libdir}/%{name}/libopera.\\+\\.so$ %define _exclude_files_from_autoreq %{arch_exclude_files_from_autoreq}\\|%{common_exclude_files_from_autoreq} Summary: Opera Web Browser for Linux Name: %{name} Version: %{version} %if %snap Release: %mkrel 0.%buildnb.%rel %else Release: %mkrel %rel %endif %define shortver %(echo %version | tr -d .) Source0: http://get.opera.com/pub/opera/linux/%{shortver}/%{tarball_base}.i386.linux.tar.xz Source1: http://get.opera.com/pub/opera/linux/%{shortver}/%{tarball_base}.x86_64.linux.tar.xz Source2: bookmarks.adr License: Freeware Url: http://www.opera.com/ Group: Networking/WWW ExclusiveArch: %ix86 x86_64 BuildRequires: desktop-file-utils BuildRequires: sed # for html5 videos: Suggests: gstreamer0.10-plugins-base Suggests: gstreamer0.10-pulse # for wavparse, upstream packaging has requires on that: Suggests: gstreamer0.10-plugins-good %description Opera for Linux is an alternative feature-rich Web browser. %prep %ifarch x86_64 %setup -qTn %{name}-%{version}-%{buildnb}.%{_arch}.linux -b1 %else %setup -qTn %{name}-%{version}-%{buildnb}.%{_arch}.linux -b0 %endif %install rm -rf $RPM_BUILD_ROOT ./install --system --repackage %{buildroot}%{_prefix} --prefix %{_prefix} %if "%_lib" != "lib" mv %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir} %endif sed -i 's,/usr/lib,%{_libdir},' %{buildroot}%{_bindir}/opera rm -rf rpmdocs mv %{buildroot}%{_docdir}/opera rpmdocs # install bookmarks file into vendor defaults install -d -m755 %{buildroot}%_datadir/%name/custom/defaults install -m644 %{SOURCE2} %{buildroot}%_datadir/%name/custom/defaults/bookmarks.adr desktop-file-install --dir %{buildroot}%{_datadir}/applications \ --add-category=X-Mageia-CrossDesktop \ %{buildroot}%{_datadir}/applications/%{name}-browser.desktop # StartupNotify does not work correctly when opera is already running; # the already-existing window is activated and a new tab is opened # but the completion signal is not sent. sed -i -e 's/StartupNotify=.*/StartupNotify=false/' %{buildroot}%{_datadir}/applications/%{name}-browser.desktop %files %defattr(-,root,root) %doc rpmdocs/* %_bindir/opera %dir %_libdir/opera %_libdir/opera/gstreamer %_libdir/opera/opera_autoupdatechecker %_libdir/opera/libopera*.so %_libdir/opera/opera %_libdir/opera/plugins %dir %_libdir/opera/pluginwrapper %_libdir/opera/pluginwrapper/operapluginwrapper %_libdir/opera/pluginwrapper/operapluginwrapper-native %ifarch x86_64 %{pluginwrapper_32on64} %endif %_iconsdir/hicolor/*/apps/%{name}-*.* %_iconsdir/hicolor/*/mimetypes/%{name}-*.* %_datadir/applications/%{name}-browser.desktop %_datadir/mime/packages/%{name}-*.xml %_mandir/man1/opera* %dir %{_datadir}/opera %{_datadir}/opera/cert.pem %{_datadir}/opera/encoding.bin %{_datadir}/opera/*.dtd %{_datadir}/opera/*.sig %{_datadir}/opera/lngcode.txt %{_datadir}/opera/package-id.ini %{_datadir}/opera/html5_entity_init.dat %{_datadir}/opera/pubsuffix.xml %{_datadir}/opera/defaults %{_datadir}/opera/extra %{_datadir}/opera/skin %{_datadir}/opera/styles %{_datadir}/opera/ui %{_datadir}/opera/locale/en %{_datadir}/opera/region %{_datadir}/opera/custom # langs %dir %{_datadir}/%{name}/locale %lang(ar) %{_datadir}/%name/locale/ar %lang(be) %{_datadir}/%name/locale/be %lang(bg) %{_datadir}/%name/locale/bg %lang(cs) %{_datadir}/%name/locale/cs %lang(da) %{_datadir}/%name/locale/da %lang(de) %{_datadir}/%name/locale/de %lang(el) %{_datadir}/%name/locale/el %lang(en_GB) %{_datadir}/%name/locale/en-GB %lang(es) %{_datadir}/%name/locale/es-ES %lang(es) %{_datadir}/%name/locale/es-LA %lang(et) %{_datadir}/%name/locale/et %lang(fa) %{_datadir}/%name/locale/fa %lang(fi) %{_datadir}/%name/locale/fi %lang(fr) %{_datadir}/%name/locale/fr %lang(fr_CA) %{_datadir}/%name/locale/fr-CA %lang(fy) %{_datadir}/%name/locale/fy %lang(gd) %{_datadir}/%name/locale/gd %lang(he) %{_datadir}/%name/locale/he %lang(hi) %{_datadir}/%name/locale/hi %lang(hu) %{_datadir}/%name/locale/hu %lang(hr) %{_datadir}/%name/locale/hr %lang(id) %{_datadir}/%name/locale/id %lang(it) %{_datadir}/%name/locale/it %lang(ja) %{_datadir}/%name/locale/ja %lang(ka) %{_datadir}/%name/locale/ka %lang(kk) %{_datadir}/%name/locale/kk %lang(ko) %{_datadir}/%name/locale/ko %lang(lt) %{_datadir}/%name/locale/lt %lang(lv) %{_datadir}/%name/locale/lv %lang(mk) %{_datadir}/%name/locale/mk %lang(nn) %{_datadir}/%name/locale/nn %lang(nb) %{_datadir}/%name/locale/nb %lang(nl) %{_datadir}/%name/locale/nl %lang(pl) %{_datadir}/%name/locale/pl %lang(pt) %{_datadir}/%name/locale/pt %lang(pt_BR) %{_datadir}/%name/locale/pt-BR %lang(ro) %{_datadir}/%name/locale/ro %lang(ru) %{_datadir}/%name/locale/ru %lang(sk) %{_datadir}/%name/locale/sk %lang(sr) %{_datadir}/%name/locale/sr %lang(sv) %{_datadir}/%name/locale/sv %lang(te) %{_datadir}/%name/locale/te %lang(ta) %{_datadir}/%name/locale/ta %lang(tr) %{_datadir}/%name/locale/tr %lang(uk) %{_datadir}/%name/locale/uk %lang(vi) %{_datadir}/%name/locale/vi %lang(zh_CN) %{_datadir}/%name/locale/zh-cn %lang(zh_TW) %{_datadir}/%name/locale/zh-tw %lang(af) %{_datadir}/%name/locale/af %lang(az) %{_datadir}/%name/locale/az %lang(bn) %{_datadir}/%name/locale/bn %lang(me) %{_datadir}/%name/locale/me %lang(ms) %{_datadir}/%name/locale/ms %lang(pa) %{_datadir}/%name/locale/pa %lang(sw) %{_datadir}/%name/locale/sw %lang(th) %{_datadir}/%name/locale/th %lang(tl) %{_datadir}/%name/locale/tl %lang(ur) %{_datadir}/%name/locale/ur %lang(uz) %{_datadir}/%name/locale/uz %lang(zu) %{_datadir}/%name/locale/zu