summary refs log tree commit diff
path: root/gnu/packages/patches/dealii-p4est-interface.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/dealii-p4est-interface.patch')
-rw-r--r--gnu/packages/patches/dealii-p4est-interface.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/patches/dealii-p4est-interface.patch b/gnu/packages/patches/dealii-p4est-interface.patch
new file mode 100644
index 0000000000..4c4125d16c
--- /dev/null
+++ b/gnu/packages/patches/dealii-p4est-interface.patch
@@ -0,0 +1,62 @@
+From upstream commit f764598c.
+
+The p4est_connectivity_load function used to take an unsigned long as argument,
+but this has been changed to size_t in p4est 1.0. This makes no difference on
+64 bit systems, but leads to compiler errors on 32 bit systems. Fix this.
+
+--- a/source/distributed/tria.cc
++++ b/source/distributed/tria.cc
+@@ -204,7 +204,11 @@ namespace internal
+       static
+       int (&connectivity_is_valid) (types<2>::connectivity *connectivity);
+ 
+-#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
++#if DEAL_II_P4EST_VERSION_GTE(1,0,0,0)
++      static
++      types<2>::connectivity *(&connectivity_load) (const char *filename,
++                                                    size_t *length);
++#elif DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
+       static
+       types<2>::connectivity *(&connectivity_load) (const char *filename,
+                                                     long unsigned *length);
+@@ -384,7 +388,12 @@ namespace internal
+                                                 *connectivity)
+       = p4est_connectivity_is_valid;
+ 
+-#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
++#if DEAL_II_P4EST_VERSION_GTE(1,0,0,0)
++    types<2>::connectivity *
++    (&functions<2>::connectivity_load) (const char *filename,
++                                        size_t *length)
++      = p4est_connectivity_load;
++#elif DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
+     types<2>::connectivity *
+     (&functions<2>::connectivity_load) (const char *filename,
+                                         long unsigned *length)
+@@ -564,7 +573,11 @@ namespace internal
+       static
+       int (&connectivity_is_valid) (types<3>::connectivity *connectivity);
+ 
+-#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
++#if DEAL_II_P4EST_VERSION_GTE(1,0,0,0)
++      static
++      types<3>::connectivity *(&connectivity_load) (const char *filename,
++                                                    size_t *length);
++#elif DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
+       static
+       types<3>::connectivity *(&connectivity_load) (const char *filename,
+                                                     long unsigned *length);
+@@ -747,7 +760,12 @@ namespace internal
+                                                 *connectivity)
+       = p8est_connectivity_is_valid;
+ 
+-#if DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
++#if DEAL_II_P4EST_VERSION_GTE(1,0,0,0)
++    types<3>::connectivity *
++    (&functions<3>::connectivity_load) (const char *filename,
++                                        size_t *length)
++      = p8est_connectivity_load;
++#elif DEAL_II_P4EST_VERSION_GTE(0,3,4,3)
+     types<3>::connectivity *
+     (&functions<3>::connectivity_load) (const char *filename,
+                                         long unsigned *length)