diff options
author | Ross Burton <ross.burton@intel.com> | 2015-12-11 15:08:57 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-28 09:25:17 +0000 |
commit | 8df88fb3c528c974fa55af42c064e06d615646de (patch) | |
tree | f34f262bfa72ba967ccd30838cb34a51e74b7bdc /meta/recipes-graphics | |
parent | d7759a5b433186c95af02c7d61ccaecf38191b74 (diff) | |
download | poky-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.bb | 4 | ||||
-rw-r--r-- | meta/recipes-graphics/xorg-proto/xcb-proto.inc | 9 | ||||
-rw-r--r-- | meta/recipes-graphics/xorg-proto/xcb-proto/no-python-native.patch | 27 |
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 | ||
20 | BBCLASSEXTEND = "native nativesdk" | 20 | BBCLASSEXTEND = "native nativesdk" |
21 | 21 | ||
22 | DEPENDS = "xcb-proto xproto libxau xcb-proto-native libpthread-stubs libxdmcp" | 22 | DEPENDS = "xcb-proto xproto libxau libpthread-stubs libxdmcp" |
23 | 23 | ||
24 | PACKAGES_DYNAMIC = "^libxcb-.*" | 24 | PACKAGES_DYNAMIC = "^libxcb-.*" |
25 | 25 | ||
26 | FILES_${PN} = "${libdir}/libxcb.so.*" | 26 | FILES_${PN} = "${libdir}/libxcb.so.*" |
27 | 27 | ||
28 | inherit autotools pkgconfig pythonnative distro_features_check | 28 | inherit 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 |
31 | REQUIRED_DISTRO_FEATURES = "x11" | 31 | REQUIRED_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" | |||
9 | SECTION = "x11/libs" | 9 | SECTION = "x11/libs" |
10 | LICENSE = "MIT-X" | 10 | LICENSE = "MIT-X" |
11 | 11 | ||
12 | SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2" | 12 | SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2 \ |
13 | file://no-python-native.patch" | ||
13 | 14 | ||
14 | inherit autotools pkgconfig pythonnative | 15 | inherit autotools pkgconfig |
15 | 16 | ||
16 | PACKAGES += "python-xcbgen" | 17 | PACKAGES += "python-xcbgen" |
17 | 18 | ||
19 | FILES_${PN} = "" | ||
18 | FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" | 20 | FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" |
19 | FILES_python-xcbgen = "${libdir}/python*" | 21 | FILES_python-xcbgen = "${libdir}/xcb-proto" |
20 | 22 | ||
21 | RDEPENDS_${PN}-dev = "" | 23 | RDEPENDS_${PN}-dev = "" |
22 | RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" | 24 | RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" |
23 | 25 | ||
24 | DEPENDS_append_class-native = " python-native" | ||
25 | BBCLASSEXTEND = "native nativesdk" | 26 | BBCLASSEXTEND = "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 @@ | |||
1 | Upstream uses AM_PATH_PYTHON to find a python binary and ask it where to install | ||
2 | libraries. This means we either need to depend on python-native (large build | ||
3 | dependency, early in the build) or use the host python (pythondir reflects the | ||
4 | host and not the target, breaks builds). | ||
5 | |||
6 | The third option is to just hardcode the path where the module goes, as most | ||
7 | callers of the code use pkg-config to find where it was installed anyway. | ||
8 | |||
9 | Upstream-Status: Inappropriate | ||
10 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
11 | |||
12 | diff --git a/configure.ac b/configure.ac | ||
13 | index 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) | ||