summaryrefslogtreecommitdiff
path: root/net-misc/guacamole-server
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/guacamole-server
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/guacamole-server')
-rw-r--r--net-misc/guacamole-server/Manifest9
-rw-r--r--net-misc/guacamole-server/files/guacamole-server-0.9.9-clipboard-id-update.patch104
-rw-r--r--net-misc/guacamole-server/files/guacamole-server-0.9.9-glyph-order.patch24
-rw-r--r--net-misc/guacamole-server/files/guacd23
-rw-r--r--net-misc/guacamole-server/files/guacd.service11
-rw-r--r--net-misc/guacamole-server/guacamole-server-0.9.9-r1.ebuild70
-rw-r--r--net-misc/guacamole-server/metadata.xml18
7 files changed, 259 insertions, 0 deletions
diff --git a/net-misc/guacamole-server/Manifest b/net-misc/guacamole-server/Manifest
new file mode 100644
index 000000000000..f3368e2e9de1
--- /dev/null
+++ b/net-misc/guacamole-server/Manifest
@@ -0,0 +1,9 @@
+AUX guacamole-server-0.9.9-clipboard-id-update.patch 4393 SHA256 bebcabe9fb7b5e394dfcad12c77b05d6920d2e924afd9cc99dee07576c249403 SHA512 1667f56cd1a19222eff4bbc4af2ecb32d8a95d3cd0bbc9a66f38e91d8b38fb063cfc227d58502fb64da0ebc314f5b238d680793a1f7bb14874c3bb735b158391 WHIRLPOOL c36c2ebfcbca0a6faf17c07770b4ff0db875f91652fbd8d427ebd9986d9e588d838db73005ba425d97fbd57a9918f8c24de0b1331ca6cd4fabd35ddc2be8a48c
+AUX guacamole-server-0.9.9-glyph-order.patch 1369 SHA256 6fd821918cd05d6c3be3667c41b07c8e8e20bb6abe2d6dba15db2855ddc61f29 SHA512 5e86bc03235611920a941573dd080031e4b2c811684cbe98d56d204addd44fda6ae0a900a2296ebf1d4d73462c5cb52b781ee2079981ec8e15c761aeb4b2a308 WHIRLPOOL 3a4ca5ac70398df61d9d025f7e1618846b59be226a90b6c5660c2f84dd7bc02c65d79aaefe9128232dfd95d134ac27fea845a7cbde7a2d89d26f3678ef3e1627
+AUX guacd 551 SHA256 307a4d96ed808d669768a3dc04caa5bc1caa3f3022277d5bb64110b661217044 SHA512 58dd13812256eae0e4e4a76072ec10ccee55696d96d86200809c10cf281d5f451f1a83b7d853a268555d08e283d0f25d186169c3f3ea0e9a8f57e857e89cbfa2 WHIRLPOOL 1abd0e706b2c594b302283090c9d5dd7820e1f16d0672b66d5278448810292c99f274fffabc3e6f17b16bd6240b81046279c8fc0acef8c8c379816cf741b49ee
+AUX guacd.service 178 SHA256 4f0201fd1888bf1b147736691ea15c5081cc04603b983b004449817fb2e9e30e SHA512 a7b36ab99a88c5f37ca37ae57bd59e21c7d5a890ad6d3a19756ab9655da44abed98867114799407d070376a8207a29ceb6097785bbce377826686c4e7601e0e0 WHIRLPOOL 1c8ae0675b2cb8c0227f33a50c5e93d16b7622f7c9afbf554481240b6497f540bf1a96a97bdc0dd31f36d361cca73d306f9f3b237224b758f91cdc2060758444
+DIST guacamole-server-0.9.9.tar.gz 679635 SHA256 b37ac2013f278558094488c15ec4d6ee8f01e60cd2bcb0d976a207eb9d9c4e7d SHA512 bdc004c45e63bb2c692c1dfd280840ea682e461b2c578da511247cd36d727ffa22c3fdde22b3635ef6ac7e35a1b5e63f5971bdbb4d227f88d1b81ff035bd5f83 WHIRLPOOL 42a15cab6d723a9d0fe3376afad96e3283447bb7664c102b3795869fd72dd518281db447bceab18502ceaa38c9a322903a3b85dcff37c38f3bd568ea07f47ecb
+EBUILD guacamole-server-0.9.9-r1.ebuild 1468 SHA256 7a96b52abf1efbd6564ebcb69780e73dde0024e253b48adcf08c48fcca8619f7 SHA512 631c6ba02bb03cdfa786e0e66ce4c38b9bf0bfb62f207fbcf5e7b6ff00a7e3cb21c6bb531f24d40265d782f80fd0405b32d8812b0780c5ee07323233d641c5d9 WHIRLPOOL a0d89da4a75dac35f7b8fc498a88cebf2f701e34812f5822e8ef9020c84c0a8caa60c30871490882f28ac5677cec8a65572010a7d564d7a625a390c196e9f980
+MISC ChangeLog 4335 SHA256 1004275d40f03f03d1b07efe4897f121ca43716c98b6aba99b1a92cdb2f1005f SHA512 b06d71c601d9720d57beb8f6e98bf5636de8fe7703a74c05ba79bcd3a513b79e063d9924a769751404e1fb060fd19eba740c21f0776396e7849a85ad3c9f858b WHIRLPOOL be53f8acfc3abdce384d0ebf1452c121de8ed106627116c79acfaa9d4431a7a481b16474ff4a402cc4d1aba3e97e080504d9d11033c09643864ba6e497ca5eac
+MISC ChangeLog-2015 1612 SHA256 734ad7131993b53cd28816186ffdff7c5e996254c5a88826b3cf11dde40c4999 SHA512 696080d8380957f8d76f82776a132d51889fcd68d933914994e0cfee0ddc9e31436d4fe0f457c7224b3f17121e424246689cedbadd6e5b8a3e85f4f0f1f4b4b5 WHIRLPOOL 8a3908c87bb894daaf9ff9193e44678111593d9358ead4b185644170687c825f1f7c143d8516f75e4060adf86c8e89316753484662e8a44ec4fc914ab8cb8bec
+MISC metadata.xml 601 SHA256 bec20ae42c045f760c0ef8029233a3aa424109943f654bf9bb93f4c10cd9e032 SHA512 e6dbb46879c4224ed91eec7935d6c343aa7c963ca44b45af139d1e433ece6985a3ba8b2c8d6aeac3f55688492f37eff90024137fcce4a377bfd4e186a00b6e1b WHIRLPOOL 4909dc2d72d2c93897a7e87532944738ad0f36a6f8a518bfdb3ac890a0e8d9fc84d5de89b64470a60a04b7fde3694c8ec0a9abf755383f6cae6c7e1223cdc68e
diff --git a/net-misc/guacamole-server/files/guacamole-server-0.9.9-clipboard-id-update.patch b/net-misc/guacamole-server/files/guacamole-server-0.9.9-clipboard-id-update.patch
new file mode 100644
index 000000000000..4191479f34d8
--- /dev/null
+++ b/net-misc/guacamole-server/files/guacamole-server-0.9.9-clipboard-id-update.patch
@@ -0,0 +1,104 @@
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_cliprdr.c.orig 2015-03-17 12:39:58.316549546 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_cliprdr.c 2015-03-17 12:40:57.059229957 +0000
+@@ -104,8 +104,8 @@ void guac_rdp_process_cb_monitor_ready(g
+
+ /* Respond with supported format list */
+ format_list->formats = (UINT32*) malloc(sizeof(UINT32)*2);
+- format_list->formats[0] = CB_FORMAT_TEXT;
+- format_list->formats[1] = CB_FORMAT_UNICODETEXT;
++ format_list->formats[0] = CF_TEXT;
++ format_list->formats[1] = CF_UNICODETEXT;
+ format_list->num_formats = 2;
+
+ freerdp_channels_send_event(channels, (wMessage*) format_list);
+@@ -147,22 +147,22 @@ void guac_rdp_process_cb_format_list(gua
+ for (i=0; i<event->num_formats; i++) {
+
+ /* If plain text available, request it */
+- if (event->formats[i] == CB_FORMAT_TEXT)
++ if (event->formats[i] == CF_TEXT)
+ formats |= GUAC_RDP_CLIPBOARD_FORMAT_CP1252;
+- else if (event->formats[i] == CB_FORMAT_UNICODETEXT)
++ else if (event->formats[i] == CF_UNICODETEXT)
+ formats |= GUAC_RDP_CLIPBOARD_FORMAT_UTF16;
+
+ }
+
+ /* Prefer Unicode to plain text */
+ if (formats & GUAC_RDP_CLIPBOARD_FORMAT_UTF16) {
+- __guac_rdp_cb_request_format(client, CB_FORMAT_UNICODETEXT);
++ __guac_rdp_cb_request_format(client, CF_UNICODETEXT);
+ return;
+ }
+
+ /* Use plain text if Unicode unavailable */
+ if (formats & GUAC_RDP_CLIPBOARD_FORMAT_CP1252) {
+- __guac_rdp_cb_request_format(client, CB_FORMAT_TEXT);
++ __guac_rdp_cb_request_format(client, CF_TEXT);
+ return;
+ }
+
+@@ -186,11 +186,11 @@ void guac_rdp_process_cb_data_request(gu
+ /* Determine output encoding */
+ switch (event->format) {
+
+- case CB_FORMAT_TEXT:
++ case CF_TEXT:
+ writer = GUAC_WRITE_CP1252;
+ break;
+
+- case CB_FORMAT_UNICODETEXT:
++ case CF_UNICODETEXT:
+ writer = GUAC_WRITE_UTF16;
+ break;
+
+@@ -232,12 +232,12 @@ void guac_rdp_process_cb_data_response(g
+ switch (client_data->requested_clipboard_format) {
+
+ /* Non-Unicode */
+- case CB_FORMAT_TEXT:
++ case CF_TEXT:
+ reader = GUAC_READ_CP1252;
+ break;
+
+ /* Unicode (UTF-16) */
+- case CB_FORMAT_UNICODETEXT:
++ case CF_UNICODETEXT:
+ reader = GUAC_READ_UTF16;
+ break;
+
+--- guacamole-server-0.9.5/src/protocols/rdp/client.c.orig 2015-03-17 12:40:07.079651048 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/client.c 2015-03-17 12:40:57.064230015 +0000
+@@ -722,7 +722,7 @@ int guac_client_init(guac_client* client
+ guac_client_data->rdp_inst = rdp_inst;
+ guac_client_data->mouse_button_mask = 0;
+ guac_client_data->clipboard = guac_common_clipboard_alloc(GUAC_RDP_CLIPBOARD_MAX_LENGTH);
+- guac_client_data->requested_clipboard_format = CB_FORMAT_TEXT;
++ guac_client_data->requested_clipboard_format = CF_TEXT;
+ guac_client_data->audio = NULL;
+ guac_client_data->filesystem = NULL;
+ guac_client_data->available_svc = guac_common_list_alloc();
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_stream.c.orig 2015-03-17 12:40:13.952730659 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_stream.c 2015-03-17 12:40:57.066230038 +0000
+@@ -289,8 +289,8 @@ int guac_rdp_clipboard_end_handler(guac_
+
+ /* Notify server that text data is now available */
+ format_list->formats = (UINT32*) malloc(sizeof(UINT32));
+- format_list->formats[0] = CB_FORMAT_TEXT;
+- format_list->formats[1] = CB_FORMAT_UNICODETEXT;
++ format_list->formats[0] = CF_TEXT;
++ format_list->formats[1] = CF_UNICODETEXT;
+ format_list->num_formats = 2;
+
+ freerdp_channels_send_event(channels, (wMessage*) format_list);
+--- guacamole-server-0.9.5/src/protocols/rdp/client.h.orig 2015-03-17 12:40:22.535830076 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/client.h 2015-03-17 12:40:57.067230050 +0000
+@@ -143,7 +143,7 @@ typedef struct rdp_guac_client_data {
+ * The format of the clipboard which was requested. Data received from
+ * the RDP server should conform to this format. This will be one of
+ * several legal clipboard format values defined within FreeRDP, such as
+- * CB_FORMAT_TEXT.
++ * CF_TEXT.
+ */
+ int requested_clipboard_format;
+
diff --git a/net-misc/guacamole-server/files/guacamole-server-0.9.9-glyph-order.patch b/net-misc/guacamole-server/files/guacamole-server-0.9.9-glyph-order.patch
new file mode 100644
index 000000000000..70bba86d9000
--- /dev/null
+++ b/net-misc/guacamole-server/files/guacamole-server-0.9.9-glyph-order.patch
@@ -0,0 +1,24 @@
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.c~ 2015-02-04 05:58:22.000000000 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.c 2015-03-17 14:04:45.549617112 +0000
+@@ -126,7 +126,8 @@ void guac_rdp_glyph_free(rdpContext* con
+ }
+
+ void guac_rdp_glyph_begindraw(rdpContext* context,
+- int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor) {
++ int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor,
++ BOOL fOpRedundant) {
+
+ guac_client* client = ((rdp_freerdp_context*) context)->client;
+ rdp_guac_client_data* guac_client_data =
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.h~ 2015-02-04 05:58:22.000000000 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.h 2015-03-17 14:05:27.929142981 +0000
+@@ -53,7 +53,8 @@ void guac_rdp_glyph_new(rdpContext* cont
+ void guac_rdp_glyph_draw(rdpContext* context, rdpGlyph* glyph, int x, int y);
+ void guac_rdp_glyph_free(rdpContext* context, rdpGlyph* glyph);
+ void guac_rdp_glyph_begindraw(rdpContext* context,
+- int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor);
++ int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor,
++ BOOL fOpRedundant);
+ void guac_rdp_glyph_enddraw(rdpContext* context,
+ int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor);
+
diff --git a/net-misc/guacamole-server/files/guacd b/net-misc/guacamole-server/files/guacd
new file mode 100644
index 000000000000..64aa93fd0678
--- /dev/null
+++ b/net-misc/guacamole-server/files/guacd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DAEMON="/usr/sbin/guacd"
+PIDFILE="/run/guacd/guacd"
+
+depend() {
+ use net
+}
+
+start() {
+ checkpath -q -d -m 0755 -o guacd:guacd /run/guacd/
+ ebegin "Starting guacd"
+ start-stop-daemon --start --user guacd:guacd --exec "${DAEMON}" -- -p "${PIDFILE}"
+ eend $? "Failed to start guacd"
+}
+
+stop() {
+ ebegin "Stopping guacd"
+ start-stop-daemon --stop --pidfile "${PIDFILE}"
+ eend $? "Failed to stop guacd"
+}
diff --git a/net-misc/guacamole-server/files/guacd.service b/net-misc/guacamole-server/files/guacd.service
new file mode 100644
index 000000000000..547dc030259d
--- /dev/null
+++ b/net-misc/guacamole-server/files/guacd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Guacamole proxy daemon
+Documentation=man:guacd(8)
+
+[Service]
+ExecStart=/usr/sbin/guacd -f
+StandardOutput=null
+User=guacd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/guacamole-server/guacamole-server-0.9.9-r1.ebuild b/net-misc/guacamole-server/guacamole-server-0.9.9-r1.ebuild
new file mode 100644
index 000000000000..60d3b04ba27e
--- /dev/null
+++ b/net-misc/guacamole-server/guacamole-server-0.9.9-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit systemd user
+
+DESCRIPTION="This is the proxy-daemon used by www-apps/guacamole"
+
+HOMEPAGE="http://guac-dev.org/"
+SRC_URI="mirror://sourceforge/guacamole/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="multilib pulseaudio rdp ssh ssl telnet vnc vorbis"
+REQUIRED_USE="multilib? ( ssl )"
+
+RDEPEND="
+ x11-libs/cairo
+ media-libs/libpng:0=
+ virtual/jpeg:0
+ dev-libs/ossp-uuid
+ rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20150312:= )
+ ssh? (
+ x11-libs/pango
+ net-libs/libssh2 )
+ telnet? (
+ net-libs/libtelnet
+ x11-libs/pango )
+ vnc? (
+ net-libs/libvncserver[threads]
+ pulseaudio? ( media-sound/pulseaudio ) )
+ ssl? ( dev-libs/openssl:0= )
+ vorbis? ( media-libs/libvorbis )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # From Fedora for compat with newer freerdp
+ "${FILESDIR}"/${P}-glyph-order.patch
+ "${FILESDIR}"/${P}-clipboard-id-update.patch
+)
+
+src_configure() {
+ local myconf="--without-terminal --without-pango"
+
+ if use ssh || use telnet; then
+ myconf="--with-terminal --with-pango"
+ fi
+
+ econf ${myconf} \
+ $(use_with ssh) \
+ $(use_with rdp) \
+ $(use_with vnc) \
+ $(use_with pulseaudio pulse) \
+ $(use_with vorbis) \
+ $(use_with telnet) \
+ $(use_with ssl)
+}
+
+src_install() {
+ default
+ doinitd "${FILESDIR}/guacd"
+ systemd_dounit "${FILESDIR}/guacd.service"
+}
+
+pkg_postinst() {
+ enewgroup guacd
+ enewuser guacd -1 -1 -1 guacd
+}
diff --git a/net-misc/guacamole-server/metadata.xml b/net-misc/guacamole-server/metadata.xml
new file mode 100644
index 000000000000..4d42c6188d3d
--- /dev/null
+++ b/net-misc/guacamole-server/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nativemad@gentoo.org</email>
+ <name>Andreas Schuerch</name>
+ </maintainer>
+ <longdescription>
+ This is the proxy-daemon for vnc, ssh and rdp connections used by www-apps/guacamole.
+ </longdescription>
+ <use>
+ <flag name="ssh">enable support for ssh connections</flag>
+ <flag name="telnet">enable support for telnet connections</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">guacamole</remote-id>
+ </upstream>
+</pkgmetadata>