Merge branch 'develop' into features/nag
* develop: eigen : added package Revert deprecated configure flags Add verbs variant, remove deprecated configure flags
This commit is contained in:
		
							
								
								
									
										68
									
								
								var/spack/repos/builtin/packages/eigen/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								var/spack/repos/builtin/packages/eigen/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # Copyright (c) 2013, Lawrence Livermore National Security, LLC. | ||||||
|  | # Produced at the Lawrence Livermore National Laboratory. | ||||||
|  | # | ||||||
|  | # This file is part of Spack. | ||||||
|  | # Written by David Beckingsale, david@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 General Public License (as published by | ||||||
|  | # the Free Software Foundation) version 2.1 dated 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 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 Eigen(Package): | ||||||
|  |     """ | ||||||
|  |     Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms | ||||||
|  |     """ | ||||||
|  |  | ||||||
|  |     homepage = 'http://eigen.tuxfamily.org/' | ||||||
|  |     url = 'http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2' | ||||||
|  |  | ||||||
|  |     version('3.2.7', 'cc1bacbad97558b97da6b77c9644f184', url='http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2') | ||||||
|  |  | ||||||
|  |     variant('debug', default=False, description='Builds the library in debug mode') | ||||||
|  |  | ||||||
|  |     variant('metis', default=True, description='Enables metis backend') | ||||||
|  |     variant('scotch', default=True, description='Enables scotch backend') | ||||||
|  |     variant('fftw', default=True, description='Enables FFTW backend') | ||||||
|  |  | ||||||
|  |     # TODO : dependency on SuiteSparse, googlehash, superlu, adolc missing | ||||||
|  |  | ||||||
|  |     depends_on('metis', when='+metis') | ||||||
|  |     depends_on('scotch', when='+scotch') | ||||||
|  |     depends_on('fftw', when='+fftw') | ||||||
|  |  | ||||||
|  |     depends_on('mpfr@2.3.0:')  # Eigen 3.2.7 requires at least 2.3.0 | ||||||
|  |     depends_on('gmp') | ||||||
|  |  | ||||||
|  |     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") | ||||||
| @@ -41,6 +41,8 @@ class Mpich(Package): | |||||||
|     version('3.1',   '5643dd176499bfb7d25079aaff25f2ec') |     version('3.1',   '5643dd176499bfb7d25079aaff25f2ec') | ||||||
|     version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0') |     version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0') | ||||||
|  |  | ||||||
|  |     variant('verbs', default=False, description='Build support for OpenFabrics verbs.') | ||||||
|  |  | ||||||
|     provides('mpi@:3.0', when='@3:') |     provides('mpi@:3.0', when='@3:') | ||||||
|     provides('mpi@:1.3', when='@1:') |     provides('mpi@:1.3', when='@1:') | ||||||
|  |  | ||||||
| @@ -56,6 +58,12 @@ def install(self, spec, prefix): | |||||||
|         config_args = ["--prefix=" + prefix, |         config_args = ["--prefix=" + prefix, | ||||||
|                        "--enable-shared"] |                        "--enable-shared"] | ||||||
|  |  | ||||||
|  |         # Variants | ||||||
|  |         if '+verbs' in spec: | ||||||
|  |             config_args.append("--with-ibverbs") | ||||||
|  |         else: | ||||||
|  |             config_args.append("--without-ibverbs") | ||||||
|  |  | ||||||
|         # TODO: Spack should make it so that you can't actually find |         # TODO: Spack should make it so that you can't actually find | ||||||
|         # these compilers if they're "disabled" for the current |         # these compilers if they're "disabled" for the current | ||||||
|         # compiler configuration. |         # compiler configuration. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Adam J. Stewart
					Adam J. Stewart