summaryrefslogtreecommitdiff
blob: a037d101aa4b21aed777c174ae25f580b4217d0e (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
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-irc/quassel/quassel-9999.ebuild,v 1.26 2009/10/28 19:24:09 scarabeus Exp $

EAPI="2"

inherit cmake-utils eutils git

EGIT_REPO_URI="git://git.quassel-irc.org/quassel.git"
EGIT_BRANCH="master"

DESCRIPTION="Qt4/KDE4 IRC client suppporting a remote daemon for 24/7 connectivity."
HOMEPAGE="http://quassel-irc.org/"

LICENSE="GPL-3"
KEYWORDS=""
SLOT="0"
IUSE="dbus debug kde monolithic phonon postgres +server +ssl webkit +X"

RDEPEND="
	dbus? ( x11-libs/qt-dbus:4 )
	monolithic? (
		!postgres? ( x11-libs/qt-sql:4[sqlite] dev-db/sqlite[threadsafe] )
		postgres? ( x11-libs/qt-sql:4[postgres] >=virtual/postgresql-base-8.3 )
		x11-libs/qt-script:4
		x11-libs/qt-gui:4
		kde? ( >=kde-base/kdelibs-4.3 )
		phonon? ( || ( media-sound/phonon x11-libs/qt-phonon ) )
		webkit? ( x11-libs/qt-webkit:4 )
	)
	!monolithic? (
		server? (
			!postgres? ( x11-libs/qt-sql:4[sqlite] dev-db/sqlite[threadsafe] )
			postgres? ( x11-libs/qt-sql:4[postgres] )
			x11-libs/qt-script:4
		)
		X? (
			x11-libs/qt-gui:4
			kde? ( >=kde-base/kdelibs-4.1 )
			phonon? ( || ( media-sound/phonon x11-libs/qt-phonon ) )
			webkit? ( x11-libs/qt-webkit:4 )
		)
	)
	ssl? ( x11-libs/qt-core:4[ssl] )
	"
DEPEND="${RDEPEND}"

DOCS="AUTHORS ChangeLog README"

pkg_setup() {
	if ! use monolithic && ! use server && ! use X ; then
		eerror "You have to build at least one of the monolithic client (USE=monolithic),"
		eerror "the quasselclient (USE=X) or the quasselcore (USE=server)."
		die "monolithic, server and X flag unset."
	fi
}

src_configure() {
	local mycmakeargs="
		$(cmake-utils_use_want X QTCLIENT)
		$(cmake-utils_use_want server CORE)
		$(cmake-utils_use_want monolithic MONO)
		$(cmake-utils_use_with webkit WEBKIT)
		$(cmake-utils_use_with phonon PHONON)
		$(cmake-utils_use_with kde KDE)
		$(cmake-utils_use_with dbus DBUS)
		$(cmake-utils_use_with ssl OPENSSL)
		$(cmake-utils_use_with !kde OXYGEN)
		-DWITH_LIBINDICATE=OFF
		-DEMBED_DATA=OFF
	"

	cmake-utils_src_configure
}

src_install() {
	cmake-utils_src_install

	if use server ; then
		newinitd "${FILESDIR}"/quasselcore-2.init quasselcore || die "newinitd failed"
		newconfd "${FILESDIR}"/quasselcore-2.conf quasselcore || die "newconfd failed"

		insinto /etc/logrotate.d
		newins "${FILESDIR}/quassel.logrotate" quassel
	fi
}

pkg_postinst() {
	if use server ; then
		ewarn
		ewarn "In order to use the quassel init script you must set the"
		ewarn "QUASSEL_USER variable in ${ROOT%/}/etc/conf.d/quasselcore to your username."
		ewarn "Note: This is the user who runs the quasselcore and is independent"
		ewarn "from the users you set up in the quasselclient."
	fi

	if ( use server || use monolithic ) && use ssl ; then
		elog
		elog "Information on how to enable SSL support for client/core connections"
		elog "is available at http://bugs.quassel-irc.org/wiki/quassel-irc."
	fi
}