SUMMARY="Use your Haiku computer from anywhere with an internet connection"
DESCRIPTION="A VNC client (available elsewhere for Windows, Mac, Linux, \
others) shows you what's on the remote Haiku computer's screen and sends \
keystrokes and mouse actions over the Internet. The VNCServer software \
running on Haiku uses that client data to simulate button presses on a fake \
keyboard and movements of an imaginary mouse.  n the opposite direction, \
VNCServer scans your screen for changes, compresses the resulting graphics \
data and transmits it to the client.

This is a port of VNC using RealVNC's version 4.0 final source code (which \
has an extremely well designed class structure, making it easy to do this \
port). There are lots of VNC clients out there, but I can recommend the \
RealVNC ones as working very well under Windows.  You can get their clients, \
servers and source code at http://www.realvnc.com/"
HOMEPAGE="http://web.ncf.ca/au829/resume.html#VNCServer"
COPYRIGHT="2004-2019 by Alexander G. M. Smith
	1988,1989,1990,1991,1992 Richard Outerbridge (Public domain DES software)
	1987, 1988, 1998 The Open Group and
	1987, 1988 Digital Equipment Corporation (Software from the X Window \
System)
	1995-2002 Jean-loup Gailly and Mark Adler (Zlib compression software)
	1996 Widget Workshop, Inc, by Dave Zimmerman, Jef Poskanzer (Java DES \
software)"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="http://web.ncf.ca/au829/BeOS/VNCServer-4.0-BeOS-AGMS-$portVersion.zip"
CHECKSUM_SHA256="9e883a2da595803342815c15a70546b7b694cd415bb9cd4be81a5c96e457d06c"
SOURCE_DIR="VNCServer-4.0-BeOS-AGMS-$portVersion/Source Code"

ARCHITECTURES="all ?x86"

PROVIDES="
	vncserver = $portVersion
	add_on:InputEventInjector = 1.4 compatible >= 1.0
	cmd:vncpasswd = $portVersion
	cmd:vncserver = $portVersion
	"
REQUIRES="
	haiku
	lib:libz
	"

BUILD_REQUIRES="
	haiku_devel
	devel:libz
	"
BUILD_PREREQUIRES="
	cmd:gcc
	cmd:jam
	cmd:ld
	"

BUILD()
{
	STDCPPLIBS=stdc++
	if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
		STDCPPLIBS=stdc++.r4
	fi

	rm _INPUTSERVER_
	ln -s /system/servers/input_server _INPUTSERVER_
	mkdir -p obj.X86
	jam -fJambase -fJamfile-vncserver -sSTDCPPLIBS=$STDCPPLIBS
	jam -fJambase -fJamfile-vncpasswd -sSTDCPPLIBS=$STDCPPLIBS
	jam -fJambase -fJamfile-InputEventInjector
}

INSTALL()
{
	mkdir -p $binDir $addOnsDir/input_server/devices
	cp obj.X86/vncpasswd $binDir
	cp obj.X86/vncserver $binDir
	cp obj.X86/InputEventInjector $addOnsDir/input_server/devices
}
