summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/libglvnd-fe/package.py
diff options
context:
space:
mode:
authorOmar Padron <omar.padron@kitware.com>2020-07-13 11:32:36 -0400
committerGitHub <noreply@github.com>2020-07-13 11:32:36 -0400
commit573489db710c6fd315170a45d6c609db2e30e5e4 (patch)
treec084ac8923131b33943c00c9a4b856faa5fba8d2 /var/spack/repos/builtin/packages/libglvnd-fe/package.py
parent9c42f246ed7ea9a3b901a1c1dbaa88487bb10b0d (diff)
downloadspack-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.py56
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)