summaryrefslogtreecommitdiff
blob: b21559cb22e114777c23121fb59097992908da9c (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
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit nsplugins qmake-utils

DESCRIPTION="The X2Go Qt client"
HOMEPAGE="http://www.x2go.org"
SRC_URI="http://code.x2go.org/releases/source/${PN}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ldap nsplugin qt5"

REQUIRED_USE="nsplugin? ( !qt5 )"

DEPEND=">=net-libs/libssh-0.6.0_rc1
	net-print/cups
	x11-libs/libXpm
	ldap? ( net-nds/openldap )
	!qt5? (
		dev-qt/qtcore:4[ssl]
		dev-qt/qtgui:4
		dev-qt/qtsvg:4
	)
	qt5? (
		dev-qt/qtcore:5
		dev-qt/qtgui:5
		dev-qt/qtnetwork:5[ssl]
		dev-qt/qtsvg:5
		dev-qt/qtwidgets:5
		dev-qt/qtx11extras:5
	)
"
RDEPEND="${DEPEND}
	net-misc/nx"

CLIENT_BUILD="${WORKDIR}"/${P}.client_build
PLUGIN_BUILD="${WORKDIR}"/${P}.plugin_build

PATCHES=( "${FILESDIR}"/${P}-r1-rcc_to_qrc.patch )

src_prepare() {
	default

	local f
	for f in res/*rcc; do
		mv ${f} ${f/rcc/qrc} || die
	done

	if ! use ldap; then
		sed -e "s/-lldap//" -i x2goclient.pro || die
		sed -e "s/#define USELDAP//" -i src/x2goclientconfig.h || die
	fi

	mkdir -p "${CLIENT_BUILD}" || die
	if use nsplugin; then
		mkdir -p "${PLUGIN_BUILD}" || die
	fi
}

src_configure() {
	cd "${CLIENT_BUILD}" || die

	if use qt5; then
		eqmake5 "${S}"/x2goclient.pro
	else
		eqmake4 "${S}"/x2goclient.pro
	fi

	if use nsplugin; then
		cd "${PLUGIN_BUILD}" || die
		X2GO_CLIENT_TARGET=plugin eqmake4 "${S}"/x2goclient.pro
	fi
}

src_compile() {
	cd "${CLIENT_BUILD}" || die
	emake

	if use nsplugin; then
		cd "${PLUGIN_BUILD}" || die
		emake
	fi
}

src_install() {
	dobin "${CLIENT_BUILD}"/${PN}

	insinto /usr/share/pixmaps/x2goclient
	doins res/img/icons/${PN}.xpm

	domenu desktop/${PN}.desktop
	doman man/man?/*

	if use nsplugin; then
		# PLUGINS_DIR comes from nsplugins.eclass
		exeinto /usr/$(get_libdir)/${PLUGINS_DIR}
		doexe "${PLUGIN_BUILD}"/libx2goplugin.so
	fi

	emake DESTDIR="${D}" PREFIX=/usr install_pluginprovider
}