package/python-numpy: add host variant for piglit
PATCH v3 1/3 package/python-numpy: add host variant for piglit
host-python-numpy is required by piglit buildsystem for crosscompiling.
--- package/python-numpy/python-numpy.mk | 1 + 1 file changed, 1 insertion(+)
package/python-numpy/python-numpy.mk +1 -0
@@ -31,3 +31,4 @@ endef PYTHON_NUMPY_INSTALL_STAGING = YES $(eval $(python-package)) +$(eval $(host-python-package))
Signature · 1 line
2.14.4
PATCH v3 2/3 package/waffle: new package
waffle has four "backends", each having their own dependencies. At least one "backend" must be enabled, otherwise Waffle will refuse to build. The "backends" are:
- glx, which needs full OpenGL + x11-xcb
- wayland, which needs wayland-client, wayland-egl and EGL
- x11-egl, which needs x11-xcb and EGL
- gbm, which needs gbm, libudev and EGL
Backport an upstream patch fixing a build issue with musl toolchains. Add a new patch fixing build with Wayand without X11.
---
v3: rework waffle backends dependencies (ThomasP)
--- DEVELOPERS | 1 + package/Config.in | 1 + ...-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch | 54 ++++++++++++++++++++++ ...rd-cflags-from-.pc-files-to-waffle-cflags.patch | 40 ++++++++++++++++ package/waffle/Config.in | 48 +++++++++++++++++++ package/waffle/waffle.hash | 3 ++ package/waffle/waffle.mk | 48 +++++++++++++++++++ 7 files changed, 195 insertions(+) create mode 100644 package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch create mode 100644 package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch create mode 100644 package/waffle/Config.in create mode 100644 package/waffle/waffle.hash create mode 100644 package/waffle/waffle.mk
DEVELOPERS +1 -0
@@ -1784,6 +1784,7 @@ F: package/supertuxkart/ F: package/terminology/ F: package/tk/ F: package/upower/ +F: package/waffle/ F: package/xenomai/ N: Roman Gorbenkov <[email protected]>
package/Config.in +1 -0
@@ -1255,6 +1255,7 @@ menu "Graphics" source "package/poppler/Config.in" source "package/powervr/Config.in" source "package/tiff/Config.in" + source "package/waffle/Config.in" source "package/wayland/Config.in" source "package/wayland-protocols/Config.in" source "package/waylandpp/Config.in"
package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch new file +54 -0
54 lines not on this page · raw message
package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch new file +40 -0
@@ -0,0 +1,40 @@ +From 8b0ae49c8bea78df73c3ecae0059d54a95c561fa Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Sun, 24 Dec 2017 00:11:45 +0100 +Subject: [PATCH] cmake: forward cflags from *.pc files to waffle cflags + +When building mesa egl without x11 and gles2 the headers need a +MESA_EGL_NO_X11_HEADERS define to avoid including X11 headers. + +This define MESA_EGL_NO_X11_HEADERS is lost while building waffle +since CGLAGS defined by pc files are not used. + +MESA_EGL_NO_X11_HEADERS is defined in CFLAGS from egl.pc. + +Signed-off-by: Romain Naour <[email protected]> +--- + src/waffle/CMakeLists.txt | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/waffle/CMakeLists.txt b/src/waffle/CMakeLists.txt +index d76e029..2ff72c8 100644 +--- a/src/waffle/CMakeLists.txt ++++ b/src/waffle/CMakeLists.txt +@@ -5,6 +5,14 @@ + add_definitions( + -DWAFFLE_API_VERSION=${waffle_api_version} + -DWAFFLE_API_EXPERIMENTAL ++ ${egl_CFLAGS} ++ ${gbm_CFLAGS} ++ ${gl_CFLAGS} ++ ${GLEXT_CFLAGS} ++ ${libudev_CFLAGS} ++ ${wayland-client_CFLAGS} ++ ${wayland-egl_CFLAGS} ++ ${x11-xcb_CFLAGS} + ) + + include_directories( +-- +2.14.3 +
package/waffle/Config.in new file +48 -0
48 lines not on this page · raw message
package/waffle/waffle.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 d662f6743f688dc5ea4b7d29f558eb54bd8f57350080f04a006693d22e5d1d5b waffle-v1.5.2.tar.gz +sha256 630844d1911c8a1b7b888a1de9097c4860b7e381362fd5aa64141d58ab7ecc9b LICENSE.txt
package/waffle/waffle.mk new file +48 -0
48 lines not on this page · raw message
Signature · 1 line
2.14.4
PATCH v3 2/3 package/waffle: new package
Hello,
package/waffle/Config.in line 25
Quoted 7 lines · Romain Naour
package/waffle/Config.in new file +7
-0+config BR2_PACKAGE_WAFFLE + bool "waffle" + depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_GBM + depends on BR2_PACKAGE_HAS_LIBGLES # dlopen'ing the GLES libararies at runtime.
Are you sure that GLES support *must* be available ?
This seems very weird, because in a typical "desktop" context, with X.org and GLX, you have full OpenGL support, but you don't have GLES libraries available.
Is this dependency coming from actual runtime issues you have encountered ? Could you explain it in a bit more details ?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v3 2/3 package/waffle: new package
Hi Thomas,
Le 22/09/2018 ? 14:46, Thomas Petazzoni a ?crit?:
Quoted 14 lines
Hello,
package/waffle/Config.in line 25
Quoted 7 lines · Romain Naour
package/waffle/Config.in new file +7
-0+config BR2_PACKAGE_WAFFLE + bool "waffle" + depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_GBM + depends on BR2_PACKAGE_HAS_LIBGLES # dlopen'ing the GLES libararies at runtime.Are you sure that GLES support *must* be available ?
Quoted 6 lines
This seems very weird, because in a typical "desktop" context, with X.org and GLX, you have full OpenGL support, but you don't have GLES libraries available.
Is this dependency coming from actual runtime issues you have encountered ? Could you explain it in a bit more details ?
Well, no actual runtime issues.
I have them on my target and I haven't tested without them. I'm not sure how behave waffle if the library is missing.
Best regards,
Romain
Quoted 3 lines
Thomas
PATCH v3 2/3 package/waffle: new package
In reply to Romain NaourHello,
Quoted 15 lines · Romain Naour
waffle has four "backends", each having their own dependencies. At least one "backend" must be enabled, otherwise Waffle will refuse to build. The "backends" are:
- glx, which needs full OpenGL + x11-xcb
- wayland, which needs wayland-client, wayland-egl and EGL
- x11-egl, which needs x11-xcb and EGL
- gbm, which needs gbm, libudev and EGLBackport an upstream patch fixing a build issue with musl toolchains. Add a new patch fixing build with Wayand without X11.
Signed-off-by Romain Naour <[email protected]>---
v3: rework waffle backends dependencies (ThomasP)
Quoted 14 lines
--- DEVELOPERS | 1 + package/Config.in | 1 + ...-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch | 54 ++++++++++++++++++++++ ...rd-cflags-from-.pc-files-to-waffle-cflags.patch | 40 ++++++++++++++++ package/waffle/Config.in | 48 +++++++++++++++++++ package/waffle/waffle.hash | 3 ++ package/waffle/waffle.mk | 48 +++++++++++++++++++ 7 files changed, 195 insertions(+) create mode 100644 package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch create mode 100644 package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch create mode 100644 package/waffle/Config.in create mode 100644 package/waffle/waffle.hash create mode 100644 package/waffle/waffle.mk
I dropped the dependency on libgles, since there is no such build requirement in waffle. And then applied to master, thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v3 3/3 package/piglit: new package
In reply to Romain NaourPiglit is an open-source test suite for OpenGL implementations. It's an python3 script based around several tools like glxinfo, wflinfo, dmesg.
Even though waffle support can be replaced by freeglut, using pliglit with waffle is recommended since freeglut will be replaced by waffle.
---
v3: bump version, rebase after the switch to xorgproto
add a dependency on waffle package
reorder packages in Config.in
I'm not sure if we can avoid host-python-{mako,numpy,six} dependency because the build system is checking with host-python. Yocto packaging use the same workaround.
https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-graphics/piglit/piglit_git.bb
v2: bump version
--- DEVELOPERS | 1 + package/Config.in | 1 + package/piglit/Config.in | 32 +++++++++++++++++++++ package/piglit/piglit.hash | 6 ++++ package/piglit/piglit.mk | 69 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 package/piglit/Config.in create mode 100644 package/piglit/piglit.hash create mode 100644 package/piglit/piglit.mk
DEVELOPERS +1 -0
@@ -1777,6 +1777,7 @@ F: package/minetest/ F: package/minetest-game/ F: package/openpowerlink/ F: package/physfs/ +F: package/piglit/ F: package/solarus/ F: package/stress-ng/ F: package/supertux/
package/Config.in +1 -0
@@ -115,6 +115,7 @@ menu "Debugging, profiling and benchmark" source "package/nmon/Config.in" source "package/oprofile/Config.in" source "package/pax-utils/Config.in" + source "package/piglit/Config.in" source "package/pv/Config.in" source "package/racehound/Config.in" source "package/ramsmp/Config.in"
package/piglit/Config.in new file +32 -0
@@ -0,0 +1,32 @@ +config BR2_PACKAGE_PIGLIT + bool "piglit" + depends on BR2_PACKAGE_PYTHON3 # python3 only script + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on BR2_PACKAGE_WAFFLE # wflinfo, libwaffle-1 + select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_MESA3D_DEMOS # glxinfo + select BR2_PACKAGE_PYTHON_MAKO + select BR2_PACKAGE_PYTHON_NUMPY + select BR2_PACKAGE_PYTHON_SIX + select BR2_PACKAGE_PYTHON3_BZIP2 + select BR2_PACKAGE_PYTHON3_PYEXPAT + select BR2_PACKAGE_PYTHON3_XZ + select BR2_PACKAGE_PYTHON3_ZLIB + select BR2_PACKAGE_UTIL_LINUX # runtime dependency + select BR2_PACKAGE_UTIL_LINUX_BINARIES # require real dmesg tool + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_ZLIB + help + Piglit is an open-source test suite for OpenGL + implementations. + + https://piglit.freedesktop.org + +comment "piglit needs waffle" + depends on BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on !BR2_PACKAGE_WAFFLE
package/piglit/piglit.hash new file +6 -0
@@ -0,0 +1,6 @@ +# Locally calculated +sha256 50e76e953630b929cf2e68fca2a2b19b1032b68f623805a5172ead2ef22bc3b4 piglit-c0350279c5c1972a1ccff65b91de10ab9f4567e9.tar.gz +sha256 dcc398730859aee7cc1d6aa57f526f8d181b47bb3a49830e85b5723d5bc2c3bc COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licences/GPL-2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 licences/GPL-3 +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c licences/LGPL-2
package/piglit/piglit.mk new file +69 -0
69 lines not on this page · raw message
Signature · 1 line
2.14.4
PATCH v3 3/3 package/piglit: new package
Hi,
Ping.
The first version of this patch was sent one year ago:
http://patchwork.ozlabs.org/patch/852832/
If someone can take a look, it would be great.
Best regards,
Romain
Le 22/09/2018 ? 12:56, Romain Naour a ?crit?:
Quoted 19 lines
Piglit is an open-source test suite for OpenGL implementations. It's an python3 script based around several tools like glxinfo, wflinfo, dmesg.
Even though waffle support can be replaced by freeglut, using pliglit with waffle is recommended since freeglut will be replaced by waffle.
Signed-off-by Romain Naour <[email protected]>---
v3: bump version, rebase after the switch to xorgproto
add a dependency on waffle package
reorder packages in Config.in
I'm not sure if we can avoid host-python-{mako,numpy,six} dependency because the build system is checking with host-python. Yocto packaging use the same workaround.
https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-graphics/piglit/piglit_git.bb
v2: bump version
---
Thomas Petazzoni
AppliedPATCH v3 1/3 package/python-numpy: add host variant for piglit
In reply to Romain NaourHello,
Quoted 6 lines · Romain Naour
host-python-numpy is required by piglit buildsystem for crosscompiling.
Signed-off-by Romain Naour <[email protected]>--- package/python-numpy/python-numpy.mk | 1 + 1 file changed, 1 insertion(+)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com