r46354 - in /packages/fenics/dolfin/trunk/debian: changelog patches/petsc-3.4.patch patches/petsc-slepc-3.4.2.patch patches/series patches/slepc-3.4.patch

sebastien at users.alioth.debian.org sebastien at users.alioth.debian.org
Sun Oct 27 15:21:07 UTC 2013


Author: sebastien
Date: Sun Oct 27 15:21:07 2013
New Revision: 46354

URL: http://svn.debian.org/wsvn/debian-science/?sc=1&rev=46354
Log:
Refactor patches for PETSc/SLEPc 3.4, to fix a missing symbol in the library
  + petsc-slepc-3.4.2.patch: remove patch
  + {slepc,petsc}-3.4.patch: new patches taken from upstream


Added:
    packages/fenics/dolfin/trunk/debian/patches/petsc-3.4.patch
    packages/fenics/dolfin/trunk/debian/patches/slepc-3.4.patch
Removed:
    packages/fenics/dolfin/trunk/debian/patches/petsc-slepc-3.4.2.patch
Modified:
    packages/fenics/dolfin/trunk/debian/changelog
    packages/fenics/dolfin/trunk/debian/patches/series

Modified: packages/fenics/dolfin/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/changelog?rev=46354&op=diff
==============================================================================
--- packages/fenics/dolfin/trunk/debian/changelog	(original)
+++ packages/fenics/dolfin/trunk/debian/changelog	Sun Oct 27 15:21:07 2013
@@ -1,3 +1,12 @@
+dolfin (1.2.0+dfsg-3) unstable; urgency=low
+
+  * Team upload.
+  * Refactor patches for PETSc/SLEPc 3.4, to fix a missing symbol in the library
+    + petsc-slepc-3.4.2.patch: remove patch
+    + {slepc,petsc}-3.4.patch: new patches taken from upstream
+
+ -- Sébastien Villemot <sebastien at debian.org>  Sun, 27 Oct 2013 15:48:52 +0100
+
 dolfin (1.2.0+dfsg-2) unstable; urgency=low
 
   * Team upload.

Added: packages/fenics/dolfin/trunk/debian/patches/petsc-3.4.patch
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/patches/petsc-3.4.patch?rev=46354&op=file
==============================================================================
--- packages/fenics/dolfin/trunk/debian/patches/petsc-3.4.patch	(added)
+++ packages/fenics/dolfin/trunk/debian/patches/petsc-3.4.patch	Sun Oct 27 15:21:07 2013
@@ -0,0 +1,99 @@
+Description: Fix compilation against PETSc 3.4
+Origin: upstream, https://bitbucket.org/fenics-project/dolfin/commits/d3c6c050549820415496ebced578be29a074e8ce
+Last-Update: 2013-10-27
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/dolfin/la/PETScKrylovSolver.cpp
++++ b/dolfin/la/PETScKrylovSolver.cpp
+@@ -528,13 +528,8 @@
+ {
+   // Get name of solver and preconditioner
+   PC pc;
+-  #if PETSC_VERSION_RELEASE
+-  const KSPType ksp_type;
+-  const PCType pc_type;
+-  #else
+   KSPType ksp_type;
+   PCType pc_type;
+-  #endif
+   KSPGetType(*_ksp, &ksp_type);
+   KSPGetPC(*_ksp, &pc);
+   PCGetType(pc, &pc_type);
+@@ -542,13 +537,8 @@
+   // If using additive Schwarz or block Jacobi, get 'sub' method which is
+   // applied to each block
+   const std::string pc_type_str = pc_type;
+-  #if PETSC_VERSION_RELEASE
+-  const KSPType sub_ksp_type;
+-  const PCType sub_pc_type;
+-  #else
+   KSPType sub_ksp_type;
+   PCType sub_pc_type;
+-  #endif
+   PC sub_pc;
+   KSP* sub_ksp = NULL;
+   if (pc_type_str == PCASM || pc_type_str == PCBJACOBI)
+--- a/dolfin/la/PETScVector.cpp
++++ b/dolfin/la/PETScVector.cpp
+@@ -158,11 +158,7 @@
+   dolfin_assert(_x);
+ 
+   // Get type
+-  #if PETSC_VERSION_RELEASE
+-  const VecType petsc_type;
+-  #else
+   VecType petsc_type;
+-  #endif
+   VecGetType(*_x, &petsc_type);
+ 
+   // Return type
+@@ -680,11 +676,7 @@
+   if (verbose)
+   {
+     // Get vector type
+-    #if PETSC_VERSION_RELEASE
+-    const VecType petsc_type;
+-    #else
+     VecType petsc_type;
+-    #endif
+     dolfin_assert(_x);
+     VecGetType(*_x, &petsc_type);
+ 
+@@ -714,11 +706,7 @@
+   PETScVector& _y = as_type<PETScVector>(y);
+ 
+   // Check that y is a local vector
+-  #if PETSC_VERSION_RELEASE
+-  const VecType petsc_type;
+-  #else
+   VecType petsc_type;
+-  #endif
+   VecGetType(*(_y.vec()), &petsc_type);
+ 
+   #ifndef HAS_PETSC_CUSP
+--- a/dolfin/nls/PETScSNESSolver.cpp
++++ b/dolfin/nls/PETScSNESSolver.cpp
+@@ -87,6 +87,23 @@
+         ("ncg",         std::make_pair("Nonlinear conjugate gradient method", SNESNCG))
+         ("fas",         std::make_pair("Full Approximation Scheme nonlinear multigrid method", SNESFAS))
+         ("ms",          std::make_pair("Multistage smoothers", SNESMS));
++  #elif PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 4 // PETSc 3.4
++  // Mapping from method string to PETSc
++  const std::map<std::string, std::pair<std::string, const SNESType> >
++  PETScSNESSolver::_methods
++   = boost::assign::map_list_of
++      ("default",      std::make_pair("default SNES method", ""))
++      ("newtonls",     std::make_pair("Line search method", SNESNEWTONLS))
++      ("newtontr",     std::make_pair("Trust region method", SNESNEWTONTR))
++      ("test",         std::make_pair("Tool to verify Jacobian approximation", SNESTEST))
++      ("ngmres",       std::make_pair("Nonlinear generalised minimum residual method", SNESNGMRES))
++      ("nrichardson",  std::make_pair("Richardson nonlinear method (Picard iteration)", SNESNRICHARDSON))
++      ("vinewtonrsls", std::make_pair("Reduced space active set solver method (for bounds)", SNESVINEWTONRSLS))
++      ("vinewtonssls", std::make_pair("Reduced space active set solver method (for bounds)", SNESVINEWTONSSLS))
++      ("qn",           std::make_pair("Limited memory quasi-Newton", SNESQN))
++      ("ncg",          std::make_pair("Nonlinear conjugate gradient method", SNESNCG))
++      ("fas",          std::make_pair("Full Approximation Scheme nonlinear multigrid method", SNESFAS))
++      ("ms",           std::make_pair("Multistage smoothers", SNESMS));
+   #endif
+ 
+ #else // Development version

Modified: packages/fenics/dolfin/trunk/debian/patches/series
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/patches/series?rev=46354&op=diff
==============================================================================
--- packages/fenics/dolfin/trunk/debian/patches/series	(original)
+++ packages/fenics/dolfin/trunk/debian/patches/series	Sun Oct 27 15:21:07 2013
@@ -1 +1,2 @@
-petsc-slepc-3.4.2.patch
+slepc-3.4.patch
+petsc-3.4.patch

Added: packages/fenics/dolfin/trunk/debian/patches/slepc-3.4.patch
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/patches/slepc-3.4.patch?rev=46354&op=file
==============================================================================
--- packages/fenics/dolfin/trunk/debian/patches/slepc-3.4.patch	(added)
+++ packages/fenics/dolfin/trunk/debian/patches/slepc-3.4.patch	Sun Oct 27 15:21:07 2013
@@ -0,0 +1,16 @@
+Description: Make dolfin compile against SLEPc 3.4
+Origin: upstream, https://bitbucket.org/fenics-project/dolfin/commits/405ec0d0c87eec652758bd77024798e03b34109a#chg-dolfin/la/SLEPcEigenSolver.cpp
+Last-Update: 2013-10-27
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/dolfin/la/SLEPcEigenSolver.cpp
++++ b/dolfin/la/SLEPcEigenSolver.cpp
+@@ -164,7 +164,7 @@
+   dolfin::la_index num_iterations = 0;
+   EPSGetIterationNumber(eps, &num_iterations);
+ 
+-  const EPSType eps_type = 0;
++  EPSType eps_type = 0;
+   EPSGetType(eps, &eps_type);
+   log(PROGRESS, "Eigenvalue solver (%s) converged in %d iterations.",
+       eps_type, num_iterations);




More information about the debian-science-commits mailing list