Merge branch 'develop' of github.com:kev40293/spack into develop
This commit is contained in:
@@ -3,18 +3,32 @@
|
||||
class Imagemagick(Package):
|
||||
"""ImageMagick is a image processing library"""
|
||||
homepage = "http://www.imagemagic.org"
|
||||
url = "http://www.imagemagick.org/download/ImageMagick-6.8.9-10.tar.gz"
|
||||
|
||||
version('6.9.0-0', '2cf094cb86ec518fa5bc669ce2d21613')
|
||||
version('6.8.9-10', 'aa050bf9785e571c956c111377bbf57c')
|
||||
version('6.8.9-9', 'e63fed3e3550851328352c708f800676')
|
||||
#-------------------------------------------------------------------------
|
||||
# ImageMagick does not keep around anything but *-10 versions, so
|
||||
# this URL may change. If you want the bleeding edge, you can
|
||||
# uncomment it and see if it works but you may need to try to
|
||||
# fetch a newer version (-6, -7, -8, -9, etc.) or you can stick
|
||||
# wtih the older, stable, archived -10 versions below.
|
||||
#
|
||||
# TODO: would be nice if spack had a way to recommend avoiding a
|
||||
# TODO: bleeding edge version, but not comment it out.
|
||||
# -------------------------------------------------------------------------
|
||||
# version('6.9.0-6', 'c1bce7396c22995b8bdb56b7797b4a1b',
|
||||
# url="http://www.imagemagick.org/download/ImageMagick-6.9.0-6.tar.bz2")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# *-10 versions are archived, so these versions should fetch reliably.
|
||||
# -------------------------------------------------------------------------
|
||||
version('6.8.9-10', 'aa050bf9785e571c956c111377bbf57c',
|
||||
url="http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.8/ImageMagick-6.8.9-10.tar.gz/download")
|
||||
|
||||
depends_on('libtool')
|
||||
depends_on('jpeg')
|
||||
depends_on('libpng')
|
||||
depends_on('freetype')
|
||||
depends_on('fontconfig')
|
||||
# depends_on('libtiff')
|
||||
depends_on('libtiff')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
18
var/spack/packages/Mitos/package.py
Normal file
18
var/spack/packages/Mitos/package.py
Normal file
@@ -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")
|
33
var/spack/packages/R/package.py
Normal file
33
var/spack/packages/R/package.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from spack import *
|
||||
|
||||
class R(Package):
|
||||
"""R is 'GNU S', a freely available language and environment for
|
||||
statistical computing and graphics which provides a wide va
|
||||
riety of statistical and graphical techniques: linear and
|
||||
nonlinear modelling, statistical tests, time series analysis,
|
||||
classification, clustering, etc. Please consult the R project
|
||||
homepage for further information."""
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://cran.cnr.berkeley.edu/src/base/R-3/R-3.1.2.tar.gz"
|
||||
|
||||
version('3.1.2', '3af29ec06704cbd08d4ba8d69250ae74')
|
||||
|
||||
depends_on("readline")
|
||||
depends_on("ncurses")
|
||||
depends_on("icu")
|
||||
depends_on("glib")
|
||||
depends_on("zlib")
|
||||
depends_on("libtiff")
|
||||
depends_on("jpeg")
|
||||
depends_on("cairo")
|
||||
depends_on("pango")
|
||||
depends_on("freetype")
|
||||
depends_on("tcl")
|
||||
depends_on("tk")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--enable-R-shlib",
|
||||
"--enable-BLAS-shlib")
|
||||
make()
|
||||
make("install")
|
17
var/spack/packages/bison/package.py
Normal file
17
var/spack/packages/bison/package.py
Normal file
@@ -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")
|
@@ -29,11 +29,10 @@ class Clang(Package):
|
||||
Objective C and Objective C++ front-end for the LLVM compiler.
|
||||
"""
|
||||
homepage = "http://clang.llvm.org"
|
||||
url = "http://llvm.org/releases/3.4.2/cfe-3.4.2.src.tar.gz"
|
||||
list_url = "http://llvm.org/releases/download.html"
|
||||
|
||||
depends_on("llvm")
|
||||
|
||||
version('3.4.2', '87945973b7c73038871c5f849a818588')
|
||||
version('3.4.2', '87945973b7c73038871c5f849a818588', url='http://llvm.org/releases/3.4.2/cfe-3.4.2.src.tar.xz')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['CXXFLAGS'] = self.compiler.cxx11_flag
|
||||
|
@@ -23,3 +23,7 @@ def install(self, spec, prefix):
|
||||
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')
|
||||
|
14
var/spack/packages/dri2proto/package.py
Normal file
14
var/spack/packages/dri2proto/package.py
Normal file
@@ -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")
|
@@ -31,8 +31,9 @@ class Dyninst(Package):
|
||||
url = "http://www.dyninst.org/sites/default/files/downloads/dyninst/8.1.2/DyninstAPI-8.1.2.tgz"
|
||||
list_url = "http://www.dyninst.org/downloads/dyninst-8.x"
|
||||
|
||||
version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7',
|
||||
url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.1.tgz")
|
||||
# Doesn't build right with boost@1.55.0
|
||||
# version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7',
|
||||
# url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.1.tgz")
|
||||
version('8.1.2', 'bf03b33375afa66fe0efa46ce3f4b17a',
|
||||
url="http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz")
|
||||
version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac',
|
||||
@@ -40,7 +41,7 @@ class Dyninst(Package):
|
||||
|
||||
depends_on("libelf")
|
||||
depends_on("libdwarf")
|
||||
depends_on("boost@1.42:1.43")
|
||||
depends_on("boost@1.42:")
|
||||
|
||||
# new version uses cmake
|
||||
def install(self, spec, prefix):
|
||||
|
15
var/spack/packages/flex/package.py
Normal file
15
var/spack/packages/flex/package.py
Normal file
@@ -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")
|
31
var/spack/packages/geos/package.py
Normal file
31
var/spack/packages/geos/package.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from spack import *
|
||||
|
||||
class Geos(Package):
|
||||
"""GEOS (Geometry Engine - Open Source) is a C++ port of the Java
|
||||
Topology Suite (JTS). As such, it aims to contain the complete
|
||||
functionality of JTS in C++. This includes all the OpenGIS
|
||||
Simple Features for SQL spatial predicate functions and spatial
|
||||
operators, as well as specific JTS enhanced topology functions."""
|
||||
|
||||
homepage = "http://trac.osgeo.org/geos/"
|
||||
url = "http://download.osgeo.org/geos/geos-3.4.2.tar.bz2"
|
||||
|
||||
version('3.4.2', 'fc5df2d926eb7e67f988a43a92683bae')
|
||||
version('3.4.1', '4c930dec44c45c49cd71f3e0931ded7e')
|
||||
version('3.4.0', 'e41318fc76b5dc764a69d43ac6b18488')
|
||||
version('3.3.9', '4794c20f07721d5011c93efc6ccb8e4e')
|
||||
version('3.3.8', '75be476d0831a2d14958fed76ca266de')
|
||||
version('3.3.7', '95ab996d22672b067d92c7dee2170460')
|
||||
version('3.3.6', '6fadfb941541875f4976f75fb0bbc800')
|
||||
version('3.3.5', '2ba61afb7fe2c5ddf642d82d7b16e75b')
|
||||
version('3.3.4', '1bb9f14d57ef06ffa41cb1d67acb55a1')
|
||||
version('3.3.3', '8454e653d7ecca475153cc88fd1daa26')
|
||||
|
||||
extends('python')
|
||||
depends_on('swig')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--enable-python")
|
||||
make()
|
||||
make("install")
|
19
var/spack/packages/gperf/package.py
Normal file
19
var/spack/packages/gperf/package.py
Normal file
@@ -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")
|
@@ -18,12 +18,14 @@ class Hdf5(Package):
|
||||
|
||||
# TODO: currently hard-coded to use OpenMPI
|
||||
def install(self, spec, prefix):
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||
"--enable-parallel",
|
||||
"CC=%s" % spec['openmpi'].prefix.bin + "/mpicc",
|
||||
"CXX=%s" % spec['openmpi'].prefix.bin + "/mpic++")
|
||||
"--enable-shared",
|
||||
"CC=%s" % spec['mpich'].prefix.bin + "/mpicc",
|
||||
"CXX=%s" % spec['mpich'].prefix.bin + "/mpic++")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
17
var/spack/packages/icu4c/package.py
Normal file
17
var/spack/packages/icu4c/package.py
Normal file
@@ -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")
|
18
var/spack/packages/libdrm/package.py
Normal file
18
var/spack/packages/libdrm/package.py
Normal file
@@ -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")
|
@@ -53,13 +53,6 @@ class Libdwarf(Package):
|
||||
parallel = False
|
||||
|
||||
|
||||
def clean(self):
|
||||
for dir in dwarf_dirs:
|
||||
with working_dir(dir):
|
||||
if os.path.exists('Makefile'):
|
||||
make('clean')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# dwarf build does not set arguments for ar properly
|
||||
make.add_default_arg('ARFLAGS=rcs')
|
||||
|
19
var/spack/packages/libgcrypt/package.py
Normal file
19
var/spack/packages/libgcrypt/package.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from spack import *
|
||||
|
||||
class Libgcrypt(Package):
|
||||
"""Libgcrypt is a general purpose cryptographic library based on
|
||||
the code from GnuPG. It provides functions for all cryptographic
|
||||
building blocks: symmetric ciphers, hash algorithms, MACs, public
|
||||
key algorithms, large integer functions, random numbers and a lot
|
||||
of supporting functions. """
|
||||
homepage = "http://www.gnu.org/software/libgcrypt/"
|
||||
url = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.2.tar.bz2"
|
||||
|
||||
version('1.6.2', 'b54395a93cb1e57619943c082da09d5f')
|
||||
|
||||
depends_on("libgpg-error")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
17
var/spack/packages/libgpg-error/package.py
Normal file
17
var/spack/packages/libgpg-error/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class LibgpgError(Package):
|
||||
"""Libgpg-error is a small library that defines common error
|
||||
values for all GnuPG components. Among these are GPG, GPGSM,
|
||||
GPGME, GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry,
|
||||
SmartCard Daemon and possibly more in the future. """
|
||||
|
||||
homepage = "https://www.gnupg.org/related_software/libgpg-error"
|
||||
url = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.18.tar.bz2"
|
||||
|
||||
version('1.18', '12312802d2065774b787cbfc22cc04e9')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -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)
|
||||
|
21
var/spack/packages/libxcb/package.py
Normal file
21
var/spack/packages/libxcb/package.py
Normal file
@@ -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")
|
@@ -9,6 +9,9 @@ class Libxml2(Package):
|
||||
|
||||
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
|
||||
|
||||
depends_on('zlib')
|
||||
depends_on('xz')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--without-python")
|
||||
|
16
var/spack/packages/libxshmfence/package.py
Normal file
16
var/spack/packages/libxshmfence/package.py
Normal file
@@ -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")
|
24
var/spack/packages/libxslt/package.py
Normal file
24
var/spack/packages/libxslt/package.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from spack import *
|
||||
|
||||
class Libxslt(Package):
|
||||
"""Libxslt is the XSLT C library developed for the GNOME
|
||||
project. XSLT itself is a an XML language to define
|
||||
transformation for XML. Libxslt is based on libxml2 the XML C
|
||||
library developed for the GNOME project. It also implements
|
||||
most of the EXSLT set of processor-portable extensions
|
||||
functions and some of Saxon's evaluate and expressions
|
||||
extensions."""
|
||||
homepage = "http://www.xmlsoft.org/XSLT/index.html"
|
||||
url = "http://xmlsoft.org/sources/libxslt-1.1.28.tar.gz"
|
||||
|
||||
version('1.1.28', '9667bf6f9310b957254fdcf6596600b7')
|
||||
|
||||
depends_on("libxml2")
|
||||
depends_on("xz")
|
||||
depends_on("zlib")
|
||||
depends_on("libgcrypt")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -32,9 +32,13 @@ class Llvm(Package):
|
||||
it is the full name of the project.
|
||||
"""
|
||||
homepage = "http://llvm.org/"
|
||||
url = "http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz"
|
||||
list_url = "http://llvm.org/releases/download.html"
|
||||
|
||||
version('3.4.2', 'a20669f75967440de949ac3b1bad439c')
|
||||
version('3.5.1', '2d3d8004f38852aa679e5945b8ce0b14', url='http://llvm.org/releases/3.5.1/llvm-3.5.1.src.tar.xz')
|
||||
version('3.4.2', 'a20669f75967440de949ac3b1bad439c', url='http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz')
|
||||
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
|
||||
|
20
var/spack/packages/memaxes/package.py
Normal file
20
var/spack/packages/memaxes/package.py
Normal file
@@ -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")
|
||||
|
33
var/spack/packages/mesa/package.py
Normal file
33
var/spack/packages/mesa/package.py
Normal file
@@ -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")
|
28
var/spack/packages/netcdf/package.py
Normal file
28
var/spack/packages/netcdf/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from spack import *
|
||||
|
||||
class Netcdf(Package):
|
||||
"""NetCDF is a set of software libraries and self-describing, machine-independent
|
||||
data formats that support the creation, access, and sharing of array-oriented
|
||||
scientific data."""
|
||||
|
||||
homepage = "http://www.unidata.ucar.edu/software/netcdf/"
|
||||
url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.tar.gz"
|
||||
|
||||
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
|
||||
|
||||
# Dependencies:
|
||||
# >HDF5
|
||||
depends_on("hdf5")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--disable-dap", # Disable DAP.
|
||||
"--disable-shared", # Don't build shared libraries (use static libs).
|
||||
"CPPFLAGS=-I%s/include" % spec['hdf5'].prefix, # Link HDF5's include dir.
|
||||
"LDFLAGS=-L%s/lib" % spec['hdf5'].prefix) # Link HDF5's lib dir.
|
||||
|
||||
make("install")
|
||||
|
||||
# Check the newly installed netcdf package. Currently disabled.
|
||||
# make("check")
|
20
var/spack/packages/py-basemap/package.py
Normal file
20
var/spack/packages/py-basemap/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class PyBasemap(Package):
|
||||
"""The matplotlib basemap toolkit is a library for plotting 2D data on maps in Python."""
|
||||
homepage = "http://matplotlib.org/basemap/"
|
||||
url = "https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz"
|
||||
|
||||
version('1.0.7', '48c0557ced9e2c6e440b28b3caff2de8')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
depends_on('py-numpy')
|
||||
depends_on('py-matplotlib')
|
||||
depends_on('py-pil')
|
||||
depends_on("geos")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['GEOS_DIR'] = spec['geos'].prefix
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
15
var/spack/packages/py-biopython/package.py
Normal file
15
var/spack/packages/py-biopython/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class PyBiopython(Package):
|
||||
"""It is a distributed collaborative effort to develop Python libraries and applications which address the needs of current and future work in bioinformatics."""
|
||||
homepage = "http://biopython.org/wiki/Main_Page"
|
||||
url = "http://biopython.org/DIST/biopython-1.65.tar.gz"
|
||||
|
||||
version('1.65', '143e7861ade85c0a8b5e2bbdd1da1f67')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-mx')
|
||||
depends_on('py-numpy')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-cython/package.py
Normal file
13
var/spack/packages/py-cython/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyCython(Package):
|
||||
"""The Cython compiler for writing C extensions for the Python language."""
|
||||
homepage = "https://pypi.python.org/pypi/cython"
|
||||
url = "https://pypi.python.org/packages/source/C/Cython/Cython-0.21.2.tar.gz"
|
||||
|
||||
version('0.21.2', 'd21adb870c75680dc857cd05d41046a4')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
15
var/spack/packages/py-dateutil/package.py
Normal file
15
var/spack/packages/py-dateutil/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class PyDateutil(Package):
|
||||
"""Extensions to the standard Python datetime module."""
|
||||
homepage = "https://pypi.python.org/pypi/dateutil"
|
||||
url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.4.0.tar.gz"
|
||||
|
||||
version('2.4.0', '75714163bb96bedd07685cdb2071b8bc')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
depends_on('py-six')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-epydoc/package.py
Normal file
13
var/spack/packages/py-epydoc/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyEpydoc(Package):
|
||||
"""Epydoc is a tool for generating API documentation documentation for Python modules, based on their docstrings."""
|
||||
homepage = "https://pypi.python.org/pypi/epydoc"
|
||||
url = "https://pypi.python.org/packages/source/e/epydoc/epydoc-3.0.1.tar.gz"
|
||||
|
||||
version('3.0.1', '36407974bd5da2af00bf90ca27feeb44')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
14
var/spack/packages/py-gnuplot/package.py
Normal file
14
var/spack/packages/py-gnuplot/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PyGnuplot(Package):
|
||||
"""Gnuplot.py is a Python package that allows you to create graphs from within Python using the gnuplot plotting program."""
|
||||
homepage = "http://gnuplot-py.sourceforge.net/"
|
||||
url = "http://downloads.sourceforge.net/project/gnuplot-py/Gnuplot-py/1.8/gnuplot-py-1.8.tar.gz"
|
||||
|
||||
version('1.8', 'abd6f571e7aec68ae7db90a5217cd5b1')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-numpy')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
18
var/spack/packages/py-h5py/package.py
Normal file
18
var/spack/packages/py-h5py/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from spack import *
|
||||
import re
|
||||
|
||||
class PyH5py(Package):
|
||||
"""The h5py package provides both a high- and low-level interface to the HDF5 library from Python."""
|
||||
homepage = "https://pypi.python.org/pypi/h5py"
|
||||
url = "https://pypi.python.org/packages/source/h/h5py/h5py-2.4.0.tar.gz"
|
||||
|
||||
version('2.4.0', '80c9a94ae31f84885cc2ebe1323d6758')
|
||||
|
||||
extends('python', ignore=lambda f: re.match(r'cy*', f))
|
||||
depends_on('hdf5')
|
||||
depends_on('py-numpy')
|
||||
depends_on('py-cython')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'configure', '--hdf5=%s' % spec['hdf5'].prefix)
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
15
var/spack/packages/py-ipython/package.py
Normal file
15
var/spack/packages/py-ipython/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class PyIpython(Package):
|
||||
"""IPython provides a rich toolkit to help you make the most out of using Python interactively."""
|
||||
homepage = "https://pypi.python.org/pypi/ipython"
|
||||
url = "https://pypi.python.org/packages/source/i/ipython/ipython-2.3.1.tar.gz"
|
||||
|
||||
version('2.3.1', '2b7085525dac11190bfb45bb8ec8dcbf')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-pygments')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
15
var/spack/packages/py-libxml2/package.py
Normal file
15
var/spack/packages/py-libxml2/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class PyLibxml2(Package):
|
||||
"""A Python wrapper around libxml2."""
|
||||
homepage = "https://xmlsoft.org/python.html"
|
||||
url = "ftp://xmlsoft.org/libxml2/python/libxml2-python-2.6.21.tar.gz"
|
||||
|
||||
version('2.6.21', '229dd2b3d110a77defeeaa73af83f7f3')
|
||||
|
||||
extends('python')
|
||||
depends_on('libxml2')
|
||||
depends_on('libxslt')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
16
var/spack/packages/py-mako/package.py
Normal file
16
var/spack/packages/py-mako/package.py
Normal file
@@ -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)
|
46
var/spack/packages/py-matplotlib/package.py
Normal file
46
var/spack/packages/py-matplotlib/package.py
Normal file
@@ -0,0 +1,46 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class PyMatplotlib(Package):
|
||||
"""Python plotting package."""
|
||||
homepage = "https://pypi.python.org/pypi/matplotlib"
|
||||
url = "https://pypi.python.org/packages/source/m/matplotlib/matplotlib-1.4.2.tar.gz"
|
||||
|
||||
version('1.4.2', '7d22efb6cce475025733c50487bd8898')
|
||||
|
||||
extends('python', ignore=r'bin/nosetests.*$')
|
||||
|
||||
depends_on('py-pyside')
|
||||
depends_on('py-ipython')
|
||||
depends_on('py-pyparsing')
|
||||
depends_on('py-six')
|
||||
depends_on('py-dateutil')
|
||||
depends_on('py-pytz')
|
||||
depends_on('py-nose')
|
||||
depends_on('py-numpy')
|
||||
|
||||
depends_on('qt')
|
||||
depends_on('bzip2')
|
||||
depends_on('tcl')
|
||||
depends_on('tk')
|
||||
depends_on('qhull')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
|
||||
if str(self.version) == '1.4.2':
|
||||
# hack to fix configuration file
|
||||
config_file = None
|
||||
for p,d,f in os.walk(prefix.lib):
|
||||
for file in f:
|
||||
if file.find('matplotlibrc') != -1:
|
||||
config_file = join_path(p, 'matplotlibrc')
|
||||
print config_file
|
||||
if config_file == None:
|
||||
raise InstallError('could not find config file')
|
||||
filter_file(r'backend : pyside',
|
||||
'backend : Qt4Agg',
|
||||
config_file)
|
||||
filter_file(r'#backend.qt4 : PyQt4',
|
||||
'backend.qt4 : PySide',
|
||||
config_file)
|
14
var/spack/packages/py-mpi4py/package.py
Normal file
14
var/spack/packages/py-mpi4py/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PyMpi4py(Package):
|
||||
"""This package provides Python bindings for the Message Passing Interface (MPI) standard. It is implemented on top of the MPI-1/MPI-2 specification and exposes an API which grounds on the standard MPI-2 C++ bindings."""
|
||||
homepage = "https://pypi.python.org/pypi/mpi4py"
|
||||
url = "https://pypi.python.org/packages/source/m/mpi4py/mpi4py-1.3.1.tar.gz"
|
||||
|
||||
version('1.3.1', 'dbe9d22bdc8ed965c23a7ceb6f32fc3c')
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-mx/package.py
Normal file
13
var/spack/packages/py-mx/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyMx(Package):
|
||||
"""The eGenix.com mx Base Distribution for Python is a collection of professional quality software tools which enhance Python's usability in many important areas such as fast text searching, date/time processing and high speed data types."""
|
||||
homepage = "http://www.egenix.com/products/python/mxBase/"
|
||||
url = "https://downloads.egenix.com/python/egenix-mx-base-3.2.8.tar.gz"
|
||||
|
||||
version('3.2.8', '9d9d3a25f9dc051a15e97f452413423b')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
16
var/spack/packages/py-nose/package.py
Normal file
16
var/spack/packages/py-nose/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class PyNose(Package):
|
||||
"""nose extends the test loading and running features of unittest,
|
||||
making it easier to write, find and run tests."""
|
||||
|
||||
homepage = "https://pypi.python.org/pypi/nose"
|
||||
url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.4.tar.gz"
|
||||
|
||||
version('1.3.4', '6ed7169887580ddc9a8e16048d38274d')
|
||||
|
||||
extends('python', ignore=r'bin/nosetests.*$')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
14
var/spack/packages/py-numpy/package.py
Normal file
14
var/spack/packages/py-numpy/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PyNumpy(Package):
|
||||
"""array processing for numbers, strings, records, and objects."""
|
||||
homepage = "https://pypi.python.org/pypi/numpy"
|
||||
url = "https://pypi.python.org/packages/source/n/numpy/numpy-1.9.1.tar.gz"
|
||||
|
||||
version('1.9.1', '78842b73560ec378142665e712ae4ad9')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-nose')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-pexpect/package.py
Normal file
13
var/spack/packages/py-pexpect/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyPexpect(Package):
|
||||
"""Pexpect allows easy control of interactive console applications."""
|
||||
homepage = "https://pypi.python.org/pypi/pexpect"
|
||||
url = "https://pypi.python.org/packages/source/p/pexpect/pexpect-3.3.tar.gz"
|
||||
|
||||
version('3.3', '0de72541d3f1374b795472fed841dce8')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
14
var/spack/packages/py-pil/package.py
Normal file
14
var/spack/packages/py-pil/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PyPil(Package):
|
||||
"""The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities."""
|
||||
|
||||
homepage = "http://www.pythonware.com/products/pil/"
|
||||
url = "http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz"
|
||||
|
||||
version('1.1.7', 'fc14a54e1ce02a0225be8854bfba478e')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-pmw/package.py
Normal file
13
var/spack/packages/py-pmw/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyPmw(Package):
|
||||
"""Pmw is a toolkit for building high-level compound widgets, or megawidgets, constructed using other widgets as component parts."""
|
||||
homepage = "https://pypi.python.org/pypi/Pmw"
|
||||
url = "https://pypi.python.org/packages/source/P/Pmw/Pmw-2.0.0.tar.gz"
|
||||
|
||||
version('2.0.0', 'c7c3f26c4f5abaa99807edefee578fc0')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-pychecker/package.py
Normal file
13
var/spack/packages/py-pychecker/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyPychecker(Package):
|
||||
""""""
|
||||
homepage = "http://pychecker.sourceforge.net/"
|
||||
url = "http://sourceforge.net/projects/pychecker/files/pychecker/0.8.19/pychecker-0.8.19.tar.gz"
|
||||
|
||||
version('0.8.19', 'c37182863dfb09209d6ba4f38fce9d2b')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
14
var/spack/packages/py-pygments/package.py
Normal file
14
var/spack/packages/py-pygments/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PyPygments(Package):
|
||||
"""Pygments is a syntax highlighting package written in Python."""
|
||||
homepage = "https://pypi.python.org/pypi/pygments"
|
||||
url = "https://pypi.python.org/packages/source/P/Pygments/Pygments-2.0.1.tar.gz"
|
||||
|
||||
version('2.0.1', 'e0daf4c14a4fe5b630da765904de4d6c')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
16
var/spack/packages/py-pylint/package.py
Normal file
16
var/spack/packages/py-pylint/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
import re
|
||||
|
||||
class PyPylint(Package):
|
||||
"""array processing for numbers, strings, records, and objects."""
|
||||
homepage = "https://pypi.python.org/pypi/pylint"
|
||||
url = "https://pypi.python.org/packages/source/p/pylint/pylint-1.4.1.tar.gz"
|
||||
|
||||
version('1.4.1', 'df7c679bdcce5019389038847e4de622')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-nose')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-pyparsing/package.py
Normal file
13
var/spack/packages/py-pyparsing/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyPyparsing(Package):
|
||||
"""A Python Parsing Module."""
|
||||
homepage = "https://pypi.python.org/pypi/pyparsing"
|
||||
url = "https://pypi.python.org/packages/source/p/pyparsing/pyparsing-2.0.3.tar.gz"
|
||||
|
||||
version('2.0.3', '0fe479be09fc2cf005f753d3acc35939')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
24
var/spack/packages/py-pyqt/package.py
Normal file
24
var/spack/packages/py-pyqt/package.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from spack import *
|
||||
|
||||
class PyPyqt(Package):
|
||||
"""PyQt is a set of Python v2 and v3 bindings for Digia's Qt
|
||||
application framework and runs on all platforms supported by Qt
|
||||
including Windows, MacOS/X and Linux."""
|
||||
homepage = "http://www.riverbankcomputing.com/software/pyqt/intro"
|
||||
url = "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz"
|
||||
|
||||
version('4.11.3', '997c3e443165a89a559e0d96b061bf70')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-sip')
|
||||
|
||||
# TODO: allow qt5 when conditional deps are supported.
|
||||
# TODO: Fix version matching so that @4 works like @:4
|
||||
depends_on('qt@:4')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('configure.py',
|
||||
'--confirm-license',
|
||||
'--destdir=%s' % site_packages_dir)
|
||||
make()
|
||||
make('install')
|
45
var/spack/packages/py-pyside/package.py
Normal file
45
var/spack/packages/py-pyside/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class PyPyside(Package):
|
||||
"""array processing for numbers, strings, records, and objects."""
|
||||
homepage = "https://pypi.python.org/pypi/pyside"
|
||||
url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz"
|
||||
|
||||
version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d')
|
||||
|
||||
# TODO: make build dependency
|
||||
# depends_on("cmake")
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
depends_on('qt@:4')
|
||||
|
||||
def patch(self):
|
||||
"""Undo PySide RPATH handling and add Spack RPATH."""
|
||||
# Figure out the special RPATH
|
||||
pypkg = self.spec['python'].package
|
||||
rpath = self.rpath
|
||||
rpath.append(os.path.join(self.prefix, pypkg.site_packages_dir, 'PySide'))
|
||||
|
||||
# Add Spack's standard CMake args to the sub-builds.
|
||||
# They're called BY setup.py so we have to patch it.
|
||||
filter_file(
|
||||
r'OPTION_CMAKE,',
|
||||
r'OPTION_CMAKE, ' + (
|
||||
'"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
|
||||
'"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(rpath)),
|
||||
'setup.py')
|
||||
|
||||
# PySide tries to patch ELF files to remove RPATHs
|
||||
# Disable this and go with the one we set.
|
||||
filter_file(
|
||||
r'^\s*rpath_cmd\(pyside_path, srcpath\)',
|
||||
r'#rpath_cmd(pyside_path, srcpath)',
|
||||
'pyside_postinstall.py')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install',
|
||||
'--prefix=%s' % prefix,
|
||||
'--jobs=%s' % make_jobs)
|
13
var/spack/packages/py-pytz/package.py
Normal file
13
var/spack/packages/py-pytz/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyPytz(Package):
|
||||
"""World timezone definitions, modern and historical."""
|
||||
homepage = "https://pypi.python.org/pypi/pytz"
|
||||
url = "https://pypi.python.org/packages/source/p/pytz/pytz-2014.10.tar.gz"
|
||||
|
||||
version('2014.10', 'eb1cb941a20c5b751352c52486aa1dd7')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
16
var/spack/packages/py-rpy2/package.py
Normal file
16
var/spack/packages/py-rpy2/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class PyRpy2(Package):
|
||||
"""rpy2 is a redesign and rewrite of rpy. It is providing a low-level interface to R from Python, a proposed high-level interface, including wrappers to graphical libraries, as well as R-like structures and functions."""
|
||||
homepage = "https://pypi.python.org/pypi/rpy2"
|
||||
url = "https://pypi.python.org/packages/source/r/rpy2/rpy2-2.5.4.tar.gz"
|
||||
|
||||
version('2.5.4', '115a20ac30883f096da2bdfcab55196d')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
depends_on('R')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
17
var/spack/packages/py-scientificpython/package.py
Normal file
17
var/spack/packages/py-scientificpython/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class PyScientificpython(Package):
|
||||
"""ScientificPython is a collection of Python modules for
|
||||
scientific computing. It contains support for geometry,
|
||||
mathematical functions, statistics, physical units, IO,
|
||||
visualization, and parallelization."""
|
||||
|
||||
homepage = "https://sourcesup.renater.fr/projects/scientific-py/"
|
||||
url = "https://sourcesup.renater.fr/frs/download.php/4411/ScientificPython-2.8.1.tar.gz"
|
||||
|
||||
version('2.8.1', '73ee0df19c7b58cdf2954261f0763c77')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-scikit-learn/package.py
Normal file
13
var/spack/packages/py-scikit-learn/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PyScikitLearn(Package):
|
||||
""""""
|
||||
homepage = "https://pypi.python.org/pypi/scikit-learn"
|
||||
url = "https://pypi.python.org/packages/source/s/scikit-learn/scikit-learn-0.15.2.tar.gz"
|
||||
|
||||
version('0.15.2', 'd9822ad0238e17b382a3c756ea94fe0d')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
15
var/spack/packages/py-scipy/package.py
Normal file
15
var/spack/packages/py-scipy/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class PyScipy(Package):
|
||||
"""Scientific Library for Python."""
|
||||
homepage = "https://pypi.python.org/pypi/scipy"
|
||||
url = "https://pypi.python.org/packages/source/s/scipy/scipy-0.15.0.tar.gz"
|
||||
|
||||
version('0.15.0', '639112f077f0aeb6d80718dc5019dc7a')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-nose')
|
||||
depends_on('py-numpy')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-setuptools/package.py
Normal file
13
var/spack/packages/py-setuptools/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PySetuptools(Package):
|
||||
"""Easily download, build, install, upgrade, and uninstall Python packages."""
|
||||
homepage = "https://pypi.python.org/pypi/setuptools"
|
||||
url = "https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz"
|
||||
|
||||
version('11.3.1', '01f69212e019a2420c1693fb43593930')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
45
var/spack/packages/py-shiboken/package.py
Normal file
45
var/spack/packages/py-shiboken/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class PyShiboken(Package):
|
||||
"""Shiboken generates bindings for C++ libraries using CPython source code."""
|
||||
homepage = "https://shiboken.readthedocs.org/"
|
||||
url = "https://pypi.python.org/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz"
|
||||
|
||||
version('1.2.2', '345cfebda221f525842e079a6141e555')
|
||||
|
||||
# TODO: make build dependency
|
||||
# depends_on("cmake")
|
||||
|
||||
extends('python')
|
||||
depends_on("py-setuptools")
|
||||
depends_on("libxml2")
|
||||
depends_on("qt@:4.8")
|
||||
|
||||
def patch(self):
|
||||
"""Undo Shiboken RPATH handling and add Spack RPATH."""
|
||||
# Add Spack's standard CMake args to the sub-builds.
|
||||
# They're called BY setup.py so we have to patch it.
|
||||
pypkg = self.spec['python'].package
|
||||
rpath = self.rpath
|
||||
rpath.append(os.path.join(self.prefix, pypkg.site_packages_dir, 'Shiboken'))
|
||||
|
||||
filter_file(
|
||||
r'OPTION_CMAKE,',
|
||||
r'OPTION_CMAKE, ' + (
|
||||
'"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
|
||||
'"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(rpath)),
|
||||
'setup.py')
|
||||
|
||||
# Shiboken tries to patch ELF files to remove RPATHs
|
||||
# Disable this and go with the one we set.
|
||||
filter_file(
|
||||
r'^\s*rpath_cmd\(shiboken_path, srcpath\)',
|
||||
r'#rpath_cmd(shiboken_path, srcpath)',
|
||||
'shiboken_postinstall.py')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install',
|
||||
'--prefix=%s' % prefix,
|
||||
'--jobs=%s' % make_jobs)
|
20
var/spack/packages/py-sip/package.py
Normal file
20
var/spack/packages/py-sip/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class PySip(Package):
|
||||
"""SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries."""
|
||||
homepage = "http://www.riverbankcomputing.com/software/sip/intro"
|
||||
url = "http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.5/sip-4.16.5.tar.gz"
|
||||
|
||||
version('4.16.5', '6d01ea966a53e4c7ae5c5e48c40e49e5')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('configure.py',
|
||||
'--destdir=%s' % site_packages_dir,
|
||||
'--bindir=%s' % spec.prefix.bin,
|
||||
'--incdir=%s' % python_include_dir,
|
||||
'--sipdir=%s' % os.path.join(spec.prefix.share, 'sip'))
|
||||
make()
|
||||
make('install')
|
14
var/spack/packages/py-six/package.py
Normal file
14
var/spack/packages/py-six/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PySix(Package):
|
||||
"""Python 2 and 3 compatibility utilities."""
|
||||
homepage = "https://pypi.python.org/pypi/six"
|
||||
url = "https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz"
|
||||
|
||||
version('1.9.0', '476881ef4012262dfc8adc645ee786c4')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
13
var/spack/packages/py-sympy/package.py
Normal file
13
var/spack/packages/py-sympy/package.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from spack import *
|
||||
|
||||
class PySympy(Package):
|
||||
"""SymPy is a Python library for symbolic mathematics."""
|
||||
homepage = "https://pypi.python.org/pypi/sympy"
|
||||
url = "https://pypi.python.org/packages/source/s/sympy/sympy-0.7.6.tar.gz"
|
||||
|
||||
version('0.7.6', '3d04753974306d8a13830008e17babca')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
15
var/spack/packages/py-virtualenv/package.py
Normal file
15
var/spack/packages/py-virtualenv/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
import shutil
|
||||
|
||||
class PyVirtualenv(Package):
|
||||
"""virtualenv is a tool to create isolated Python environments."""
|
||||
homepage = "http://virtualenv.readthedocs.org/projects/virtualenv/"
|
||||
url = "https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.6.tar.gz"
|
||||
|
||||
version('1.11.6', 'f61cdd983d2c4e6aeabb70b1060d6f49')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -1,10 +1,19 @@
|
||||
import os
|
||||
import re
|
||||
from contextlib import closing
|
||||
from llnl.util.lang import match_predicate
|
||||
|
||||
from spack import *
|
||||
import spack
|
||||
|
||||
|
||||
class Python(Package):
|
||||
"""The Python programming language."""
|
||||
homepage = "http://www.python.org"
|
||||
url = "http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz"
|
||||
|
||||
extendable = True
|
||||
|
||||
version('2.7.8', 'd235bdfa75b8396942e360a70487ee00')
|
||||
|
||||
depends_on("openssl")
|
||||
@@ -23,3 +32,126 @@ def install(self, spec, prefix):
|
||||
"--enable-shared")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
# ========================================================================
|
||||
# Set up environment to make install easy for python extensions.
|
||||
# ========================================================================
|
||||
|
||||
@property
|
||||
def python_lib_dir(self):
|
||||
return os.path.join('lib', 'python%d.%d' % self.version[:2])
|
||||
|
||||
|
||||
@property
|
||||
def python_include_dir(self):
|
||||
return os.path.join('include', 'python%d.%d' % self.version[:2])
|
||||
|
||||
|
||||
@property
|
||||
def site_packages_dir(self):
|
||||
return os.path.join(self.python_lib_dir, 'site-packages')
|
||||
|
||||
|
||||
def setup_dependent_environment(self, module, spec, ext_spec):
|
||||
"""Called before python modules' install() methods.
|
||||
|
||||
In most cases, extensions will only need to have one line::
|
||||
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
"""
|
||||
# Python extension builds can have a global python executable function
|
||||
module.python = Executable(join_path(spec.prefix.bin, 'python'))
|
||||
|
||||
# Add variables for lib/pythonX.Y and lib/pythonX.Y/site-packages dirs.
|
||||
module.python_lib_dir = os.path.join(ext_spec.prefix, self.python_lib_dir)
|
||||
module.python_include_dir = os.path.join(ext_spec.prefix, self.python_include_dir)
|
||||
module.site_packages_dir = os.path.join(ext_spec.prefix, self.site_packages_dir)
|
||||
|
||||
# Make the site packages directory if it does not exist already.
|
||||
mkdirp(module.site_packages_dir)
|
||||
|
||||
# Set PYTHONPATH to include site-packages dir for the
|
||||
# extension and any other python extensions it depends on.
|
||||
python_paths = []
|
||||
for d in ext_spec.traverse():
|
||||
if d.package.extends(self.spec):
|
||||
python_paths.append(os.path.join(d.prefix, self.site_packages_dir))
|
||||
os.environ['PYTHONPATH'] = ':'.join(python_paths)
|
||||
|
||||
|
||||
# ========================================================================
|
||||
# Handle specifics of activating and deactivating python modules.
|
||||
# ========================================================================
|
||||
|
||||
def python_ignore(self, ext_pkg, args):
|
||||
"""Add some ignore files to activate/deactivate args."""
|
||||
ignore_arg = args.get('ignore', lambda f: False)
|
||||
|
||||
# Always ignore easy-install.pth, as it needs to be merged.
|
||||
patterns = [r'easy-install\.pth$']
|
||||
|
||||
# Ignore pieces of setuptools installed by other packages.
|
||||
if ext_pkg.name != 'py-setuptools':
|
||||
patterns.append(r'/site\.pyc?$')
|
||||
patterns.append(r'setuptools\.pth')
|
||||
patterns.append(r'bin/easy_install[^/]*$')
|
||||
patterns.append(r'setuptools.*egg$')
|
||||
|
||||
return match_predicate(ignore_arg, patterns)
|
||||
|
||||
|
||||
def write_easy_install_pth(self, exts):
|
||||
paths = []
|
||||
for ext in sorted(exts.values()):
|
||||
ext_site_packages = os.path.join(ext.prefix, self.site_packages_dir)
|
||||
easy_pth = "%s/easy-install.pth" % ext_site_packages
|
||||
|
||||
if not os.path.isfile(easy_pth):
|
||||
continue
|
||||
|
||||
with closing(open(easy_pth)) as f:
|
||||
for line in f:
|
||||
line = line.rstrip()
|
||||
|
||||
# Skip lines matching these criteria
|
||||
if not line: continue
|
||||
if re.search(r'^(import|#)', line): continue
|
||||
if (ext.name != 'py-setuptools' and
|
||||
re.search(r'setuptools.*egg$', line)): continue
|
||||
|
||||
paths.append(line)
|
||||
|
||||
site_packages = os.path.join(self.prefix, self.site_packages_dir)
|
||||
main_pth = "%s/easy-install.pth" % site_packages
|
||||
|
||||
if not paths:
|
||||
if os.path.isfile(main_pth):
|
||||
os.remove(main_pth)
|
||||
|
||||
else:
|
||||
with closing(open(main_pth, 'w')) as f:
|
||||
f.write("import sys; sys.__plen = len(sys.path)\n")
|
||||
for path in paths:
|
||||
f.write("%s\n" % path)
|
||||
f.write("import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; "
|
||||
"p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)\n")
|
||||
|
||||
|
||||
def activate(self, ext_pkg, **args):
|
||||
args.update(ignore=self.python_ignore(ext_pkg, args))
|
||||
super(Python, self).activate(ext_pkg, **args)
|
||||
|
||||
exts = spack.install_layout.extension_map(self.spec)
|
||||
exts[ext_pkg.name] = ext_pkg.spec
|
||||
self.write_easy_install_pth(exts)
|
||||
|
||||
|
||||
def deactivate(self, ext_pkg, **args):
|
||||
args.update(ignore=self.python_ignore(ext_pkg, args))
|
||||
super(Python, self).deactivate(ext_pkg, **args)
|
||||
|
||||
exts = spack.install_layout.extension_map(self.spec)
|
||||
if ext_pkg.name in exts: # Make deactivate idempotent.
|
||||
del exts[ext_pkg.name]
|
||||
self.write_easy_install_pth(exts)
|
||||
|
27
var/spack/packages/qhull/package.py
Normal file
27
var/spack/packages/qhull/package.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from spack import *
|
||||
|
||||
class Qhull(Package):
|
||||
"""Qhull computes the convex hull, Delaunay triangulation, Voronoi
|
||||
diagram, halfspace intersection about a point, furt hest-site
|
||||
Delaunay triangulation, and furthest-site Voronoi diagram. The
|
||||
source code runs in 2-d, 3-d, 4-d, and higher dimensions. Qhull
|
||||
implements the Quickhull algorithm for computing the convex
|
||||
hull. It handles roundoff errors from floating point
|
||||
arithmetic. It computes volumes, surface areas, and
|
||||
approximations to the convex hull.
|
||||
|
||||
Qhull does not support triangulation of non-convex surfaces,
|
||||
mesh generation of non-convex objects, medium-sized inputs in
|
||||
9-D and higher, alpha shapes, weighted Voronoi diagrams,
|
||||
Voronoi volumes, or constrained Delaunay triangulations."""
|
||||
|
||||
homepage = "http://www.qhull.org"
|
||||
|
||||
version('1.0', 'd0f978c0d8dfb2e919caefa56ea2953c',
|
||||
url="http://www.qhull.org/download/qhull-2012.1-src.tgz")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
@@ -1,9 +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")
|
||||
|
||||
@@ -20,25 +31,77 @@ 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)
|
||||
|
||||
|
||||
|
||||
@property
|
||||
def common_config_args(self):
|
||||
return [
|
||||
'-prefix', self.prefix,
|
||||
'-v',
|
||||
'-opensource',
|
||||
'-opengl',
|
||||
"-release",
|
||||
'-shared',
|
||||
'-confirm-license',
|
||||
'-openssl-linked',
|
||||
'-dbus-linked',
|
||||
'-optimized-qmake',
|
||||
'-no-openvg',
|
||||
'-no-pch',
|
||||
# NIS is deprecated in more recent glibc
|
||||
"-no-nis"]
|
||||
# Don't disable all the database drivers, but should
|
||||
# really get them into spack at some point.
|
||||
|
||||
|
||||
@when('@4')
|
||||
def configure(self):
|
||||
configure('-fast',
|
||||
'-no-webkit',
|
||||
*self.common_config_args)
|
||||
|
||||
|
||||
@when('@5')
|
||||
def configure(self):
|
||||
configure('-no-eglfs',
|
||||
'-no-directfb',
|
||||
'-qt-xcb',
|
||||
# If someone wants to get a webkit build working, be my guest!
|
||||
'-skip', 'qtwebkit',
|
||||
*self.common_config_args)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('-v',
|
||||
'-confirm-license',
|
||||
'-opensource',
|
||||
'-prefix', prefix,
|
||||
'-openssl-linked',
|
||||
'-dbus-linked',
|
||||
'-fast',
|
||||
'-optimized-qmake',
|
||||
'-no-pch',
|
||||
'-no-phonon',
|
||||
'-no-phonon-backend',
|
||||
'-no-openvg')
|
||||
self.configure()
|
||||
make()
|
||||
make("install")
|
||||
|
16
var/spack/packages/ruby/package.py
Normal file
16
var/spack/packages/ruby/package.py
Normal file
@@ -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")
|
22
var/spack/packages/tcl/package.py
Normal file
22
var/spack/packages/tcl/package.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from spack import *
|
||||
|
||||
class Tcl(Package):
|
||||
"""Tcl (Tool Command Language) is a very powerful but easy to
|
||||
learn dynamic programming language, suitable for a very wide
|
||||
range of uses, including web and desktop applications,
|
||||
networking, administration, testing and many more. Open source
|
||||
and business-friendly, Tcl is a mature yet evolving language
|
||||
that is truly cross platform, easily deployed and highly
|
||||
extensible."""
|
||||
homepage = "http://www.tcl.tk"
|
||||
|
||||
version('8.6.3', 'db382feca91754b7f93da16dc4cdad1f',
|
||||
url="http://prdownloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz")
|
||||
|
||||
depends_on('zlib')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('unix'):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
22
var/spack/packages/tk/package.py
Normal file
22
var/spack/packages/tk/package.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from spack import *
|
||||
|
||||
class Tk(Package):
|
||||
"""Tk is a graphical user interface toolkit that takes developing
|
||||
desktop applications to a higher level than conventional
|
||||
approaches. Tk is the standard GUI not only for Tcl, but for
|
||||
many other dynamic languages, and can produce rich, native
|
||||
applications that run unchanged across Windows, Mac OS X, Linux
|
||||
and more."""
|
||||
homepage = "http://www.tcl.tk"
|
||||
url = "http://prdownloads.sourceforge.net/tcl/tk8.6.3-src.tar.gz"
|
||||
|
||||
version('src', '85ca4dbf4dcc19777fd456f6ee5d0221')
|
||||
|
||||
depends_on("tcl")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('unix'):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-tcl=%s" % spec['tcl'].prefix.lib)
|
||||
make()
|
||||
make("install")
|
20
var/spack/packages/util-linux/package.py
Normal file
20
var/spack/packages/util-linux/package.py
Normal file
@@ -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")
|
40
var/spack/packages/vtk/package.py
Normal file
40
var/spack/packages/vtk/package.py
Normal file
@@ -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")
|
15
var/spack/packages/xcb-proto/package.py
Normal file
15
var/spack/packages/xcb-proto/package.py
Normal file
@@ -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")
|
Reference in New Issue
Block a user