summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorToyohisa Kameyama <fj5358cc@fujitsu.com>2022-02-05 04:54:39 +0900
committerGitHub <noreply@github.com>2022-02-04 11:54:39 -0800
commit797c061743a33d21af3748eb824f950c193042e0 (patch)
tree44cfab4fa1cba27304ac898f4271046574f42cdd /var
parentc29e6dbd20a9fc5806a2af2f822d925411739463 (diff)
downloadspack-797c061743a33d21af3748eb824f950c193042e0.tar.gz
spack-797c061743a33d21af3748eb824f950c193042e0.tar.bz2
spack-797c061743a33d21af3748eb824f950c193042e0.tar.xz
spack-797c061743a33d21af3748eb824f950c193042e0.zip
openfdtd: add version 2.6.3, 2.7.1, 2.7.3 and support Fujitsu Compiler. (#28472)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/openfdtd/package.py27
1 files changed, 22 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/openfdtd/package.py b/var/spack/repos/builtin/packages/openfdtd/package.py
index 33a957bd79..15e7d3e675 100644
--- a/var/spack/repos/builtin/packages/openfdtd/package.py
+++ b/var/spack/repos/builtin/packages/openfdtd/package.py
@@ -16,18 +16,35 @@ class Openfdtd(MakefilePackage):
homepage = "http://www.e-em.co.jp/OpenFDTD/"
url = "http://www.e-em.co.jp/OpenFDTD/OpenFDTD.zip"
+ version('2.7.3', sha256='22171d1dd74b4e48299b0d0c69ca933aac89d4eb77c59f579af35861eaca0faa')
+ version('2.7.1', sha256='3fb5fbeca3dc63243a6dc116d0f3ce3d1a854b4813f3928812ae99e07575ab1a')
+ version('2.6.3', sha256='1551cce7f96c1c53ad5d5e676bce2b26fd1593dd5f492a801e976a8a65a42a00')
version('2.6.0', sha256='92f7b92dc55ff6d8fc8c31eda77ca10fe25a5f54b002f2523a3d67f485d77e9f')
- version('2.3.0', sha256='10ac70f2ed7160da87dd9222a5a17ca7b72365ee886235359afc48c4fb7b4be4',
- url='http://www.e-em.co.jp/OpenFDTD/old/OpenFDTD_230.zip')
+ version('2.3.0', sha256='10ac70f2ed7160da87dd9222a5a17ca7b72365ee886235359afc48c4fb7b4be4')
variant('mpi', default=False, description='Build with MPI Support')
depends_on('mpi', when='+mpi')
+ def url_for_version(self, version):
+ url = self.url
+ if version < Version('2.7.3'):
+ url = 'http://www.e-em.co.jp/OpenFDTD/old/OpenFDTD_{0}.zip'
+ return url.format(version.joined)
+
def edit(self, spec, prefix):
- filter_file('gcc', spack_cc, './src/Makefile_gcc')
- if '+mpi' in self.spec:
- filter_file('mpicc', spec['mpi'].mpicc, './mpi/Makefile_gcc')
+ makefiles = [join_path('src', 'Makefile_gcc')]
+ if spec.satisfies('+mpi'):
+ makefiles.append(join_path('mpi', 'Makefile_gcc'))
+ for makefile in makefiles:
+ m = FileFilter(makefile)
+ m.filter('gcc', spack_cc)
+ m.filter('-fopenmp', self.compiler.openmp_flag)
+ if spec.satisfies('+mpi'):
+ m.filter('mpicc', spec['mpi'].mpicc)
+ if spec.satisfies('%fj'):
+ m.filter('-Ofast', '-Kfast,ocl -D_VECTOR')
+ m.filter('-O2', '-Kfast,ocl -D_VECTOR')
# Openfdtd has "Makefile" and "Makefile_gcc".
# "Makefile" is used only in Windows development environment.