summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/clhep/darwin/CLHEP.patch11
-rw-r--r--var/spack/repos/builtin/packages/clhep/package.py81
-rw-r--r--var/spack/repos/builtin/packages/geant4/package.py85
-rw-r--r--var/spack/repos/builtin/packages/gmake/package.py42
-rw-r--r--var/spack/repos/builtin/packages/hepmc/package.py55
-rw-r--r--var/spack/repos/builtin/packages/heppdt/package.py48
-rw-r--r--var/spack/repos/builtin/packages/root/math_uint.patch115
-rw-r--r--var/spack/repos/builtin/packages/root/package.py89
-rw-r--r--var/spack/repos/builtin/packages/root/root6-60606-mathmore.patch29
-rw-r--r--var/spack/repos/builtin/packages/xrootd/package.py52
10 files changed, 607 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/clhep/darwin/CLHEP.patch b/var/spack/repos/builtin/packages/clhep/darwin/CLHEP.patch
new file mode 100644
index 0000000000..ca1d96574a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/clhep/darwin/CLHEP.patch
@@ -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
diff --git a/var/spack/repos/builtin/packages/clhep/package.py b/var/spack/repos/builtin/packages/clhep/package.py
new file mode 100644
index 0000000000..02a9da9e27
--- /dev/null
+++ b/var/spack/repos/builtin/packages/clhep/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py
new file mode 100644
index 0000000000..239ef6d586
--- /dev/null
+++ b/var/spack/repos/builtin/packages/geant4/package.py
@@ -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
diff --git a/var/spack/repos/builtin/packages/gmake/package.py b/var/spack/repos/builtin/packages/gmake/package.py
new file mode 100644
index 0000000000..ca296350a4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gmake/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/hepmc/package.py b/var/spack/repos/builtin/packages/hepmc/package.py
new file mode 100644
index 0000000000..ab80dcf6ba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hepmc/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/heppdt/package.py b/var/spack/repos/builtin/packages/heppdt/package.py
new file mode 100644
index 0000000000..5fb7ec86d5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/heppdt/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/root/math_uint.patch b/var/spack/repos/builtin/packages/root/math_uint.patch
new file mode 100644
index 0000000000..ff4a38b91c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/root/math_uint.patch
@@ -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
diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py
new file mode 100644
index 0000000000..0f66dcebaa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/root/package.py
@@ -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
diff --git a/var/spack/repos/builtin/packages/root/root6-60606-mathmore.patch b/var/spack/repos/builtin/packages/root/root6-60606-mathmore.patch
new file mode 100644
index 0000000000..d009a5af0d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/root/root6-60606-mathmore.patch
@@ -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__)
+
diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py
new file mode 100644
index 0000000000..db076dbc56
--- /dev/null
+++ b/var/spack/repos/builtin/packages/xrootd/package.py
@@ -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")