New port: net/guacamole-server

The guacamole-server package is a set of software which forms the
basis of the Guacamole stack. It consists of guacd, libguac, and
several protocol support libraries.

guacd is the Guacamole proxy daemon used by the Guacamole web
application and framework. As JavaScript cannot handle binary
protocols (like VNC and remote desktop) efficiently, a new test-based
protocol was developed which would contain a common superset of the
operations needed for efficient remote desktop access, but would
be easy for JavaScript programs to process. guacd is the proxy which
translates between arbitrary protocols and the Guacamole protocol.

WWW: https://github.com/glyptodon/guacamole-server

PR:		202754
Submitted by:	Ultima1252@gmail.com
This commit is contained in:
Kurt Jaeger 2016-02-06 16:11:34 +00:00
parent 8d767d9eba
commit 02ff4e5f53
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=408301
8 changed files with 196 additions and 0 deletions

1
GIDs
View File

@ -242,6 +242,7 @@ dahdi:*:843:asterisk
subsonic:*:844:
sogod:*:846:
domoticz:*:847:
guacamole:*:899:
fossy:*:901:www
scanlogd:*:902:
_ocserv:*:903:

1
UIDs
View File

@ -253,6 +253,7 @@ munin:*:842:842::0:0:Munin:/var/munin:/usr/sbin/nologin
subsonic:*:844:844::0:0:Subsonic standalone-server:/nonexistent:/usr/sbin/nologin
sogod:*:846:846::0:0:SOGo groupware:/nonexistent:/usr/sbin/nologin
domoticz:*:847:847::0:0:domoticz user:/nonexistent:/usr/sbin/nologin
guacamole:*:899:899::0:0:Guacamole user:/nonexistent:/usr/sbin/nologin
fossy:*:901:901::0:0:FOSSology user:/usr/local/share/fossology:/usr/local/bin/bash
scanlogd:*:902:902::0:0:scanlogd user:/nonexistent:/usr/sbin/nologin
_ocserv:*:903:903::0:0:ocserv user:/nonexistent:/usr/sbin/nologin

View File

@ -189,6 +189,7 @@
SUBDIR += gtic
SUBDIR += gtk-vnc
SUBDIR += gtknetcat
SUBDIR += guacamole-server
SUBDIR += gupnp
SUBDIR += gupnp-av
SUBDIR += gupnp-dlna

View File

@ -0,0 +1,76 @@
# Created by: Ultima <ultima1252@gmail.com>
# $FreeBSD$
PORTNAME= guacamole-server
PORTVERSION= 0.9.9
CATEGORIES= net
MAINTAINER= ultima1252@gmail.com
COMMENT= HTML5 Clientless Remote Desktop
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libuuid.so:${PORTSDIR}/misc/ossp-uuid \
libpng.so:${PORTSDIR}/graphics/png \
libcairo.so:${PORTSDIR}/graphics/cairo \
libjpeg.so:${PORTSDIR}/graphics/jpeg-turbo
CONFLICTS_BUILD= e2fsprogs-libuuid-* pulseaudio-*+jack_* \
ffmpeg-*+jack_*
USE_GITHUB= yes
GH_ACCOUNT= glyptodon
GH_TAGNAME= ${PORTVERSION}
USES= autoreconf libtool localbase pkgconfig shebangfix
SHEBANG_FILES= ${WRKSRC}/src/protocols/rdp/keymaps/generate.pl
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-guacd-conf=${PREFIX}/etc/guacd/guacd.conf
USE_LDCONFIG= yes
MAKE_JOBS_UNSAFE= yes
USERS= guacamole
GROUPS= guacamole
USE_RC_SUBR= guacd
SUB_LIST+= GUACD_USER=${USERS} \
GUACD_GROUP=${GROUPS}
OPTIONS_DEFINE= RDP SSH VNC VORBIS PULSEAUDIO
OPTIONS_DEFAULT= SSH
OPTIONS_SUB= yes
PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
PULSEAUDIO_DESC?= VNC audio support (Experimental)
RDP_LIB_DEPENDS= libfreerdp.so:${PORTSDIR}/net/freerdp
RDP_DESC?= RDP Protocal Support
SSH_LIB_DEPENDS= libpango-1.0.so:${PORTSDIR}/x11-toolkits/pango \
libssh2.so:${PORTSDIR}/security/libssh2
SSH_DESC?= SSH Support
VNC_LIB_DEPENDS= libvncserver.so:${PORTSDIR}/net/libvncserver
VNC_DESC?= VNC Protocol Support
VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
VORBIS_DESC?= Ogg Vorbis for compression
.include <bsd.port.pre.mk>
post-patch:
@${REINPLACE_CMD} 's|/etc/ssl|${PREFIX}/etc/ssl|g ; \
s|/etc/guacamole|${PREFIX}/etc/guacd|g' \
${WRKSRC}/src/guacd/man/guacd.conf.5
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libguac.so.*
.if ${PORT_OPTIONS:MSSH}
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libguac-client-ssh.so.*
.endif
.if ${PORT_OPTIONS:MRDP}
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/freerdp/guacsnd-client.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/freerdp/guacdr-client.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/freerdp/guacsvc-client.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libguac-client-rdp.so.*
.endif
.if ${PORT_OPTIONS:MVNC}
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libguac-client-vnc.so.*
.endif
.include <bsd.port.post.mk>

View File

@ -0,0 +1,2 @@
SHA256 (glyptodon-guacamole-server-0.9.9_GH0.tar.gz) = 53d26e2e7e028b0d9fbc502b94acd02e2d04e3a491c8be4a3e16290c2ec58321
SIZE (glyptodon-guacamole-server-0.9.9_GH0.tar.gz) = 265031

View File

@ -0,0 +1,47 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: guacd
# REQUIRE: LOGIN
#
# Add these lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# guacd_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable guacd.
# guacd_user (str): User to run guacd as
# Default to "%%GUACD_USER%%" created by the port
# guacd_group (str): Group to run guacd as
# Default to "%%GUACD_GROUP%%" created by the port
# guacd_pidfile (str): Set to "" by default will use the path
. /etc/rc.subr
name=guacd
rcvar=${name}_enable
load_rc_config ${name}
: ${guacd_enable:="NO"}
: ${guacd_user:="%%GUACD_USER%%"}
: ${guacd_group:="%%GUACD_GROUP%%"}
: ${guacd_pidfile:="/var/run/${name}/${name}.pid"}
command=%%PREFIX%%/sbin/guacd
pidfile=${guacd_pidfile}
command_args="-p ${pidfile}"
start_precmd="guacd_prestart"
guacd_prestart() {
if [ -f ${pidfile} ]; then
rm -f ${pidfile}
echo "Removing stale pidfile."
elif [ ! -d ${pidfile%/*} ]; then
install -d -o ${guacd_user} -g ${guacd_group} ${pidfile%/*}
fi
}
run_rc_command "$1"

View File

@ -0,0 +1,13 @@
The guacamole-server package is a set of software which forms the
basis of the Guacamole stack. It consists of guacd, libguac, and
several protocol support libraries.
guacd is the Guacamole proxy daemon used by the Guacamole web
application and framework. As JavaScript cannot handle binary
protocols (like VNC and remote desktop) efficiently, a new test-based
protocol was developed which would contain a common superset of the
operations needed for efficient remote desktop access, but would
be easy for JavaScript programs to process. guacd is the proxy which
translates between arbitrary protocols and the Guacamole protocol.
WWW: https://github.com/glyptodon/guacamole-server

View File

@ -0,0 +1,55 @@
include/guacamole/audio-fntypes.h
include/guacamole/audio-types.h
include/guacamole/audio.h
include/guacamole/client-constants.h
include/guacamole/client-fntypes.h
include/guacamole/client-types.h
include/guacamole/client.h
include/guacamole/error-types.h
include/guacamole/error.h
include/guacamole/hash.h
include/guacamole/instruction-constants.h
include/guacamole/instruction-types.h
include/guacamole/instruction.h
include/guacamole/layer-types.h
include/guacamole/layer.h
include/guacamole/object-types.h
include/guacamole/object.h
include/guacamole/plugin-constants.h
include/guacamole/plugin-types.h
include/guacamole/plugin.h
include/guacamole/pool-types.h
include/guacamole/pool.h
include/guacamole/protocol-types.h
include/guacamole/protocol.h
include/guacamole/socket-constants.h
include/guacamole/socket-fntypes.h
include/guacamole/socket-types.h
include/guacamole/socket.h
include/guacamole/stream-types.h
include/guacamole/stream.h
include/guacamole/timestamp-types.h
include/guacamole/timestamp.h
include/guacamole/unicode.h
%%RDP%%lib/freerdp/guacdr-client.so
%%RDP%%lib/freerdp/guacsnd-client.so
%%RDP%%lib/freerdp/guacsvc-client.so
%%RDP%%lib/libguac-client-rdp.a
%%RDP%%lib/libguac-client-rdp.so
%%RDP%%lib/libguac-client-rdp.so.0
%%RDP%%lib/libguac-client-rdp.so.0.0.0
%%SSH%%lib/libguac-client-ssh.a
%%SSH%%lib/libguac-client-ssh.so
%%SSH%%lib/libguac-client-ssh.so.0
%%SSH%%lib/libguac-client-ssh.so.0.0.0
%%VNC%%lib/libguac-client-vnc.a
%%VNC%%lib/libguac-client-vnc.so
%%VNC%%lib/libguac-client-vnc.so.0
%%VNC%%lib/libguac-client-vnc.so.0.0.0
lib/libguac.a
lib/libguac.so
lib/libguac.so.11
lib/libguac.so.11.0.0
man/man5/guacd.conf.5.gz
man/man8/guacd.8.gz
sbin/guacd