Balay/petsc remove boost dependency (#8508)
* petsc: remove dependency on boost - its required only as a dependency on trilinos Also set COPTFLAGS='' etc - this way CFLAGS is the primary way optimization flags are set by spack * petsc: update pkgs with petsc~boost dependency * fix flake8 * boost is optional for trilinos - so adjust petsc dependency on boost [via trilinos] accordingly * do not add boost dependency on petsc [due to trilinos requirement]. Trilinos adds this dependency anyway.
This commit is contained in:
		 Satish Balay
					Satish Balay
				
			
				
					committed by
					
						 Adam J. Stewart
						Adam J. Stewart
					
				
			
			
				
	
			
			
			 Adam J. Stewart
						Adam J. Stewart
					
				
			
						parent
						
							f6140375e9
						
					
				
				
					commit
					df45b6f56d
				
			| @@ -73,10 +73,10 @@ class Ceed(Package): | ||||
|     depends_on('nekcem@0b8bedd', when='@1.0.0+nek') | ||||
|  | ||||
|     # PETSc, HPGMG | ||||
|     # For a +quickbuild we disable boost, hdf5, and superlu-dist in PETSc. | ||||
|     # For a +quickbuild we disable hdf5, and superlu-dist in PETSc. | ||||
|     # Ideally, these can be turned into recommendations to Spack for | ||||
|     # concretizing the PETSc spec, if Spack ever supports recommendations. | ||||
|     depends_on('petsc@3.8.3~boost~hdf5~superlu-dist', | ||||
|     depends_on('petsc@3.8.3~hdf5~superlu-dist', | ||||
|                when='@1.0.0+petsc+quickbuild') | ||||
|     depends_on('petsc@3.8.3+mpi+double~int64', when='@1.0.0+petsc~mfem') | ||||
|     # The mfem petsc examples need the petsc variants +hypre, +suite-sparse, | ||||
|   | ||||
| @@ -6,7 +6,7 @@ builds=( | ||||
|     'mfem~mpi~metis~gzstream' | ||||
|     'mfem+mpi+superlu-dist+suite-sparse+petsc \ | ||||
|         +sundials+pumi+mpfr+netcdf+gzstream+gnutls+libunwind \ | ||||
|         ^hypre~internal-superlu ^petsc~boost+suite-sparse+mumps' | ||||
|         ^hypre~internal-superlu ^petsc+suite-sparse+mumps' | ||||
|     'mfem~mpi+suite-sparse+sundials+mpfr+netcdf \ | ||||
|         +gzstream+gnutls+libunwind' | ||||
|     # develop version: | ||||
| @@ -18,7 +18,7 @@ builds=( | ||||
|     'mfem@develop+shared~static+mpi \ | ||||
|         +superlu-dist+suite-sparse+petsc+sundials+mpfr+netcdf+gzstream \ | ||||
|         +gnutls+libunwind+conduit ^hypre~internal-superlu \ | ||||
|         ^petsc~boost+suite-sparse+mumps ^conduit~python~hdf5' | ||||
|         ^petsc+suite-sparse+mumps ^conduit~python~hdf5' | ||||
|     # TODO: The options '^netcdf~mpi ^hdf5@1.8.19~mpi' are added just to make | ||||
|     # conduit happy. | ||||
|     'mfem@develop+shared~static~mpi \ | ||||
| @@ -38,7 +38,7 @@ builds2=( | ||||
|     'mfem+netcdf' | ||||
|     'mfem+mpfr' | ||||
|     'mfem+gnutls' | ||||
|     'mfem+petsc+mpi ^hypre~internal-superlu ^petsc~boost+suite-sparse+mumps' | ||||
|     'mfem+petsc+mpi ^hypre~internal-superlu ^petsc+suite-sparse+mumps' | ||||
|     # develop version | ||||
|     'mfem@develop+superlu-dist' | ||||
|     'mfem@develop+suite-sparse~mpi' | ||||
| @@ -53,7 +53,7 @@ builds2=( | ||||
|     'mfem@develop+conduit~mpi ^conduit~python' | ||||
|     'mfem@develop+conduit ^conduit~python' | ||||
|     'mfem@develop+petsc+mpi ^hypre~internal-superlu \ | ||||
|         ^petsc~boost+suite-sparse+mumps' | ||||
|         ^petsc+suite-sparse+mumps' | ||||
| ) | ||||
|  | ||||
| trap 'printf "\nScript interrupted.\n"; exit 33' INT | ||||
|   | ||||
| @@ -74,7 +74,6 @@ class Petsc(Package): | ||||
|             description='Activates support for metis and parmetis') | ||||
|     variant('hdf5',    default=True, | ||||
|             description='Activates support for HDF5 (only parallel)') | ||||
|     variant('boost',   default=True,  description='Activates support for Boost') | ||||
|     variant('hypre',   default=True, | ||||
|             description='Activates support for Hypre (only parallel)') | ||||
|     # Mumps is disabled by default, because it depends on Scalapack | ||||
| @@ -121,7 +120,6 @@ class Petsc(Package): | ||||
|     depends_on('python@2.6:2.8', type='build') | ||||
|  | ||||
|     # Other dependencies | ||||
|     depends_on('boost', when='@:3.5+boost') | ||||
|     depends_on('metis@5:~int64+real64', when='@:3.7.99+metis~int64+double') | ||||
|     depends_on('metis@5:~int64', when='@:3.7.99+metis~int64~double') | ||||
|     depends_on('metis@5:+int64+real64', when='@:3.7.99+metis+int64+double') | ||||
| @@ -197,7 +195,10 @@ def install(self, spec, prefix): | ||||
|                    '--with-x=0', | ||||
|                    '--download-c2html=0', | ||||
|                    '--download-sowing=0', | ||||
|                    '--download-hwloc=0'] | ||||
|                    '--download-hwloc=0', | ||||
|                    'COPTFLAGS=', | ||||
|                    'FOPTFLAGS=', | ||||
|                    'CXXOPTFLAGS='] | ||||
|         options.extend(self.mpi_dependent_options()) | ||||
|         options.extend([ | ||||
|             '--with-precision=%s' % ( | ||||
| @@ -217,6 +218,8 @@ def install(self, spec, prefix): | ||||
|  | ||||
|         if 'trilinos' in spec: | ||||
|             options.append('--with-cxx-dialect=C++11') | ||||
|             if spec.satisfies('^trilinos+boost'): | ||||
|                 options.append('--with-boost=1') | ||||
|  | ||||
|         if self.spec.satisfies('clanguage=C++'): | ||||
|             options.append('--with-clanguage=C++') | ||||
| @@ -236,7 +239,7 @@ def install(self, spec, prefix): | ||||
|             ]) | ||||
|  | ||||
|         # Activates library support if needed | ||||
|         for library in ('metis', 'boost', 'hdf5', 'hypre', 'parmetis', | ||||
|         for library in ('metis', 'hdf5', 'hypre', 'parmetis', | ||||
|                         'mumps', 'trilinos'): | ||||
|             options.append( | ||||
|                 '--with-{library}={value}'.format( | ||||
|   | ||||
| @@ -64,11 +64,11 @@ class Xsdk(Package): | ||||
|     depends_on('trilinos@12.12.1+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse~tpetra+nox~ifpack2~zoltan2~amesos2~exodus', | ||||
|                when='@develop') | ||||
|  | ||||
|     depends_on('petsc@3.8.2+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps~boost+double~int64', | ||||
|     depends_on('petsc@3.8.2+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64', | ||||
|                when='@0.3.0') | ||||
|     depends_on('petsc@xsdk-0.2.0+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps~boost+double~int64', | ||||
|     depends_on('petsc@xsdk-0.2.0+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64', | ||||
|                when='@xsdk-0.2.0') | ||||
|     depends_on('petsc@develop+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps~boost+double~int64', | ||||
|     depends_on('petsc@develop+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64', | ||||
|                when='@develop') | ||||
|  | ||||
|     depends_on('pflotran@xsdk-0.3.0', when='@0.3.0') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user