commit:     ed910db8cb67d8930b82c6237ecc6d61e3a31909
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 14 11:59:52 2014 +0000
Commit:     Christoph Junghans <ottxor <AT> gentoo <DOT> org>
CommitDate: Tue Oct 14 11:59:52 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=ed910db8

fix p4est dependency; drop old

Package-Manager: portage-2.2.8-r2

---
 sci-libs/dealii/ChangeLog                          |   7 +
 sci-libs/dealii/dealii-8.0.0.ebuild                |   1 -
 ...{dealii-8.1.0.ebuild => dealii-8.1.0-r1.ebuild} |   6 +-
 .../files/dealii-8.1.0-p4est1.0-support.patch      | 271 +++++++++++++++++++++
 4 files changed, 283 insertions(+), 2 deletions(-)

diff --git a/sci-libs/dealii/ChangeLog b/sci-libs/dealii/ChangeLog
index edd11d1..9253cf7 100644
--- a/sci-libs/dealii/ChangeLog
+++ b/sci-libs/dealii/ChangeLog
@@ -2,6 +2,13 @@
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*dealii-8.1.0-r1 (14 Oct 2014)
+
+  14 Oct 2014; Matthias Maier <tam...@gentoo.org> +dealii-8.1.0-r1.ebuild,
+  +files/dealii-8.1.0-p4est1.0-support.patch, -dealii-8.0.0.ebuild,
+  -dealii-8.1.0.ebuild:
+  fix p4est dependency; drop old
+
   24 Jul 2014; Matthias Maier <tam...@gentoo.org> dealii-9999.ebuild,
   metadata.xml:
   Update repository to github, fix readme file change, add forgotten use-flag 
to

diff --git a/sci-libs/dealii/dealii-8.0.0.ebuild 
b/sci-libs/dealii/dealii-8.0.0.ebuild
deleted file mode 120000
index 2fbea89..0000000
--- a/sci-libs/dealii/dealii-8.0.0.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-dealii-8.1.0.ebuild
\ No newline at end of file

diff --git a/sci-libs/dealii/dealii-8.1.0.ebuild 
b/sci-libs/dealii/dealii-8.1.0-r1.ebuild
similarity index 97%
rename from sci-libs/dealii/dealii-8.1.0.ebuild
rename to sci-libs/dealii/dealii-8.1.0-r1.ebuild
index 6451111..548ea83 100644
--- a/sci-libs/dealii/dealii-8.1.0.ebuild
+++ b/sci-libs/dealii/dealii-8.1.0-r1.ebuild
@@ -39,7 +39,7 @@ RDEPEND="
        mpi? ( virtual/mpi )
        mumps? ( sci-libs/mumps[mpi] )
        netcdf? ( || ( <sci-libs/netcdf-4.2[cxx] sci-libs/netcdf-cxx ) )
-       p4est? ( <sci-libs/p4est-0.3.5[mpi] )
+       p4est? ( sci-libs/p4est[mpi] )
        parameter_gui? ( dev-qt/qtgui )
        petsc? ( sci-mathematics/petsc[mpi=] )
        sparse? ( sci-libs/umfpack )
@@ -54,6 +54,10 @@ DEPEND="
        doc? ( app-doc/doxygen[dot] dev-lang/perl )
 "
 
+src_prepare() {
+       epatch "${FILESDIR}"/dealii-8.1.0-p4est1.0-support.patch
+}
+
 src_configure() {
 
        if use debug; then

diff --git a/sci-libs/dealii/files/dealii-8.1.0-p4est1.0-support.patch 
b/sci-libs/dealii/files/dealii-8.1.0-p4est1.0-support.patch
new file mode 100644
index 0000000..3ef8d99
--- /dev/null
+++ b/sci-libs/dealii/files/dealii-8.1.0-p4est1.0-support.patch
@@ -0,0 +1,271 @@
+Upstream commits:
+  4b6a6a9aae750941723890c44f0cb3326e5ba87b
+  67d70862aa2b2c2e925a2b1262c9934ea0f9a873
+  dc0308a408360bfa5e21a58d10c2c2a7dca3a8ad
+
+diff --git a/source/distributed/tria.cc b/source/distributed/tria.cc
+index 5687fae..a6e5e85 100644
+--- a/source/distributed/tria.cc
++++ b/source/distributed/tria.cc
+@@ -155,10 +155,17 @@ namespace internal
+                        types<2>::balance_type btype,
+                        p4est_init_t init_fn);
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++      static
++      p4est_gloidx_t (&partition) (types<2>::forest *p4est,
++                                   int partition_for_coarsening,
++                                   p4est_weight_t weight_fn);
++#else 
+       static
+       void (&partition) (types<2>::forest *p4est,
+                          int partition_for_coarsening,
+                          p4est_weight_t weight_fn);
++#endif 
+ 
+       static
+       void (&save) (const char *filename,
+@@ -173,16 +180,28 @@ namespace internal
+                                  void *user_pointer,
+                                  types<2>::connectivity **p4est);
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++      static
++      int (&connectivity_save) (const char *filename,
++                                types<2>::connectivity *connectivity);
++#else 
+       static
+       void (&connectivity_save) (const char *filename,
+                                  types<2>::connectivity *connectivity);
++#endif 
+ 
+       static
+       int (&connectivity_is_valid) (types<2>::connectivity *connectivity);
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++      static
++      types<2>::connectivity *(&connectivity_load) (const char *filename,
++                                                    long unsigned *length);
++#else 
+       static
+       types<2>::connectivity *(&connectivity_load) (const char *filename,
+                                                     long *length);
++#endif 
+ 
+       static
+       unsigned int (&checksum) (types<2>::forest *p4est);
+@@ -301,10 +320,17 @@ namespace internal
+                                    p4est_init_t init_fn)
+       = p4est_balance;
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++   p4est_gloidx_t (&functions<2>::partition) (types<2>::forest *p4est,
++                                              int partition_for_coarsening,
++                                              p4est_weight_t weight_fn)
++      = p4est_partition_ext; 
++#else 
+     void (&functions<2>::partition) (types<2>::forest *p4est,
+                                      int partition_for_coarsening,
+                                      p4est_weight_t weight_fn)
+       = p4est_partition_ext;
++#endif 
+ 
+     void (&functions<2>::save) (const char *filename,
+                                 types<2>::forest *p4est,
+@@ -320,18 +346,31 @@ namespace internal
+                            types<2>::connectivity **p4est)
+       = p4est_load;
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++   int (&functions<2>::connectivity_save) (const char *filename,
++                                           types<2>::connectivity 
*connectivity)
++      = p4est_connectivity_save; 
++#else 
+     void (&functions<2>::connectivity_save) (const char *filename,
+                                              types<2>::connectivity 
*connectivity)
+       = p4est_connectivity_save;
++#endif 
+ 
+     int (&functions<2>::connectivity_is_valid) (types<2>::connectivity
+                                                 *connectivity)
+       = p4est_connectivity_is_valid;
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++    types<2>::connectivity *
++    (&functions<2>::connectivity_load) (const char *filename,
++                                        long unsigned *length)
++      = p4est_connectivity_load;
++#else 
+     types<2>::connectivity *
+     (&functions<2>::connectivity_load) (const char *filename,
+                                         long *length)
+       = p4est_connectivity_load;
++#endif 
+ 
+     unsigned int (&functions<2>::checksum) (types<2>::forest *p4est)
+       = p4est_checksum;
+@@ -451,10 +490,17 @@ namespace internal
+                        types<3>::balance_type btype,
+                        p8est_init_t init_fn);
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++      static
++      p4est_gloidx_t (&partition) (types<3>::forest *p8est,
++                                   int partition_for_coarsening,
++                                   p8est_weight_t weight_fn);
++#else 
+       static
+       void (&partition) (types<3>::forest *p8est,
+                          int partition_for_coarsening,
+                          p8est_weight_t weight_fn);
++#endif 
+ 
+       static
+       void (&save) (const char *filename,
+@@ -469,16 +515,28 @@ namespace internal
+                                  void *user_pointer,
+                                  types<3>::connectivity **p4est);
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++      static
++      int (&connectivity_save) (const char *filename,
++                                types<3>::connectivity *connectivity);
++#else 
+       static
+       void (&connectivity_save) (const char *filename,
+                                  types<3>::connectivity *connectivity);
++#endif 
+ 
+       static
+       int (&connectivity_is_valid) (types<3>::connectivity *connectivity);
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++      static
++      types<3>::connectivity *(&connectivity_load) (const char *filename,
++                                                    long unsigned *length);
++#else 
+       static
+       types<3>::connectivity *(&connectivity_load) (const char *filename,
+                                                     long *length);
++#endif 
+ 
+       static
+       unsigned int (&checksum) (types<3>::forest *p8est);
+@@ -600,10 +658,17 @@ namespace internal
+                                    p8est_init_t init_fn)
+       = p8est_balance;
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++    p4est_gloidx_t (&functions<3>::partition) (types<3>::forest *p8est,
++                                               int partition_for_coarsening,
++                                               p8est_weight_t weight_fn)
++      = p8est_partition_ext;
++#else 
+     void (&functions<3>::partition) (types<3>::forest *p8est,
+                                      int partition_for_coarsening,
+                                      p8est_weight_t weight_fn)
+       = p8est_partition_ext;
++#endif 
+ 
+     void (&functions<3>::save) (const char *filename,
+                                 types<3>::forest *p4est,
+@@ -619,18 +684,31 @@ namespace internal
+                            types<3>::connectivity **p4est)
+       = p8est_load;
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++    int (&functions<3>::connectivity_save) (const char *filename,
++                                            types<3>::connectivity 
*connectivity)
++      = p8est_connectivity_save;
++#else 
+     void (&functions<3>::connectivity_save) (const char *filename,
+                                              types<3>::connectivity 
*connectivity)
+       = p8est_connectivity_save;
++#endif 
+ 
+     int (&functions<3>::connectivity_is_valid) (types<3>::connectivity
+                                                 *connectivity)
+       = p8est_connectivity_is_valid;
+ 
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3) 
++    types<3>::connectivity *
++    (&functions<3>::connectivity_load) (const char *filename,
++                                        long unsigned *length)
++      = p8est_connectivity_load;
++#else 
+     types<3>::connectivity *
+     (&functions<3>::connectivity_load) (const char *filename,
+                                         long *length)
+       = p8est_connectivity_load;
++#endif 
+ 
+     unsigned int (&functions<3>::checksum) (types<3>::forest *p8est)
+       = p8est_checksum;
+diff --git a/cmake/modules/FindP4EST.cmake b/cmake/modules/FindP4EST.cmake
+index f2bf417..44846c7 100644
+--- a/cmake/modules/FindP4EST.cmake
++++ b/cmake/modules/FindP4EST.cmake
+@@ -179,17 +179,28 @@
+   STRING(REGEX REPLACE
+     "^[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1"
+     P4EST_VERSION_SUBMINOR "${P4EST_VERSION}")
+-
+-  # Now for the patch number such as in 0.3.4.1. If there
+-  # is no patch number, then the REGEX REPLACE will fail,
+-  # setting P4EST_VERSION_PATCH to P4EST_VERSION. If that
+-  # is the case, then set the patch number to zero
+   STRING(REGEX REPLACE
+-    "^[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+)?.*$" "\\1"
++    "^[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1"
+     P4EST_VERSION_PATCH "${P4EST_VERSION}")
+-  IF(${P4EST_VERSION_PATCH} STREQUAL "${P4EST_VERSION}")
++
++  #
++  # We cannot rely on the fact that SUBMINOR or PATCH are defined.
++  # Nevertheless, we need a full version number for our preprocessor macros
++  # to work. If the p4est version number is only of the form x.y instead of
++  # a.b.c.d, then the last two REGEX_REPLACE calls above will have failed
++  # because the regular expression didn't match the version string,
++  # and P4EST_VERSION_SUBMINOR and P4EST_VERSION_PATCH will either be
++  # empty or be the full version string. In those cases, set those numbers
++  # to 0 if necessary.
++  #
++  IF("${P4EST_VERSION_SUBMINOR}" MATCHES "^(|${P4EST_VERSION})$")
++    SET(P4EST_VERSION_SUBMINOR "0")
++  ENDIF()
++
++  IF("${P4EST_VERSION_PATCH}" MATCHES "^(|${P4EST_VERSION})$")
+     SET(P4EST_VERSION_PATCH "0")
+   ENDIF()
++
+ 
+ 
+   MARK_AS_ADVANCED(P4EST_DIR)
+diff --git a/include/deal.II/distributed/tria.h 
b/include/deal.II/distributed/tria.h
+index ea3e88b..8daa70d 100644
+--- a/include/deal.II/distributed/tria.h
++++ b/include/deal.II/distributed/tria.h
+@@ -88,7 +88,11 @@ namespace internal
+       typedef p4est_quadrant_t     quadrant;
+       typedef p4est_topidx_t       topidx;
+       typedef p4est_locidx_t       locidx;
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
++      typedef p4est_connect_type_t balance_type;
++#else
+       typedef p4est_balance_type_t balance_type;
++#endif
+       typedef p4est_ghost_t        ghost;
+     };
+ 
+@@ -101,7 +105,11 @@ namespace internal
+       typedef p8est_quadrant_t     quadrant;
+       typedef p4est_topidx_t       topidx;
+       typedef p4est_locidx_t       locidx;
++#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
++      typedef p8est_connect_type_t balance_type;
++#else
+       typedef p8est_balance_type_t balance_type;
++#endif
+       typedef p8est_ghost_t        ghost;
+     };
+ 

Reply via email to