diff --git a/var/spack/repos/builtin/packages/mesa/glproto-mr806.patch b/var/spack/repos/builtin/packages/mesa/glproto-mr806.patch new file mode 100644 index 0000000000..9dda290c0a --- /dev/null +++ b/var/spack/repos/builtin/packages/mesa/glproto-mr806.patch @@ -0,0 +1,32 @@ +diff --git a/meson.build b/meson.build +index d975b0d..cbd4a2c 100644 +--- a/meson.build ++++ b/meson.build +@@ -1387,12 +1387,14 @@ if with_platform_x11 + dep_xshmfence = dependency('xshmfence', version : '>= 1.1') + endif + endif +- if with_glx == 'dri' ++ if with_glx == 'dri' or with_glx == 'gallium-xlib' ++ dep_glproto = dependency('glproto', version : '>= 1.4.14') ++ endif ++ if with_glx == 'dri' + if with_dri_platform == 'drm' + dep_dri2proto = dependency('dri2proto', version : '>= 2.8') + dep_xxf86vm = dependency('xxf86vm') + endif +- dep_glproto = dependency('glproto', version : '>= 1.4.14') + endif + if (with_egl or ( + with_gallium_vdpau or with_gallium_xvmc or with_gallium_xa or +diff --git a/src/gallium/state_trackers/glx/xlib/meson.build b/src/gallium/state_trackers/glx/xlib/meson.build +index f4ee754..34b93c9 100644 +--- a/src/gallium/state_trackers/glx/xlib/meson.build ++++ b/src/gallium/state_trackers/glx/xlib/meson.build +@@ -23,5 +23,5 @@ libxlib = static_library( + files('glx_api.c', 'glx_getproc.c', 'glx_usefont.c', 'xm_api.c', 'xm_st.c'), + c_args : c_vis_args, + include_directories : [inc_common, inc_mapi, inc_mesa], +- dependencies : [dep_x11, dep_xext, dep_xcb], ++ dependencies : [dep_x11, dep_xext, dep_xcb, dep_glproto], + ) diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py index 9a166609a5..6e7befbd0c 100644 --- a/var/spack/repos/builtin/packages/mesa/package.py +++ b/var/spack/repos/builtin/packages/mesa/package.py @@ -68,6 +68,11 @@ class Mesa(MesonPackage): depends_on('libx11', when='+glx') depends_on('libxcb', when='+glx') depends_on('libxext', when='+glx') + depends_on('glproto@1.4.14:', when='+glx', type='build') + + # Fix glproto dependency for glx=gallium-xlib + # https://gitlab.freedesktop.org/mesa/mesa/merge_requests/806 + patch('glproto-mr806.patch', when='@19.0.0') def meson_args(self): spec = self.spec