Files
buildroot/package/libvncserver/libvncserver.mk
Thomas Petazzoni 75a25f5c90 package/libvncserver: explicitly disable Qt support
Qt can optionally be used to build an example VNC client. Like for the
other example clients (Gtk, SDL, etc.), let's disable building this
example client. First because we don't care, and second because it
fails to build:

CMake Error: Cannot determine link language for target "client_examples_qt5client".
CMake Error: CMake can not determine linker language for target: client_examples_qt5client

This Qt client was introduced in libvncserver version 0.9.15 (by
upstream commit b44665c0a28ba3776edebb57548562cf7ddc117f).

No autobuilder issues were found, but the problem can be reproduced
using:

BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_WIDGETS=y
BR2_PACKAGE_LIBVNCSERVER=y
BR2_PACKAGE_LIBVNCSERVER_INSTALL_STOREPASSSWD=y

Fixes: 3b62f17f32 ("package/libvncserver: bump to version 0.9.15")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-10-20 18:44:36 +02:00

112 lines
3.0 KiB
Makefile

################################################################################
#
# libvncserver
#
################################################################################
LIBVNCSERVER_VERSION = 0.9.15
LIBVNCSERVER_SITE = $(call github,LibVNC,libvncserver,LibVNCServer-$(LIBVNCSERVER_VERSION))
LIBVNCSERVER_LICENSE = GPL-2.0+
LIBVNCSERVER_LICENSE_FILES = COPYING
LIBVNCSERVER_CPE_ID_VALID = YES
LIBVNCSERVER_INSTALL_STAGING = YES
LIBVNCSERVER_DEPENDENCIES = host-pkgconf lzo
LIBVNCSERVER_CONF_OPTS = -DWITH_LZO=ON
# 0002-add-bounds-checks-to-UltraZip-subrectangle-parsing.patch
LIBVNCSERVER_IGNORE_CVES += CVE-2026-32853
# 0003-fix-NULL-pointer-dereferences-in-httpd-proxy-handlers.patch
LIBVNCSERVER_IGNORE_CVES += CVE-2026-32854
# only used for examples
LIBVNCSERVER_CONF_OPTS += \
-DWITH_FFMPEG=OFF \
-DWITH_GTK=OFF \
-DWITH_SDL=OFF \
-DWITH_QT=OFF \
-DWITH_TESTS=OFF
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_THREADS=ON
else
LIBVNCSERVER_CONF_OPTS += -DWITH_THREADS=OFF
endif
# openssl supports needs NPTL thread support
ifeq ($(BR2_PACKAGE_OPENSSL)$(BR2_TOOLCHAIN_HAS_THREADS_NPTL),yy)
LIBVNCSERVER_CONF_OPTS += -DWITH_OPENSSL=ON
LIBVNCSERVER_DEPENDENCIES += openssl
else
LIBVNCSERVER_CONF_OPTS += -DWITH_OPENSSL=OFF
endif
ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_GCRYPT=ON
LIBVNCSERVER_DEPENDENCIES += libgcrypt
else
LIBVNCSERVER_CONF_OPTS += -DWITH_GCRYPT=OFF
endif
ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy)
LIBVNCSERVER_CONF_OPTS += -DWITH_GNUTLS=ON
LIBVNCSERVER_DEPENDENCIES += gnutls
else
LIBVNCSERVER_CONF_OPTS += -DWITH_GNUTLS=OFF
endif
ifeq ($(BR2_PACKAGE_JPEG),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_JPEG=ON
LIBVNCSERVER_DEPENDENCIES += jpeg
else
LIBVNCSERVER_CONF_OPTS += -DWITH_JPEG=OFF
endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_PNG=ON
LIBVNCSERVER_DEPENDENCIES += libpng
else
LIBVNCSERVER_CONF_OPTS += -DWITH_PNG=OFF
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_SYSTEMD=ON
LIBVNCSERVER_DEPENDENCIES += systemd
else
LIBVNCSERVER_CONF_OPTS += -DWITH_SYSTEMD=OFF
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_ZLIB=ON
LIBVNCSERVER_DEPENDENCIES += zlib
else
LIBVNCSERVER_CONF_OPTS += -DWITH_ZLIB=OFF
endif
ifeq ($(BR2_PACKAGE_LIBVNCSERVER_WEBSOCKETS),y)
HBT_LIBVNCSERVER_CONF_OPTS += -DWITH_WEBSOCKETS=ON
define LIBVNCSERVER_INSTALL_VNC
$(INSTALL) -D -m 644 $(@D)/webclients/index.vnc \
$(TARGET_DIR)/usr/share/vnc/index.vnc
endef
LIBVNCSERVER_POST_INSTALL_TARGET_HOOKS += LIBVNCSERVER_INSTALL_VNC
else
LIBVNCSERVER_CONF_OPTS += -DWITH_WEBSOCKETS=OFF
endif
ifeq ($(BR2_PACKAGE_LIBVNCSERVER_INSTALL_STOREPASSSWD),y)
LIBVNCSERVER_CONF_OPTS += -DWITH_EXAMPLES=ON
define LIBVNCSERVER_INSTALL_STOREPASSWD
$(INSTALL) -D -m 0755 $(@D)/examples/server/storepasswd \
$(TARGET_DIR)/usr/bin/storepasswd
endef
LIBVNCSERVER_POST_INSTALL_TARGET_HOOKS += LIBVNCSERVER_INSTALL_STOREPASSWD
else
LIBVNCSERVER_CONF_OPTS += -DWITH_EXAMPLES=OFF
endif
$(eval $(cmake-package))