commit:     290bb3e92f5be41c5693ce86a9d04d05046c62ba
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 08:50:55 2019 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 08:50:55 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=290bb3e9

net-misc/rdesktop: use standard GSSAPI

Backport upstream master patch to switch away from using abandoned
project libgssglue

Bug: https://bugs.gentoo.org/646126
Package-Manager: Portage-2.3.63, Repoman-2.3.12
Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org>

 .../files/rdesktop-1.8.4-use_standard_gssapi.patch | 82 ++++++++++++++++++++++
 net-misc/rdesktop/rdesktop-1.8.4-r2.ebuild         | 71 +++++++++++++++++++
 2 files changed, 153 insertions(+)

diff --git a/net-misc/rdesktop/files/rdesktop-1.8.4-use_standard_gssapi.patch 
b/net-misc/rdesktop/files/rdesktop-1.8.4-use_standard_gssapi.patch
new file mode 100644
index 00000000000..5befcf02e55
--- /dev/null
+++ b/net-misc/rdesktop/files/rdesktop-1.8.4-use_standard_gssapi.patch
@@ -0,0 +1,82 @@
+From 71f1cfb909c0a955632001cf9fad80a321a43372 Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <oss...@cendio.se>
+Date: Mon, 10 Jul 2017 15:12:26 +0200
+Subject: [PATCH 1/2] Fix pointer types for gss_wrap()/gss_unrap()
+
+We were using the incorrect type for the context for these two calls.
+No practical effects, but some noise from the compiler about the wrong
+pointer type.
+---
+ cssp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cssp.c b/cssp.c
+index 9f4c0829..6ac37746 100644
+--- a/cssp.c
++++ b/cssp.c
+@@ -173,7 +173,7 @@ cssp_gss_get_service_name(char *server, gss_name_t * name)
+ }
+ 
+ static RD_BOOL
+-cssp_gss_wrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
++cssp_gss_wrap(gss_ctx_id_t ctx, STREAM in, STREAM out)
+ {
+       int conf_state;
+       OM_uint32 major_status;
+@@ -212,7 +212,7 @@ cssp_gss_wrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
+ }
+ 
+ static RD_BOOL
+-cssp_gss_unwrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
++cssp_gss_unwrap(gss_ctx_id_t ctx, STREAM in, STREAM out)
+ {
+       OM_uint32 major_status;
+       OM_uint32 minor_status;
+
+From b556651fe109c8802a0c798b8a680e5ff883bf4e Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <oss...@cendio.se>
+Date: Mon, 10 Jul 2017 15:14:01 +0200
+Subject: [PATCH 2/2] Use standard GSSAPI rather than libgssglue
+
+That project is abandoned and the distributions aren't including
+it anymore.
+---
+ configure.ac | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e045c409..a969ad5d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -122,27 +122,20 @@ fi
+ 
+ dnl CredSSP feature
+ AC_ARG_ENABLE([credssp], AS_HELP_STRING([--disable-credssp], [disable support 
for CredSSP]))
+-AC_ARG_ENABLE([static-gssglue], AS_HELP_STRING([--enable-static-gssglue]), 
+-            [static_gssglue=yes], [static_gssglue=no])
+ AS_IF([test "x$enable_credssp" != "xno"], [
+         if test -n "$PKG_CONFIG"; then
+-          PKG_CHECK_MODULES(GSSGLUE, libgssglue, [WITH_CREDSSP=1], 
[WITH_CREDSSP=0])
++          PKG_CHECK_MODULES(GSSAPI, krb5-gssapi, [WITH_CREDSSP=1], 
[WITH_CREDSSP=0])
+         fi
+ 
+         if test x"$WITH_CREDSSP" = "x1"; then
+             CREDSSPOBJ="cssp.o"
+-            CFLAGS="$CFLAGS $GSSGLUE_CFLAGS"
+-
+-            AS_IF([test "x$static_gssglue" != "xno"], [
+-                LIBS="$LIBS -Wl,-Bstatic -lgssglue -Wl,-Bdynamic"
+-            ], [
+-                LIBS="$LIBS -lgssglue"
+-            ])
++            CFLAGS="$CFLAGS $GSSAPI_CFLAGS"
++            LIBS="$LIBS $GSSAPI_LIBS"
+ 
+             AC_DEFINE(WITH_CREDSSP)
+         else
+               echo
+-              echo "CredSSP support requires libgssglue, install the 
dependency"
++              echo "CredSSP support requires GSSAPI, install the dependency"
+               echo "or disable the feature using --disable-credssp."
+               echo
+               exit 1

diff --git a/net-misc/rdesktop/rdesktop-1.8.4-r2.ebuild 
b/net-misc/rdesktop/rdesktop-1.8.4-r2.ebuild
new file mode 100644
index 00000000000..ea7ed235070
--- /dev/null
+++ b/net-misc/rdesktop/rdesktop-1.8.4-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils
+
+MY_PV=${PV/_/-}
+
+DESCRIPTION="A Remote Desktop Protocol Client"
+HOMEPAGE="http://www.rdesktop.org/";
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz";
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 
~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="alsa ao debug ipv6 kerberos libressl libsamplerate oss pcsc-lite xrandr"
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+RDEPEND="
+       !libressl? ( dev-libs/openssl:0= )
+       libressl? ( dev-libs/libressl:= )
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXau
+       x11-libs/libXdmcp
+       alsa? ( media-libs/alsa-lib )
+       ao? ( >=media-libs/libao-0.8.6 )
+       kerberos? ( virtual/krb5 )
+       libsamplerate? ( media-libs/libsamplerate )
+       pcsc-lite? ( >=sys-apps/pcsc-lite-1.6.6 )
+       xrandr? ( x11-libs/libXrandr )"
+DEPEND="${RDEPEND}
+       x11-libs/libXt"
+BDEPEND=virtual/pkgconfig
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.6.0-sound_configure.patch
+       "${FILESDIR}"/${PN}-1.8.3-no_strip.patch
+       "${FILESDIR}"/${PN}-1.8.3-xrandr_configure.patch
+       "${FILESDIR}"/${P}-libressl.patch
+       "${FILESDIR}"/${P}-use_standard_gssapi.patch
+)
+
+DOCS=( doc/HACKING doc/TODO doc/keymapping.txt )
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       if use ao; then
+               sound_conf=$(use_with ao sound libao)
+       else if use alsa; then
+                       sound_conf=$(use_with alsa sound alsa)
+               else
+                       sound_conf=$(use_with oss sound oss)
+               fi
+       fi
+
+       econf \
+               --with-openssl="${EPREFIX}"/usr \
+               $(use_with debug) \
+               $(use_with ipv6) \
+               $(use_with libsamplerate) \
+               $(use_with xrandr) \
+               $(use_enable kerberos credssp) \
+               $(use_enable pcsc-lite smartcard) \
+               ${sound_conf}
+}

Reply via email to