summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2015-02-17 00:49:52 -0800
committerTodd Gamblin <tgamblin@llnl.gov>2015-02-17 00:49:52 -0800
commit17ac609d2399af891c4aa85c09585ed8eadf06ff (patch)
tree587f8c702e431189df5a2ba725dd2339824a8587 /var
parent724b72bdaf5c7c569e502e383e2aadcb8105983c (diff)
parent0c94a6e2b0fb6b7b8f1fd78f6bb56ea9f5bf3d85 (diff)
downloadspack-17ac609d2399af891c4aa85c09585ed8eadf06ff.tar.gz
spack-17ac609d2399af891c4aa85c09585ed8eadf06ff.tar.bz2
spack-17ac609d2399af891c4aa85c09585ed8eadf06ff.tar.xz
spack-17ac609d2399af891c4aa85c09585ed8eadf06ff.zip
Merge branch 'features/memaxes' into develop
Conflicts: var/spack/packages/libpng/package.py
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/Mitos/package.py18
-rw-r--r--var/spack/packages/bison/package.py17
-rw-r--r--var/spack/packages/dbus/package.py4
-rw-r--r--var/spack/packages/dri2proto/package.py14
-rw-r--r--var/spack/packages/flex/package.py15
-rw-r--r--var/spack/packages/gperf/package.py19
-rw-r--r--var/spack/packages/icu4c/package.py17
-rw-r--r--var/spack/packages/libdrm/package.py18
-rw-r--r--var/spack/packages/libpng/package.py4
-rw-r--r--var/spack/packages/libxcb/package.py21
-rw-r--r--var/spack/packages/libxshmfence/package.py16
-rw-r--r--var/spack/packages/llvm/package.py6
-rw-r--r--var/spack/packages/memaxes/package.py20
-rw-r--r--var/spack/packages/mesa/package.py33
-rw-r--r--var/spack/packages/py-mako/package.py16
-rw-r--r--var/spack/packages/qt/package.py43
-rw-r--r--var/spack/packages/ruby/package.py16
-rw-r--r--var/spack/packages/util-linux/package.py20
-rw-r--r--var/spack/packages/vtk/package.py40
-rw-r--r--var/spack/packages/xcb-proto/package.py15
20 files changed, 366 insertions, 6 deletions
diff --git a/var/spack/packages/Mitos/package.py b/var/spack/packages/Mitos/package.py
new file mode 100644
index 0000000000..272360a55c
--- /dev/null
+++ b/var/spack/packages/Mitos/package.py
@@ -0,0 +1,18 @@
+from spack import *
+
+class Mitos(Package):
+ """Mitos is a library and a tool for collecting sampled memory
+ performance data to view with MemAxes"""
+
+ homepage = "https://github.com/scalability-llnl/Mitos"
+ url = "https://github.com/scalability-llnl/Mitos"
+
+ version('0.7', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.7')
+
+ depends_on('dyninst')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake('..', *std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/packages/bison/package.py b/var/spack/packages/bison/package.py
new file mode 100644
index 0000000000..7c526fb958
--- /dev/null
+++ b/var/spack/packages/bison/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Bison(Package):
+ """Bison is a general-purpose parser generator that converts
+ an annotated context-free grammar into a deterministic LR or
+ generalized LR (GLR) parser employing LALR(1) parser tables."""
+
+ homepage = "http://www.gnu.org/software/bison/"
+ url = "http://ftp.gnu.org/gnu/bison/bison-3.0.tar.gz"
+
+ version('3.0.4', 'a586e11cd4aff49c3ff6d3b6a4c9ccf8')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/dbus/package.py b/var/spack/packages/dbus/package.py
index 5fee103f03..f7f394498c 100644
--- a/var/spack/packages/dbus/package.py
+++ b/var/spack/packages/dbus/package.py
@@ -23,3 +23,7 @@ class Dbus(Package):
configure("--prefix=%s" % prefix)
make()
make("install")
+
+ # dbus needs a machine id generated after install
+ dbus_uuidgen = Executable(join_path(prefix.bin, 'dbus-uuidgen'))
+ dbus_uuidgen('--ensure')
diff --git a/var/spack/packages/dri2proto/package.py b/var/spack/packages/dri2proto/package.py
new file mode 100644
index 0000000000..11dfa568e2
--- /dev/null
+++ b/var/spack/packages/dri2proto/package.py
@@ -0,0 +1,14 @@
+from spack import *
+
+class Dri2proto(Package):
+ """DRI2 Protocol Headers."""
+ homepage = "http://http://cgit.freedesktop.org/xorg/proto/dri2proto/"
+ url = "http://xorg.freedesktop.org/releases/individual/proto/dri2proto-2.8.tar.gz"
+
+ version('2.8', '19ea18f63d8ae8053c9fa84b60365b77')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/flex/package.py b/var/spack/packages/flex/package.py
new file mode 100644
index 0000000000..b065904912
--- /dev/null
+++ b/var/spack/packages/flex/package.py
@@ -0,0 +1,15 @@
+from spack import *
+
+class Flex(Package):
+ """Flex is a tool for generating scanners."""
+
+ homepage = "http://flex.sourceforge.net/"
+ url = "http://download.sourceforge.net/flex/flex-2.5.39.tar.gz"
+
+ version('2.5.39', 'e133e9ead8ec0a58d81166b461244fde')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/gperf/package.py b/var/spack/packages/gperf/package.py
new file mode 100644
index 0000000000..32551b67b4
--- /dev/null
+++ b/var/spack/packages/gperf/package.py
@@ -0,0 +1,19 @@
+from spack import *
+
+class Gperf(Package):
+ """GNU gperf is a perfect hash function generator. For a given
+ list of strings, it produces a hash function and hash table, in
+ form of C or C++ code, for looking up a value depending on the
+ input string. The hash function is perfect, which means that the
+ hash table has no collisions, and the hash table lookup needs a
+ single string comparison only."""
+
+ homepage = "https://www.gnu.org/software/gperf/"
+ url = "http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz"
+
+ version('3.0.4', 'c1f1db32fb6598d6a93e6e88796a8632')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install")
diff --git a/var/spack/packages/icu4c/package.py b/var/spack/packages/icu4c/package.py
new file mode 100644
index 0000000000..55b44463b2
--- /dev/null
+++ b/var/spack/packages/icu4c/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Icu4c(Package):
+ """ICU is a mature, widely used set of C/C++ and Java libraries
+ providing Unicode and Globalization support for software applications."""
+
+ homepage = "http://site.icu-project.org/"
+ url = "http://downloads.sourceforge.net/project/icu/ICU4C/54.1/icu4c-54_1-src.tgz"
+
+ version('54_1', 'e844caed8f2ca24c088505b0d6271bc0')
+
+ def install(self, spec, prefix):
+ cd("source")
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/libdrm/package.py b/var/spack/packages/libdrm/package.py
new file mode 100644
index 0000000000..00736b7811
--- /dev/null
+++ b/var/spack/packages/libdrm/package.py
@@ -0,0 +1,18 @@
+from spack import *
+
+class Libdrm(Package):
+ """A userspace library for accessing the DRM, direct
+ rendering manager, on Linux, BSD and other operating
+ systems that support the ioctl interface."""
+
+ homepage = "http://dri.freedesktop.org/libdrm/" # no real website...
+ url = "http://dri.freedesktop.org/libdrm/libdrm-2.4.59.tar.gz"
+
+ version('2.4.59', '105ac7af1afcd742d402ca7b4eb168b6')
+ version('2.4.33', '86e4e3debe7087d5404461e0032231c8')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/libpng/package.py b/var/spack/packages/libpng/package.py
index c148a3d58c..e02b08663e 100644
--- a/var/spack/packages/libpng/package.py
+++ b/var/spack/packages/libpng/package.py
@@ -5,9 +5,9 @@ class Libpng(Package):
homepage = "http://www.libpng.org/pub/png/libpng.html"
url = "http://download.sourceforge.net/libpng/libpng-1.6.16.tar.gz"
- version('1.6.14', '2101b3de1d5f348925990f9aa8405660')
- version('1.6.15', '829a256f3de9307731d4f52dc071916d')
version('1.6.16', '1a4ad377919ab15b54f6cb6a3ae2622d')
+ version('1.6.15', '829a256f3de9307731d4f52dc071916d')
+ version('1.6.14', '2101b3de1d5f348925990f9aa8405660')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/packages/libxcb/package.py b/var/spack/packages/libxcb/package.py
new file mode 100644
index 0000000000..521cd0d475
--- /dev/null
+++ b/var/spack/packages/libxcb/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class Libxcb(Package):
+ """The X protocol C-language Binding (XCB) is a replacement
+ for Xlib featuring a small footprint, latency hiding, direct
+ access to the protocol, improved threading support, and
+ extensibility."""
+
+ homepage = "http://xcb.freedesktop.org/"
+ url = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"
+
+ version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
+
+ depends_on("python")
+ depends_on("xcb-proto")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/libxshmfence/package.py b/var/spack/packages/libxshmfence/package.py
new file mode 100644
index 0000000000..3aa2448b46
--- /dev/null
+++ b/var/spack/packages/libxshmfence/package.py
@@ -0,0 +1,16 @@
+from spack import *
+
+class Libxshmfence(Package):
+ """This is a tiny library that exposes a event API on top of Linux
+ futexes."""
+
+ homepage = "http://keithp.com/blogs/dri3_extension/" # not really...
+ url = "http://xorg.freedesktop.org/archive/individual/lib/libxshmfence-1.2.tar.gz"
+
+ version('1.2', 'f0b30c0fc568b22ec524859ee28556f1')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/llvm/package.py b/var/spack/packages/llvm/package.py
index c7a10df55a..69354a5c90 100644
--- a/var/spack/packages/llvm/package.py
+++ b/var/spack/packages/llvm/package.py
@@ -35,6 +35,12 @@ class Llvm(Package):
url = "http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz"
version('3.4.2', 'a20669f75967440de949ac3b1bad439c')
+ version('3.0', 'a8e5f5f1c1adebae7b4a654c376a6005',
+ url='http://llvm.org/releases/3.0/llvm-3.0.tar.gz')
+ version('2.9', '793138412d2af2c7c7f54615f8943771',
+ url='http://llvm.org/releases/2.9/llvm-2.9.tgz')
+ version('2.8', '220d361b4d17051ff4bb21c64abe05ba',
+ url='http://llvm.org/releases/2.8/llvm-2.8.tgz')
def install(self, spec, prefix):
env['CXXFLAGS'] = self.compiler.cxx11_flag
diff --git a/var/spack/packages/memaxes/package.py b/var/spack/packages/memaxes/package.py
new file mode 100644
index 0000000000..afa62009a6
--- /dev/null
+++ b/var/spack/packages/memaxes/package.py
@@ -0,0 +1,20 @@
+from spack import *
+
+class Memaxes(Package):
+ """MemAxes is a visualizer for sampled memory trace data."""
+
+ homepage = "https://github.com/scalability-llnl/MemAxes"
+
+ version('0.5', 'b0f561d48aa7301e028d074bc4b5751b',
+ url='https://github.com/scalability-llnl/MemAxes/archive/v0.5.tar.gz')
+
+ depends_on("cmake@2.8.9:")
+ depends_on("qt@5:")
+ depends_on("vtk")
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake('..', *std_cmake_args)
+ make()
+ make("install")
+
diff --git a/var/spack/packages/mesa/package.py b/var/spack/packages/mesa/package.py
new file mode 100644
index 0000000000..2dba878a77
--- /dev/null
+++ b/var/spack/packages/mesa/package.py
@@ -0,0 +1,33 @@
+from spack import *
+
+class Mesa(Package):
+ """Mesa is an open-source implementation of the OpenGL
+ specification - a system for rendering interactive 3D graphics."""
+
+ homepage = "http://www.mesa3d.org"
+ url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/8.0.5/MesaLib-8.0.5.tar.gz"
+ # url = "ftp://ftp.freedesktop.org/pub/mesa/10.4.4/MesaLib-10.4.4.tar.gz"
+
+ # version('10.4.4', '8d863a3c209bf5116b2babfccccc68ce')
+ version('8.0.5', 'cda5d101f43b8784fa60bdeaca4056f2')
+
+ # mesa 7.x, 8.x, 9.x
+ depends_on("libdrm@2.4.33")
+ depends_on("llvm@3.0")
+
+ # patch("llvm-fixes.patch") # using newer llvm
+
+ # mesa 10.x
+ # depends_on("py-mako")
+ # depends_on("flex")
+ # depends_on("bison")
+ # depends_on("dri2proto")
+ # depends_on("libxcb")
+ # depends_on("libxshmfence")
+
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/py-mako/package.py b/var/spack/packages/py-mako/package.py
new file mode 100644
index 0000000000..3e91ffd8e5
--- /dev/null
+++ b/var/spack/packages/py-mako/package.py
@@ -0,0 +1,16 @@
+from spack import *
+
+class PyMako(Package):
+ """A super-fast templating language that borrows the best
+ ideas from the existing templating languages."""
+
+ homepage = "https://pypi.python.org/pypi/mako"
+ url = "https://pypi.python.org/packages/source/M/Mako/Mako-1.0.1.tar.gz"
+
+ version('1.0.1', '9f0aafd177b039ef67b90ea350497a54')
+
+ depends_on('py-setuptools')
+ extends('python')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/qt/package.py b/var/spack/packages/qt/package.py
index 3b5096c4f0..30f46c08dc 100644
--- a/var/spack/packages/qt/package.py
+++ b/var/spack/packages/qt/package.py
@@ -1,10 +1,20 @@
import os
from spack import *
+import os
class Qt(Package):
"""Qt is a comprehensive cross-platform C++ application framework."""
homepage = "http://qt.io"
+ list_url = 'http://download.qt-project.org/official_releases/qt/'
+ list_depth = 2
+
+ version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6',
+ url='http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.tar.gz')
+ version('5.3.2', 'febb001129927a70174467ecb508a682',
+ url='http://download.qt.io/archive/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.gz')
+ version('5.2.1', 'a78408c887c04c34ce615da690e0b4c8',
+ url='http://download.qt.io/archive/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.tar.gz')
version('4.8.6', '2edbe4d6c2eff33ef91732602f3518eb',
url="http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz")
@@ -21,26 +31,51 @@ class Qt(Package):
depends_on("libmng")
depends_on("jpeg")
+ # Webkit
+ # depends_on("gperf")
+ # depends_on("flex")
+ # depends_on("bison")
+ # depends_on("ruby")
+ # depends_on("icu4c")
+
+ # OpenGL hardware acceleration
+ depends_on("mesa")
+ depends_on("libxcb")
+
+
def setup_dependent_environment(self, module, spec, dep_spec):
"""Dependencies of Qt find it using the QTDIR environment variable."""
os.environ['QTDIR'] = self.prefix
def patch(self):
+ if self.spec.satisfies('@4'):
+ qmake_conf = 'mkspecs/common/g++-base.conf'
+ elif self.spec.satisfies('@5'):
+ qmake_conf = 'qtbase/mkspecs/common/g++-base.conf'
+ else:
+ return
+
# Fix qmake compilers in the default mkspec
- qmake_conf = 'mkspecs/common/g++-base.conf'
- filter_file(r'^QMAKE_CC *=.*$', 'QMAKE_CC = cc', qmake_conf)
- filter_file(r'^QMAKE_CXX *=.*$', 'QMAKE_CXX = c++', qmake_conf)
+ filter_file(r'^QMAKE_COMPILER *=.*$', 'QMAKE_COMPILER = cc', qmake_conf)
+ filter_file(r'^QMAKE_CC *=.*$', 'QMAKE_CC = cc', qmake_conf)
+ filter_file(r'^QMAKE_CXX *=.*$', 'QMAKE_CXX = c++', qmake_conf)
def install(self, spec, prefix):
+ # Apparently this is the only way to
+ # "truly" get rid of webkit compiles now...
+ os.rename("qtwebkit","no-qtwebkit")
+ os.rename("qtwebkit-examples","no-qtwebkit-examples")
configure('-v',
'-confirm-license',
'-opensource',
'-prefix', prefix,
'-openssl-linked',
'-dbus-linked',
- '-fast',
+ #'-fast',
+ '-opengl',
+ '-qt-xcb',
'-optimized-qmake',
'-no-pch',
# phonon required for py-pyqt
diff --git a/var/spack/packages/ruby/package.py b/var/spack/packages/ruby/package.py
new file mode 100644
index 0000000000..718fd0a3be
--- /dev/null
+++ b/var/spack/packages/ruby/package.py
@@ -0,0 +1,16 @@
+from spack import *
+
+class Ruby(Package):
+ """A dynamic, open source programming language with a focus on
+ simplicity and productivity."""
+
+ homepage = "https://www.ruby-lang.org/"
+ url = "http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz"
+
+ version('2.2.0', 'cd03b28fd0b555970f5c4fd481700852')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/util-linux/package.py b/var/spack/packages/util-linux/package.py
new file mode 100644
index 0000000000..cb7ceabf57
--- /dev/null
+++ b/var/spack/packages/util-linux/package.py
@@ -0,0 +1,20 @@
+from spack import *
+import os
+
+class UtilLinux(Package):
+ """Util-linux is a suite of essential utilities for any Linux system."""
+
+ homepage = "http://freecode.com/projects/util-linux"
+ url = "https://www.kernel.org/pub/linux/utils/util-linux/v2.25/util-linux-2.25.tar.gz"
+
+ version('2.25', 'f6d7fc6952ec69c4dc62c8d7c59c1d57')
+
+ depends_on("python@2.7:")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix,
+ "PKG_CONFIG_PATH=%s/pkgconfig" % spec['python'].prefix.lib,
+ "--disable-use-tty-group")
+
+ make()
+ make("install")
diff --git a/var/spack/packages/vtk/package.py b/var/spack/packages/vtk/package.py
new file mode 100644
index 0000000000..4a27a8fedb
--- /dev/null
+++ b/var/spack/packages/vtk/package.py
@@ -0,0 +1,40 @@
+from spack import *
+
+class Vtk(Package):
+ """The Visualization Toolkit (VTK) is an open-source, freely
+ available software system for 3D computer graphics, image
+ processing and visualization. """
+ homepage = "http://www.vtk.org"
+ url = "http://www.vtk.org/files/release/6.1/VTK-6.1.0.tar.gz"
+
+ version('6.1.0', '25e4dfb3bad778722dcaec80cd5dab7d')
+
+ depends_on("qt")
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake_args = [
+ "..",
+ "-DBUILD_SHARED_LIBS=ON",
+ # Disable wrappers for other languages.
+ "-DVTK_WRAP_PYTHON=OFF",
+ "-DVTK_WRAP_JAVA=OFF",
+ "-DVTK_WRAP_TCL=OFF"]
+ cmake_args.extend(std_cmake_args)
+
+ # Enable Qt support here.
+ cmake_args.extend([
+ "-DQT_QMAKE_EXECUTABLE:PATH=%s/qmake" % spec['qt'].prefix.bin,
+ "-DVTK_Group_Qt:BOOL=ON",
+ # Ignore webkit because it's hard to build w/Qt
+ "-DVTK_Group_Qt=OFF",
+ "-DModule_vtkGUISupportQt:BOOL=ON",
+ "-DModule_vtkGUISupportQtOpenGL:BOOL=ON"
+ ])
+
+ if spec['qt'].satisfies('@5'):
+ cmake_args.append("-DVTK_QT_VERSION:STRING=5")
+
+ cmake(*cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/packages/xcb-proto/package.py b/var/spack/packages/xcb-proto/package.py
new file mode 100644
index 0000000000..17a94bd892
--- /dev/null
+++ b/var/spack/packages/xcb-proto/package.py
@@ -0,0 +1,15 @@
+from spack import *
+
+class XcbProto(Package):
+ """Protocol for libxcb"""
+
+ homepage = "http://xcb.freedesktop.org/"
+ url = "http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.gz"
+
+ version('1.11', 'c8c6cb72c84f58270f4db1f39607f66a')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")