1SUMMARY = "OpenGL driver testing framework"
2DESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \
3implementations."
4LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
6
7SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \
8           file://0001-cmake-install-bash-completions-in-the-right-place.patch \
9           file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
10           file://0001-Add-a-missing-include-for-htobe32-definition.patch \
11           file://0001-generated_tests-gen_tcs-tes_input_tests.py-do-not-ha.patch \
12           file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
13           file://0001-serializer.py-make-.gz-files-reproducible.patch \
14           file://0001-framework-profile.py-make-test-lists-reproducible.patch \
15           file://0001-tests-shader.py-sort-the-file-list-before-working-on.patch \
16           file://0001-render-ops.c-add-missing-format-string.patch \
17           "
18UPSTREAM_CHECK_COMMITS = "1"
19
20SRCREV = "603deba4ab66e2a8948693a14d715e536caddcc5"
21# (when PV goes above 1.0 remove the trailing r)
22PV = "1.0+gitr${SRCPV}"
23
24S = "${WORKDIR}/git"
25
26X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
27X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
28
29DEPENDS = "libpng waffle libxkbcommon virtual/libgl python3-mako-native python3-numpy-native python3-six-native virtual/egl"
30
31inherit cmake pkgconfig python3native features_check bash-completion
32
33# depends on virtual/libgl
34REQUIRED_DISTRO_FEATURES += "opengl"
35
36# The built scripts go into the temporary directory according to tempfile
37# (typically /tmp) which can race if multiple builds happen on the same machine,
38# so tell it to use a directory in ${B} to avoid overwriting.
39export TEMP = "${B}/temp/"
40do_compile[dirs] =+ "${B}/temp/"
41
42PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
43PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
44PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
45
46export PIGLIT_BUILD_DIR = "../../../../git"
47
48do_configure_prepend() {
49   if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then
50        sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h
51        sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h
52   fi
53}
54
55# Forcibly strip because Piglit is *huge*
56OECMAKE_TARGET_INSTALL = "install/strip"
57
58RDEPENDS_${PN} = "waffle waffle-bin python3 python3-mako python3-json \
59	python3-misc \
60	python3-unixadmin python3-xml python3-multiprocessing \
61	python3-six python3-shell python3-io \
62	python3-netserver bash \
63	"
64
65INSANE_SKIP_${PN} += "dev-so already-stripped"
66
67# As nothing builds against Piglit we don't need to have anything in the
68# sysroot, especially when this is ~2GB of test suite
69SYSROOT_DIRS_remove = "${libdir}"
70
71# Can't be built with ccache
72CCACHE_DISABLE = "1"
73