# - HEAD - stable version
# - DEVEL - development version
# - WEEKLY - weekly development version
-
-# TODO:
-# - move translations into a separate, noarch package
#
-%bcond_without shared # static or shared version
-%bcond_without distributable # distributable or not
-%bcond_without incall # include all tarballs into src.rpm (but splitted into shared/static)
-
-%define ver 9.25
-%define sver 9.25
-%define fix %{nil}
-%define dirrel 20071214
-%define reltype final
-%define magicstr 687
-
-%define shver %(echo %{ver} | tr -d .)%{fix}
-%define x86_shared_rel %{dirrel}.5
-%define x86_static_rel %{dirrel}.1
-%define sparc_shared_rel %{dirrel}.2
-%define sparc_static_rel %{dirrel}.1
-%define ppc_shared_rel %{dirrel}.3
-%define ppc_static_rel %{dirrel}.1
-
-%if %{with shared}
- %define type shared
- # We should be able to build src.rpm also on not supported archs
- %define rel %{x86_shared_rel}
- %ifarch sparc sparcv9
- %define rel %{sparc_shared_rel}
- %endif
- %ifarch ppc
- %define rel %{ppc_shared_rel}
- %endif
-%else
- %define type static
- %define rel %{x86_static_rel}
- %ifarch sparc sparcv9
- %define rel %{sparc_static_rel}
- %endif
- %ifarch ppc
- %define rel %{ppc_static_rel}
- %endif
-%endif
+# NOTE: to avoid creating unreadable/unmaintainable spec:
+# - don't put static version here, create STATIC branch for that for example
+# - don't create useless bconds that for example limit SourceX: to current arch only
+#
-# define to 0 and then redefine to avoid
-# not defined macros
-%define need_ix86_shared 0
-%define need_sparc_shared 0
-%define need_ppc_shared 0
-%define need_ix86_static 0
-%define need_sparc_static 0
-%define need_ppc_static 0
-
-%if %{with incall}
- %if %{with shared}
- %define need_ix86_shared 1
- %define need_sparc_shared 1
- %define need_ppc_shared 1
- %else
- %define need_ix86_static 1
- %define need_sparc_static 1
- %define need_ppc_static 1
- %endif
-%else
- %ifarch sparc sparc64
- %if %{with shared}
- %define need_sparc_shared 1
- %else
- %define need_sparc_static 1
- %endif
- %endif
- %ifarch ppc
- %if %{with shared}
- %define need_ppc_shared 1
- %else
- %define need_ppc_static 1
- %endif
- %endif
-%endif
+%bcond_with qt4 #take the qt4 version
+
+%define ver 9.61
+%define shver %(echo %{ver} | tr -d .)
+%define buildid 2456
-%define _rel 2
Summary: World fastest web browser
Summary(pl.UTF-8): Najszybsza przeglądarka WWW na świecie
Name: opera
-Version: %{ver}%{fix}
-Release: %{_rel}
+Version: %{ver}
+Release: 2
Epoch: 2
License: Distributable
Group: X11/Applications/Networking
-
-%if %{need_ix86_static}
-Source0: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/static/%{name}-%{sver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
-# Source0-md5: 96b8010ddb0ff250817c7fb314de2d26
-%{!?with_distributable:NoSource: 0}
-%endif
-
-%if %{need_sparc_static}
-Source1: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/static/%{name}-%{sver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
-# Source1-md5: c8443b4b83b21a56fdd8dc3526eaf46f
-%{!?with_distributable:NoSource: 1}
-%endif
-
-%if %{need_ppc_static}
-Source2: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/static/%{name}-%{sver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
-# Source2-md5: be68f701224493bbd9a6d62df8eb9b19
-%{!?with_distributable:NoSource: 2}
-%endif
-
-%if %{need_ix86_shared}
-Source20: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/shared/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
-# Source20-md5: 186ac3db2d79452e911c1a9eaa9a0d0d
-%{!?with_distributable:NoSource: 20}
-%endif
-
-%if %{need_sparc_shared}
-Source21: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/shared/gcc-2.95/%{name}-%{sver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
-# Source21-md5: f483713c4a01de7589430d94132e33ed
-%{!?with_distributable:NoSource: 21}
-%endif
-
-
-%if %{need_ppc_shared}
-Source22: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/shared/gcc-2.95/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
-# Source22-md5: 8c38b2302512ce7e02815238b970d4cf
-%{!?with_distributable:NoSource: 22}
-%endif
-
-Source4: %{name}.desktop
+Source10: ftp://ftp.opera.com/pub/opera/linux/%{shver}/final/en/i386/shared/%{name}-%{version}.gcc4-shared-qt3.i386.tar.bz2
+# Source10-md5: fab34279f40b305a90e6c248f8cf83da
+Source11: ftp://ftp.opera.com/pub/opera/linux/%{shver}/final/en/x86_64/%{name}-%{version}.gcc4-shared-qt3.x86_64.tar.bz2
+# Source11-md5: ab7d0fa42a1579d8dcf0f865f43e5504
+Source12: ftp://ftp.opera.com/pub/opera/linux/%{shver}/final/en/ppc/shared/%{name}-%{version}.gcc4-shared-qt3.ppc.tar.bz2
+# Source12-md5: d1cad1fc8d1405e7b381a46830f6682a
+Source13: ftp://ftp.opera.com/pub/opera/linux/%{shver}/final/en/i386/%{name}-%{version}.gcc4-qt4.i386.tar.bz2
+# Source13-md5: ef895e80f26915fdedc0c5eaee486009
+Source0: %{name}.desktop
Patch0: %{name}-wrapper.patch
+Patch1: %{name}-agent.patch
URL: http://www.opera.com/
BuildRequires: rpmbuild(macros) >= 1.356
BuildRequires: sed >= 4.0
Requires: browser-plugins >= 2.0
Requires: freetype >= 2
Provides: wwwbrowser
-ExclusiveArch: %{ix86} ppc sparc sparcv9
+Obsoletes: opera-i18n
+ExclusiveArch: %{ix86} %{x8664} ppc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _plugindir %{_libdir}/opera/plugins
%define _operadocdir %{_docdir}/%{name}-%{ver}
+# alternative arch for plugin32
+%define alt_arch i386
%description
Opera is world fastest web browser. It supports most of nowaday
-extensions of HTML. And it is quite stable. This version is %{?with_shared:shared}%{!?with_shared:statically}
-linked with Qt.
+extensions of HTML. And it is quite stable. This version is
+linked with shared version of Qt.
%description -l pl.UTF-8
Opera jest najszybszą przeglądarką WWW na świecie. Obsługuje większość
dzisiejszych rozszerzeń HTML-a. Dodatkowo jest w miarę stabilna. Ta
-wersja jest skonsolidowana %{?with_shared:dynamicznie}%{!?with_shared:statycznie} z Qt.
+wersja jest skonsolidowana dynamicznie z Qt.
+
+%package plugin32
+Summary: Opera 32-bit plugins support
+Summary(pl.UTF-8): Obsługa 32-bitowych wtyczek Opery
+Group: X11/Applications/Networking
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: browser-plugins >= 2.0
+
+%description plugin32
+Opera 32-bit plugins support.
+
+%description plugin32 -l pl.UTF-8
+Obsługa 32-bitowych wtyczek Opery.
%prep
%ifarch %{ix86}
-%setup -q -T -b %{?with_shared:2}0 -n %{name}-%{sver}-%{rel}-%{type}-qt.i386-en%{?magicstr:-%{magicstr}}
+%if %{with qt4}
+%setup -q -T -b 13 -n %{name}-%{version}-%{buildid}.gcc4-qt4.i386
+%define _noautoreq 'libpng12.so.0(.*)'
+%else
+%setup -q -T -b 10 -n %{name}-%{version}-%{buildid}.gcc4-shared-qt3.i386
+%endif
%endif
-%ifarch sparc sparcv9
-%setup -q -T -b %{?with_shared:2}1 -n %{name}-%{sver}-%{rel}-%{type}-qt.sparc-en%{?magicstr:-%{magicstr}}
+%ifarch %{x8664}
+%setup -q -T -b 11 -n %{name}-%{version}-%{buildid}.gcc4-shared-qt3.x86_64
%endif
%ifarch ppc
-%setup -q -T -b %{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en%{?magicstr:-%{magicstr}}
+%setup -q -T -b 12 -n %{name}-%{version}-%{buildid}.gcc4-shared-qt3.ppc
%endif
%patch0 -p1
+%if "%{pld_release}" == "ti"
+%patch1 -p0
+%endif
%install
rm -rf $RPM_BUILD_ROOT
libjavaplugin_oji.so
EOF
+%ifarch %{x8664}
+install -d $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/plugins
+%browser_plugins_add_browser %{name} -a %{alt_arch} -p %{_prefix}/lib/%{name}/plugins -b <<'EOF'
+# opera does not use for .xpt files
+*.xpt
+
+# use mplayerplug-in-opera instead
+mplayerplug-in*
+
+# opera uses libjava.so to run java
+libjavaplugin_oji.so
+EOF
+%endif
+
sh install.sh \
DESTDIR=$RPM_BUILD_ROOT \
--prefix=%{_prefix} \
--docdir=%{_operadocdir}
# install in kde etc.
-install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
+install %{SOURCE0} $RPM_BUILD_ROOT%{_desktopdir}
-mv -f $RPM_BUILD_ROOT%{_datadir}/%{name}/config/* $RPM_BUILD_ROOT%{_sysconfdir}
-install images/opera.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
+install etc/* $RPM_BUILD_ROOT%{_sysconfdir}
+install usr/share/pixmaps/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
%clean
rm -rf $RPM_BUILD_ROOT
%update_browser_plugins
fi
+%post plugin32
+%update_browser_plugins
+
+%postun plugin32
+if [ "$1" = 0 ]; then
+ %update_browser_plugins
+fi
+
%files
%defattr(644,root,root,755)
%doc LICENSE
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opera*rc*
# browser plugins v2
-%{_browserpluginsconfdir}/browsers.d/%{name}.*
-%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
+%{_browserpluginsconfdir}/browsers.d/%{name}.%{_target_base_arch}
+%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.%{_target_base_arch}.blacklist
%attr(755,root,root) %{_bindir}/*
%dir %{_libdir}/opera
%dir %{_libdir}/opera/bin
%attr(755,root,root) %{_libdir}/opera/bin/*
+%ifarch %{x8664}
+%exclude %{_libdir}/opera/bin/*-ia32-*
+%endif
%dir %{_plugindir}
-%attr(755,root,root) %{_plugindir}/*
%dir %{_datadir}/opera
%{_datadir}/opera/*.*
%{_datadir}/opera/ini
%{_datadir}/opera/java
-%{_datadir}/opera/images
%{_datadir}/opera/skin
%{_datadir}/opera/styles
%dir %{_datadir}/opera/locale
%{_datadir}/opera/locale/en
%{_datadir}/opera/locale/english.lng
+%lang(be) %{_datadir}/opera/locale/be
+%lang(bg) %{_datadir}/opera/locale/bg
+%lang(cs) %{_datadir}/opera/locale/cs
+%lang(da) %{_datadir}/opera/locale/da
+%lang(de) %{_datadir}/opera/locale/de
+%lang(el) %{_datadir}/opera/locale/el
+%lang(en_GB) %{_datadir}/opera/locale/en-GB
+%lang(es) %{_datadir}/opera/locale/es-ES
+%lang(es_LA) %{_datadir}/opera/locale/es-LA
+%lang(et) %{_datadir}/opera/locale/et
+%lang(fi) %{_datadir}/opera/locale/fi
+%lang(fr) %{_datadir}/opera/locale/fr
+%lang(fr_CA) %{_datadir}/opera/locale/fr-CA
+%lang(fy) %{_datadir}/opera/locale/fy
+%lang(hi) %{_datadir}/opera/locale/hi
+%lang(hr) %{_datadir}/opera/locale/hr
+%lang(hu) %{_datadir}/opera/locale/hu
+%lang(id) %{_datadir}/opera/locale/id
+%lang(it) %{_datadir}/opera/locale/it
+%lang(ja) %{_datadir}/opera/locale/ja
+%lang(ka) %{_datadir}/opera/locale/ka
+%lang(ko) %{_datadir}/opera/locale/ko
+%lang(lt) %{_datadir}/opera/locale/lt
+%lang(mk) %{_datadir}/opera/locale/mk
+%lang(nb) %{_datadir}/opera/locale/nb
+%lang(nl) %{_datadir}/opera/locale/nl
+%lang(nn) %{_datadir}/opera/locale/nn
+%lang(pl) %{_datadir}/opera/locale/pl
+%lang(pt) %{_datadir}/opera/locale/pt
+%lang(pt_BR) %{_datadir}/opera/locale/pt-BR
+%lang(ru) %{_datadir}/opera/locale/ru
+%lang(sv) %{_datadir}/opera/locale/sv
+%lang(ta) %{_datadir}/opera/locale/ta
+%lang(te) %{_datadir}/opera/locale/te
+%lang(tr) %{_datadir}/opera/locale/tr
+%lang(uk) %{_datadir}/opera/locale/uk
+%lang(zh_CN) %{_datadir}/opera/locale/zh-cn
+%lang(zh_TW) %{_datadir}/opera/locale/zh-tw
%{_desktopdir}/*.desktop
%{_mandir}/man1/opera.1*
%{_pixmapsdir}/opera.xpm
+
+%ifarch %{x8664}
+%files plugin32
+%defattr(644,root,root,755)
+# browser plugins v2
+%{_browserpluginsconfdir}/browsers.d/%{name}.%{alt_arch}
+%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.%{alt_arch}.blacklist
+%dir %{_prefix}/lib/%{name}
+%dir %{_prefix}/lib/%{name}/plugins
+%attr(755,root,root) %{_libdir}/%{name}/bin/*-ia32-*
+%endif