summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics/tigervnc
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2025-02-25 17:57:29 +0000
committerRoss Burton <ross.burton@arm.com>2025-02-27 20:28:17 +0000
commitc6a91f32ccb8e2734a23de1ae007e5232178d516 (patch)
tree0927482ed8ae91fd640000e5a8f2221cdcc5b94a /meta-oe/recipes-graphics/tigervnc
parente5643c6ba5af912fcab7bab90c8178e59ccb3f4f (diff)
downloadmeta-openembedded-c6a91f32ccb8e2734a23de1ae007e5232178d516.tar.gz
tigervnc: simplify xserver unpack and build
When unpacking, just use cp to hardlink the xserver source tree into the tigervnc source tree. When configuring, instead of replicating complicated logic, we can simply set the variable AUTOTOOLS_SCRIPT_PATH and just call autotools_do_configure. Some of the options passed to the xserver configure are obsolete so remove them. Signed-off-by: Ross Burton <ross.burton@arm.com>
Diffstat (limited to 'meta-oe/recipes-graphics/tigervnc')
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.14.1.bb59
1 files changed, 8 insertions, 51 deletions
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.14.1.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.14.1.bb
index 6e4d4a7b0c..ab9edd9ee0 100644
--- a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.14.1.bb
+++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.14.1.bb
@@ -33,32 +33,17 @@ SRC_URI[xorg.sha256sum] = "841c82901282902725762df03adbbcd68153d4cdfb0d61df0cfd7
33# It is the directory containing the Xorg source for the 33# It is the directory containing the Xorg source for the
34# machine on which you are building TigerVNC. 34# machine on which you are building TigerVNC.
35XSERVER_SOURCE_DIR="${S}/unix/xserver" 35XSERVER_SOURCE_DIR="${S}/unix/xserver"
36AUTOTOOLS_SCRIPT_PATH = "${XSERVER_SOURCE_DIR}"
36 37
37do_patch[postfuncs] += "do_patch_xserver" 38do_patch[postfuncs] += "do_patch_xserver"
38do_patch_xserver () { 39do_patch_xserver () {
39 subdirs="Xext xkb GL hw/xquartz/bundle hw/xfree86/common man doc" 40 # Put the xserver source in the right place in the tigervnc source tree
40 for i in ${subdirs}; do 41 cp -rfl ${XORG_S}/* ${XSERVER_SOURCE_DIR}
41 install -d ${XSERVER_SOURCE_DIR}/$i 42 # Apply the patch to integrate the vnc server
42 done 43 patch -p1 -b --suffix .vnc --directory ${XSERVER_SOURCE_DIR} <${S}/unix/xserver21.patch
43
44 sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
45 xserver.ent.in xkb/README.compiled \
46 hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
47 for i in ${sources}; do
48 install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
49 done
50
51 cd ${XORG_S}
52 find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
53 xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
54
55 cd ${XSERVER_SOURCE_DIR}
56 xserverpatch="${S}/unix/xserver21.patch"
57 echo "Apply $xserverpatch"
58 patch -p1 -b --suffix .vnc < $xserverpatch
59} 44}
60 45
61EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ 46EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb \
62 --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ 47 --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
63 --disable-static --disable-xinerama \ 48 --disable-static --disable-xinerama \
64 --with-xkb-output=${localstatedir}/lib/xkb \ 49 --with-xkb-output=${localstatedir}/lib/xkb \
@@ -76,48 +61,20 @@ EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
76 --without-xmlto \ 61 --without-xmlto \
77 --enable-systemd-logind=no \ 62 --enable-systemd-logind=no \
78 --disable-xinerama \ 63 --disable-xinerama \
79 --disable-xwayland \
80" 64"
81 65
82EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_system_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}" 66EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_system_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}"
83 67
84do_configure:append () { 68do_configure:append () {
85 olddir=`pwd` 69 autotools_do_configure
86 cd ${XSERVER_SOURCE_DIR}
87
88 rm -rf aclocal-copy/
89 rm -f aclocal.m4
90
91 export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
92 mkdir -p ${ACLOCALDIR}/
93 if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
94 cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
95 fi
96 if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
97 cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
98 fi
99 ACLOCAL="aclocal --aclocal-path=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
100 chmod +x ./configure
101 ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
102 cd $olddir
103} 70}
104 71
105do_compile:append () { 72do_compile:append () {
106 olddir=`pwd`
107 cd ${XSERVER_SOURCE_DIR}
108
109 oe_runmake 73 oe_runmake
110
111 cd $olddir
112} 74}
113 75
114do_install:append() { 76do_install:append() {
115 olddir=`pwd` 77 oe_runmake -C ${B}/hw/vnc 'DESTDIR=${D}' install
116 cd ${XSERVER_SOURCE_DIR}/hw/vnc
117
118 oe_runmake 'DESTDIR=${D}' install
119
120 cd $olddir
121} 78}
122 79
123FILES:${PN} += " \ 80FILES:${PN} += " \