a few package used in HEP including ROOT6

This commit is contained in:
Patrick Gartung 2016-09-22 15:34:58 -05:00 committed by Todd Gamblin
parent 64194a823a
commit ec91152a36
10 changed files with 607 additions and 0 deletions

View file

@ -0,0 +1,11 @@
--- CLHEP/CMakeLists.txt 2016-06-20 14:41:12.000000000 -0500
+++ CLHEP/CMakeLists.txt 2016-06-20 14:40:57.000000000 -0500
@@ -37,7 +37,7 @@
# If Policy CMP0042 exists, use OLD to prefer the use of install names
# instead of the new @rpath default.
if(POLICY CMP0042)
- cmake_policy(SET CMP0042 NEW)
+ cmake_policy(SET CMP0042 OLD)
endif()
set(CMAKE_MODULE_PATH

View file

@ -0,0 +1,81 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 Clhep(Package):
"""CLHEP is a C++ Class Library for High Energy Physics. """
homepage = "http://proj-clhep.web.cern.ch/proj-clhep/"
url = "http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/clhep-2.2.0.5.tgz"
list_url = "https://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/"
version('2.3.2.2', '567b304b0fa017e1e9fbf199f456ebe9')
version('2.3.1.1', '16efca7641bc118c9d217cc96fe90bf5')
version('2.3.1.0', 'b084934fc26a4182a08c09c292e19161')
version('2.3.0.0', 'a00399a2ca867f2be902c22fc71d7e2e')
version('2.2.0.8', '5a23ed3af785ac100a25f6cb791846af')
version('2.2.0.5', '1584e8ce6ebf395821aed377df315c7c')
version('2.2.0.4', '71d2c7c2e39d86a0262e555148de01c1')
variant('debug', default=False, description="Switch to the debug version of CLHEP.")
variant('cxx11', default=True, description="Compile using c++11 dialect.")
variant('cxx14', default=False, description="Compile using c++14 dialect.")
depends_on('cmake@2.8.12.2:', when='@2.2.0.4:2.3.0.0', type='build')
depends_on('cmake@3.2:', when='@2.3.0.1:', type='build')
def patch(self):
filter_file('SET CMP0042 OLD',
'SET CMP0042 NEW',
'%s/%s/CLHEP/CMakeLists.txt'
% (self.stage.path, self.spec.version))
def install(self, spec, prefix):
# Handle debug
# Pull out the BUILD_TYPE so we can change it (Release is default)
cmake_args = [arg for arg in std_cmake_args if 'BUILD_TYPE' not in arg]
build_type = 'Debug' if '+debug' in spec else 'MinSizeRel'
cmake_args.extend(['-DCMAKE_BUILD_TYPE=' + build_type])
if '+cxx11' in spec:
env['CXXFLAGS'] = self.compiler.cxx11_flag
cmake_args.append('-DCLHEP_BUILD_CXXSTD=' +
self.compiler.cxx11_flag)
if '+cxx14' in spec:
env['CXXFLAGS'] = self.compiler.cxx14_flag
cmake_args.append('-DCLHEP_BUILD_CXXSTD=' +
self.compiler.cxx14_flag)
# Note that the tar file is unusual in that there's a
# CLHEP directory (addtional layer)
cmake_args.append("../CLHEP")
# Run cmake in a build directory
with working_dir('build', create=True):
cmake(*cmake_args)
make()
make("install")

View file

@ -0,0 +1,85 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 Geant4(Package):
"""Geant4 is a toolkit for the simulation of the passage of particles
through matter. Its areas of application include high energy, nuclear
and accelerator physics, as well as studies in medical and space
science."""
homepage = "http://geant4.cern.ch/"
url = "http://geant4.cern.ch/support/source/geant4.10.01.p03.tar.gz"
version('10.02.p01', 'b81f7082a15f6a34b720b6f15c6289cfe4ddbbbdcef0dc52719f71fac95f7f1c')
version('10.01.p03', '4fb4175cc0dabcd517443fbdccd97439')
variant('qt', default=False, description='Enable Qt support')
depends_on('cmake@3.5:', type='build')
depends_on("clhep@2.3.1.1~cxx11+cxx14", when="@10.02.p01")
depends_on("clhep@2.2.0.4~cxx11+cxx14", when="@10.01.p03")
depends_on("expat")
depends_on("zlib")
depends_on("xerces-c")
depends_on("qt@4.8:", when="+qt")
def install(self, spec, prefix):
cmake_args = list(std_cmake_args)
cmake_args.append('-DXERCESC_ROOT_DIR:STRING=%s' %
spec['xerces-c'].prefix)
cmake_args.append('-DGEANT4_BUILD_CXXSTD=c++14')
cmake_args += ['-DGEANT4_USE_GDML=ON',
'-DGEANT4_USE_SYSTEM_EXPAT=ON',
'-DGEANT4_USE_SYSTEM_ZLIB=ON',
'-DGEANT4_USE_SYSTEM_CLHEP=ON']
# fixme: turn off data for now and maybe each data set should
# go into a separate package to cut down on disk usage between
# different code versions using the same data versions.
cmake_args.append('-DGEANT4_INSTALL_DATA=OFF')
# http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/ch02s03.html
# fixme: likely things that need addressing:
# -DGEANT4_USE_OPENGL_X11=ON
if '+qt' in spec:
cmake_args.append('-DGEANT4_USE_QT=ON')
build_directory = join_path(self.stage.path, 'spack-build')
source_directory = self.stage.source_path
with working_dir(build_directory, create=True):
cmake(source_directory, *cmake_args)
make()
make("install")
def url_for_version(self, version):
"""Handle Geant4's unusual version string."""
return "http://geant4.cern.ch/support/source/geant4.%s.tar.gz" % version

View file

@ -0,0 +1,42 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 Gmake(Package):
"""GNU Make."""
homepage = "http://gnu.org/gnu/make"
url = "ftp://ftp.gnu.org/gnu/make/make-4.0.tar.gz"
version('4.0', 'b5e558f981326d9ca1bfdb841640721a')
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix))
make()
make('install')
with working_dir(prefix.bin):
symlink('make', 'gmake')

View file

@ -0,0 +1,55 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 Hepmc(Package):
"""The HepMC package is an object oriented, C++ event record for
High Energy Physics Monte Carlo generators and simulation."""
homepage = "http://hepmc.web.cern.ch/hepmc/"
url = "http://hepmc.web.cern.ch/hepmc/releases/hepmc2.06.09.tgz"
version('2.06.09', 'c47627ced4255b40e731b8666848b087')
version('2.06.08', 'a2e889114cafc4f60742029d69abd907')
version('2.06.07', '11d7035dccb0650b331f51520c6172e7')
version('2.06.06', '102e5503537a3ecd6ea6f466aa5bc4ae')
version('2.06.05', '2a4a2a945adf26474b8bdccf4f881d9c')
depends_on("cmake", type='build')
def install(self, spec, prefix):
build_directory = join_path(self.stage.path, 'spack-build')
source_directory = self.stage.source_path
options = [source_directory]
options.append('-Dmomentum:STRING=GEV')
options.append('-Dlength:STRING=MM')
options.extend(std_cmake_args)
with working_dir(build_directory, create=True):
cmake(*options)
make()
make('install')

View file

@ -0,0 +1,48 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 Heppdt(Package):
""" The HepPID library contains translation methods for particle ID's
to and from various Monte Carlo generators and the PDG standard
numbering scheme. We realize that the generators adhere closely
to the standard, but there are occasional differences."""
homepage = "http://lcgapp.cern.ch/project/simu/HepPDT/"
url = "http://lcgapp.cern.ch/project/simu/HepPDT/download/HepPDT-2.06.01.tar.gz"
version('3.04.01', 'a8e93c7603d844266b62d6f189f0ac7e')
version('3.04.00', '2d2cd7552d3e9539148febacc6287db2')
version('3.03.02', '0b85f1809bb8b0b28a46f23c718b2773')
version('3.03.01', 'd411f3bfdf9c4350d802241ba2629cc2')
version('3.03.00', 'cd84d0a0454be982dcd8c285e060a7b3')
version('2.06.01', '5688b4bdbd84b48ed5dd2545a3dc33c0')
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
make()
make("install")

View file

@ -0,0 +1,115 @@
From 5f3faffdd869bce5e254ae70f69290e4651a061d Mon Sep 17 00:00:00 2001
From: Lorenzo Moneta <Lorenzo.Moneta@cern.ch>
Date: Mon, 4 Jan 2016 15:38:23 +0100
Subject: [PATCH] Fix ROOT-7886. Use unsigned int instead of uint
---
math/mathcore/inc/Math/Delaunay2D.h | 2 +-
math/mathcore/src/Delaunay2D.cxx | 30 +++++++++++++++---------------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/math/mathcore/inc/Math/Delaunay2D.h b/math/mathcore/inc/Math/Delaunay2D.h
index 6255e78..472bded 100644
--- a/math/mathcore/inc/Math/Delaunay2D.h
+++ b/math/mathcore/inc/Math/Delaunay2D.h
@@ -273,7 +273,7 @@ class Delaunay2D {
double fYCellStep; //! inverse denominator to calculate X cell = fNCells / (fYNmax - fYNmin)
std::set<UInt_t> fCells[(fNCells+1)*(fNCells+1)]; //! grid cells with containing triangles
- inline unsigned int Cell(uint x, uint y) const {
+ inline unsigned int Cell(UInt_t x, UInt_t y) const {
return x*(fNCells+1) + y;
}
diff --git a/math/mathcore/src/Delaunay2D.cxx b/math/mathcore/src/Delaunay2D.cxx
index c4d4680..9a82858 100644
--- a/math/mathcore/src/Delaunay2D.cxx
+++ b/math/mathcore/src/Delaunay2D.cxx
@@ -190,7 +190,7 @@ void Delaunay2D::DoFindTriangles() {
Triangle tri;
- auto transform = [&] (const uint i) {
+ auto transform = [&] (const unsigned int i) {
tri.x[i] = face.vertex(i)->point().x();
tri.y[i] = face.vertex(i)->point().y();
tri.idx[i] = face.vertex(i)->info();
@@ -326,7 +326,7 @@ void Delaunay2D::DoFindTriangles() {
for(int t = 0; t < out.numberoftriangles; ++t){
Triangle tri;
- auto transform = [&] (const uint v) {
+ auto transform = [&] (const unsigned int v) {
//each triangle as numberofcorners vertices ( = 3)
tri.idx[v] = out.trianglelist[t*out.numberofcorners + v];
@@ -354,14 +354,14 @@ void Delaunay2D::DoFindTriangles() {
auto bx = std::minmax({tri.x[0], tri.x[1], tri.x[2]});
auto by = std::minmax({tri.y[0], tri.y[1], tri.y[2]});
- uint cellXmin = CellX(bx.first);
- uint cellXmax = CellX(bx.second);
+ unsigned int cellXmin = CellX(bx.first);
+ unsigned int cellXmax = CellX(bx.second);
- uint cellYmin = CellY(by.first);
- uint cellYmax = CellY(by.second);
+ unsigned int cellYmin = CellY(by.first);
+ unsigned int cellYmax = CellY(by.second);
- for(uint i = cellXmin; i <= cellXmax; ++i)
- for(uint j = cellYmin; j <= cellYmax; ++j){
+ for(unsigned int i = cellXmin; i <= cellXmax; ++i)
+ for(unsigned int j = cellYmin; j <= cellYmax; ++j){
//printf("(%u,%u) = %u\n", i, j, Cell(i,j));
fCells[Cell(i,j)].insert(t);
}
@@ -382,7 +382,7 @@ double Delaunay2D::DoInterpolateNormalized(double xx, double yy)
/// FindAllTriangles();
//see comment in header for CGAL fallback section
- auto bayCoords = [&] (const uint t) -> std::tuple<double, double, double> {
+ auto bayCoords = [&] (const unsigned int t) -> std::tuple<double, double, double> {
double la = ( (fTriangles[t].y[1] - fTriangles[t].y[2])*(xx - fTriangles[t].x[2])
+ (fTriangles[t].x[2] - fTriangles[t].x[1])*(yy - fTriangles[t].y[2]) ) * fTriangles[t].invDenom;
double lb = ( (fTriangles[t].y[2] - fTriangles[t].y[0])*(xx - fTriangles[t].x[2])
@@ -401,7 +401,7 @@ double Delaunay2D::DoInterpolateNormalized(double xx, double yy)
if(cX < 0 || cX > fNCells || cY < 0 || cY > fNCells)
return fZout; //TODO some more fancy interpolation here
- for(uint t : fCells[Cell(cX, cY)]){
+ for(unsigned int t : fCells[Cell(cX, cY)]){
auto coords = bayCoords(t);
if(inTriangle(coords)){
@@ -415,7 +415,7 @@ double Delaunay2D::DoInterpolateNormalized(double xx, double yy)
//debugging
- /*for(uint t = 0; t < fNdt; ++t){
+ /*for(unsigned int t = 0; t < fNdt; ++t){
auto coords = bayCoords(t);
if(inTriangle(coords)){
@@ -423,17 +423,17 @@ double Delaunay2D::DoInterpolateNormalized(double xx, double yy)
//brute force found a triangle -> grid not
printf("Found triangle %u for (%f,%f) -> (%u,%u)\n", t, xx,yy, cX, cY);
printf("Triangles in grid cell: ");
- for(uint x : fCells[Cell(cX, cY)])
+ for(unsigned int x : fCells[Cell(cX, cY)])
printf("%u ", x);
printf("\n");
printf("Triangle %u is in cells: ", t);
- for(uint i = 0; i <= fNCells; ++i)
- for(uint j = 0; j <= fNCells; ++j)
+ for(unsigned int i = 0; i <= fNCells; ++i)
+ for(unsigned int j = 0; j <= fNCells; ++j)
if(fCells[Cell(i,j)].count(t))
printf("(%u,%u) ", i, j);
printf("\n");
- for(uint i = 0; i < 3; ++i)
+ for(unsigned int i = 0; i < 3; ++i)
printf("\tpoint %u (%u): (%f,%f) -> (%u,%u)\n", i, fTriangles[t].idx[i], fTriangles[t].x[i], fTriangles[t].y[i], CellX(fTriangles[t].x[i]), CellY(fTriangles[t].y[i]));
//we found the triangle -> interpolate using the barycentric interpolation

View file

@ -0,0 +1,89 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 *
import sys
class Root(Package):
"""ROOT is a data analysis framework."""
homepage = "https://root.cern.ch"
url = "https://root.cern.ch/download/root_v6.07.02.source.tar.gz"
version('6.06.06', '4308449892210c8d36e36924261fea26')
version('6.06.04', '55a2f98dd4cea79c9c4e32407c2d6d17')
version('6.06.02', 'e9b8b86838f65b0a78d8d02c66c2ec55')
if sys.platform == 'darwin':
patch('math_uint.patch', when='@6.06.02')
patch('root6-60606-mathmore.patch', when='@6.06.06')
variant('graphviz', default=False, description='Enable graphviz support')
depends_on("cmake", type='build')
depends_on("pcre")
depends_on("fftw")
depends_on("graphviz", when="+graphviz")
depends_on("python")
depends_on("gsl")
depends_on("libxml2+python")
depends_on("jpeg")
if sys.platform != 'darwin':
depends_on("libpng")
depends_on("openssl")
depends_on("freetype")
def install(self, spec, prefix):
build_directory = join_path(self.stage.path, 'spack-build')
source_directory = self.stage.source_path
options = [source_directory]
if '+debug' in spec:
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
else:
options.append('-DCMAKE_BUILD_TYPE:STRING=Release')
options.append('-Dcxx14=on')
options.append('-Dcocoa=off')
options.append('-Dbonjour=off')
options.append('-Dx11=on')
options.extend(std_cmake_args)
if sys.platform == 'darwin':
darwin_options = [
'-Dcastor=OFF',
'-Drfio=OFF',
'-Ddcache=OFF']
options.extend(darwin_options)
with working_dir(build_directory, create=True):
cmake(*options)
make()
make("install")
def setup_dependent_environment(self, spack_env, run_env, dspec):
spack_env.set('ROOTSYS', self.prefix)
spack_env.set('ROOT_VERSION', 'v6')
spack_env.prepend_path('PYTHONPATH', self.prefix.lib)
def url_for_version(self, version):
"""Handle ROOT's unusual version string."""
return "https://root.cern.ch/download/root_v%s.source.tar.gz" % version

View file

@ -0,0 +1,29 @@
diff --git a/math/mathmore/inc/Math/QuantFuncMathMore.h b/math/mathmore/inc/Math/QuantFuncMathMore.h
index fd6679c..03ccc03 100644
--- a/math/mathmore/inc/Math/QuantFuncMathMore.h
+++ b/math/mathmore/inc/Math/QuantFuncMathMore.h
@@ -25,17 +25,6 @@
**********************************************************************/
-#if defined(__CINT__) && !defined(__MAKECINT__)
-// avoid to include header file when using CINT
-#ifndef _WIN32
-#include "../lib/libMathMore.so"
-#else
-#include "../bin/libMathMore.dll"
-#endif
-
-#else
-
-
#ifndef ROOT_Math_QuantFuncMathMore
#define ROOT_Math_QuantFuncMathMore
@@ -190,5 +179,3 @@ namespace MathMore {
#endif // ROOT_Math_QuantFuncMathMore
-
-#endif // if defined (__CINT__) && !defined(__MAKECINT__)

View file

@ -0,0 +1,52 @@
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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 Xrootd(Package):
"""The XROOTD project aims at giving high performance, scalable fault
tolerant access to data repositories of many kinds."""
homepage = "http://xrootd.org"
url = "http://xrootd.org/download/v4.3.0/xrootd-4.3.0.tar.gz"
version('4.3.0', '39c2fab9f632f35e12ff607ccaf9e16c')
depends_on('cmake', type='build')
def install(self, spec, prefix):
options = []
options.extend(std_cmake_args)
build_directory = join_path(self.stage.path, 'spack-build')
source_directory = self.stage.source_path
if '+debug' in spec:
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
with working_dir(build_directory, create=True):
cmake(source_directory, *options)
make()
make("install")