tkurbad-overlay/net-misc/turbovnc/turbovnc-3.0_beta1.ebuild

109 lines
2.2 KiB
Bash

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop cmake java-pkg-opt-2
MY_PV=${PV/_/}
MY_P=${PN}-${MY_PV}
DESCRIPTION="A fast replacement for TigerVNC"
HOMEPAGE="https://www.turbovnc.org/"
SRC_URI="https://github.com/TurboVNC/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="gnutls +ssl"
DEPEND="
app-arch/bzip2
media-libs/freetype
>=media-libs/libjpeg-turbo-2.0.0[java?]
sys-libs/zlib
virtual/jdk:1.8
virtual/opengl
x11-libs/libfontenc
x11-libs/libX11
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfont2
x11-libs/libxkbfile
x11-libs/pixman
ssl? (
!gnutls? ( dev-libs/openssl:= )
gnutls? ( net-libs/gnutls:= )
)
!net-misc/tigervnc
"
RDEPEND="
${DEPEND}
x11-apps/xkbcomp
"
S="${WORKDIR}/${MY_P}"
src_prepare() {
use java && java-pkg-opt-2_src_prepare
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DTVNC_SYSTEMX11=ON
-DTVNC_SYSTEMLIBS=ON
-DTVNC_BUILDJAVA=$(usex java)
-DTVNC_BUILDNATIVE=ON
-DXKB_BIN_DIRECTORY=/usr/bin
-DXKB_DFLT_RULES=base
)
if use ssl ; then
# We prefer OpenSSL, so default to that if SSL is enabled
if use gnutls ; then
mycmakeargs+=( -DTVNC_USETLS=GnuTLS )
else
# Link properly against OpenSSL to ensure
# we catch e.g. ABI change
# (i.e. don't dlopen it)
mycmakeargs+=(
-DTVNC_USETLS=OpenSSL
-DTVNC_DLOPENSSL=OFF
)
fi
else
mycmakeargs+=( -DTVNC_USETLS=OFF )
fi
if use java ; then
export JAVACFLAGS="$(java-pkg_javac-args)"
export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
mycmakeargs+=(
-DTJPEG_JAR="${EPREFIX}/usr/share/java/turbojpeg.jar"
-DTJPEG_JNILIBRARY="${EPREFIX}/usr/$(get_libdir)/libturbojpeg.so"
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
if use java ; then
java-pkg_dojar "${BUILD_DIR}"/java/VncViewer.jar
make_desktop_entry vncviewer "TurboVNC Viewer" /usr/share/icons/hicolor/48x48/apps/${PN}.png
fi
# Don't install incompatible init script
rm -rf "${ED}"/etc/init.d/ || die
rm -rf "${ED}"/etc/sysconfig/ || die
find "${ED}"/usr/share/man/man1/ -name Xserver.1\* -print0 | xargs -0 rm || die
einstalldocs
}