+# TODO:
+# - SECURITY: http://securitytracker.com/alerts/2004/Jul/1010780.html
#
-# There're some problems with "shared" version
-#
-%bcond_with shared
-
-%define ver 7.23
-%define dirrel 20031119
-%define shared_rel %{dirrel}.5
-%define static_rel %{dirrel}.1
+%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)
+%bcond_with snap # snap version
+
+%define ver 7.54
+%define shver %(echo %{ver} | tr -d .)
+%define dirrel 20040803
+# type of release, usually final or beta or Preview-4 for snaps
+%define reltype final
+%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}.2
+%define ppc_static_rel %{dirrel}.1
%if %{with shared}
-%define rel %{shared_rel}
%define type shared
+%ifarch %{ix86}
+%define rel %{x86_shared_rel}
+%endif
+%ifarch sparc64 sparc
+%define rel %{sparc_shared_rel}
+%endif
+%ifarch ppc
+%define rel %{ppc_shared_rel}
+%endif
%else
-%define rel %{static_rel}
%define type static
+%ifarch %{ix86}
+%define rel %{x86_static_rel}
%endif
+%ifarch sparc sparc64
+%define rel %{sparc_static_rel}
+%endif
+%ifarch ppc
+%define rel %{ppc_static_rel}
+%endif
+%endif
+
Summary: World fastest web browser
Summary(pl): Najszybsza przegl±darka WWW na ¶wiecie
Name: opera
Version: %{ver}.%{rel}
-Release: 2
-License: Restricted, see file LICENSE
+Release: 1
+License: Distributable for PLD until 31 Dec 2006 - http://distribute.opera.com/ (otherwise restricted, see file LICENSE)
Group: X11/Applications/Networking
-Source0: ftp://ftp.opera.com/pub/opera/linux/723/final/en/i386/static/%{name}-%{ver}-%{static_rel}-static-qt.i386-en.tar.bz2
-Source1: ftp://ftp.opera.com/pub/opera/linux/723/final/en/sparc/static/%{name}-%{ver}-%{static_rel}-static-qt.sparc-en.tar.bz2
-Source2: ftp://ftp.opera.com/pub/opera/linux/723/final/en/ppc/static/%{name}-%{ver}-%{static_rel}-static-qt.ppc-en.tar.bz2
-# polish language file (taken from where?)
-Source3: %{name}-2887.lng
+%if %{without shared}
+%{!?with_incall:%ifarch %{ix86}}
+%if ! %{with snap}
+Source0: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/static/%{name}-%{ver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
+# Source0-md5: 0a7e933ef593d4b7a897041c9f87bba2
+%else
+Source100: http://snapshot.opera.com/unix/%{ver}-%{reltype}/intel-linux/en/%{name}-%{ver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
+%endif
+%{!?with_distributable:NoSource: 0}
+%if ! %{with incall}
+%endif
+%ifarch sparc sparc64
+%endif
+%if ! %{with snap}
+Source1: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/static/%{name}-%{ver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
+# Source1-md5: 04976a6ace7a4345ce5e4cf763159939
+%else
+Source101: http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{ver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
+%endif
+%{!?with_distributable:NoSource: 1}
+%if ! %{with incall}
+%endif
+%ifarch ppc
+%endif
+%if ! %{with snap}
+Source2: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/static/%{name}-%{ver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
+# Source2-md5: c11a4c78d18bdaa4bd338b4c0dc27f38
+%else
+Source102: http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{ver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
+%endif
+%{!?with_distributable:NoSource: 2}
+%{!?with_incall:%endif}
+%else
+%{!?with_incall:%ifarch %{ix86}}
+%if ! %{with snap}
+Source20: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/shared/%{name}-%{ver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
+# Source20-md5: 0e407a050f3aa4559011a3cea707cd20
+%else
+Source1020: http://snapshot.opera.com/unix/%{ver}-%{reltype}/intel-linux/en/%{name}-%{ver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
+%endif
+%{!?with_distributable:NoSource: 20}
+%if ! %{with incall}
+%endif
+%ifarch sparc sparc64
+%endif
+%if ! %{with snap}
+Source21: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/shared/gcc-2.95/%{name}-%{ver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
+# Source21-md5: d8635013dac0c98c680997fcc9dd66c4
+%else
+Source1021: http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{ver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
+%endif
+%{!?with_distributable:NoSource: 21}
+%if ! %{with incall}
+%endif
+%ifarch ppc
+%endif
+%if ! %{with snap}
+Source22: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/shared/gcc-2.95/%{name}-%{ver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+# Source22-md5: 516992e68c5a710d795a1ecc791c7f4d
+%else
+Source1022: http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{ver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+%endif
+%{!?with_distributable:NoSource: 22}
+%endif
+%{!?with_incall:%endif}
+Source3: ftp://ftp.opera.com/pub/opera/unix/lng/752/pl/ou752_727pl.lng
+# Source3-md5: 48bfd8a0d541698c70e151c81ab61408
Source4: %{name}.desktop
-Source20: ftp://ftp.opera.com/pub/opera/linux/723/final/en/i386/shared/%{name}-%{ver}-%{shared_rel}-shared-qt.i386-en.tar.bz2
-Source21: ftp://ftp.opera.com/pub/opera/linux/723/final/en/sparc/shared/gcc-2.95/%{name}-%{ver}-%{dirrel}.2-shared-qt.sparc-en.tar.bz2
-Source22: ftp://ftp.opera.com/pub/opera/linux/723/final/en/ppc/shared/gcc-2.95/%{name}-%{ver}-%{dirrel}.2-shared-qt.ppc-en.tar.bz2
-NoSource: 0
-NoSource: 1
-NoSource: 2
-NoSource: 20
-NoSource: 21
-NoSource: 22
URL: http://www.opera.com/
ExclusiveArch: %{ix86} ppc sparc sparc64
Requires: freetype >= 2
%prep
%ifarch %{ix86}
-%setup -q %{?_with_shared:-T -b 20} -n %{name}-%{ver}-%{rel}-%{type}-qt.i386-en
+%setup -q %{?with_shared:-T -b %{?with_snap:10}20} -n %{name}-%{ver}-%{rel}-%{type}-qt.i386-en
%endif
%ifarch sparc sparc64
-%setup -q -T -b %{?_with_shared:2}1 -n %{name}-%{ver}-%{rel}-%{type}-qt.sparc-en
+%setup -q -T -b %{?with_snap:10}%{?with_shared:2}1 -n %{name}-%{ver}-%{rel}-%{type}-qt.sparc-en
%endif
%ifarch ppc
-%setup -q -T -b %{?_with_shared:2}2 -n %{name}-%{ver}-%{rel}-%{type}-qt.ppc-en
+%setup -q -T -b %{?with_snap:10}%{?with_shared:2}2 -n %{name}-%{ver}-%{rel}-%{type}-qt.ppc-en
%endif
%install
--plugindir=$RPM_BUILD_ROOT%{_plugindir}
# Polish locale
-install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/opera/locale/
+install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/opera/locale/polish.lng
# man install
install man/opera.1 $RPM_BUILD_ROOT%{_mandir}/man1
# always use wrapper linked with libXm.so.3
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper
-ln -sf operamotifwrapper-3 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper
+ln -sf operamotifwrapper-3 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-2
+ln -sf operamotifwrapper-3 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-1
+
+# %{_libdir} is not the best place for it but opera doesn't search for it in better
+# places :/
+install lib/spellcheck.so $RPM_BUILD_ROOT%{_libdir}
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_datadir}/opera/chartables-be.bin
%endif
%attr(755,root,root) %{_datadir}/opera/opera6.adr
+%attr(755,root,root) %{_libdir}/*.so
%dir %{_libdir}/opera
%dir %{_plugindir}
%attr(755,root,root) %{_plugindir}/*