diff options
Diffstat (limited to 'mesa/muon.patch')
| -rw-r--r-- | mesa/muon.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/mesa/muon.patch b/mesa/muon.patch new file mode 100644 index 00000000..0e03943b --- /dev/null +++ b/mesa/muon.patch @@ -0,0 +1,87 @@ +--- mesa-26.1.2-orig/meson.build ++++ mesa-26.1.2/meson.build +@@ -1895,16 +1895,10 @@ + .disable_auto_if(host_machine.system() == 'windows') \ + .allowed() + +-dep_llvm = dependency( +- 'llvm', +- method : host_machine.system() == 'windows' ? 'auto' : 'config-tool', +- version : _llvm_version, +- modules : llvm_modules, +- optional_modules : llvm_optional_modules, +- required : with_llvm, +- static : not _shared_llvm, +- fallback : ['llvm', 'dep_llvm'], +- include_type : 'system', ++dep_llvm = declare_dependency( ++ include_directories: include_directories('@APKGLLVMINCLUDEDIR@'), ++ link_args: ['@APKGLLVMLIBS@', '@APKGLLVMLDFLAGS@'], ++ version: '@APKGLLVMVERSION@', + ) + if dep_llvm.found() + pre_args += '-DMESA_LLVM_VERSION_STRING="@0@"'.format(dep_llvm.version()) +@@ -1928,7 +1922,7 @@ + # ensure that linking works. Note that Win32 compilers does handle mismatching RTTI + # without issues, so only apply this for other compilers. + if dep_llvm.type_name() == 'internal' +- _llvm_rtti = subproject('llvm').get_variable('has_rtti', true) ++ _llvm_rtti = true + else + # The CMake finder will return 'ON', the llvm-config will return 'YES' + _llvm_rtti = ['ON', 'YES'].contains(dep_llvm.get_variable(cmake : 'LLVM_ENABLE_RTTI', configtool: 'has-rtti')) +@@ -1992,7 +1986,7 @@ + + dep_clang = null_dep + if with_clc +- llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir') ++ llvm_libdir = '/usr/lib' + + dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false) + +@@ -2162,7 +2156,16 @@ + pre_args += ['-DHAVE_WL_CREATE_QUEUE_WITH_NAME'] + endif + # This can be renamed just `wayland` when we require at least 1.8 +- mod_wl = import('unstable-wayland') ++ wayland_protocols_dep = dependency('wayland-protocols') ++ wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir') ++ wayland_scanner = find_program('wayland-scanner') ++ ++ gen_client_header = generator(wayland_scanner, ++ output: '@BASENAME@-client-protocol.h', ++ arguments: ['client-header', '@INPUT@', '@OUTPUT@']) ++ gen_private_code = generator(wayland_scanner, ++ output: '@BASENAME@-protocol.c', ++ arguments: ['private-code', '@INPUT@', '@OUTPUT@']) + endif + + # Even if we find OpenMP, Gitlab CI fails to link with gcc/i386 and clang/anyarch. +--- mesa-26.1.2-orig/src/loader/meson.build ++++ mesa-26.1.2/src/loader/meson.build +@@ -5,17 +5,17 @@ + + if with_platform_wayland + wp_protos = { +- 'fifo-v1': mod_wl.find_protocol('fifo', state : 'staging', version : 1), +- 'commit-timing-v1': mod_wl.find_protocol('commit-timing', state : 'staging', version : 1), +- 'linux-dmabuf-unstable-v1': mod_wl.find_protocol('linux-dmabuf', state : 'unstable', version : 1), +- 'presentation-time': mod_wl.find_protocol('presentation-time'), +- 'tearing-control-v1': mod_wl.find_protocol('tearing-control', state : 'staging', version : 1), +- 'linux-drm-syncobj-v1': mod_wl.find_protocol('linux-drm-syncobj', state : 'staging', version : 1), +- 'color-management-v1': mod_wl.find_protocol('color-management', state : 'staging', version : 1) ++ 'fifo-v1': join_paths(wayland_protocols_datadir, 'staging/fifo/fifo-v1.xml'), ++ 'commit-timing-v1': join_paths(wayland_protocols_datadir, 'staging/commit-timing/commit-timing-v1.xml'), ++ 'linux-dmabuf-unstable-v1': join_paths(wayland_protocols_datadir, 'unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml'), ++ 'presentation-time': join_paths(wayland_protocols_datadir, 'stable/presentation-time/presentation-time.xml'), ++ 'tearing-control-v1': join_paths(wayland_protocols_datadir, 'staging/tearing-control/tearing-control-v1.xml'), ++ 'linux-drm-syncobj-v1': join_paths(wayland_protocols_datadir, 'staging/linux-drm-syncobj/linux-drm-syncobj-v1.xml'), ++ 'color-management-v1': join_paths(wayland_protocols_datadir, 'staging/color-management/color-management-v1.xml') + } + wp_files = {} + foreach name, xml : wp_protos +- wp_files += {name : mod_wl.scan_xml(xml, include_core_only : false)} ++ wp_files += {name : [gen_client_header.process(xml), gen_private_code.process(xml)]} + endforeach + + libloader_wayland_helper = static_library( |