<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/83529a29d5e433b234e53a6c19d9f173d69fdbc7">https://github.com/macports/macports-ports/commit/83529a29d5e433b234e53a6c19d9f173d69fdbc7</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 83529a29d5e433b234e53a6c19d9f173d69fdbc7
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Dec 28 22:55:52 2023 +1100

<span style='display:block; white-space:pre;color:#404040;'>    petsc: update to 3.20.2
</span>---
 math/petsc/Portfile                                | 18 +++----
 ...-impls-aij-mpi-superlu_dist-superlu_dist.c.diff | 58 +++++++++++-----------
 math/petsc/files/patch-sundials.py.diff            |  4 +-
 math/petsc/files/patch-sundials_version.diff       |  6 +--
 4 files changed, 41 insertions(+), 45 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/Portfile b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 612272984ef..56e00eb4326 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,8 +6,7 @@ PortGroup                   mpi 1.0
</span> PortGroup                   muniversal 1.0
 
 name                        petsc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                     3.15.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                    2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                     3.20.2
</span> categories                  math science
 maintainers                 {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
 license                     BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,23 +16,20 @@ long_description            PETSc, pronounced PET-see (the S is silent), is a su
</span>                             of scientific applications modeled by partial differential equations. \
                             It employs the MPI standard for all message-passing communication.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms                   darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> homepage                    https://www.mcs.anl.gov/petsc/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites                http://ftp.mcs.anl.gov/pub/petsc/release-snapshots \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            https://www.mcs.anl.gov/petsc/mirror/release-snapshots
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites                https://web.cels.anl.gov/projects/petsc/download/release-snapshots/
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums                   rmd160  d7f181f25a76ca82601469c20a0c1d7ace50b62a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            sha256  ac46db6bfcaaec8cd28335231076815bd5438f401a4a05e33736b4f9ff12e59a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            size    15976488
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums                   rmd160 a33fea0f517dcbf14c9123f1050bbf4559d4cb7d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            sha256 2a2d08b5f0e3d0198dae2c42ce1fd036f25c153ef2bb4a2d320ca141ac7cd30b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            size   16975723
</span> 
 mpi.setup                   default
 
 use_parallel_build          no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set python.version          39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set python_ver_dot          [join [split ${python.version} {}] "."]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_ver_dot          3.11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python.version          [string map {. ""} $python_ver_dot]
</span> 
 depends_build-append        port:sowing \
                             port:python${python.version} \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/files/patch-src-mat-impls-aij-mpi-superlu_dist-superlu_dist.c.diff b/math/petsc/files/patch-src-mat-impls-aij-mpi-superlu_dist-superlu_dist.c.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index d8a32dc93c1..fc194449a90 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/files/patch-src-mat-impls-aij-mpi-superlu_dist-superlu_dist.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/files/patch-src-mat-impls-aij-mpi-superlu_dist-superlu_dist.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,40 +1,40 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c.orig 2020-06-03 12:45:35.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c      2020-08-23 22:09:58.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -478,8 +478,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c.orig 2023-09-29 11:04:42
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c      2023-12-28 22:53:36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -611,7 +611,7 @@ static PetscErrorCode MatLUFactorSymbolic_SuperLU_DIST
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PetscMPIInt        size, mpiflg;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PetscBool          flg, set;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char        *colperm[]     = {"NATURAL", "MMD_AT_PLUS_A", "MMD_ATA", "METIS_AT_PLUS_A", "PARMETIS"};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  const char        *rowperm[]     = {"NOROWPERM", "LargeDiag_MC64", "LargeDiag_AWPM", "MY_PERMR"};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const char        *rowperm[]     = {"NOROWPERM", "LargeDiag_MC64", "LargeDiag_HWPM", "MY_PERMR"};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char        *factPattern[] = {"SamePattern", "SamePattern_SameRowPerm", "DOFACT"};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MPI_Comm           comm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PetscSuperLU_DIST *context = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -635,7 +635,7 @@ static PetscErrorCode MatLUFactorSymbolic_SuperLU_DIST
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       lu->options.RowPerm = LargeDiag_MC64;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case 2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      lu->options.RowPerm = LargeDiag_AWPM;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      lu->options.RowPerm = LargeDiag_HWPM;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case 3:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       lu->options.RowPerm = MY_PERMR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -856,8 +856,8 @@ static PetscErrorCode MatView_Info_SuperLU_DIST(Mat A,
</span>    case LargeDiag_MC64:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation LargeDiag_MC64\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     PetscCall(PetscViewerASCIIPrintf(viewer, "  Row permutation LargeDiag_MC64\n"));
</span>      break;
 -  case LargeDiag_AWPM:
<span style='display:block; white-space:pre;background:#ffe0e0;'>--    ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation LargeDiag_AWPM\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    PetscCall(PetscViewerASCIIPrintf(viewer, "  Row permutation LargeDiag_AWPM\n"));
</span> +  case LargeDiag_HWPM:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation LargeDiag_HWPM\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PetscCall(PetscViewerASCIIPrintf(viewer, "  Row permutation LargeDiag_HWPM\n"));
</span>      break;
    case MY_PERMR:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation MY_PERMR\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -550,7 +550,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   superlu_dist_options_t options;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   PetscBool              flg;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char             *colperm[]     = {"NATURAL","MMD_AT_PLUS_A","MMD_ATA","METIS_AT_PLUS_A","PARMETIS"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  const char             *rowperm[]     = {"NOROWPERM","LargeDiag_MC64","LargeDiag_AWPM","MY_PERMR"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  const char             *rowperm[]     = {"NOROWPERM","LargeDiag_MC64","LargeDiag_HWPM","MY_PERMR"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char             *factPattern[] = {"SamePattern","SamePattern_SameRowPerm","DOFACT"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   PetscBool              set;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -660,7 +660,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       options.RowPerm = LargeDiag_MC64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case 2:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      options.RowPerm = LargeDiag_AWPM;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      options.RowPerm = LargeDiag_HWPM;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case 3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       options.RowPerm = MY_PERMR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -772,7 +772,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- + -mat_superlu_dist_r <n> - number of rows in processor partition
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_c <n> - number of columns in processor partition
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     PetscCall(PetscViewerASCIIPrintf(viewer, "  Row permutation MY_PERMR\n"));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1020,7 +1020,7 @@ + -mat_superlu_dist_r <n> - number of rows in processo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ . -mat_superlu_dist_3d - use 3d partition, requires SuperLU_DIST 7.2 or later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ . -mat_superlu_dist_d <n> - depth in 3d partition (valid only if `-mat_superlu_dist_3d`) is provided
</span>  . -mat_superlu_dist_equil - equilibrate the matrix
 -. -mat_superlu_dist_rowperm <NOROWPERM,LargeDiag_MC64,LargeDiag_AWPM,MY_PERMR> - row permutation
 +. -mat_superlu_dist_rowperm <NOROWPERM,LargeDiag_MC64,LargeDiag_HWPM,MY_PERMR> - row permutation
  . -mat_superlu_dist_colperm <NATURAL,MMD_AT_PLUS_A,MMD_ATA,METIS_AT_PLUS_A,PARMETIS> - column permutation
  . -mat_superlu_dist_replacetinypivot - replace tiny pivots
<span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_fact <SamePattern> - (choose one of) SamePattern SamePattern_SameRowPerm DOFACT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ . -mat_superlu_dist_fact <SamePattern> - (choose one of) `SamePattern`, `SamePattern_SameRowPerm`, `DOFACT`
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/files/patch-sundials.py.diff b/math/petsc/files/patch-sundials.py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index b71488bff37..07af327d379 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/files/patch-sundials.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/files/patch-sundials.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config/BuildSystem/config/packages/sundials2.py.orig   2018-05-20 15:15:52.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config/BuildSystem/config/packages/sundials2.py        2018-06-20 08:22:07.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/BuildSystem/config/packages/sundials2.py.orig   2023-09-29 11:04:42
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/BuildSystem/config/packages/sundials2.py        2023-12-28 22:48:05
</span> @@ -22,7 +22,8 @@
      self.blasLapack = framework.require('config.packages.BlasLapack',self)
      self.mpi        = framework.require('config.packages.MPI',self)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/files/patch-sundials_version.diff b/math/petsc/files/patch-sundials_version.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 80cfed2823f..1b8b27b19e4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/files/patch-sundials_version.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/files/patch-sundials_version.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config/BuildSystem/config/packages/sundials2.py.orig   2020-02-22 06:50:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config/BuildSystem/config/packages/sundials2.py        2020-02-22 07:08:59.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/BuildSystem/config/packages/sundials2.py.orig   2023-09-29 11:04:42
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/BuildSystem/config/packages/sundials2.py        2023-12-28 22:45:39
</span> @@ -4,7 +4,7 @@
    def __init__(self, framework):
      config.package.GNUPackage.__init__(self, framework)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,5 +7,5 @@
</span> -    self.maxversion       = '2.5.100000'
 +    self.maxversion       = '2.9.100000'
      self.versionname      = 'SUNDIALS_PACKAGE_VERSION'
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     self.download         = ['http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sundials-'+self.version+'p1.tar.gz']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.download         = ['https://web.cels.anl.gov/projects/petsc/download/externalpackages/sundials-'+self.version+'p1.tar.gz']
</span>      self.downloaddirnames = ['sundials']
</pre><pre style='margin:0'>

</pre>