1eb8dc403SDave CobbleySUMMARY = "OpenGL driver testing framework"
21d80a2eaSBrad BishopDESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \
31d80a2eaSBrad Bishopimplementations."
490fd73cbSAndrew GeisslerHOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit"
590fd73cbSAndrew GeisslerBUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues"
67e0e3c0cSAndrew GeisslerLICENSE = "MIT & LGPL-2.0-or-later & GPL-3.0-only & GPL-2.0-or-later & BSD-3-Clause"
7eb8dc403SDave CobbleyLIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
8eb8dc403SDave Cobbley
9eff27476SAndrew GeisslerSRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
1092b42cb3SPatrick Williams           file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
1192b42cb3SPatrick Williams           file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
12028142bdSAndrew Geissler           file://0001-tests-Fix-narrowing-errors-seen-with-clang.patch \
13*73bd93f1SPatrick Williams           file://0001-utils-Include-libgen.h-on-musl-linux-systems.patch \
1487f5cff0SAndrew Geissler           "
15eb8dc403SDave CobbleyUPSTREAM_CHECK_COMMITS = "1"
16eb8dc403SDave Cobbley
17*73bd93f1SPatrick WilliamsSRCREV = "f3f1b3f960611a88cb1a037114ba4724f1bf330e"
18eb8dc403SDave Cobbley# (when PV goes above 1.0 remove the trailing r)
195082cc7fSAndrew GeisslerPV = "1.0+gitr"
20eb8dc403SDave Cobbley
21eb8dc403SDave CobbleyS = "${WORKDIR}/git"
22eb8dc403SDave Cobbley
23c342db35SBrad BishopX11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
24c342db35SBrad BishopX11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
25c342db35SBrad Bishop
269aee5003SAndrew GeisslerDEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl"
27eb8dc403SDave Cobbley
286dbb316aSBrad Bishopinherit cmake pkgconfig python3native features_check bash-completion
29eb8dc403SDave Cobbley
30eb8dc403SDave Cobbley# depends on virtual/libgl
31eb8dc403SDave CobbleyREQUIRED_DISTRO_FEATURES += "opengl"
32eb8dc403SDave Cobbley
33eb8dc403SDave Cobbley# The built scripts go into the temporary directory according to tempfile
34eb8dc403SDave Cobbley# (typically /tmp) which can race if multiple builds happen on the same machine,
35eb8dc403SDave Cobbley# so tell it to use a directory in ${B} to avoid overwriting.
36eb8dc403SDave Cobbleyexport TEMP = "${B}/temp/"
37eb8dc403SDave Cobbleydo_compile[dirs] =+ "${B}/temp/"
38eb8dc403SDave Cobbley
3992b42cb3SPatrick WilliamsPACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)}"
40eb8dc403SDave CobbleyPACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
4192b42cb3SPatrick WilliamsPACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF"
42fc113eadSAndrew GeisslerPACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,virtual/opencl-icd"
43c342db35SBrad BishopPACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
44e760df85SPatrick WilliamsPACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,glslang-native vulkan-loader,glslang"
45c342db35SBrad Bishop
4609209eecSAndrew Geisslerexport PIGLIT_BUILD_DIR = "../../../../git"
47eb8dc403SDave Cobbley
48213cb269SPatrick Williamsdo_configure:prepend() {
49eb8dc403SDave Cobbley   if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then
50eb8dc403SDave Cobbley        sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h
51eb8dc403SDave Cobbley        sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h
52eb8dc403SDave Cobbley   fi
53eb8dc403SDave Cobbley}
54eb8dc403SDave Cobbley
552390b1b6SPatrick Williams# Forcibly strip because Piglit is *huge*, and don't bother trying to split/strip the result.
56eb8dc403SDave CobbleyOECMAKE_TARGET_INSTALL = "install/strip"
572390b1b6SPatrick WilliamsINHIBIT_PACKAGE_STRIP = "1"
582390b1b6SPatrick WilliamsINHIBIT_PACKAGE_DEBUG_SPLIT = "1"
59eb8dc403SDave Cobbley
60213cb269SPatrick WilliamsRDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
61eb8dc403SDave Cobbley	python3-misc \
62eb8dc403SDave Cobbley	python3-unixadmin python3-xml python3-multiprocessing \
63eb8dc403SDave Cobbley	python3-six python3-shell python3-io \
64c342db35SBrad Bishop	python3-netserver bash \
65eb8dc403SDave Cobbley	"
66eb8dc403SDave Cobbley
67213cb269SPatrick WilliamsINSANE_SKIP:${PN} += "dev-so already-stripped"
6819323693SBrad Bishop
6982c905dcSAndrew Geissler# As nothing builds against Piglit we don't need to have anything in the
7082c905dcSAndrew Geissler# sysroot, especially when this is ~2GB of test suite
71213cb269SPatrick WilliamsSYSROOT_DIRS:remove = "${libdir}"
7282c905dcSAndrew Geissler
7319323693SBrad Bishop# Can't be built with ccache
7419323693SBrad BishopCCACHE_DISABLE = "1"
75