diff options
author | Omar Padron <omar.padron@kitware.com> | 2020-07-13 11:32:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-13 11:32:36 -0400 |
commit | 573489db710c6fd315170a45d6c609db2e30e5e4 (patch) | |
tree | c084ac8923131b33943c00c9a4b856faa5fba8d2 /var/spack/repos/builtin/packages/libglvnd-fe/package.py | |
parent | 9c42f246ed7ea9a3b901a1c1dbaa88487bb10b0d (diff) | |
download | spack-573489db710c6fd315170a45d6c609db2e30e5e4.tar.gz spack-573489db710c6fd315170a45d6c609db2e30e5e4.tar.bz2 spack-573489db710c6fd315170a45d6c609db2e30e5e4.tar.xz spack-573489db710c6fd315170a45d6c609db2e30e5e4.zip |
Add libglvnd packages/Add EGL support (#14572)
* add new package: "libglvnd-frontend"
* add +glvnd variant to opengl package
* add +glvnd variant to mesa package
* add +egl variant to paraview package
* add libglvnd-frontend entries to default packages config
* fix style
* add default providers for glvnd virtuals
add default providers for glvnd-gl, glvnd-glx, and glvnd-egl
* WIP: rough start to external OpenGL documentation
* rename libglvnd-frontend package and backend virtual dependencies
* update documentation
* fix ligvnd-be-* typos
* fix libglvnd-fe package class name
* fix doc parse error
Diffstat (limited to 'var/spack/repos/builtin/packages/libglvnd-fe/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/libglvnd-fe/package.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/libglvnd-fe/package.py b/var/spack/repos/builtin/packages/libglvnd-fe/package.py new file mode 100644 index 0000000000..6f737a9017 --- /dev/null +++ b/var/spack/repos/builtin/packages/libglvnd-fe/package.py @@ -0,0 +1,56 @@ +# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class LibglvndFe(BundlePackage): + """The GL Vendor-Neutral Dispatch library (Frontend Dummy Package) + + libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API + calls between multiple vendors. It allows multiple drivers from different + vendors to coexist on the same filesystem, and determines which vendor to + dispatch each API call to at runtime. + + Both GLX and EGL are supported, in any combination with OpenGL and OpenGL + ES.""" + + homepage = "https://github.com/NVIDIA/libglvnd" + + version('1.1.1', sha256='71918ed1261e4eece18c0b74b50dc62c0237b8d526e83277ef078554544720b9') + + variant('glx', default=False, description='Provide GLX API') + variant('egl', default=False, description='Provide EGL API') + + depends_on('libglvnd') + + depends_on('libglvnd-be-gl') + depends_on('libglvnd-be-glx', when='+glx') + depends_on('libglvnd-be-egl', when='+egl') + + provides('gl') + provides('glx', when='+glx') + provides('egl', when='+egl') + + @property + def gl_libs(self): + return find_libraries('libOpenGL', + root=self.spec['libglvnd'].prefix, + shared=True, + recursive=True) + + @property + def glx_libs(self): + return find_libraries('libGLX', + root=self.spec['libglvnd'].prefix, + shared=True, + recursive=True) + + @property + def egl_libs(self): + return find_libraries('libEGL', + root=self.spec['libglvnd'].prefix, + shared=True, + recursive=True) |