summaryrefslogtreecommitdiff
blob: ffc9a5b978c420bf8f0c516644f558b0e0f48c1b (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-irc/quassel/quassel-0.3.0.3.ebuild,v 1.2 2008/11/25 00:24:42 darkside Exp $

EAPI=1

inherit cmake-utils eutils

MY_P="${P/_/-}"

DESCRIPTION="Core/client IRC client."
HOMEPAGE="http://quassel-irc.org/"
SRC_URI="http://quassel-irc.org/pub/${MY_P}.tar.bz2"

LICENSE="GPL-3"
KEYWORDS="~amd64 ~sparc ~x86"
SLOT="0"
IUSE="+dbus debug +server +ssl +X"

LANGS="nb_NO da de fr"
for l in ${LANGS}; do
	IUSE="${IUSE} linguas_${l}"
done

RDEPEND="x11-libs/qt-core:4
		server? (
			x11-libs/qt-sql:4
			x11-libs/qt-script:4
		)
		X? ( x11-libs/qt-gui:4 )
		dbus? ( x11-libs/qt-dbus )
		ssl? ( dev-libs/openssl )"
DEPEND="${RDEPEND}
	>=dev-util/cmake-2.4.7"

DOCS="AUTHORS ChangeLog README README.Qtopia"

S=${WORKDIR}/${MY_P}

pkg_setup() {
	if ! use server && ! use X ; then
		eerror "You have to build one or both of quassel client or server."
		die "Both server and X USE flags unset."
	fi

	if use server && ! built_with_use x11-libs/qt-sql sqlite ; then
		eerror "Please rebuild x11-libs/qt-sql:4 with sqlite USE flag enabled."
		die "Missing sqlite support in x11-libs/qt-sql:4"
	fi

	if use ssl && ! built_with_use x11-libs/qt-core ssl ; then
		eerror "Please rebuild x11-libs/qt-core:4 with ssl USE flag enabled."
		die "Missing ssl support in x11-libs/qt-core:4"
	fi
}

src_compile() {
# Comment this out and invoke _common_configure_code, cmake and cmake-utils_src_make
# manually until cmake-utils.eclass supports space separated strings as arguments for cmake
# options. Until now multiple languages are not passed to -DLINGUAS and only the first
# language is considered.
#
#	local mycmakeargs=(
#		"$(cmake-utils_use_want server CORE)"
#		"$(cmake-utils_use_want X QTCLIENT)"
#		"$(cmake-utils_use_with dbus DBUS)"
#		"$(cmake-utils_use_with ssl OPENSSL)"
#		"-DLINGUAS=\"${LINGUAS}\""
#		'-DWANT_MONO=OFF' )
#
#	cmake-utils_src_compile

	_common_configure_code

	cmake -C "${TMPDIR}/gentoo_common_config.cmake" \
		$(cmake-utils_use_want server CORE) $(cmake-utils_use_want X QTCLIENT) \
		$(cmake-utils_use_with dbus DBUS) $(cmake-utils_use_with ssl OPENSSL) \
		-DLINGUAS="${LINGUAS}" -DWANT_MONO=OFF \
		"${S}" || die "Cmake failed"

	cmake-utils_src_make
}

src_install() {
	cmake-utils_src_install

	# Only install the icons if the X client was installed
	if use X ; then
		insinto /usr/share/icons/hicolor
		# avoid the connected/ directory, get only the ${size}x${size}
		doins -r "${S}"/src/icons/quassel/*x* || die "installing quassel icons failed"
	fi

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

		insinto /usr/share/doc/${PF}
		doins "${S}"/scripts/manageusers.py || die "installing manageusers.py failed"
	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 /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."
		elog
		elog "Adding more than one user or changing username/password is not"
		elog "possible via the quasselclient yet. If you need to do these things"
		elog "you have to use the manageusers.py script, which has been installed in"
		elog "/usr/share/doc/${PF}".
		elog "Please make sure that the quasselcore is stopped before adding more users."
	fi

	if use server && use ssl ; then
		elog
		elog "To enable SSL support for client/core connections the quasselcore needs"
		elog "a PEM certificate which needs to be stored in ~/.quassel/quasselCert.pem."
		elog "To create the certificate use the following command:"
		elog "openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout ~/.quassel/quasselCert.pem -out ~/.quassel/quasselCert.pem"
	fi
}