diff options
Diffstat (limited to 'net-misc/turbovnc/turbovnc-3.1.1.ebuild')
-rw-r--r-- | net-misc/turbovnc/turbovnc-3.1.1.ebuild | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/net-misc/turbovnc/turbovnc-3.1.1.ebuild b/net-misc/turbovnc/turbovnc-3.1.1.ebuild new file mode 100644 index 000000000000..a60e961b75ed --- /dev/null +++ b/net-misc/turbovnc/turbovnc-3.1.1.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_OPT_USE=viewer +inherit cmake desktop java-pkg-opt-2 optfeature verify-sig + +DESCRIPTION="A fast replacement for TigerVNC" +HOMEPAGE="https://www.turbovnc.org/" +SRC_URI=" + https://github.com/TurboVNC/turbovnc/releases/download/${PV}/turbovnc-${PV}.tar.gz + verify-sig? ( https://github.com/TurboVNC/turbovnc/releases/download/${PV}/turbovnc-${PV}.tar.gz.sig ) +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+server +ssl +viewer" +REQUIRED_USE="|| ( server viewer )" + +COMMON_DEPEND=" + x11-apps/xauth + x11-libs/libX11 + x11-libs/libXext + x11-misc/xkeyboard-config + server? ( + media-libs/libjpeg-turbo:= + sys-libs/pam + sys-libs/zlib + virtual/opengl + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXfont2 + x11-libs/pixman + ssl? ( dev-libs/openssl:= ) + !net-misc/tigervnc[server] + ) + viewer? ( + media-libs/libjpeg-turbo:=[java] + x11-libs/libXi + !net-misc/tigervnc[viewer(+)] + ) +" + +RDEPEND=" + ${COMMON_DEPEND} + x11-apps/xkbcomp + viewer? ( >=virtual/jre-1.8:* ) +" + +# libbz2.so.1, libfontenc.so.1 and libfreetype.so.6 are used by libXfont2.so.2 +# but cmake will look for them, so add them here +DEPEND=" + ${COMMON_DEPEND} + x11-libs/xtrans + viewer? ( >=virtual/jdk-1.8:* ) + server? ( + app-arch/bzip2 + media-libs/freetype + x11-libs/libfontenc + ) +" + +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-vgl-turbovnc ) +" + +PATCHES=( + "${FILESDIR}"/"${PN}"-3.0.90-fix-musl-compilation.patch +) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vgl-turbovnc.asc + +#879797 - BSD functions +QA_CONFIG_IMPL_DECL_SKIP=( strlcat strlcpy ) + +pkg_pretend() { + if use ssl && ! use server; then + einfo "USE=\"ssl\" selected but USE=\"server\" is not. The SSL support is unused" + fi +} + +src_prepare() { + use viewer && java-pkg-opt-2_src_prepare + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DTVNC_BUILDVIEWER=$(usex viewer) + -DTVNC_BUILDSERVER=$(usex server) + -DTVNC_BUILDWEBSERVER=$(usex server) + ) + + if use server ; then + mycmakeargs+=( + -DTVNC_SYSTEMLIBS=ON + -DTVNC_SYSTEMX11=ON + -DXKB_BIN_DIRECTORY=/usr/bin + -DXKB_DFLT_RULES=base + ) + if use ssl ; then + # 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 + ) + else + mycmakeargs+=( -DTVNC_USETLS=OFF ) + fi + fi + + if use viewer ; then + export JAVACFLAGS="$(java-pkg_javac-args)" + export JNI_CFLAGS="$(java-pkg_get-jni-cflags)" + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + if use viewer ; 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 + if use server; then + rm -r "${ED}"/etc/init.d/ || die + rm -r "${ED}"/etc/sysconfig/ || die + fi + + # Conflicts with x11-base/xorg-server + find "${ED}"/usr/share/man/man1/ -name Xserver.1\* -delete || die + + einstalldocs +} + +pkg_postinst() { + use server && optfeature "dbus support" sys-apps/dbus +} |