From bc38ef47b05128623a916172c2cfd244510b201e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 11 Dec 2015 15:08:57 +0000 Subject: 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. Signed-off-by: Ross Burton --- meta/recipes-graphics/xorg-lib/libxcb_1.11.1.bb | 4 ++-- meta/recipes-graphics/xorg-proto/xcb-proto.inc | 9 ++++---- .../xorg-proto/xcb-proto/no-python-native.patch | 27 ++++++++++++++++++++++ 3 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-graphics/xorg-proto/xcb-proto/no-python-native.patch 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 BBCLASSEXTEND = "native nativesdk" -DEPENDS = "xcb-proto xproto libxau xcb-proto-native libpthread-stubs libxdmcp" +DEPENDS = "xcb-proto xproto libxau libpthread-stubs libxdmcp" PACKAGES_DYNAMIC = "^libxcb-.*" FILES_${PN} = "${libdir}/libxcb.so.*" -inherit autotools pkgconfig pythonnative distro_features_check +inherit autotools pkgconfig distro_features_check # The libxau and others requires x11 in DISTRO_FEATURES 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" SECTION = "x11/libs" LICENSE = "MIT-X" -SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2" +SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2 \ + file://no-python-native.patch" -inherit autotools pkgconfig pythonnative +inherit autotools pkgconfig PACKAGES += "python-xcbgen" +FILES_${PN} = "" FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" -FILES_python-xcbgen = "${libdir}/python*" +FILES_python-xcbgen = "${libdir}/xcb-proto" RDEPENDS_${PN}-dev = "" RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" -DEPENDS_append_class-native = " python-native" 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 @@ +Upstream uses AM_PATH_PYTHON to find a python binary and ask it where to install +libraries. This means we either need to depend on python-native (large build +dependency, early in the build) or use the host python (pythondir reflects the +host and not the target, breaks builds). + +The third option is to just hardcode the path where the module goes, as most +callers of the code use pkg-config to find where it was installed anyway. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +diff --git a/configure.ac b/configure.ac +index d140bfe..c7b68da 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -14,7 +14,10 @@ if test "$XMLLINT" = "no"; then + AC_MSG_WARN([xmllint not found; unable to validate against schema.]) + fi + +-AM_PATH_PYTHON([2.5]) ++pythondir="${libdir}/xcb-proto" ++AC_SUBST(pythondir) ++PYTHON="python" ++AC_SUBST(PYTHON) + + xcbincludedir='${datadir}/xcb' + AC_SUBST(xcbincludedir) -- cgit 1.2.3-korg