1*4882a593SmuzhiyunDESCRIPTION = "TigerVNC remote display system" 2*4882a593SmuzhiyunHOMEPAGE = "http://www.tigervnc.com/" 3*4882a593SmuzhiyunLICENSE = "GPL-2.0-or-later" 4*4882a593SmuzhiyunSECTION = "x11/utils" 5*4882a593SmuzhiyunDEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk libpam" 6*4882a593SmuzhiyunRDEPENDS:${PN} = "coreutils hicolor-icon-theme perl bash xkbcomp" 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunS = "${WORKDIR}/git" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyuninherit autotools cmake features_check pkgconfig 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES = "x11 pam" 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunB = "${S}" 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunSRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca" 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunSRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.11-branch;protocol=https \ 21*4882a593Smuzhiyun file://0002-do-not-build-tests-sub-directory.patch \ 22*4882a593Smuzhiyun file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ 23*4882a593Smuzhiyun file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ 24*4882a593Smuzhiyun" 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun# Keep sync with xorg-server in oe-core 27*4882a593SmuzhiyunXORG_PN ?= "xorg-server" 28*4882a593SmuzhiyunXORG_PV ?= "1.20.6" 29*4882a593SmuzhiyunSRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" 30*4882a593SmuzhiyunXORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" 31*4882a593SmuzhiyunSRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b" 32*4882a593SmuzhiyunSRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1" 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# It is the directory containing the Xorg source for the 35*4882a593Smuzhiyun# machine on which you are building TigerVNC. 36*4882a593SmuzhiyunXSERVER_SOURCE_DIR="${S}/unix/xserver" 37*4882a593Smuzhiyun 38*4882a593Smuzhiyundo_patch[postfuncs] += "do_patch_xserver" 39*4882a593Smuzhiyundo_patch_xserver () { 40*4882a593Smuzhiyun for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do 41*4882a593Smuzhiyun install -d ${XSERVER_SOURCE_DIR}/$subdir 42*4882a593Smuzhiyun done 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do 45*4882a593Smuzhiyun install -d ${XSERVER_SOURCE_DIR}/$subdir 46*4882a593Smuzhiyun done 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ 49*4882a593Smuzhiyun hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ 50*4882a593Smuzhiyun hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" 51*4882a593Smuzhiyun for i in ${sources}; do 52*4882a593Smuzhiyun install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; 53*4882a593Smuzhiyun done 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun cd ${XORG_S} 56*4882a593Smuzhiyun find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ 57*4882a593Smuzhiyun xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun cd ${XSERVER_SOURCE_DIR} 60*4882a593Smuzhiyun xserverpatch="${S}/unix/xserver120.patch" 61*4882a593Smuzhiyun echo "Apply $xserverpatch" 62*4882a593Smuzhiyun patch -p1 -b --suffix .vnc < $xserverpatch 63*4882a593Smuzhiyun} 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunEXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ 66*4882a593Smuzhiyun --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ 67*4882a593Smuzhiyun --disable-static --disable-xinerama \ 68*4882a593Smuzhiyun --with-xkb-output=${localstatedir}/lib/xkb \ 69*4882a593Smuzhiyun --disable-glx --disable-dri --disable-dri2 \ 70*4882a593Smuzhiyun --disable-config-hal \ 71*4882a593Smuzhiyun --disable-config-udev \ 72*4882a593Smuzhiyun --without-dtrace \ 73*4882a593Smuzhiyun --disable-unit-tests \ 74*4882a593Smuzhiyun --disable-devel-docs \ 75*4882a593Smuzhiyun --disable-selective-werror \ 76*4882a593Smuzhiyun --disable-xshmfence \ 77*4882a593Smuzhiyun --disable-config-udev \ 78*4882a593Smuzhiyun --disable-dri3 \ 79*4882a593Smuzhiyun --disable-libunwind \ 80*4882a593Smuzhiyun --without-xmlto \ 81*4882a593Smuzhiyun --enable-systemd-logind=no \ 82*4882a593Smuzhiyun --disable-xinerama \ 83*4882a593Smuzhiyun --disable-xwayland \ 84*4882a593Smuzhiyun" 85*4882a593Smuzhiyun 86*4882a593SmuzhiyunEXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}" 87*4882a593Smuzhiyun 88*4882a593Smuzhiyundo_configure:append () { 89*4882a593Smuzhiyun olddir=`pwd` 90*4882a593Smuzhiyun cd ${XSERVER_SOURCE_DIR} 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun rm -rf aclocal-copy/ 93*4882a593Smuzhiyun rm -f aclocal.m4 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" 96*4882a593Smuzhiyun mkdir -p ${ACLOCALDIR}/ 97*4882a593Smuzhiyun if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then 98*4882a593Smuzhiyun cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ 99*4882a593Smuzhiyun fi 100*4882a593Smuzhiyun if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then 101*4882a593Smuzhiyun cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ 102*4882a593Smuzhiyun fi 103*4882a593Smuzhiyun ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." 104*4882a593Smuzhiyun chmod +x ./configure 105*4882a593Smuzhiyun ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 106*4882a593Smuzhiyun cd $olddir 107*4882a593Smuzhiyun} 108*4882a593Smuzhiyun 109*4882a593Smuzhiyundo_compile:append () { 110*4882a593Smuzhiyun olddir=`pwd` 111*4882a593Smuzhiyun cd ${XSERVER_SOURCE_DIR} 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun oe_runmake 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun cd $olddir 116*4882a593Smuzhiyun} 117*4882a593Smuzhiyun 118*4882a593Smuzhiyundo_install:append() { 119*4882a593Smuzhiyun olddir=`pwd` 120*4882a593Smuzhiyun cd ${XSERVER_SOURCE_DIR}/hw/vnc 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun oe_runmake 'DESTDIR=${D}' install 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun cd $olddir 125*4882a593Smuzhiyun} 126*4882a593Smuzhiyun 127*4882a593SmuzhiyunFILES:${PN} += " \ 128*4882a593Smuzhiyun ${libdir}/xorg/modules/extensions \ 129*4882a593Smuzhiyun ${datadir}/icons \ 130*4882a593Smuzhiyun ${systemd_unitdir} \ 131*4882a593Smuzhiyun" 132*4882a593Smuzhiyun 133*4882a593SmuzhiyunFILES:${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" 134