aboutsummaryrefslogtreecommitdiff
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)