Package qutim: Specfile

%set_verify_elf_method textrel=relaxed
%define cname qutIM
%define cmake_flags -DPREFIX=%prefix -DCMAKE_INSTALL_PREFIX=%prefix
%define _unpackaged_files_terminate_build 1

Name: qutim
Epoch: 3
Version: 0.2.0
Release: alt1
Provides: %cname = %version
Obsoletes: %cname <= 0.1-alt1.20080620

Summary: qutIM - Multiplatform ICQ instant messenger on Qt4
License: GPL2
Group: Networking/Instant messaging
Url: http://www.qutim.org/
Source: %name-%version.tar
Patch: %name-%version-alt.patch

Packager: Evgenii Terechkov <evg@altlinux.org>

# Automatically added by buildreq on Sun Jun 15 2008
BuildRequires: gcc-c++ libqt4-devel cmake libidn-devel libgnutls-devel libssl-devel

BuildRequires(pre): libqt4-devel
Conflicts: qt4-common < %{get_version libqt4-devel}

%description
qutIM - free open-source multiprotocol ( ICQ, Jabber/
GTalk/Ya.Online/LiveJournal.com, Mail.Ru, IRC ) instant messenger for
Windows and Linux systems

%package icq
Summary: ICQ support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description icq
ICQ support plugin for qutIM

%package irc
Summary: IRC support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description irc
IRC support plugin for qutIM

%package jabber
Summary: Jabber support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description jabber
Jabber support plugin for qutIM

%package jabber-gnutls
Summary: Jabber support for %name, linked with GnuTLS
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: %name-jabber
Conflicts: qt4-common < %{get_version libqt4-devel}

%description jabber-gnutls
Jabber support plugin for qutIM, linked with GnuTLS

%package mrim
Summary: Mrim support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description mrim
Mrim (Mail.ru agent) support plugin for qutIM

%package vkontakte
Summary: Vkontakte.ru support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description vkontakte
Vkontakte (vkontakte.ru agent) support plugin for qutIM

%package yandexnarod
Summary: yandexnarod support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description yandexnarod
yandexnarod support plugin for qutIM

%package histman
Summary: histman for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description histman
histman plugin for qutIM

%package plugman
Summary: plugin support for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
Conflicts: qt4-common < %{get_version libqt4-devel}

%description plugman
plugin support plugin for qutIM

%package devel
Summary: Development files for %name
Group: Development/C++
Requires: %name = %version-%release
BuildArch: noarch

%description devel
Development files for %name

%package lang
Summary: Language packs for %name
Group: Networking/Instant messaging
Requires: %name = %version-%release
BuildArch: noarch

%description lang
Language packs for %name

%prep
%setup -n %name-%version
%patch -p1
%ifarch x86_64
# Authors is idiots:
find . -iname 'CMakeLists.txt' -print0 | xargs -0 sed -i 's|lib/%name|%_lib/%name|g'
sed -i 's|"lib"|"lib64"|g' src/pluginsystem.cpp
%endif

%build
CFLAGS="%optflags" \
CXXFLAGS="%optflags" \
cmake %cmake_flags .
%make_build

# Jabber
pushd plugins/jabber
CFLAGS="%optflags" CXXFLAGS="%optflags" cmake %cmake_flags -DGNUTLS=1 .
%make_build
mv libjabber.so libjabbergnutls.so
rm -rf CMakeCache.txt cmake_install.cmake CMakeFiles Makefile
CFLAGS="%optflags" CXXFLAGS="%optflags" cmake %cmake_flags -DOpenSSL=1 .
%make_build
popd

# ICQ
pushd plugins/icq
qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" icq.pro
%make_build
popd

# IRC
pushd plugins/irc
qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" irc.pro
%make_build
popd

# Mrim
pushd plugins/mrim
cmake %cmake_flags .
%make_build
popd

# Vkontakte
pushd plugins/vkontakte
qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" vkontakte.pro
%make_build
popd

# Yandexnarod
pushd plugins/yandexnarod
qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" yandexnarod.pro
%make_build
popd

# HistMan
pushd plugins/histman
qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" histman.pro
%make_build
popd

# PlugMan

pushd plugins/plugman
CFLAGS="%optflags" CXXFLAGS="%optflags" cmake %cmake_flags .
%make_build
popd

# pushd plugins/plugman/tools
# CFLAGS="%optflags" CXXFLAGS="%optflags" cmake %cmake_flags .
# qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" packgen/packgen.pro
# qmake-qt4 -makefile -unix "QMAKE_CFLAGS+=%optflags" "QMAKE_CXXFLAGS+=%optflags" mirgen/mirgen.pro
# %make_build
# popd

pushd languages
./make.sh compile
popd

%install
mkdir -p %buildroot%_bindir %buildroot%_miconsdir %buildroot%_iconsdir/hicolor/64x64/apps %buildroot%_datadir/%name/emoticons %buildroot%_libdir/%name
install -m 644 icons/%name.png %buildroot%_miconsdir
install -m 644 icons/%{name}_64.png %buildroot%_iconsdir/hicolor/64x64/apps/%name.png

%makeinstall DESTDIR=%buildroot install

pushd plugins
for i in icq/libicq.so irc/libirc.so mrim/libmrim.so vkontakte/libvkontakte.so jabber/libjabber*.so yandexnarod/libyandexnarod.so histman/libhistman.so plugman/libplugman.so;do
install -m 755 $i %buildroot%_libdir/%name
done
popd

pushd languages
  for i in `find . -maxdepth 1 -type d`
  do
    mkdir -p %buildroot%_datadir/%name/languages/$i || :
    cp $i/binaries/*.qm %buildroot%_datadir/%name/languages/$i || :
  done
popd

%files
%_bindir/%name
%dir %_libdir/%name
%_desktopdir/%name.desktop
%_iconsdir/hicolor/64x64/apps/%name.png
%_miconsdir/%name.png
%_pixmapsdir/%name.xpm
%dir %_datadir/%name
%dir %_datadir/%name/emoticons
%dir %_datadir/%name/languages

%files icq
%_libdir/%name/libicq.so

%files irc
%_libdir/%name/libirc.so

%files jabber
%_libdir/%name/libjabber.so

%files jabber-gnutls
%_libdir/%name/libjabbergnutls.so

%files mrim
%_libdir/%name/libmrim.so

%files vkontakte
%_libdir/%name/libvkontakte.so

%files yandexnarod
%_libdir/%name/libyandexnarod.so

%files histman
%_libdir/%name/libhistman.so

%files plugman
%_libdir/%name/libplugman.so
# %_libdir/%name/libpackgen.so
# %_libdir/%name/libmirgen.so

%files devel
%_includedir/%name
%_datadir/CMake/Modules/*.cmake

%files lang
%_datadir/%name/languages/*

%changelog
* Sat Nov 28 2009 Terechkov Evgenii <evg@altlinux.ru> 3:0.2.0-alt1
- 0.2.0 (ALT #22124)

* Mon Aug  3 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt12.beta2
- 0.2 beta2
- Conflict with old qt4 (ALT #20900, thanks to vsu@)

* Tue Jul  7 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt11.beta
- bin/%cname compat hardlink removed
- jabber-gnutls subpackage created

* Wed Jun 24 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt10.beta
- x86_64 build again. Authors are morons (ALT #20559)

* Sun Jun 21 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt9.beta
- Vkontakte plugin packaged

* Sun Jun 21 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt8.beta
- Fix some minor packaging errors (desktop, spec)

* Sat Jun 20 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt7.beta
- 0.2 beta
- Development headers packaged in subpackage

* Sat May  9 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt6.alpha
- Build with gcc4.4 fixed

* Wed Mar 18 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt5.alpha
- Build with OpenSSL by default (seems like gmail works only with openssl)
- Split package to plugins subpackages

* Fri Mar 13 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt4.alpha
- Missed optflags and make_build ressurected (thanks to drool@ again)

* Fri Mar 13 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt3.alpha
- Build with Gnutls support (thanks to drool@)

* Mon Mar  9 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt2.alpha
- x86_64 build "fixed" (Authors is idiots)
- bin/%cname compat hardlink added

* Sun Mar  8 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.2-alt1.alpha
- 0.2 alpha

* Thu Jan 22 2009 Terechkov Evgenii <evg@altlinux.ru> 2:0.1.1-alt2
- Migrate to "one alt patch" gear scheme
- Update spec to new filetriggers system

* Sun Aug 17 2008 Terechkov Evgenii <evg@altlinux.ru> 2:0.1.1-alt1
- 0.1.1

* Sun Aug 17 2008 Evgenii Terechkov <evg@altlinux.ru> 1:0.1-alt1.20080720
- Svn revision: exported

* Sun Jul 20 2008 Evgenii Terechkov <evg@altlinux.ru> 1:0.1-alt1.20080720
- Svn revision: 174

* Wed Jul 09 2008 Evgenii Terechkov <evg@altlinux.ru> 1:0.1-alt1.20080709
- Svn revision: 154

* Wed Jul  2 2008 Terechkov Evgenii <evg@altlinux.ru> 1:0.1-alt1.20080702
- svn-20080702

* Mon Jun 30 2008 Terechkov Evgenii <evg@altlinux.ru> 1:0.1-alt1.20080629
- svn-20080629

* Tue Jun 24 2008 Terechkov Evgenii <evg@altlinux.ru> 1:0.1-alt1.20080624
- Package name changed due changes in upstream
- buildflags added (fix #16149)
- svn-20080624

* Fri Jun 20 2008 Terechkov Evgenii <evg@altlinux.ru> 1:0.1-alt1.20080620
- svn-20080620

* Wed Jun 18 2008 Terechkov Evgenii <evg@altlinux.ru> 1:0.1-alt1.20080618
- svn-20080618
- Obsoleted Patch1 removed (fixed in upstream)

* Wed Jun 18 2008 Terechkov Evgenii <evg@altlinux.ru> 0.1-alt3
- README.ALT included in binary package

* Tue Jun 17 2008 Terechkov Evgenii <evg@altlinux.ru> 0.1-alt2
- Patch1 added to look for emoicons in common dir (to hiddenman@)
- README.ALT added

* Sun Jun 15 2008 Terechkov Evgenii <evg@altlinux.ru> 0.1-alt1
- Initial build for ALT Linux Sisyphus