From e47715708729fe3fed2c5bcafa06f5f1c84f302f Mon Sep 17 00:00:00 2001 From: Fabio Berton Date: Wed, 15 May 2019 18:22:43 +0200 Subject: mesa: Convert recipe to use meson build system - Remove all non related meson patches - Change radeon driver to r100 - Add python3-mako-native gettext-native to DEPENDS Based on https://patchwork.openembedded.org/patch/158748/ Alex: added a patch to restore glx-tls option, which addresses the musl runtime issue. (From OE-Core rev: c72b6d46d392bfbcf54154f43663a7a8ada8c567) Signed-off-by: Fabio Berton Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../0001-Simplify-wayland-scanner-lookup.patch | 44 ------------------- ...-check-for-all-linux-host_os-combinations.patch | 51 ++++++++++++++++++++++ ...1-meson.build-make-TLS-GLX-optional-again.patch | 44 +++++++++++++++++++ .../0002-winsys-svga-drm-Include-sys-types.h.patch | 35 --------------- ...t-LLVM-version-when-using-LLVM-Git-releas.patch | 45 ------------------- ...CK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch | 38 ---------------- 6 files changed, 95 insertions(+), 162 deletions(-) delete mode 100644 meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch create mode 100644 meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch create mode 100644 meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch delete mode 100644 meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch delete mode 100644 meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch delete mode 100644 meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch (limited to 'meta/recipes-graphics/mesa/files') diff --git a/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch b/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch deleted file mode 100644 index d065e2285c..0000000000 --- a/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e53837ad7b01364f34a533b95f4817c1795789de Mon Sep 17 00:00:00 2001 -From: Fabio Berton -Date: Wed, 20 Feb 2019 16:17:00 -0300 -Subject: [PATCH 1/4] Simplify wayland-scanner lookup -Organization: O.S. Systems Software LTDA. - -Don't use pkg-config to lookup the path of a binary that's in the path. - -Alternatively we'd have to prefix the path returned by pkg-config with -PKG_CONFIG_SYSROOT_DIR. - -Upstream-Status: Pending -Signed-off-by: Jussi Kukkonen -Signed-off-by: Otavio Salvador -Signed-off-by: Fabio Berton ---- - configure.ac | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1ef68fe68e6..1816a4cd475 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1854,16 +1854,11 @@ for plat in $platforms; do - fi - WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` - -- PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -- WAYLAND_SCANNER='') - PKG_CHECK_EXISTS([wayland-scanner >= 1.15], - AC_SUBST(SCANNER_ARG, 'private-code'), - AC_SUBST(SCANNER_ARG, 'code')) - -- if test "x$WAYLAND_SCANNER" = x; then -- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) -- fi -+ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) - - if test "x$WAYLAND_SCANNER" = "x:"; then - AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) --- -2.21.0 - diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch new file mode 100644 index 0000000000..61e24c6e9f --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -0,0 +1,51 @@ +From 498f230c9446fc7a1b4dc77ff6b84ee1a3b53bf4 Mon Sep 17 00:00:00 2001 +From: Fabio Berton +Date: Wed, 24 Apr 2019 17:01:24 -0300 +Subject: [PATCH] meson.build: check for all linux host_os combinations +Organization: O.S. Systems Software LTDA. + +Make sure that we are also looking for our host_os combinations like +linux-musl etc. when assuming support for DRM/KMS. + +Also delete a duplicate line. + +Signed-off-by: Anuj Mittal +Signed-off-by: Fabio Berton +--- + meson.build | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 53d02e31097..c41f6b4e402 100644 +--- a/meson.build ++++ b/meson.build +@@ -34,6 +34,8 @@ cpp = meson.get_compiler('cpp') + + null_dep = dependency('', required : false) + ++system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux') ++ + # Arguments for the preprocessor, put these in a separate array from the C and + # C++ (cpp in meson terminology) arguments since they need to be added to the + # default arguments for both C and C++. +@@ -89,8 +91,6 @@ if (with_gles1 or with_gles2) and not with_opengl + error('building OpenGL ES without OpenGL is not supported.') + endif + +-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 'linux'].contains(host_machine.system()) +- + _drivers = get_option('dri-drivers') + if _drivers.contains('auto') + if system_has_kms_drm +@@ -792,7 +792,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', + endif + + # TODO: this is very incomplete +-if ['linux', 'cygwin', 'gnu'].contains(host_machine.system()) ++if ['cygwin', 'gnu'].contains(host_machine.system()) or host_machine.system().startswith('linux') + pre_args += '-D_GNU_SOURCE' + endif + +-- +2.21.0 + diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch new file mode 100644 index 0000000000..8fabafcb35 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch @@ -0,0 +1,44 @@ +From 48318f1a5c9042a8e1bb4456c2584362b25c4a59 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 15 May 2019 17:21:51 +0200 +Subject: [PATCH] meson.build: make TLS GLX optional again + +This was optional with autotools, and needs to be disabled +when using musl C library, for instance. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + meson.build | 4 +++- + meson_options.txt | 6 ++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index c41f6b4..8843f3c 100644 +--- a/meson.build ++++ b/meson.build +@@ -336,7 +336,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) + endif + endif + +-pre_args += '-DGLX_USE_TLS' ++if get_option('glx-tls') ++ pre_args += '-DGLX_USE_TLS' ++endif + if with_glx != 'disabled' + if not (with_platform_x11 and with_any_opengl) + error('Cannot build GLX support without X11 platform support and at least one OpenGL API') +diff --git a/meson_options.txt b/meson_options.txt +index ccf7065..0f1e800 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -324,3 +324,9 @@ option( + value : true, + description : 'Enable direct rendering in GLX and EGL for DRI', + ) ++option( ++ 'glx-tls', ++ type : 'boolean', ++ value : true, ++ description : 'Enable TLS support in GLX', ++) diff --git a/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch b/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch deleted file mode 100644 index aaeb0f11ba..0000000000 --- a/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f212b6bed4bf265aec069c21cdc4b7c2d9cb32df Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 16 Aug 2017 18:58:20 -0700 -Subject: [PATCH 2/4] winsys/svga/drm: Include sys/types.h -Organization: O.S. Systems Software LTDA. - -vmw_screen.h uses dev_t which is defines in sys/types.h -this header is required to be included for getting dev_t -definition. This issue happens on musl C library, it is hidden -on glibc since sys/types.h is included through another -system headers - -Signed-off-by: Khem Raj -Upstream-Status: Backport [7dfdfbf8c37e52e7b9b09f7d1d434edad3ebc864] -Signed-off-by: Otavio Salvador -Signed-off-by: Fabio Berton ---- - src/gallium/winsys/svga/drm/vmw_screen.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h -index a87c087d9c5..cb34fec48e7 100644 ---- a/src/gallium/winsys/svga/drm/vmw_screen.h -+++ b/src/gallium/winsys/svga/drm/vmw_screen.h -@@ -41,6 +41,7 @@ - #include "svga_winsys.h" - #include "pipebuffer/pb_buffer_fenced.h" - #include -+#include - - #define VMW_GMR_POOL_SIZE (16*1024*1024) - #define VMW_QUERY_POOL_SIZE (8192) --- -2.21.0 - diff --git a/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch b/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch deleted file mode 100644 index 96edc2172b..0000000000 --- a/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ce7b9ff6517fda089f296b2af2c1c49604872514 Mon Sep 17 00:00:00 2001 -From: Otavio Salvador -Date: Tue, 5 Jun 2018 11:11:10 -0300 -Subject: [PATCH 3/4] Properly get LLVM version when using LLVM Git releases -Organization: O.S. Systems Software LTDA. - -$ llvm-config-host --version -5.0.0git-9a5c333388c - -We need to ignore everything after 5.0.0 which is what the cut cmd is -doing - -Upstream-Status: Pending -Signed-off-by: Khem Raj -Signed-off-by: Otavio Salvador -Signed-off-by: Fabio Berton ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1816a4cd475..13fed9daf59 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1124,7 +1124,7 @@ strip_unwanted_llvm_flags() { - - llvm_set_environment_variables() { - if test "x$LLVM_CONFIG" != xno; then -- LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'` -+ LLVM_VERSION=`$LLVM_CONFIG --version | cut -c1-5` - LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` - LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir` - LLVM_LIBDIR=`$LLVM_CONFIG --libdir` -@@ -2870,7 +2870,7 @@ detect_old_buggy_llvm() { - dnl ourselves. - dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) - dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, -- LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` -+ LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version | cut -c1-5` - AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) - - if test "x$llvm_have_one_so" = xyes; then --- -2.21.0 - diff --git a/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch b/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch deleted file mode 100644 index 45bcd466a3..0000000000 --- a/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5489e1d22e18740a1924628c5c97096d48dcfbf8 Mon Sep 17 00:00:00 2001 -From: Fabio Berton -Date: Fri, 15 Feb 2019 10:57:06 -0200 -Subject: [PATCH 4/4] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR -Organization: O.S. Systems Software LTDA. - -This allows to override the wayland-protocols pkgdatadir with the -WAYLAND_PROTOCOLS_DATADIR from environment. - -pkgconfig would return an absolute path in -/usr/share/wayland-protocols -for the pkgdatadir value, which is not suitable for cross-compiling. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj -Signed-off-by: Otavio Salvador -Signed-off-by: Fabio Berton ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 13fed9daf59..6cff8afb7cf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1852,7 +1852,7 @@ for plat in $platforms; do - if test "x$enable_egl" = xyes; then - PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl-backend >= $WAYLAND_EGL_BACKEND_REQUIRED]) - fi -- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` -+ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir) - - PKG_CHECK_EXISTS([wayland-scanner >= 1.15], - AC_SUBST(SCANNER_ARG, 'private-code'), --- -2.21.0 - -- cgit v1.2.3-54-g00ecf