diff --git a/var/spack/repos/builtin/packages/opengl/package.py b/var/spack/repos/builtin/packages/opengl/package.py index 413b8e0f4536f14b3738ad4a31d44a5c55ac2dc9..54eda66e70999cfdd139429701c134d6fbee1172 100644 --- a/var/spack/repos/builtin/packages/opengl/package.py +++ b/var/spack/repos/builtin/packages/opengl/package.py @@ -3,10 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import re import sys -from spack import * - class Opengl(Package): """Placeholder for external OpenGL libraries from hardware vendors""" @@ -35,6 +34,14 @@ class Opengl(Package): if sys.platform != 'darwin': provides('glx@1.4') + executables = ['^glxinfo$'] + + @classmethod + def determine_version(cls, exe): + output = Executable(exe)(output=str, error=str) + match = re.search(r'OpenGL version string: (\S+)', output) + return match.group(1) if match else None + # Override the fetcher method to throw a useful error message; # fixes GitHub issue (#7061) in which this package threw a # generic, uninformative error during the `fetch` step,