x11-misc/x11vnc: Fix dependencies and build issues
authorPacho Ramos <pacho@gentoo.org>
Sun, 24 Feb 2019 10:32:41 +0000 (11:32 +0100)
committerPacho Ramos <pacho@gentoo.org>
Sun, 24 Feb 2019 10:53:07 +0000 (11:53 +0100)
Closes: https://bugs.gentoo.org/675596
Closes: https://bugs.gentoo.org/648898
Closes: https://bugs.gentoo.org/611088
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
x11-misc/x11vnc/files/x11vnc-0.9.16-crypto.patch [new file with mode: 0644]
x11-misc/x11vnc/metadata.xml
x11-misc/x11vnc/x11vnc-0.9.16-r1.ebuild [new file with mode: 0644]

diff --git a/x11-misc/x11vnc/files/x11vnc-0.9.16-crypto.patch b/x11-misc/x11vnc/files/x11vnc-0.9.16-crypto.patch
new file mode 100644 (file)
index 0000000..21872e7
--- /dev/null
@@ -0,0 +1,23 @@
+From 3024af3685be9eb618352bd17ba37953d8076946 Mon Sep 17 00:00:00 2001
+From: Christian Beier <dontmind@freeshell.org>
+Date: Thu, 17 Jan 2019 14:05:53 +0100
+Subject: [PATCH] unixpw: don't try to use crypt() when it isn't available
+
+Closes #86
+---
+ src/unixpw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/unixpw.c b/src/unixpw.c
+index 9a43cec..e2cb016 100644
+--- a/src/unixpw.c
++++ b/src/unixpw.c
+@@ -757,7 +757,7 @@ int unixpw_list_match(char *user) {
+ }
+ 
+ int crypt_verify(char *user, char *pass) {
+-#ifndef UNIXPW_CRYPT
++#if !defined UNIXPW_CRYPT || !defined HAVE_LIBCRYPT
+       return 0;
+ #else
+       struct passwd *pwd;
index f25d54c1912043792f30f074bd14af71f4a3c956..4ad5dbb6d54ee7e7a1d1c46f1af65932bcdcef5a 100644 (file)
@@ -7,6 +7,12 @@
                simple command-line server utility that allows a VNC viewer
                to connect to an actual X display.
        </longdescription>
+       <use>
+               <flag name="xdamage">Enable support for the Xdamage library</flag>
+               <flag name="xfixes">Enable support for the Xfixes library</flag>
+               <flag name="xrandr">Enable support for the X xrandr extension</flag>
+               <flag name="xtrap">Enable support for the XTrap library</flag>
+       </use>
        <upstream>
                <remote-id type="sourceforge">libvncserver</remote-id>
                <remote-id type="github">LibVNC/x11vnc</remote-id>
diff --git a/x11-misc/x11vnc/x11vnc-0.9.16-r1.ebuild b/x11-misc/x11vnc/x11vnc-0.9.16-r1.ebuild
new file mode 100644 (file)
index 0000000..b34c657
--- /dev/null
@@ -0,0 +1,75 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools vcs-snapshot
+
+DESCRIPTION="A VNC server for real X displays"
+HOMEPAGE="https://libvnc.github.io/"
+SRC_URI="https://github.com/LibVNC/x11vnc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt fbcon libressl ssl +xcomposite +xdamage +xfixes xinerama +xrandr xtrap zeroconf"
+
+COMMON_DEPEND="
+       >=net-libs/libvncserver-0.9.8[ssl?]
+       x11-libs/libX11
+       x11-libs/libXcursor
+       x11-libs/libXext
+       >=x11-libs/libXtst-1.1.0
+       ssl? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl:= )
+       )
+       xcomposite? ( x11-libs/libXcomposite )
+       xdamage? ( x11-libs/libXdamage )
+       xfixes? ( x11-libs/libXfixes )
+       xinerama? ( x11-libs/libXinerama )
+       xrandr? ( x11-libs/libXrandr )
+       xtrap? ( x11-libs/libXTrap )
+       zeroconf? ( >=net-dns/avahi-0.6.4 )
+"
+DEPEND="${COMMON_DEPEND}
+       x11-base/xorg-proto
+       x11-libs/libXt
+"
+# https://bugzilla.redhat.com/show_bug.cgi?id=920554
+RDEPEND="dev-lang/tk:0"
+
+PATCHES=(
+       # https://github.com/LibVNC/x11vnc/issues/86
+       "${FILESDIR}"/${P}-crypto.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       # --without-v4l because of missing video4linux 2.x support wrt #389079
+       econf \
+               --without-v4l \
+               --without-xkeyboard \
+               --without-fbpm \
+               --without-dpms \
+               $(use_with crypt) \
+               $(use_with fbcon fbdev) \
+               $(use_with ssl) \
+               $(use_with ssl crypto) \
+               $(use_with xcomposite) \
+               $(use_with xdamage) \
+               $(use_with xfixes) \
+               $(use_with xinerama) \
+               $(use_with xrandr) \
+               $(use_with xtrap) \
+               $(use_with zeroconf avahi)
+}
+
+src_install() {
+       default
+       newinitd "${FILESDIR}/x11vnc.init.d" x11vnc
+       newconfd "${FILESDIR}/x11vnc.conf.d" x11vnc
+}