New, cleaner package repository structure.
Package repositories now look like this: top-level-dir/ repo.yaml packages/ libelf/ package.py mpich/ package.py ... This leaves room at the top level for additional metadata, source, per-repo configs, indexes, etc., and it makes it easy to see that something is a spack repo (just look for repo.yaml and packages).
This commit is contained in:
55
var/spack/repos/builtin/packages/cube/package.py
Normal file
55
var/spack/repos/builtin/packages/cube/package.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# FIXME: Add copyright statement
|
||||
#
|
||||
from spack import *
|
||||
from contextlib import closing
|
||||
|
||||
class Cube(Package):
|
||||
"""Cube the profile viewer for Score-P and Scalasca profiles. It
|
||||
displays a multi-dimensional performance space consisting
|
||||
of the dimensions (i) performance metric, (ii) call path,
|
||||
and (iii) system resource."""
|
||||
|
||||
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
|
||||
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
|
||||
|
||||
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20')
|
||||
|
||||
version('4.3TP1', 'a2090fbc7b2ba394bd5c09ba971e237f',
|
||||
url = 'http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3-TP1.tar.gz')
|
||||
|
||||
# Using CC as C++ compiler provides quirky workaround for a Score-P build system attempt
|
||||
# to guess a matching C compiler when configuring scorep-score
|
||||
backend_user_provided = """\
|
||||
CC=cc
|
||||
CXX=CC
|
||||
F77=f77
|
||||
FC=f90
|
||||
#CFLAGS=-fPIC
|
||||
#CXXFLAGS=-fPIC
|
||||
"""
|
||||
frontend_user_provided = """\
|
||||
CC_FOR_BUILD=cc
|
||||
CXX_FOR_BUILD=CC
|
||||
F77_FOR_BUILD=f70
|
||||
FC_FOR_BUILD=f90
|
||||
"""
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Use a custom compiler configuration, otherwise the score-p
|
||||
# build system messes with spack's compiler settings.
|
||||
# Create these three files in the build directory
|
||||
|
||||
with closing(open("vendor/common/build-config/platforms/platform-backend-user-provided", "w")) as backend_file:
|
||||
backend_file.write(self.backend_user_provided)
|
||||
with closing(open("vendor/common/build-config/platforms/platform-frontend-user-provided", "w")) as frontend_file:
|
||||
frontend_file.write(self.frontend_user_provided)
|
||||
|
||||
configure_args = ["--prefix=%s" % prefix,
|
||||
"--with-custom-compilers",
|
||||
"--without-paraver",
|
||||
"--without-gui"]
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make(parallel=False)
|
||||
make("install", parallel=False)
|
Reference in New Issue
Block a user