blob: 99d75e64f86cd93c0a59113f8cbfb9ae396486f6 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "OpenGL driver testing framework"
Brad Bishop1d80a2e2019-11-15 16:35:03 -05002DESCRIPTION = "Piglit is an open-source test suite for OpenGL and OpenCL \
3implementations."
Andrew Geissler90fd73c2021-03-05 15:25:55 -06004HOMEPAGE = "https://gitlab.freedesktop.org/mesa/piglit"
5BUGTRACKER = "https://gitlab.freedesktop.org/mesa/piglit/-/issues"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00006LICENSE = "MIT & LGPL-2.0-or-later & GPL-3.0-only & GPL-2.0-or-later & BSD-3-Clause"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
8
Andrew Geisslereff27472021-10-29 15:35:00 -05009SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
Patrick Williams92b42cb2022-09-03 06:53:57 -050010 file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
11 file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
Andrew Geissler028142b2023-05-05 11:29:21 -050012 file://0001-tests-Fix-narrowing-errors-seen-with-clang.patch \
Patrick Williams73bd93f2024-02-20 08:07:48 -060013 file://0001-utils-Include-libgen.h-on-musl-linux-systems.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050014 "
Brad Bishop316dfdd2018-06-25 12:45:53 -040015UPSTREAM_CHECK_COMMITS = "1"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050016
Patrick Williamsb58112e2024-03-07 11:16:36 -060017SRCREV = "22eaf6a91cfd57f7bb3df4e5068c2ac1472d4ec1"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050018# (when PV goes above 1.0 remove the trailing r)
Andrew Geissler5082cc72023-09-11 08:41:39 -040019PV = "1.0+gitr"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050020
21S = "${WORKDIR}/git"
22
Brad Bishopc342db32019-05-15 21:57:59 -040023X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
24X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
25
Andrew Geissler9aee5002022-03-30 16:27:02 +000026DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027
Brad Bishop6dbb3162019-11-25 09:41:34 -050028inherit cmake pkgconfig python3native features_check bash-completion
Patrick Williamsc124f4f2015-09-15 14:41:29 -050029
Brad Bishop6e60e8b2018-02-01 10:27:11 -050030# depends on virtual/libgl
31REQUIRED_DISTRO_FEATURES += "opengl"
32
Patrick Williamsf1e5d692016-03-30 15:21:19 -050033# The built scripts go into the temporary directory according to tempfile
34# (typically /tmp) which can race if multiple builds happen on the same machine,
35# so tell it to use a directory in ${B} to avoid overwriting.
36export TEMP = "${B}/temp/"
37do_compile[dirs] =+ "${B}/temp/"
38
Patrick Williams92b42cb2022-09-03 06:53:57 -050039PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050040PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
Patrick Williams92b42cb2022-09-03 06:53:57 -050041PACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF"
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050042PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,virtual/opencl-icd"
Brad Bishopc342db32019-05-15 21:57:59 -040043PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
Patrick Williamse760df82023-05-26 11:10:49 -050044PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,glslang-native vulkan-loader,glslang"
Brad Bishopc342db32019-05-15 21:57:59 -040045
Andrew Geissler09209ee2020-12-13 08:44:15 -060046export PIGLIT_BUILD_DIR = "../../../../git"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050047
Patrick Williams213cb262021-08-07 19:21:33 -050048do_configure:prepend() {
Patrick Williamsc124f4f2015-09-15 14:41:29 -050049 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
Patrick Williams2390b1b2022-11-03 13:47:49 -050055# Forcibly strip because Piglit is *huge*, and don't bother trying to split/strip the result.
Brad Bishop316dfdd2018-06-25 12:45:53 -040056OECMAKE_TARGET_INSTALL = "install/strip"
Patrick Williams2390b1b2022-11-03 13:47:49 -050057INHIBIT_PACKAGE_STRIP = "1"
58INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060059
Patrick Williams213cb262021-08-07 19:21:33 -050060RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
Brad Bishop316dfdd2018-06-25 12:45:53 -040061 python3-misc \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060062 python3-unixadmin python3-xml python3-multiprocessing \
Brad Bishop316dfdd2018-06-25 12:45:53 -040063 python3-six python3-shell python3-io \
Brad Bishopc342db32019-05-15 21:57:59 -040064 python3-netserver bash \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050065 "
66
Patrick Williams213cb262021-08-07 19:21:33 -050067INSANE_SKIP:${PN} += "dev-so already-stripped"
Brad Bishop19323692019-04-05 15:28:33 -040068
Andrew Geissler82c905d2020-04-13 13:39:40 -050069# As nothing builds against Piglit we don't need to have anything in the
70# sysroot, especially when this is ~2GB of test suite
Patrick Williams213cb262021-08-07 19:21:33 -050071SYSROOT_DIRS:remove = "${libdir}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050072
Brad Bishop19323692019-04-05 15:28:33 -040073# Can't be built with ccache
74CCACHE_DISABLE = "1"