Mesa should depend_on('glproto') (#11360)

* Mesa should depend_on('glproto')

The mesa package refers to `GL/glproto.h`.  On systems that don't have
the OS packages installed, this leads to failures during the build
[e.g. this comment in
01482](https://github.com/spack/spack/pull/10482#issuecomment-488786745).

This fixes it.  Tested on a minimally provisioned CentOS 7.

* Constrain glproto prereq to when +glx

* mesa: make glproto a build only dep
This commit is contained in:
George Hartzell 2019-05-06 11:37:13 -07:00 committed by Chuck Atkins
parent b64a286820
commit 96a95bb5bf
2 changed files with 37 additions and 0 deletions

View file

@ -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],
)

View file

@ -68,6 +68,11 @@ class Mesa(MesonPackage):
depends_on('libx11', when='+glx') depends_on('libx11', when='+glx')
depends_on('libxcb', when='+glx') depends_on('libxcb', when='+glx')
depends_on('libxext', 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): def meson_args(self):
spec = self.spec spec = self.spec