summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-12-11 15:08:57 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-28 09:25:17 +0000
commit8df88fb3c528c974fa55af42c064e06d615646de (patch)
treef34f262bfa72ba967ccd30838cb34a51e74b7bdc /meta/recipes-graphics
parentd7759a5b433186c95af02c7d61ccaecf38191b74 (diff)
downloadpoky-8df88fb3c528c974fa55af42c064e06d615646de.tar.gz
xcb: don't build-depend on python-native
xcb-proto had a dependency on python-native as it builds and installs a Python module, but xcb-proto is very low in the build to force a dependency on python-native. As it turns out libxcb simply asks pkg-config for the full path to the module xcb-proto installed and uses it directly so there is no need to build python-native. Instead replace AM_PATH_PYTHON with two explicit variable definitions (need to set PYTHON for automake's install logic). Also remove the dependency on xcb-proto-native as libxcb uses the data files and tooling from the target sysroot, and patching it to use the native sysroot adds complication for no good reason. (From OE-Core rev: bc38ef47b05128623a916172c2cfd244510b201e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcb_1.11.1.bb4
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto.inc9
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto/no-python-native.patch27
3 files changed, 34 insertions, 6 deletions
diff --git a/meta/recipes-graphics/xorg-lib/libxcb_1.11.1.bb b/meta/recipes-graphics/xorg-lib/libxcb_1.11.1.bb
index 6b944c9b0b..4372be1a0d 100644
--- a/meta/recipes-graphics/xorg-lib/libxcb_1.11.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcb_1.11.1.bb
@@ -19,13 +19,13 @@ SRC_URI[sha256sum] = "b720fd6c7d200e5371affdb3f049cc8f88cff9aed942ff1b824d95eedb
19 19
20BBCLASSEXTEND = "native nativesdk" 20BBCLASSEXTEND = "native nativesdk"
21 21
22DEPENDS = "xcb-proto xproto libxau xcb-proto-native libpthread-stubs libxdmcp" 22DEPENDS = "xcb-proto xproto libxau libpthread-stubs libxdmcp"
23 23
24PACKAGES_DYNAMIC = "^libxcb-.*" 24PACKAGES_DYNAMIC = "^libxcb-.*"
25 25
26FILES_${PN} = "${libdir}/libxcb.so.*" 26FILES_${PN} = "${libdir}/libxcb.so.*"
27 27
28inherit autotools pkgconfig pythonnative distro_features_check 28inherit autotools pkgconfig distro_features_check
29 29
30# The libxau and others requires x11 in DISTRO_FEATURES 30# The libxau and others requires x11 in DISTRO_FEATURES
31REQUIRED_DISTRO_FEATURES = "x11" 31REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto.inc b/meta/recipes-graphics/xorg-proto/xcb-proto.inc
index 2e1b57bae4..8703d6391c 100644
--- a/meta/recipes-graphics/xorg-proto/xcb-proto.inc
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto.inc
@@ -9,17 +9,18 @@ BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"
9SECTION = "x11/libs" 9SECTION = "x11/libs"
10LICENSE = "MIT-X" 10LICENSE = "MIT-X"
11 11
12SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2" 12SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2 \
13 file://no-python-native.patch"
13 14
14inherit autotools pkgconfig pythonnative 15inherit autotools pkgconfig
15 16
16PACKAGES += "python-xcbgen" 17PACKAGES += "python-xcbgen"
17 18
19FILES_${PN} = ""
18FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" 20FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
19FILES_python-xcbgen = "${libdir}/python*" 21FILES_python-xcbgen = "${libdir}/xcb-proto"
20 22
21RDEPENDS_${PN}-dev = "" 23RDEPENDS_${PN}-dev = ""
22RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" 24RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
23 25
24DEPENDS_append_class-native = " python-native"
25BBCLASSEXTEND = "native nativesdk" 26BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto/no-python-native.patch b/meta/recipes-graphics/xorg-proto/xcb-proto/no-python-native.patch
new file mode 100644
index 0000000000..f808e1963b
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto/no-python-native.patch
@@ -0,0 +1,27 @@
1Upstream uses AM_PATH_PYTHON to find a python binary and ask it where to install
2libraries. This means we either need to depend on python-native (large build
3dependency, early in the build) or use the host python (pythondir reflects the
4host and not the target, breaks builds).
5
6The third option is to just hardcode the path where the module goes, as most
7callers of the code use pkg-config to find where it was installed anyway.
8
9Upstream-Status: Inappropriate
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11
12diff --git a/configure.ac b/configure.ac
13index d140bfe..c7b68da 100644
14--- a/configure.ac
15+++ b/configure.ac
16@@ -14,7 +14,10 @@ if test "$XMLLINT" = "no"; then
17 AC_MSG_WARN([xmllint not found; unable to validate against schema.])
18 fi
19
20-AM_PATH_PYTHON([2.5])
21+pythondir="${libdir}/xcb-proto"
22+AC_SUBST(pythondir)
23+PYTHON="python"
24+AC_SUBST(PYTHON)
25
26 xcbincludedir='${datadir}/xcb'
27 AC_SUBST(xcbincludedir)