summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb
blob: 25a8373e0b9a7a376a25e96d9010521e663d526b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
SUMMARY = "XCB: The X protocol C binding headers"
DESCRIPTION = "Function prototypes for the X protocol C-language Binding \
(XCB).  XCB is a replacement for Xlib featuring a small footprint, \
latency hiding, direct access to the protocol, improved threading \
support, and extensibility."
HOMEPAGE = "http://xcb.freedesktop.org"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"

SECTION = "x11/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \
                    file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65"

SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2 \
           file://0001-Make-whitespace-use-consistent.patch \
           file://0002-print-is-a-function-and-needs-parentheses.patch \
           "
SRC_URI[md5sum] = "14e60919f859560f28426a685a555962"
SRC_URI[sha256sum] = "5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906"

inherit autotools pkgconfig

# Force the use of Python 3 and a specific library path so we don't need to
# depend on python3-native
CACHED_CONFIGUREVARS += "PYTHON=python3 am_cv_python_pythondir=${libdir}/xcb-proto"

PACKAGES += "python-xcbgen"

FILES_${PN} = ""
FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
FILES_python-xcbgen = "${libdir}/xcb-proto"

RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"

BBCLASSEXTEND = "native nativesdk"

# Need to do this dance because we're forcing the use of host Python above and
# if xcb-proto is built with Py3.5 and then re-used from sstate on a host with
# Py3.6 the second build will write new cache files into the sysroot which won't
# be listed in the manifest so won't be deleted, resulting in an error on
# rebuilds.  Solve this by deleting the entire cache directory when this package
# is removed from the sysroot.
SSTATEPOSTINSTFUNCS += "xcb_sstate_postinst"
xcb_sstate_postinst() {
	if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
	then
		cat <<EOF >${SSTATE_INST_POSTRM}
#!/bin/sh
rm -rf ${libdir}/xcb-proto/xcbgen/__pycache__
EOF
	fi
}