xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-graphics/piglit/piglit_git.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "OpenGL driver testing framework"
2*4882a593SmuzhiyunDESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \
3*4882a593Smuzhiyunimplementations."
4*4882a593SmuzhiyunHOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit"
5*4882a593SmuzhiyunBUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues"
6*4882a593SmuzhiyunLICENSE = "MIT & LGPL-2.0-or-later & GPL-3.0-only & GPL-2.0-or-later & BSD-3-Clause"
7*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
10*4882a593Smuzhiyun           file://0001-cmake-install-bash-completions-in-the-right-place.patch \
11*4882a593Smuzhiyun           file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
12*4882a593Smuzhiyun           file://0001-Add-a-missing-include-for-htobe32-definition.patch \
13*4882a593Smuzhiyun           file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
14*4882a593Smuzhiyun           "
15*4882a593SmuzhiyunUPSTREAM_CHECK_COMMITS = "1"
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunSRCREV = "2f80c7cc9c02d37574dc8ba3140b7dd8eb3cbf82"
18*4882a593Smuzhiyun# (when PV goes above 1.0 remove the trailing r)
19*4882a593SmuzhiyunPV = "1.0+gitr${SRCPV}"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunS = "${WORKDIR}/git"
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunX11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
24*4882a593SmuzhiyunX11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunDEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl"
27*4882a593Smuzhiyun
28*4882a593Smuzhiyuninherit cmake pkgconfig python3native features_check bash-completion
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun# depends on virtual/libgl
31*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES += "opengl"
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun# The built scripts go into the temporary directory according to tempfile
34*4882a593Smuzhiyun# (typically /tmp) which can race if multiple builds happen on the same machine,
35*4882a593Smuzhiyun# so tell it to use a directory in ${B} to avoid overwriting.
36*4882a593Smuzhiyunexport TEMP = "${B}/temp/"
37*4882a593Smuzhiyundo_compile[dirs] =+ "${B}/temp/"
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunPACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
40*4882a593SmuzhiyunPACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
41*4882a593SmuzhiyunPACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
42*4882a593SmuzhiyunPACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,vulkan-loader"
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunexport PIGLIT_BUILD_DIR = "../../../../git"
45*4882a593Smuzhiyun
46*4882a593Smuzhiyundo_configure:prepend() {
47*4882a593Smuzhiyun   if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then
48*4882a593Smuzhiyun        sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h
49*4882a593Smuzhiyun        sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h
50*4882a593Smuzhiyun   fi
51*4882a593Smuzhiyun}
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun# Forcibly strip because Piglit is *huge*
54*4882a593SmuzhiyunOECMAKE_TARGET_INSTALL = "install/strip"
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunRDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
57*4882a593Smuzhiyun	python3-misc \
58*4882a593Smuzhiyun	python3-unixadmin python3-xml python3-multiprocessing \
59*4882a593Smuzhiyun	python3-six python3-shell python3-io \
60*4882a593Smuzhiyun	python3-netserver bash \
61*4882a593Smuzhiyun	"
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunINSANE_SKIP:${PN} += "dev-so already-stripped"
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun# As nothing builds against Piglit we don't need to have anything in the
66*4882a593Smuzhiyun# sysroot, especially when this is ~2GB of test suite
67*4882a593SmuzhiyunSYSROOT_DIRS:remove = "${libdir}"
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun# Can't be built with ccache
70*4882a593SmuzhiyunCCACHE_DISABLE = "1"
71