From 797c061743a33d21af3748eb824f950c193042e0 Mon Sep 17 00:00:00 2001 From: Toyohisa Kameyama Date: Sat, 5 Feb 2022 04:54:39 +0900 Subject: openfdtd: add version 2.6.3, 2.7.1, 2.7.3 and support Fujitsu Compiler. (#28472) --- .../repos/builtin/packages/openfdtd/package.py | 27 ++++++++++++++++++---- 1 file 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. -- cgit v1.2.3-60-g2f50