summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/addons70.patch25
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/package.py16
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/packageconf70.patch15
3 files changed, 52 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/tasmanian/addons70.patch b/var/spack/repos/builtin/packages/tasmanian/addons70.patch
new file mode 100644
index 0000000000..8d983c6308
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tasmanian/addons70.patch
@@ -0,0 +1,25 @@
+diff --git a/Addons/CMakeLists.txt b/Addons/CMakeLists.txt
+index 1279ada..0b6d9be 100644
+--- a/Addons/CMakeLists.txt
++++ b/Addons/CMakeLists.txt
+@@ -49,19 +49,7 @@ endif()
+
+ # The Tasmanian MPI capabilities are templated into the Addons
+ if (Tasmanian_ENABLE_MPI)
+- target_link_libraries(Tasmanian_addons INTERFACE ${MPI_CXX_LIBRARIES})
+-
+- if (DEFINED MPI_CXX_INCLUDE_PATH)
+- target_include_directories(Tasmanian_addons INTERFACE "${MPI_CXX_INCLUDE_PATH}")
+- endif()
+-
+- if(DEFINED MPI_CXX_COMPILE_FLAGS)
+- target_compile_options(Tasmanian_addons INTERFACE "${MPI_CXX_COMPILE_FLAGS}")
+- endif()
+-
+- if(DEFINED MPI_CXX_LINK_FLAGS)
+- set_target_properties(Tasmanian_addons PROPERTIES INTERFACE_LINK_OPTIONS "${MPI_CXX_LINK_FLAGS}")
+- endif()
++ target_link_libraries(Tasmanian_addons INTERFACE MPI::MPI_CXX)
+
+ add_executable(Tasmanian_mpitester testMPI.cpp testMPI.hpp testMPIDream.hpp)
+ set_target_properties(Tasmanian_mpitester PROPERTIES OUTPUT_NAME "mpitester")
diff --git a/var/spack/repos/builtin/packages/tasmanian/package.py b/var/spack/repos/builtin/packages/tasmanian/package.py
index a7c2672250..e8dbe58113 100644
--- a/var/spack/repos/builtin/packages/tasmanian/package.py
+++ b/var/spack/repos/builtin/packages/tasmanian/package.py
@@ -12,13 +12,14 @@ class Tasmanian(CMakePackage):
interpolation as well as parameter calibration."""
homepage = 'http://tasmanian.ornl.gov'
- url = 'https://github.com/ORNL/TASMANIAN/archive/v6.0.tar.gz'
+ url = 'https://github.com/ORNL/TASMANIAN/archive/v7.0.tar.gz'
git = 'https://github.com/ORNL/TASMANIAN.git'
maintainers = ['mkstoyanov']
version('develop', branch='master')
+ version('7.0', '60916a3dee3d23c1c41ca8005238f66e') # use for xsdk-0.5.0
version('6.0', '43dcb1d2bcb2f2c829ad046d0e91e83d') # use for xsdk-0.4.0
version('5.1', '5d904029a24470a6acf4a87d3339846e')
@@ -54,7 +55,9 @@ class Tasmanian(CMakePackage):
description='CMake build type',
values=('Debug', 'Release'))
- depends_on('cmake@3.5.1:', type='build')
+ depends_on('cmake@2.8:', type='build')
+ depends_on('cmake@3.5:', type='build', when='@6.0:')
+ depends_on('cmake@3.10:', type='build', when='@7.0:')
depends_on('python@2.7:', when='+python', type=('build', 'run'))
depends_on('py-numpy', when='+python', type=('build', 'run'))
@@ -68,7 +71,8 @@ class Tasmanian(CMakePackage):
depends_on('cuda@8.0.61:', when='+cuda', type=('build', 'run'))
depends_on('cuda@8.0.61:', when='+magma', type=('build', 'run'))
- depends_on('magma@2.4.0:', when='+magma', type=('build', 'run'))
+ depends_on('magma@2.4.0:', when='+magma @6.0:', type=('build', 'run'))
+ depends_on('magma@2.5.0:', when='+magma @7.0:', type=('build', 'run'))
conflicts('-cuda', when='+magma') # currently MAGMA only works with CUDA
@@ -77,6 +81,10 @@ class Tasmanian(CMakePackage):
conflicts('+mpi', when='@:5.1') # MPI is broken prior to 6.0
conflicts('+xsdkflags', when='@:5.1') # 6.0 is the first version included in xSDK
+ # patching some bugs
+ patch('addons70.patch', when='@7.0')
+ patch('packageconf70.patch', when='@7.0')
+
def cmake_args(self):
spec = self.spec
@@ -85,7 +93,7 @@ class Tasmanian(CMakePackage):
'-DUSE_XSDK_DEFAULTS:BOOL=ON',
'-DXSDK_ENABLE_PYTHON:BOOL={0}'.format(
'ON' if '+python' in spec else 'OFF'),
- '-DTasmanian_ENABLE_MPI:BOOL={0}'.format(
+ '-DTPL_ENABLE_MPI:BOOL={0}'.format(
'ON' if '+mpi' in spec else 'OFF'),
'-DXSDK_ENABLE_OPENMP:BOOL={0}'.format(
'ON' if '+openmp' in spec else 'OFF'),
diff --git a/var/spack/repos/builtin/packages/tasmanian/packageconf70.patch b/var/spack/repos/builtin/packages/tasmanian/packageconf70.patch
new file mode 100644
index 0000000000..c53255687f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tasmanian/packageconf70.patch
@@ -0,0 +1,15 @@
+diff --git a/Config/TasmanianConfig.in.cmake b/Config/TasmanianConfig.in.cmake
+index 8912e4c..df54aaf 100644
+--- a/Config/TasmanianConfig.in.cmake
++++ b/Config/TasmanianConfig.in.cmake
+@@ -7,6 +7,10 @@ cmake_minimum_required(VERSION 3.10)
+ # but this doesn't seem to work, not sure if this is a "relocatable package" (low concern)
+ include("@CMAKE_INSTALL_PREFIX@/lib/@CMAKE_PROJECT_NAME@/@CMAKE_PROJECT_NAME@.cmake")
+
++if (@Tasmanian_ENABLE_MPI@)
++ find_package(MPI REQUIRED)
++endif()
++
+ add_executable(Tasmanian::tasgrid IMPORTED)
+ set_property(TARGET Tasmanian::tasgrid PROPERTY IMPORTED_LOCATION "@CMAKE_INSTALL_PREFIX@/bin/tasgrid${CMAKE_EXECUTABLE_SUFFIX_CXX}")
+