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
This commit is contained in:
		 Geoffrey Oxberry
					Geoffrey Oxberry
				
			
				
					committed by
					
						 Veselin Dobrev
						Veselin Dobrev
					
				
			
			
				
	
			
			
			 Veselin Dobrev
						Veselin Dobrev
					
				
			
						parent
						
							fa07f95a71
						
					
				
				
					commit
					0e4e7d05e4
				
			| @@ -31,13 +31,23 @@ class Opengl(Package): | |||||||
|     homepage = "https://www.opengl.org/" |     homepage = "https://www.opengl.org/" | ||||||
|     url      = "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.5', when='@4.5:') | ||||||
|     provides('gl@:4.4', when='@4.4:') |     provides('gl@:4.4', when='@4.4:') | ||||||
|     provides('gl@:4.3', when='@4.3:') |     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 |         msg = """This package is intended to be a placeholder for | ||||||
|         system-provided OpenGL libraries from hardware vendors.  Please |         system-provided OpenGL libraries from hardware vendors.  Please | ||||||
|         download and install OpenGL drivers/libraries for your graphics |         download and install OpenGL drivers/libraries for your graphics | ||||||
| @@ -53,6 +63,28 @@ def install(self, spec, prefix): | |||||||
|         In that case, /opt/opengl/ should contain these two folders: |         In that case, /opt/opengl/ should contain these two folders: | ||||||
|  |  | ||||||
|         include/GL/       (opengl headers, including "gl.h") |         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) |         raise InstallError(msg) | ||||||
|  |  | ||||||
|  |     def install(self, spec, prefix): | ||||||
|  |         pass | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user