diff --git a/net-misc/pulseaudio-module-xrdp/Manifest b/net-misc/pulseaudio-module-xrdp/Manifest new file mode 100644 index 0000000..b0662b0 --- /dev/null +++ b/net-misc/pulseaudio-module-xrdp/Manifest @@ -0,0 +1,3 @@ +DIST pulseaudio-12.2.tar.xz 1665092 BLAKE2B 2e36efc5142c1e379cc2b135f4126f03a31831b26efe60f7cdf128af6e23fab25706a5609644d0b387530021055f87525fe60d527cd3a087f51bfd58e810644f SHA512 877754c1838b3cb042dbc18a5f1cc3cf313ffcaee7a64703330406d1f86279c34f1107634ac3083b158365e6757fbacf5ec406bc3c5788d291de67b77a561a4e +DIST pulseaudio-module-xrdp-0.4.tar.gz 11458 BLAKE2B 71eeca547fc0c4d250113679bd6bd71f9448c2d65c4a3c94580e4886adb20895dcfef6580576e7245e52f269e7fab7095f4fca1e52dfb0b84e27bdaf13ca1ab4 SHA512 0714a38ef3920d29e9c665ac73d04f0368da90514bab473f0d87ebbf8561f10e7bbc845022cb1a30301230cf9d04c5ab68eb1dc6bb8cf54ce0b1063a578fe4d8 +EBUILD pulseaudio-module-xrdp-0.4.ebuild 781 BLAKE2B f991f2cc0070617428886a954b5d8a979d0fafd3445a9f3239e561c952cf808ef04c81daa3e956f0a95f38bc9b8a6c64da577cb91cf0aecfa5315f1448ae34be SHA512 274d8dd54fa5e5da2f7101f9ee03cff851e5ecf7ebf1151799e8baeb7f10c399497cd68eec323f893e1e7cff97ca62999629afa0cad2da84119d96814115a555 diff --git a/net-misc/pulseaudio-module-xrdp/pulseaudio-module-xrdp-0.4.ebuild b/net-misc/pulseaudio-module-xrdp/pulseaudio-module-xrdp-0.4.ebuild new file mode 100644 index 0000000..d2bbaee --- /dev/null +++ b/net-misc/pulseaudio-module-xrdp/pulseaudio-module-xrdp-0.4.ebuild @@ -0,0 +1,42 @@ +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils systemd + +DESCRIPTION="xrdp sink / source pulseaudio modules" +HOMEPAGE="http://www.xrdp.org/" + +PULSE_VER="12.2" +SRC_URI=" + https://github.com/neutrinolabs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PULSE_VER}.tar.xz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror" + +RDEPEND=" + net-misc/xrdp:0= + >=media-sound/pulseaudio-${PULSE_VER} +" + +src_prepare() { + ./bootstrap + cd ../pulseaudio-${PULSE_VER} || die + ./configure +} + +src_configure() { + econf PULSE_DIR=${WORKDIR}/pulseaudio-${PULSE_VER} +} + +src_install() { + default + prune_libtool_files --all +} + diff --git a/net-misc/xorgxrdp/Manifest b/net-misc/xorgxrdp/Manifest new file mode 100644 index 0000000..f1c3aff --- /dev/null +++ b/net-misc/xorgxrdp/Manifest @@ -0,0 +1,4 @@ +DIST xorgxrdp-0.2.0.tar.gz 423366 BLAKE2B 0dc30ba71b15ed37352219f1fad54c6c5e0c7868e4de9232b074fab5454a8ddcadb94391002886f9655685ac1ab3d25e9c9cae579f77a27ad6dd20910fa94bb5 SHA512 763b8f17b978547211e7109376363cf20aa0218157e04e1406c7851ed94d132b930936ad213eb38cba1767cc8d246c3ae1cb428309af1189433629f9f696aea5 +DIST xorgxrdp-0.2.11.tar.gz 475660 BLAKE2B 0c1f1753fe25a8e33c59e8179246944ede045bb0cf05b574d556655d1e7aefbd999f83ce19603792b783cd20fc781fe5e8f02c26523a1d91eed36ddda4f9923e SHA512 be63f206b8af062d131126c8137fc7cdb41f965ce4ee5ed83df2baf6881d6e095aad6766899eda8669dfc2c301a84bbc540f85c34ffdf8553a63a5cde96be898 +EBUILD xorgxrdp-0.2.0.ebuild 522 BLAKE2B 0864d423c94f540ff6e226ed19c9e0650082945488fcff9aba67d7c6ad87ee9f3b7b4f81426cb80d3766de7947f9fbcb9ca9111b92a3005f8b6c2d184d2b05ed SHA512 cc2c8d05fde6cf79c00d54d42404c3b4cce989f89606fd17d1e833d259c7a4377a9b0e84686dcc3d5cf76a5d679271530af5c35a301b8db30e1b8c7df822c223 +EBUILD xorgxrdp-0.2.11.ebuild 522 BLAKE2B 0864d423c94f540ff6e226ed19c9e0650082945488fcff9aba67d7c6ad87ee9f3b7b4f81426cb80d3766de7947f9fbcb9ca9111b92a3005f8b6c2d184d2b05ed SHA512 cc2c8d05fde6cf79c00d54d42404c3b4cce989f89606fd17d1e833d259c7a4377a9b0e84686dcc3d5cf76a5d679271530af5c35a301b8db30e1b8c7df822c223 diff --git a/net-misc/xorgxrdp/xorgxrdp-0.2.0.ebuild b/net-misc/xorgxrdp/xorgxrdp-0.2.0.ebuild new file mode 100644 index 0000000..8def50e --- /dev/null +++ b/net-misc/xorgxrdp/xorgxrdp-0.2.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils systemd + +DESCRIPTION="Xorg drivers for xrdp" +HOMEPAGE="http://www.xrdp.org/" +SRC_URI="https://github.com/neutrinolabs/xorgxrdp/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror" + +RDEPEND="net-misc/xrdp:0= + x11-libs/libX11:0=" +DEPEND="${RDEPEND} + dev-lang/nasm:0=" + +src_install() { + default + prune_libtool_files --all +} + diff --git a/net-misc/xorgxrdp/xorgxrdp-0.2.11.ebuild b/net-misc/xorgxrdp/xorgxrdp-0.2.11.ebuild new file mode 100644 index 0000000..8def50e --- /dev/null +++ b/net-misc/xorgxrdp/xorgxrdp-0.2.11.ebuild @@ -0,0 +1,27 @@ +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils systemd + +DESCRIPTION="Xorg drivers for xrdp" +HOMEPAGE="http://www.xrdp.org/" +SRC_URI="https://github.com/neutrinolabs/xorgxrdp/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror" + +RDEPEND="net-misc/xrdp:0= + x11-libs/libX11:0=" +DEPEND="${RDEPEND} + dev-lang/nasm:0=" + +src_install() { + default + prune_libtool_files --all +} + diff --git a/net-misc/xrdp/Manifest b/net-misc/xrdp/Manifest new file mode 100644 index 0000000..356d4bc --- /dev/null +++ b/net-misc/xrdp/Manifest @@ -0,0 +1,5 @@ +AUX startwm.sh 237 BLAKE2B 82cef892b98dac80c9988e9eadbb9ce7db8717691d6edcae3b9405cfbebba9b5f84f76e43a7768932a18d623d557379846d42b5d631043fb72c28afc3414671f SHA512 387196b05c7128d5a651474f14f792f67b505681a65ec7fb5f1887c9635f71a20b8148812da7a8d767982d4ec72fb704b0e252fbca315e7606d8cf33a3cad826 +AUX xrdp-initd 732 BLAKE2B 926c791e8635f14f0207dc17bfe4a606afe26586288ced4fbb30c1d7ee8f26272bb41fc7978df6272bf8bd36d86f802cc5c531e7915ad92a2b452cd5df6024a3 SHA512 5113b71faeeda347b2a405d687dc8e48c03bd6964f70d7d19a1f920978e4ae95883e88366137899b4166e86ea79c7eeb007f42588e01fd9e160ca64bf48168da +AUX xrdp-sesman.pamd 156 BLAKE2B 086717ef12ccc56e2eb547ff65db3bad6a53af0ae630a1e1b4c9fcca19e37f13ed787e5bd672d1028899c1a48855bed0cc6bbac0e0beef079eda2c2730598cfc SHA512 37e5b4557be51dfc25b041a553d0464854586d7a10f16740d335be16c9b677f38a08495ef05a01259c3f8d401eb44542bd939dd23d1afa8bac4d9d9e144cb1a4 +DIST xrdp-0.9.11.tar.gz 1864740 BLAKE2B 5bf072ebdcea25c0c968d6350a7927dd9c95816b38f228bc1ef66b3ad6ae29902397809a9e3edd62305e3545b57478eddc0df3a872c63108c8ea1c5da7fa65ad SHA512 a025b504b8cc2c702514e200669a9d3952ccf22655036c088375d19b48581691d509d451050a5b72304134e1755c446d9a86a246ce760f9e797dc23d34158c45 +EBUILD xrdp-0.9.11.ebuild 4461 BLAKE2B 952841bf988ec3e6c49244fbac8e71d96364c0e6ddea6c7a70973be8597a4f203d0bb783a292cb9884c33305201ff1232d59f01b0301c09240a0085f869f951f SHA512 e6ac4fa12d7380df2e02f80d2d6c84aaca51521ea665fd700645f6feb202bbe654db0b64b1f0c2ad2ad58ef2e2961c906261c5c82b1d939830a6621a107a49d3 diff --git a/net-misc/xrdp/files/startwm.sh b/net-misc/xrdp/files/startwm.sh new file mode 100644 index 0000000..751c26a --- /dev/null +++ b/net-misc/xrdp/files/startwm.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# try hard to respect Gentoo's wm choice +. /etc/profile +[ -f /etc/rc.conf ] && . /etc/rc.conf +export XSESSION + +USERINITRC="$HOME/.xinitrc" +if [ -f "$USERINITRC" ]; then + . "$USERINITRC" +else + . /etc/X11/xinit/xinitrc +fi diff --git a/net-misc/xrdp/files/xrdp-initd b/net-misc/xrdp/files/xrdp-initd new file mode 100644 index 0000000..8f943e1 --- /dev/null +++ b/net-misc/xrdp/files/xrdp-initd @@ -0,0 +1,28 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + use net logger +} + +start() { + ebegin "Starting X remote desktop daemon" + start-stop-daemon --start --pidfile /var/run/xrdp.pid --exec /usr/sbin/xrdp > /dev/null + eend $? || return $? + + ebegin "Starting remote desktop session manager" + start-stop-daemon --start --pidfile /var/run/xrdp-sesman.pid --exec /usr/sbin/xrdp-sesman > /dev/null + eend $? +} + +stop() { + ebegin "Stopping X remote desktop daemon" + start-stop-daemon --stop --pidfile /var/run/xrdp.pid + eend $? + + ebegin "Stopping remote desktop session manager" + start-stop-daemon --stop --pidfile /var/run/xrdp-sesman.pid + eend $? +} diff --git a/net-misc/xrdp/files/xrdp-sesman.pamd b/net-misc/xrdp/files/xrdp-sesman.pamd new file mode 100644 index 0000000..4712aa8 --- /dev/null +++ b/net-misc/xrdp/files/xrdp-sesman.pamd @@ -0,0 +1,4 @@ +auth include system-remote-login +account include system-remote-login +password include system-remote-login +session include system-remote-login diff --git a/net-misc/xrdp/xrdp-0.9.11.ebuild b/net-misc/xrdp/xrdp-0.9.11.ebuild new file mode 100644 index 0000000..2936f7d --- /dev/null +++ b/net-misc/xrdp/xrdp-0.9.11.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils pam systemd + +DESCRIPTION="An open source Remote Desktop Protocol server" +HOMEPAGE="http://www.xrdp.org/" +SRC_URI="https://github.com/neutrinolabs/xrdp/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror" +IUSE="debug fuse kerberos jpeg -neutrinordp pam +pulseaudio systemd -xrdpvr" + +RDEPEND="dev-libs/openssl:0= + pulseaudio? ( media-sound/pulseaudio:0= ) + x11-libs/libX11:0= + x11-libs/libXfixes:0= + x11-libs/libXrandr:0= + fuse? ( sys-fs/fuse:0= ) + jpeg? ( virtual/jpeg:0= ) + kerberos? ( virtual/krb5:0= ) + pam? ( sys-libs/pam:0= ) + neutrinordp? ( net-misc/freerdp:0= ) + xrdpvr? ( virtual/ffmpeg:0= )" +DEPEND="${RDEPEND} + app-arch/xz-utils + dev-lang/nasm" + +# RDEPEND="${RDEPEND} +# || ( +# net-misc/tigervnc:0[server,xorgmodule] +# net-misc/x11rdp:0 +# )" + +src_prepare() { + # don't let USE=debug adjust CFLAGS + sed -i -e 's/-g -O0//' configure.ac || die + # disallow root login by default + sed -i -e '/^AllowRootLogin/s/true/false/' sesman/sesman.ini || die + # explicitly use Xorg - and not a fallback to Xorg.wrap, to allow non-console users. EDIT: The wrapper is /usr/bin/X , the other one is /usr/bin/Xorg + sed -i -e '/^param=/s!Xorg!/usr/bin/Xorg!' sesman/sesman.ini || die + + eautoreconf +} + +src_configure() { + use kerberos && use pam \ + && ewarn "Both kerberos & pam auth enabled, kerberos will take precedence." + + local myconf=( + # warning: configure.ac is completed flawed + + --localstatedir="${EPREFIX}"/var + + # -- authentication backends -- + # kerberos is inside !SESMAN_NOPAM conditional for no reason + $(use pam || use kerberos || echo --enable-nopam) + $(usex kerberos --enable-kerberos '') + # pam_userpass is not in Gentoo at the moment + #--disable-pamuserpass + + # -- jpeg support -- + $(usex jpeg --enable-jpeg '') + # the package supports explicit linking against libjpeg-turbo + # (no need for -ljpeg compat) + $(use jpeg && has_version 'media-libs/libjpeg-turbo:0' && echo --enable-tjpeg) + + # -- others -- + $(usex debug --enable-xrdpdebug '') + $(usex fuse --enable-fuse '') + # $(usex neutrinordp --enable-neutrinordp '') + # $(usex xrdpvr --enable-xrdpvr '') + + "$(systemd_with_unitdir)" + ) + + econf "${myconf[@]}" +} + +src_install() { + default + prune_libtool_files --all + + # use our pam.d file since upstream's incompatible with Gentoo + use pam && newpamd "${FILESDIR}"/xrdp-sesman.pamd xrdp-sesman + # and our startwm.sh + exeinto /etc/xrdp + doexe "${FILESDIR}"/startwm.sh + + # own /etc/xrdp/rsakeys.ini + : > rsakeys.ini + insinto /etc/xrdp + doins rsakeys.ini + + # contributed by Jan Psota + newinitd "${FILESDIR}/${PN}-initd" ${PN} +} + +pkg_preinst() { + # either copy existing keys over to avoid CONFIG_PROTECT whining + # or generate new keys (but don't include them in binpkg!) + if [[ -f ${EROOT}/etc/xrdp/rsakeys.ini ]]; then + cp {"${EROOT}","${ED}"}/etc/xrdp/rsakeys.ini || die + else + einfo "Running xrdp-keygen to generate new rsakeys.ini ..." + "${S}"/keygen/xrdp-keygen xrdp "${ED}"/etc/xrdp/rsakeys.ini \ + || die "xrdp-keygen failed to generate RSA keys" + fi +} + +pkg_postinst() { + # check for use of bundled rsakeys.ini (installed by default upstream) + if [[ $(cksum "${EROOT}"/etc/xrdp/rsakeys.ini) == '2935297193 1019 '* ]] + then + ewarn "You seem to be using upstream bundled rsakeys.ini. This means that" + ewarn "your communications are encrypted using a well-known key. Please" + ewarn "consider regenerating rsakeys.ini using the following command:" + ewarn + ewarn " ${EROOT}/usr/bin/xrdp-keygen xrdp ${EROOT}/etc/xrdp/rsakeys.ini" + ewarn + fi + + einfo "If you can connect to the xrdp server but your WM is crashing (KDE for example)" + einfo "You might want to disable hardware acceleration for xrdp" + einfo "A way to do it would be to put in /etc/xrdp/sesman.ini," + einfo "right after param=/usr/bin/Xorg (or param=Xorg) the following lines :" + einfo " param=-extension" + einfo " param=glx" + einfo " param=-extension" + einfo " param=dri2" + einfo " param=-extension" + einfo " param=dri3" + + + elog "Various session types require different backend implementations:" + elog "- sesman-Xvnc requires net-misc/tigervnc[server,xorgmodule]" + elog "- sesman-X11rdp requires net-misc/xorgxrdp" +}