summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb')
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb111
1 files changed, 111 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb
new file mode 100644
index 0000000000..a35ab2e3da
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb
@@ -0,0 +1,111 @@
1DESCRIPTION = "TigerVNC remote display system"
2HOMEPAGE = "http://www.tigervnc.com/"
3LICENSE = "GPL-2.0-or-later"
4SECTION = "x11/utils"
5DEPENDS = "gettext-native xserver-xorg gnutls nettle jpeg pixman libxtst fltk libpam libx11 libxdamage libxfixes libxrandr xkbcomp"
6RDEPENDS:${PN} = "coreutils hicolor-icon-theme perl bash xkbcomp"
7
8LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
9
10
11inherit autotools cmake features_check pkgconfig systemd
12
13REQUIRED_DISTRO_FEATURES = "x11 pam"
14
15# For ease we do in-tree builds right now. It should be possible to do
16# out-of-tree builds.
17B = "${S}"
18
19SRCREV = "b555312d70d7ff017f866649a7e7167af4eb8fca"
20
21SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.16-branch;protocol=https;tag=v${PV} \
22 file://0001-do-not-build-tests-sub-directory.patch \
23 file://0002-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
24 file://0003-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
25"
26
27# Keep sync with xorg-server in oe-core
28XORG_PN ?= "xorg-server"
29XORG_PV ?= "21.1.22"
30SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.xz;name=xorg"
31XORG_S = "${UNPACKDIR}/${XORG_PN}-${XORG_PV}"
32SRC_URI[xorg.sha256sum] = "1a242c8917c49ba29ccc1f6021613d8a2b9805dd0d271a66ae9d09f4b0bb06b3"
33
34# It is the directory containing the Xorg source for the
35# machine on which you are building TigerVNC.
36XSERVER_SOURCE_DIR = "${S}/unix/xserver"
37AUTOTOOLS_SCRIPT_PATH = "${XSERVER_SOURCE_DIR}"
38
39do_patch[postfuncs] += "do_patch_xserver"
40do_patch_xserver () {
41 # Put the xserver source in the right place in the tigervnc source tree
42 cp -rfl ${XORG_S}/* ${XSERVER_SOURCE_DIR}
43 # Apply the patch to integrate the vnc server
44 patch -p1 -b --suffix .vnc --directory ${XSERVER_SOURCE_DIR} <${S}/unix/xserver21.patch
45}
46
47# It is very easy to miss xserver updates in oe-core, and this recipe's xserver
48# gets out of sync due to this. Hopefully this warning will help.
49do_configure[prefuncs] += "do_verify_xserver_version"
50do_verify_xserver_version() {
51 OE_CORE_XSERVER_VERSION=$(pkg-config --modversion xorg-server)
52 if [ "$OE_CORE_XSERVER_VERSION" != "${XORG_PV}" ]; then
53 bbwarn "TigerVNC xorg-server version (${XORG_PV}) is different from oe-core's xorg-xserver version ($OE_CORE_XSERVER_VERSION)"
54 fi
55}
56
57EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb \
58 --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
59 --disable-static --disable-xinerama \
60 --with-xkb-output=${localstatedir}/lib/xkb \
61 --disable-glx --disable-dri --disable-dri2 \
62 --disable-config-hal \
63 --disable-config-udev \
64 --without-dtrace \
65 --disable-unit-tests \
66 --disable-devel-docs \
67 --disable-selective-werror \
68 --disable-xshmfence \
69 --disable-config-udev \
70 --disable-dri3 \
71 --disable-libunwind \
72 --without-xmlto \
73 --enable-systemd-logind=no \
74 --disable-xinerama \
75"
76
77EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_system_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}"
78
79do_configure:append () {
80 autotools_do_configure
81}
82
83do_compile:append () {
84 oe_runmake 'TIGERVNC_BUILDDIR=${B}'
85}
86
87do_install:append() {
88 oe_runmake 'TIGERVNC_BUILDDIR=${B}' -C ${B}/hw/vnc 'DESTDIR=${D}' install
89}
90
91FILES:${PN} += " \
92 ${libdir}/xorg/modules/extensions \
93 ${datadir}/icons \
94 ${datadir}/metainfo \
95"
96
97#If user want to enable service of vncserver, vncserver@:<display>.service is needed and further steps are listed in unit file itself.
98SYSTEMD_SERVICE:${PN} ?= "vncserver@.service"
99SYSTEMD_AUTO_ENABLE:${PN} = "disable"
100
101CVE_STATUS[CVE-2014-8241] = "fixed-version: The vulnerable code is not present in the used version (1.15.0)"
102CVE_STATUS[CVE-2023-6377] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
103CVE_STATUS[CVE-2023-6478] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
104CVE_STATUS[CVE-2025-26594] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
105CVE_STATUS[CVE-2025-26595] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
106CVE_STATUS[CVE-2025-26596] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
107CVE_STATUS[CVE-2025-26597] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
108CVE_STATUS[CVE-2025-26598] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
109CVE_STATUS[CVE-2025-26599] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
110CVE_STATUS[CVE-2025-26600] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"
111CVE_STATUS[CVE-2025-26601] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)"