From cbcf8d208b12d9968afbbca0113d78e9851ad1ab Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Thu, 18 Feb 2021 14:41:36 -0600 Subject: [PATCH] xsdk: fix @develop build (#21749) - petsc4py: update @develop build from petsc repo - omega-h: develop branch is now main branch --- .../repos/builtin/packages/omega-h/package.py | 2 +- .../packages/py-petsc4py/ldshared-dev.patch | 13 +++++++ .../builtin/packages/py-petsc4py/package.py | 13 ++++++- .../repos/builtin/packages/slepc/package.py | 2 +- .../repos/builtin/packages/xsdk/package.py | 37 +++++++++++-------- 5 files changed, 47 insertions(+), 20 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-petsc4py/ldshared-dev.patch diff --git a/var/spack/repos/builtin/packages/omega-h/package.py b/var/spack/repos/builtin/packages/omega-h/package.py index 74d9787a12..e562f3836e 100644 --- a/var/spack/repos/builtin/packages/omega-h/package.py +++ b/var/spack/repos/builtin/packages/omega-h/package.py @@ -17,7 +17,7 @@ class OmegaH(CMakePackage): maintainers = ['ibaned'] - version('develop', branch='master') + version('main', branch='main') version('9.32.5', sha256='963a203e9117024cd48d829d82b8543cd9133477fdc15386113b594fdc3246d8') version('9.29.0', sha256='b41964b018909ffe9cea91c23a0509b259bfbcf56874fcdf6bd9f6a179938014') version('9.27.0', sha256='aa51f83508cbd14a41ae953bda7da98a6ad2979465c76e5b3a3d9a7a651cb34a') diff --git a/var/spack/repos/builtin/packages/py-petsc4py/ldshared-dev.patch b/var/spack/repos/builtin/packages/py-petsc4py/ldshared-dev.patch new file mode 100644 index 0000000000..46a403d1ff --- /dev/null +++ b/var/spack/repos/builtin/packages/py-petsc4py/ldshared-dev.patch @@ -0,0 +1,13 @@ +diff --git a/src/binding/petsc4py/conf/baseconf.py b/src/binding/petsc4py/conf/baseconf.py +index 8a2466a5bd..73c08b923a 100644 +--- a/src/binding/petsc4py/conf/baseconf.py ++++ b/src/binding/petsc4py/conf/baseconf.py +@@ -211,7 +211,7 @@ class PetscConfig: + ldshared = getenv('LDSHARED', ldshared) + ldflags = getenv('LDFLAGS', cflags + ' ' + (ldflags or '')) + ldcmd = split_quoted(ld) + split_quoted(ldflags) +- ldshared = [flg for flg in split_quoted(ldshared) if flg not in ldcmd] ++ ldshared = [flg for flg in split_quoted(ldshared) if flg not in ldcmd and (flg.find('/lib/spack/env')<0)] + ldshared = str.join(' ', ldshared) + # + def get_flags(cmd): diff --git a/var/spack/repos/builtin/packages/py-petsc4py/package.py b/var/spack/repos/builtin/packages/py-petsc4py/package.py index f158071bb0..ba25eebf12 100644 --- a/var/spack/repos/builtin/packages/py-petsc4py/package.py +++ b/var/spack/repos/builtin/packages/py-petsc4py/package.py @@ -12,7 +12,7 @@ class PyPetsc4py(PythonPackage): homepage = "https://gitlab.com/petsc/petsc4py" pypi = "petsc4py/petsc4py-3.14.0.tar.gz" - git = "https://gitlab.com/petsc/petsc4py.git" + git = "https://gitlab.com/petsc/petsc.git" maintainers = ['dalcinl', 'balay'] @@ -32,7 +32,8 @@ class PyPetsc4py(PythonPackage): variant('mpi', default=True, description='Activates MPI support') - patch('ldshared.patch') + patch('ldshared.patch', when='@:99') + patch('ldshared-dev.patch', when='@develop') depends_on('py-cython', type='build', when='@develop') depends_on('python@2.6:2.8,3.3:', type=('build', 'run')) @@ -54,3 +55,11 @@ class PyPetsc4py(PythonPackage): depends_on('petsc@3.8:3.8.99', when='@3.8:3.8.99') depends_on('petsc@3.7:3.7.99', when='@3.7:3.7.99') depends_on('petsc@3.6:3.6.99', when='@3.6:3.6.99') + + @property + def build_directory(self): + import os + if self.spec.satisfies('@develop'): + return os.path.join(self.stage.source_path, 'src', 'binding', 'petsc4py') + else: + return self.stage.source_path diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py index ee57d79c60..b5c3b5e31f 100644 --- a/var/spack/repos/builtin/packages/slepc/package.py +++ b/var/spack/repos/builtin/packages/slepc/package.py @@ -54,7 +54,7 @@ class Slepc(Package): depends_on('python@2.6:2.8,3.4:', type='build', when='@3.11:') # Cannot mix release and development versions of SLEPc and PETSc: - depends_on('petsc@develop', when='@develop') + depends_on('petsc@develop', when='@master') depends_on('petsc@3.14:3.14.99', when='@3.14:3.14.99') depends_on('petsc@3.13:3.13.99', when='@3.13:3.13.99') depends_on('petsc@3.12:3.12.99', when='@3.12:3.12.99') diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index 2d0931c47d..bd0103cff2 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -32,6 +32,7 @@ class Xsdk(BundlePackage): variant('omega-h', default=True, description='Enable omega-h package build') variant('strumpack', default=True, description='Enable strumpack package build') variant('dealii', default=True, description='Enable dealii package build') + variant('alquimia', default=True, description='Enable alquimia package build') variant('phist', default=True, description='Enable phist package build') variant('ginkgo', default=True, description='Enable ginkgo package build') variant('libensemble', default=True, description='Enable py-libensemble package build') @@ -61,7 +62,7 @@ class Xsdk(BundlePackage): depends_on('superlu-dist@5.2.2', when='@0.3.0') depends_on('superlu-dist@xsdk-0.2.0', when='@xsdk-0.2.0') - depends_on('trilinos@develop+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan2+amesos2~exodus+dtk+intrepid2+shards gotype=int', + depends_on('trilinos@develop+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14', when='@develop +trilinos') depends_on('trilinos@13.0.1+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan2+amesos2~exodus~dtk+intrepid2+shards gotype=int', when='@0.6.0 +trilinos') @@ -74,6 +75,7 @@ class Xsdk(BundlePackage): depends_on('trilinos@xsdk-0.2.0+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan2~amesos2~exodus', when='@xsdk-0.2.0 +trilinos') + depends_on('datatransferkit@master', when='@develop +trilinos +datatransferkit') depends_on('datatransferkit@3.1-rc2', when='@0.6.0 +trilinos +datatransferkit') depends_on('petsc +trilinos', when='+trilinos') @@ -94,7 +96,7 @@ class Xsdk(BundlePackage): depends_on('dealii +trilinos~adol-c', when='+trilinos +dealii') depends_on('dealii ~trilinos', when='~trilinos +dealii') - depends_on('dealii@develop~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@develop +dealii') + depends_on('dealii@master~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine~nanoflann', when='@develop +dealii') depends_on('dealii@9.2.0~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@0.6.0 +dealii') depends_on('dealii@9.1.1~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@0.5.0 +dealii') depends_on('dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi~int64+hdf5~netcdf+metis~ginkgo~symengine', when='@0.4.0 +dealii') @@ -106,12 +108,12 @@ class Xsdk(BundlePackage): depends_on('pflotran@xsdk-0.3.0', when='@0.3.0') depends_on('pflotran@xsdk-0.2.0', when='@xsdk-0.2.0') - depends_on('alquimia@develop', when='@develop') - depends_on('alquimia@xsdk-0.6.0', when='@0.6.0') - depends_on('alquimia@xsdk-0.5.0', when='@0.5.0') - depends_on('alquimia@xsdk-0.4.0', when='@0.4.0') - depends_on('alquimia@xsdk-0.3.0', when='@0.3.0') - depends_on('alquimia@xsdk-0.2.0', when='@xsdk-0.2.0') + depends_on('alquimia@develop', when='@develop +alquimia') + depends_on('alquimia@xsdk-0.6.0', when='@0.6.0 +alquimia') + depends_on('alquimia@xsdk-0.5.0', when='@0.5.0 +alquimia ') + depends_on('alquimia@xsdk-0.4.0', when='@0.4.0 +alquimia') + depends_on('alquimia@xsdk-0.3.0', when='@0.3.0 +alquimia') + depends_on('alquimia@xsdk-0.2.0', when='@xsdk-0.2.0 +alquimia') depends_on('sundials +cuda', when='+cuda @0.6.0:') depends_on('sundials +trilinos', when='+trilinos @0.6.0:') @@ -141,25 +143,25 @@ class Xsdk(BundlePackage): depends_on('amrex@18.10.1', when='@0.4.0 %intel') depends_on('amrex@18.10.1', when='@0.4.0 %gcc') - depends_on('slepc@develop', when='@develop') + depends_on('slepc@master', when='@develop') depends_on('slepc@3.14.0', when='@0.6.0') depends_on('slepc@3.12.0', when='@0.5.0') depends_on('slepc@3.10.1', when='@0.4.0') depends_on('omega-h +trilinos', when='+trilinos +omega-h') depends_on('omega-h ~trilinos', when='~trilinos +omega-h') - depends_on('omega-h@develop', when='@develop +omega-h') + depends_on('omega-h@main', when='@develop +omega-h') depends_on('omega-h@9.32.5', when='@0.6.0 +omega-h') depends_on('omega-h@9.29.0', when='@0.5.0 +omega-h') depends_on('omega-h@9.19.1', when='@0.4.0 +omega-h') - depends_on('strumpack ~cuda', when='~cuda @0.6.0:') - depends_on('strumpack@master', when='@develop +strumpack') + depends_on('strumpack ~cuda', when='~cuda @0.6.0: +strumpack') + depends_on('strumpack@master~slate', when='@develop +strumpack') depends_on('strumpack@5.0.0~slate', when='@0.6.0 +strumpack') depends_on('strumpack@3.3.0~slate', when='@0.5.0 +strumpack') depends_on('strumpack@3.1.1~slate', when='@0.4.0 +strumpack') - depends_on('pumi@develop', when='@develop') + depends_on('pumi@master', when='@develop') depends_on('pumi@2.2.5', when='@0.6.0') depends_on('pumi@2.2.1', when='@0.5.0') depends_on('pumi@2.2.0', when='@0.4.0') @@ -182,7 +184,7 @@ class Xsdk(BundlePackage): depends_on('phist kernel_lib=tpetra', when='+trilinos +phist') depends_on('phist kernel_lib=petsc', when='~trilinos +phist') - depends_on('phist@develop ~fortran ~scamac ~host', when='@develop +phist') + depends_on('phist@develop ~fortran ~scamac ~openmp ~host ~int64', when='@develop +phist') depends_on('phist@1.9.3 ~fortran ~scamac ~openmp ~host ~int64', when='@0.6.0 +phist') depends_on('phist@1.8.0 ~fortran ~scamac ~openmp ~host ~int64', when='@0.5.0 +phist') depends_on('phist@1.7.5 ~fortran ~scamac ~openmp ~host ~int64', when='@0.4.0 +phist') @@ -195,6 +197,7 @@ class Xsdk(BundlePackage): depends_on('ginkgo@1.1.0 ~openmp+cuda', when='@0.5.0 +cuda +ginkgo') depends_on('py-libensemble@develop+petsc4py', type='run', when='@develop +libensemble') + depends_on('py-petsc4py@develop', type='run', when='@develop +libensemble') depends_on('py-libensemble@0.7.1+petsc4py', type='run', when='@0.6.0 +libensemble') depends_on('py-petsc4py@3.14.0', type='run', when='@0.6.0 +libensemble') depends_on('py-libensemble@0.5.2+petsc4py', type='run', when='@0.5.0 +libensemble') @@ -214,8 +217,10 @@ class Xsdk(BundlePackage): depends_on('heffte@develop+fftw', when='@develop +heffte') depends_on('heffte@2.0.0+fftw', when='@0.6.0 +heffte') - depends_on('slate@2020.10.00 ~cuda', when='~cuda +slate %gcc@6.0:') - depends_on('slate@2020.10.00 +cuda', when='+cuda +slate %gcc@6.0:') + depends_on('slate@master ~cuda', when='@develop ~cuda +slate %gcc@6.0:') + depends_on('slate@master +cuda', when='@develop +cuda +slate %gcc@6.0:') + depends_on('slate@2020.10.00 ~cuda', when='@0.6.0 ~cuda +slate %gcc@6.0:') + depends_on('slate@2020.10.00 +cuda', when='@0.6.0 +cuda +slate %gcc@6.0:') # xSDKTrilinos depends on the version of Trilinos built with # +tpetra which is turned off for faster xSDK