summaryrefslogtreecommitdiff
blob: 1a57052e387029a61ce05c341260521671541484 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-im/qutim/qutim-0.2.0-r4.ebuild,v 1.1 2012/03/16 11:58:25 johu Exp $

EAPI="2"
LANGSLONG="bg_BG cs_CZ de_DE uk_UA"
LANGS="ru"

inherit eutils qt4-r2 cmake-utils
MY_PN="${PN/im/IM}"

DESCRIPTION="New Qt4-based Instant Messenger (ICQ)."
HOMEPAGE="http://www.qutim.org"
LICENSE="GPL-2"
SRC_URI="http://qutim.org/uploads/src/${P}.tar.bz2"

SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug histman icq irc xmpp gnutls mrim ssl vkontakte yandexnarod"

DEPEND="x11-libs/qt-gui:4[debug?]
	x11-libs/qt-webkit:4
	|| ( media-libs/phonon x11-libs/qt-phonon )
	xmpp? ( ssl? ( dev-libs/openssl )
		gnutls? ( net-libs/gnutls ) )"
RDEPEND="${DEPEND}"

PATCHES=(
	"${FILESDIR}"/fix_insecure_rpath.patch
	"${FILESDIR}"/${P}-gold.patch
)

src_prepare() {
	qt4-r2_src_prepare
	# fix translations directory
	einfo "Fixing LINGUAS path"
	sed -i "s/languages/\/usr\/share\/${PN}\/languages/" src/${PN}.cpp
}

src_compile() {
	# build main executable
	cmake-utils_src_compile
	found=0
	# build protocol support
	if use xmpp; then
		found=1
		cd  "${S}"/plugins/jabber || die
		mkdir build
		cd build
		cmake -C "${TMPDIR}"/gentoo_common_config.cmake \
			  $(cmake-utils_use ssl OpenSSL) \
			  $(cmake-utils_use gnutls GNUTLS) ../ || die
		emake || die
	fi
	# build mrim
	if use mrim; then
		found=1
		cd "${S}"/plugins/mrim || die
		mkdir build
		cd build
		cmake -C "${TMPDIR}"/gentoo_common_config.cmake ../ || die
		emake || die "failed to compile mrim plugin"
	fi
	# Qt4 based projects so I shall use eqmake4
	cd "${S}"/plugins || die
	for i in histman yandexnarod icq irc vkontakte;do
		if use ${i}; then
			found=1
			cd "${i}"
			einfo "now building ${i}-plugin"
			eqmake4 ${i}.pro
			emake || die "failed to compile ${i} plugin"
			cd ..
		fi
	done

}

src_install(){
	# not recommended by upstream and probably broken
	#cmake-utils_src_install
	dobin "${WORKDIR}/${P}_build/${PN}" || die

	cd "${S}"/plugins || die
	insinto "/usr/$(get_libdir)/qutim"
	[[ $found -eq 1 ]] && doins $(find . -type f -executable -iname "*.so")
	doicon "${S}"/icons/${PN}_64.png || die "Failed to install icon"
	make_desktop_entry ${PN} ${MY_PN} ${PN}_64 \
	"Network;InstantMessaging;Qt" || die "make_desktop_entry failed"

	#install linguas
	for X in ${LANGSLONG}; do
		for Z in ${LINGUAS}; do
			if [[ ${X%_*} == ${Z} ]]; then
				einfo "Installing ${Z} translation files"
				insinto /usr/share/${PN}/languages/${X}/
				doins -r "${S}"/languages/${X}/binaries/* || die "failed to install ${X} translation"
			fi
		done
	done
	for X in ${LANGS}; do
		for Z in ${LINGUAS}; do
			if [[ ${X} == ${Z} ]]; then
				einfo "Installing ${Z} translation files"
				insinto /usr/share/${PN}/languages/${X}/
				doins -r "${S}"/languages/${X}/binaries/* || die "failed to install ${X} translation"
			fi
		done
	done

}