summaryrefslogtreecommitdiff
blob: 46a6df9a72977f09ec1f3831fb6bc0d5f15dde31 (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
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils rpm

DESCRIPTION="NXClient is a X11/VNC/NXServer client especially tuned for using remote desktops over low-bandwidth links such as the Internet"
HOMEPAGE="http://www.nomachine.com"

IUSE="cups esd prebuilt"
LICENSE="as-is"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="mirror strip"

URI_BASE="http://web04.nomachine.com/download/2.0.0/Linux"
SRC_NXCLIENT="${P}-98.i386.rpm"
SRC_URI="${URI_BASE}/${SRC_NXCLIENT}"

DEPEND=">=dev-libs/expat-1.95.8
	>=media-libs/fontconfig-2.2.3
	>=media-libs/freetype-2.1.10
	>=media-libs/jpeg-6b-r7
	>=media-libs/libpng-1.2.8
	net-analyzer/gnu-netcat
	>=sys-libs/zlib-1.2.3
	=x11-libs/qt-3.3*

	cups? ( >=dev-libs/openssl-0.9.7j
		>=net-print/cups-1.1.23 )

	esd? ( >=media-libs/audiofile-0.2.6
	       >=media-sound/esound-0.2.36 )

	prebuilt? ( !net-misc/nxclient-base )
	!prebuilt? ( net-misc/nxclient-base )

	amd64? (
		app-emulation/emul-linux-x86-compat
		>=app-emulation/emul-linux-x86-baselibs-2.1.4
		>=app-emulation/emul-linux-x86-xlibs-2.2.1
		>=app-emulation/emul-linux-x86-qtlibs-2.1.1
	       )

	x86? ( >=sys-libs/lib-compat-1.4 )

	|| (  ( x11-libs/libX11
		x11-libs/libXau
		x11-libs/libXdmcp
		x11-libs/libXext
		x11-libs/libXft
		x11-libs/libXrender
		app-text/rman
	      )
		virtual/x11
	   )"

# As per !M instructions: Uninstall all the old stuff.
RDEPEND="${DEPEND}
	!net-misc/nx-x11
	!net-misc/nx-x11-bin
	!net-misc/nxcomp
	!net-misc/nxesd
	!net-misc/nxproxy
	!net-misc/nxserver-business
	!net-misc/nxserver-enterprise
	!net-misc/nxserver-personal
	!net-misc/nxssh"

S=${WORKDIR}

src_install() {
	cp -dPR usr ${D}

	# These will be provided by our dependencies
	rm -f ${D}/usr/NX/lib/lib{jpeg,png,z}*

	# We need to remove these items if the user wishes to compile
	# the OSS components. All these will be delivered by:
	# nxclient-base-2.0.0
	if ! use prebuilt ; then
		rm -f ${D}/usr/NX/lib/lib{crypto,Xcomp,Xcompsh}.so*
		rm -f ${D}/usr/NX/bin/nx{esd,kill,service,ssh}
		# make sure there are no libs left (this is to catch problems when this
		# package is updated)
		rmdir ${D}/usr/NX/lib || die "leftover libraries in ${D}/usr/NX/lib"
	fi

	if use prebuilt  && ! use esd ; then
		rm -f ${D}/usr/NX/bin/nxesd
	fi

	# Make wrappers to /usr/NX/lib, so other programs are not affected.
	mv ${D}/usr/NX/bin/nxclient ${D}/usr/NX/bin/nxclient.bin
	make_wrapper nxclient nxclient.bin /usr/NX/bin /usr/NX/lib /usr/NX/bin

	if use prebuilt ; then
		mv ${D}/usr/NX/bin/nxservice ${D}/usr/NX/bin/nxservice.bin
		make_wrapper nxservice nxservice.bin /usr/NX/bin /usr/NX/lib /usr/NX/bin
		mv ${D}/usr/NX/bin/nxssh ${D}/usr/NX/bin/nxssh.bin
		make_wrapper nxssh nxssh.bin /usr/NX/bin /usr/NX/lib /usr/NX/bin
	fi

	# install environment variables
	if use prebuilt ; then
		cat <<EOF > ${T}/50nxpaths
NXDIR=/usr/NX
PATH=\${NXDIR}/bin
ROOTPATH=\${NXDIR}/bin
CONFIG_PROTECT="\${NXDIR}/etc \${NXDIR}/home"
PRELINK_PATH_MASK=\${NXDIR}
SEARCH_DIRS_MASK=\${NXDIR}
EOF
		doenvd ${T}/50nxpaths
	fi

	# Of the options in the applnk directory, the desktop files in the
	# "network" directory seem to make the most sense.
	declare applnk=/usr/NX/share/applnk apps=/usr/share/applications
	dodir ${apps}
	domenu ${D}${applnk}/network
	rm ${D}${apps}/nxclient-help.desktop
	rm -rf ${D}${applnk}
}