@@ -21,6 +21,7 @@ class Scotch(CMakePackage, MakefilePackage):
2121
2222 maintainers ("pghysels" )
2323
24+ version ("7.0.8" , sha256 = "21f48ac85c7991a5eb5fae9232dd68584556ccc500f85e2ebd6b5b275617e11a" )
2425 version ("7.0.7" , sha256 = "02084471d2ca525f8a59b4bb8c607eb5cca452d6a38cf5c89f5f92f7edc1a5b5" )
2526 version ("7.0.6" , sha256 = "b44acd0d2f53de4b578fa3a88944cccc45c4d2961cd8cefa9b9a1d5431de8e2b" )
2627 version ("7.0.4" , sha256 = "8ef4719d6a3356e9c4ca7fefd7e2ac40deb69779a5c116f44da75d13b3d2c2c3" )
@@ -62,6 +63,7 @@ class Scotch(CMakePackage, MakefilePackage):
6263 when = "@7.0.1" ,
6364 description = "Link error handling library to libscotch/libptscotch" ,
6465 )
66+ variant ("determinism" , default = "FULL" , values = ("NONE" , "FIXED_SEED" , "FULL" ), multi = False , description = "Determinism configuration" )
6567
6668 depends_on ("c" , type = "build" )
6769 depends_on ("cxx" , type = "build" )
@@ -135,7 +137,7 @@ def cmake_args(self):
135137 self .define_from_variant ("BUILD_PTSCOTCH" , "mpi" ),
136138 self .define_from_variant ("THREADS" , "threads" ),
137139 self .define_from_variant ("MPI_THREAD_MULTIPLE" , "mpi_thread" ),
138- self .define ( "SCOTCH_RANDOM " , "FIXED_SEED " ),
140+ self .define_from_variant ( "SCOTCH_DETERMINISTIC " , "determinism " ),
139141 ]
140142
141143 if self .pkg .version > Version ("7.0.4" ):
@@ -164,7 +166,14 @@ class MakefileBuilder(makefile.MakefileBuilder):
164166
165167 def edit (self , pkg , spec , prefix ):
166168 makefile_inc = []
167- cflags = ["-O3" , "-DCOMMON_RANDOM_FIXED_SEED" , "-DSCOTCH_DETERMINISTIC" , "-DSCOTCH_RENAME" ]
169+ cflags = ["-O3" , "-DSCOTCH_RENAME" ]
170+
171+ if "determinism=FIXED_SEED" in self .spec :
172+ cflags .append ("-DCOMMON_RANDOM_FIXED_SEED" )
173+
174+ if "determinism=FULL" in self .spec :
175+ cflags .append ("-DCOMMON_RANDOM_FIXED_SEED" )
176+ cflags .append ("-DSCOTCH_DETERMINISTIC" )
168177
169178 # SCOTCH_Num typedef: size of integers in arguments
170179 # SCOTCH_Idx typedef: indices for addressing
0 commit comments