diff options
author | George Hartzell <hartzell@alerce.com> | 2019-05-06 11:37:13 -0700 |
---|---|---|
committer | Chuck Atkins <chuck.atkins@kitware.com> | 2019-05-06 14:37:13 -0400 |
commit | 96a95bb5bf92568da498f19e24a9bcd4e775769c (patch) | |
tree | b3f55529d03027ddaf6e6aa9beadd72ac29c04e7 | |
parent | b64a286820c66b0eb90818e4049deb87bc994cdf (diff) | |
download | spack-96a95bb5bf92568da498f19e24a9bcd4e775769c.tar.gz spack-96a95bb5bf92568da498f19e24a9bcd4e775769c.tar.bz2 spack-96a95bb5bf92568da498f19e24a9bcd4e775769c.tar.xz spack-96a95bb5bf92568da498f19e24a9bcd4e775769c.zip |
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
-rw-r--r-- | var/spack/repos/builtin/packages/mesa/glproto-mr806.patch | 32 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mesa/package.py | 5 |
2 files changed, 37 insertions, 0 deletions
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 |