summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/dealii-p4est-interface.patch
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-06-23 04:05:11 -0500
committerEric Bavier <bavier@member.fsf.org>2015-06-29 15:34:36 -0500
commita17d45641b5088ae9d368eb322a1b5c2a7f57887 (patch)
tree639c82ae81bb6f82a18f9c3dbca6cc4537325326 /gnu/packages/patches/dealii-p4est-interface.patch
parenta7f014145297e6eb3a83452116f338e8538c638b (diff)
gnu: Add deal.II.
* gnu/packages/maths.scm (dealii, dealii-openmpi): New variables. * gnu/packages/patches/dealii-p4est-interface.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it.
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)