summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2017-07-27 04:44:22 -0400
committerMartin Jansa <Martin.Jansa@gmail.com>2017-08-13 13:19:41 +0200
commit3d87b6643c74e59b850c7bdc13171eee480e6e19 (patch)
tree8355d57a45d3756d3d94d58aa42b85915702fc6e /meta-oe/recipes-graphics
parent888970ac7cd10c779542fb5000f784bca8f61d1e (diff)
downloadmeta-openembedded-3d87b6643c74e59b850c7bdc13171eee480e6e19.tar.gz
tigervnc: add recipe 1.8.0
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-graphics')
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch50
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch29
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch28
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch62
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb131
5 files changed, 300 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch b/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
new file mode 100644
index 000000000..12c437629
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
@@ -0,0 +1,50 @@
1From 4b423cd2e5e4296abca3be553bf64d8cc287180a Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 20 Jul 2017 17:09:05 +0800
4Subject: [PATCH 1/4] tigervnc: remove includedir
5
6Upstream-Status: Pending
7
8Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
9
10It fixes host contamination
11
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13---
14 unix/xserver/hw/vnc/Makefile.am | 6 +++---
15 1 file changed, 3 insertions(+), 3 deletions(-)
16
17diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
18index 0d6a4ac..854f078 100644
19--- a/unix/xserver/hw/vnc/Makefile.am
20+++ b/unix/xserver/hw/vnc/Makefile.am
21@@ -22,7 +22,7 @@ libvnccommon_la_SOURCES = $(HDRS) \
22
23 libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
24 -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
25- -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} -I$(includedir) \
26+ -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} \
27 -I$(top_srcdir)/include
28
29 bin_PROGRAMS = Xvnc
30@@ -42,7 +42,7 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \
31 -UHAVE_CONFIG_H \
32 -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
33 -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \
34- -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir)
35+ -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS}
36
37 Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
38 $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11
39@@ -62,7 +62,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
40 -I$(top_srcdir)/hw/xfree86/os-support \
41 -I$(top_srcdir)/hw/xfree86/os-support/bus \
42 -I$(top_srcdir)/include \
43- ${XSERVERLIBS_CFLAGS} -I$(includedir)
44+ ${XSERVERLIBS_CFLAGS}
45
46 libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
47
48--
492.7.4
50
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
new file mode 100644
index 000000000..4e875ba82
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
@@ -0,0 +1,29 @@
1From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Tue, 25 Apr 2017 01:36:44 -0400
4Subject: [PATCH 2/4] do not build tests sub directory
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9---
10 CMakeLists.txt | 3 ---
11 1 file changed, 3 deletions(-)
12
13diff --git a/CMakeLists.txt b/CMakeLists.txt
14index 94ec2ef..fb72a00 100644
15--- a/CMakeLists.txt
16+++ b/CMakeLists.txt
17@@ -300,9 +300,6 @@ if(BUILD_VIEWER)
18 add_subdirectory(media)
19 endif()
20
21-add_subdirectory(tests)
22-
23-
24 include(cmake/BuildPackages.cmake)
25
26 # uninstall
27--
282.7.4
29
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch b/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch
new file mode 100644
index 000000000..cfb84ac14
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch
@@ -0,0 +1,28 @@
1From 6369a5be2af2ed1fa443f40f48deaf318d22713e Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 20 Jul 2017 05:06:00 -0400
4Subject: [PATCH 3/4] add missing dynamic library to FLTK_LIBRARIES
5
6Upstream-Status: Pending
7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9---
10 CMakeLists.txt | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/CMakeLists.txt b/CMakeLists.txt
14index fb72a00..5732dc8 100644
15--- a/CMakeLists.txt
16+++ b/CMakeLists.txt
17@@ -246,6 +246,8 @@ if(UNIX AND NOT APPLE)
18 endif()
19 endif()
20
21+set(FLTK_LIBRARIES ${FLTK_LIBRARIES} -lm -ldl -lpng -ljpeg)
22+
23 # Check for GNUTLS library
24 option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
25 if(ENABLE_GNUTLS)
26--
272.7.4
28
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
new file mode 100644
index 000000000..97b0a388a
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
@@ -0,0 +1,62 @@
1From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 20 Jul 2017 17:12:17 +0800
4Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS
5
6The static libraries in Xregion/network/rdr/rfb were linked by shared
7library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix
8relocation issue.
9
10Upstream-Status: Pending
11
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13---
14 common/Xregion/CMakeLists.txt | 1 +
15 common/network/CMakeLists.txt | 1 +
16 common/rdr/CMakeLists.txt | 1 +
17 common/rfb/CMakeLists.txt | 1 +
18 4 files changed, 4 insertions(+)
19
20diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt
21index 40ca97e..9411328 100644
22--- a/common/Xregion/CMakeLists.txt
23+++ b/common/Xregion/CMakeLists.txt
24@@ -3,4 +3,5 @@ add_library(Xregion STATIC
25
26 if(UNIX)
27 libtool_create_control_file(Xregion)
28+ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
29 endif()
30diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt
31index b624c8e..6c06ec9 100644
32--- a/common/network/CMakeLists.txt
33+++ b/common/network/CMakeLists.txt
34@@ -9,4 +9,5 @@ endif()
35
36 if(UNIX)
37 libtool_create_control_file(network)
38+ set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
39 endif()
40diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt
41index 989ba2f..20f6489 100644
42--- a/common/rdr/CMakeLists.txt
43+++ b/common/rdr/CMakeLists.txt
44@@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES})
45
46 if(UNIX)
47 libtool_create_control_file(rdr)
48+ set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
49 endif()
50diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt
51index 5047e5e..88838ab 100644
52--- a/common/rfb/CMakeLists.txt
53+++ b/common/rfb/CMakeLists.txt
54@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
55
56 if(UNIX)
57 libtool_create_control_file(rfb)
58+ set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
59 endif()
60--
612.7.4
62
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb
new file mode 100644
index 000000000..d15bc9e25
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb
@@ -0,0 +1,131 @@
1DESCRIPTION = "TigerVNC remote display system"
2HOMEPAGE = "http://www.tigervnc.com/"
3LICENSE = "GPLv2+"
4SECTION = "x11/utils"
5DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
6RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme"
7
8LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
9
10S = "${WORKDIR}/git"
11
12inherit distro_features_check
13REQUIRED_DISTRO_FEATURES = "x11"
14
15inherit autotools cmake
16B = "${S}"
17
18SRCREV = "4d6e1b8306a8cca8ad5e15ff8201f6ea24459cfd"
19
20SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.8-branch \
21 file://0001-tigervnc-remove-includedir.patch \
22 file://0002-do-not-build-tests-sub-directory.patch \
23 file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
24 file://0004-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 ?= "1.19.3"
30SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
31XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
32SRC_URI[xorg.md5sum] = "015d2fc4b9f2bfe7a626edb63a62c65e"
33SRC_URI[xorg.sha256sum] = "677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98"
34
35# It is the directory containing the Xorg source for the
36# machine on which you are building TigerVNC.
37XSERVER_SOURCE_DIR="${S}/unix/xserver"
38
39do_patch[postfuncs] += "do_patch_xserver"
40do_patch_xserver () {
41 for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
42 install -d ${XSERVER_SOURCE_DIR}/$subdir
43 done
44
45 for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
46 install -d ${XSERVER_SOURCE_DIR}/$subdir
47 done
48
49 sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
50 hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
51 hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
52 for i in ${sources}; do
53 install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
54 done
55
56 cd ${XORG_S}
57 find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
58 xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
59
60 cd ${XSERVER_SOURCE_DIR}
61 xserverpatch="${S}/unix/xserver119.patch"
62 echo "Apply $xserverpatch"
63 patch -p1 -b --suffix .vnc < $xserverpatch
64}
65
66EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
67 --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
68 --disable-static --disable-xinerama \
69 --with-xkb-output=${localstatedir}/lib/xkb \
70 --disable-glx --disable-dri --disable-dri2 \
71 --disable-config-hal \
72 --disable-config-udev \
73 --without-dtrace \
74 --disable-unit-tests \
75 --disable-devel-docs \
76 --disable-selective-werror \
77 --disable-xshmfence \
78 --disable-config-udev \
79 --disable-dri3 \
80 --disable-libunwind \
81 --without-xmlto \
82 --enable-systemd-logind=no \
83 --disable-xinerama \
84 --disable-xwayland \
85"
86
87do_configure_append () {
88 olddir=`pwd`
89 cd ${XSERVER_SOURCE_DIR}
90
91 rm -rf aclocal-copy/
92 rm -f aclocal.m4
93
94 export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
95 mkdir -p ${ACLOCALDIR}/
96 if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
97 cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
98 fi
99 if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
100 cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
101 fi
102 ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
103 chmod +x ./configure
104 ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
105 cd $olddir
106}
107
108do_compile_append () {
109 olddir=`pwd`
110 cd ${XSERVER_SOURCE_DIR}
111
112 oe_runmake
113
114 cd $olddir
115}
116
117do_install_append() {
118 olddir=`pwd`
119 cd ${XSERVER_SOURCE_DIR}/hw/vnc
120
121 oe_runmake 'DESTDIR=${D}' install
122
123 cd $olddir
124}
125
126FILES_${PN} += " \
127 ${libdir}/xorg/modules/extensions \
128 ${datadir}/icons \
129"
130
131FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"