1SUMMARY = "OpenGL driver testing framework" 2DESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \ 3implementations." 4HOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit" 5BUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues" 6LICENSE = "MIT & LGPL-2.0-or-later & GPL-3.0-only & GPL-2.0-or-later & BSD-3-Clause" 7LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" 8 9SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \ 10 file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ 11 file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \ 12 file://0001-tests-Fix-narrowing-errors-seen-with-clang.patch \ 13 file://0001-CMakeLists.txt-do-not-obtain-wayland-scanner-path-fr.patch \ 14 file://0001-tests-egl-spec-make-egl_ext_surface_compression-cond.patch \ 15 " 16UPSTREAM_CHECK_COMMITS = "1" 17 18SRCREV = "d04d6fff00849a2a8e29ef3251c6ca04a2f68dc7" 19# (when PV goes above 1.0 remove the trailing r) 20PV = "1.0+gitr" 21 22S = "${WORKDIR}/git" 23 24X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" 25X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" 26 27DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl" 28 29inherit cmake pkgconfig python3native features_check bash-completion 30 31# depends on virtual/libgl 32REQUIRED_DISTRO_FEATURES += "opengl" 33 34# The built scripts go into the temporary directory according to tempfile 35# (typically /tmp) which can race if multiple builds happen on the same machine, 36# so tell it to use a directory in ${B} to avoid overwriting. 37export TEMP = "${B}/temp/" 38do_compile[dirs] =+ "${B}/temp/" 39 40PACKAGECONFIG ??= " \ 41 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)} \ 42 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ 43" 44PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut," 45PACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF" 46PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,virtual/opencl-icd" 47PACKAGECONFIG[x11] = "-DPIGLIT_USE_X11=1 -DPIGLIT_BUILD_GL_TESTS=ON -DPIGLIT_BUILD_DMA_BUF_TESTS=ON,-DPIGLIT_USE_X11=0 -DPIGLIT_BUILD_GL_TESTS=OFF -DPIGLIT_BUILD_DMA_BUF_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}" 48PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,glslang-native vulkan-loader,glslang" 49PACKAGECONFIG[wayland] = "-DPIGLIT_USE_WAYLAND=1,-DPIGLIT_USE_WAYLAND=0,wayland-native wayland wayland-protocols" 50 51export PIGLIT_BUILD_DIR = "../../../../git" 52 53do_configure:prepend() { 54 if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then 55 sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h 56 sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h 57 fi 58} 59 60# Forcibly strip because Piglit is *huge*, and don't bother trying to split/strip the result. 61OECMAKE_TARGET_INSTALL = "install/strip" 62INHIBIT_PACKAGE_STRIP = "1" 63INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 64 65RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \ 66 python3-misc \ 67 python3-unixadmin python3-xml python3-multiprocessing \ 68 python3-six python3-shell python3-io \ 69 python3-netserver bash \ 70 " 71 72INSANE_SKIP:${PN} += "dev-so already-stripped" 73 74# As nothing builds against Piglit we don't need to have anything in the 75# sysroot, especially when this is ~2GB of test suite 76SYSROOT_DIRS:remove = "${libdir}" 77 78# Can't be built with ccache 79CCACHE_DISABLE = "1" 80