summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2019-04-16 10:50:55 +0200
committerBernard Cafarelli <voyageur@gentoo.org>2019-04-16 10:50:55 +0200
commit290bb3e92f5be41c5693ce86a9d04d05046c62ba (patch)
tree0e2d6990410cbc13a254af350ba8e518e60abf93
parentnet-misc/memcached: 1.5.13 bump (diff)
downloadgentoo-290bb3e92f5be41c5693ce86a9d04d05046c62ba.tar.gz
gentoo-290bb3e92f5be41c5693ce86a9d04d05046c62ba.tar.bz2
gentoo-290bb3e92f5be41c5693ce86a9d04d05046c62ba.zip
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@gentoo.org>
-rw-r--r--net-misc/rdesktop/files/rdesktop-1.8.4-use_standard_gssapi.patch82
-rw-r--r--net-misc/rdesktop/rdesktop-1.8.4-r2.ebuild71
2 files changed, 153 insertions, 0 deletions
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 <ossman@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 <ossman@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}
+}