summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorGeoffrey Oxberry <goxberry@gmail.com>2018-04-12 07:14:38 -0700
committerVeselin Dobrev <v-dobrev@users.noreply.github.com>2018-04-12 07:14:38 -0700
commit0e4e7d05e4f93fa46df2b6b7d1958cbef624706b (patch)
tree233f56d5d419deaa76bf2561ef4f93dc092fdc3a /var
parentfa07f95a7131e58ba48c1e50c38d9c443f9874c4 (diff)
downloadspack-0e4e7d05e4f93fa46df2b6b7d1958cbef624706b.tar.gz
spack-0e4e7d05e4f93fa46df2b6b7d1958cbef624706b.tar.bz2
spack-0e4e7d05e4f93fa46df2b6b7d1958cbef624706b.tar.xz
spack-0e4e7d05e4f93fa46df2b6b7d1958cbef624706b.zip
opengl: make error throw on install, not fetch (#7063)
* opengl: make error throw on install, not fetch * opengl: add configuration advice for darwin * opengl: add more versions of GL/OpenGL * opengl: improve documentation in comments * [OpenGL] Fix formatting
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/opengl/package.py38
1 files changed, 35 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/opengl/package.py b/var/spack/repos/builtin/packages/opengl/package.py
index b2c234ee6f..2859cf9138 100644
--- a/var/spack/repos/builtin/packages/opengl/package.py
+++ b/var/spack/repos/builtin/packages/opengl/package.py
@@ -31,13 +31,23 @@ class Opengl(Package):
homepage = "https://www.opengl.org/"
url = "https://www.opengl.org/"
- version('3.2', 'N/A')
+ # A second argument (usually the hash) must be supplied to the
+ # version directive, but 'n/a' is used here because this package
+ # is a placeholder for a system/vendor installation of OpenGL
+ version('3.2', 'n/a')
provides('gl@:4.5', when='@4.5:')
provides('gl@:4.4', when='@4.4:')
provides('gl@:4.3', when='@4.3:')
+ provides('gl@:4.2', when='@4.2:')
+ provides('gl@:4.1', when='@4.1:')
+ provides('gl@:3.3', when='@3.3:')
- def install(self, spec, prefix):
+ # 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,
+ @property
+ def fetcher(self):
msg = """This package is intended to be a placeholder for
system-provided OpenGL libraries from hardware vendors. Please
download and install OpenGL drivers/libraries for your graphics
@@ -53,6 +63,28 @@ class Opengl(Package):
In that case, /opt/opengl/ should contain these two folders:
include/GL/ (opengl headers, including "gl.h")
- lib (opengl libraries, including "libGL.so")"""
+ lib (opengl libraries, including "libGL.so")
+
+ On Apple Darwin (e.g., OS X, macOS) systems, this package is
+ normally installed as part of the XCode Command Line Tools in
+ /usr/X11R6, so a working packages.yaml would be
+ packages:
+ opengl:
+ paths:
+ opengl@4.1: /usr/X11R6
+ buildable: False
+
+ In that case, /usr/X11R6 should contain
+
+ include/GL/ (OpenGL headers, including "gl.h")
+ lib (OpenGL libraries, including "libGL.dylib")
+
+ On OS X/macOS, note that the version of OpenGL provided
+ depends on your hardware. Look at
+ https://support.apple.com/en-us/HT202823 to see what version
+ of OpenGL your Mac uses."""
raise InstallError(msg)
+
+ def install(self, spec, prefix):
+ pass