summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Oxberry <goxberry@gmail.com>2018-04-12 07:16:16 -0700
committerVeselin Dobrev <v-dobrev@users.noreply.github.com>2018-04-12 07:16:16 -0700
commitbbdf586d14ef9c5d873bcce8a8a872f629be5062 (patch)
treeafd94106b3436e7f83d73ed39fe01f550c0ce985
parent0e4e7d05e4f93fa46df2b6b7d1958cbef624706b (diff)
downloadspack-bbdf586d14ef9c5d873bcce8a8a872f629be5062.tar.gz
spack-bbdf586d14ef9c5d873bcce8a8a872f629be5062.tar.bz2
spack-bbdf586d14ef9c5d873bcce8a8a872f629be5062.tar.xz
spack-bbdf586d14ef9c5d873bcce8a8a872f629be5062.zip
glu: new virtual package; openglu: new package (#7162)
* mesa-glu: now provides 'glu' (GL Utility library) * openglu: add package, provides glu * openglu: add custom fetcher, remove nonsense url Change openglu package to look like the opengl package in GitHub PR * [OpenGLU] Fix a typo
-rw-r--r--var/spack/repos/builtin/packages/mesa-glu/package.py2
-rw-r--r--var/spack/repos/builtin/packages/openglu/package.py86
2 files changed, 88 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/mesa-glu/package.py b/var/spack/repos/builtin/packages/mesa-glu/package.py
index 9d8125242e..608a23cd8b 100644
--- a/var/spack/repos/builtin/packages/mesa-glu/package.py
+++ b/var/spack/repos/builtin/packages/mesa-glu/package.py
@@ -37,3 +37,5 @@ class MesaGlu(AutotoolsPackage):
variant('mesa', default=True,
description='Usually depends on mesa, disable for accelerated OpenGL')
depends_on('mesa', when='+mesa')
+
+ provides('glu@1.3')
diff --git a/var/spack/repos/builtin/packages/openglu/package.py b/var/spack/repos/builtin/packages/openglu/package.py
new file mode 100644
index 0000000000..a27441f901
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openglu/package.py
@@ -0,0 +1,86 @@
+##############################################################################
+# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/spack/spack
+# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Openglu(Package):
+ """Placeholder for external OpenGL utility library (GLU) from hardware
+ vendors"""
+
+ homepage = "https://www.opengl.org/resources/libraries"
+ url = "https://www.opengl.org/resources/libraries"
+
+ # A second argument (usually the has) 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('1.3', 'n/a')
+
+ provides('glu@:1.3', when='@1.3:')
+ provides('glu@:1.2', when='@1.2:')
+ provides('glu@:1.1', when='@1.1:')
+ provides('glu@:1.0', when='@1.0:')
+
+ # Override the fetcher method to throw a useful error message;
+ # fixes an issue similar to Github issue (#7061), in which the
+ # opengl package threw a generic, uninformative error message
+ # during the `fetch` step
+ @property
+ def fetcher(self):
+ msg = """This package is intended to be a placeholder for
+ system-provided OpenGL utility (GLU) libraries from hardware vendors.
+ Please download and install the GLU drivers/libraries for your
+ graphics hardware separately, and then set that up as an external
+ package. An example of a working packages.yaml:
+
+ packages:
+ openglu:
+ paths:
+ openglu@1.3: /opt/opengl
+ buildable: False
+
+ In that case, /opt/opengl/ should contain these two folders:
+
+ include/GL/ (opengl headers, including "glu.h")
+ lib (opengl libraries, including "libGLU.so")
+
+ On Apple Darwin (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:
+ openglu:
+ paths:
+ openglu@1.3: /usr/X11R6
+ buildable: False
+
+ In that case, /usr/X11R6 should contain
+
+ include/GL (GLU headers, including "glu.h")
+ lib (GLU libraries, including "libGLU.dylib")"""
+
+ raise InstallError(msg)
+
+ def install(self, spec, prefix):
+ pass