summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Garlick <pgarlick@tourbillion-technology.com>2025-07-28 16:50:36 +0100
committerAndreas Enge <andreas@enge.fr>2025-07-28 22:30:03 +0200
commit293cca33249c408384e06ce4c1291a6a5be93f41 (patch)
tree0630fe1eacea087eed9d639aae61c7e7815018be
parentdd5a0d5799d6227e5c06facfb2002806619dcbe0 (diff)
gnu: fenics-dolfin: Fix build with gcc@14.
* gnu/packages/patches/fenics-dolfin-integer-types.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register new patch. * gnu/packages/simulation.scm (fenics-dolfin)[source]: Use new patch. Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/fenics-dolfin-integer-types.patch29
-rw-r--r--gnu/packages/simulation.scm3
3 files changed, 32 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4672492c92..8e929a108c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1294,6 +1294,7 @@ dist_patch_DATA = \
%D%/packages/patches/fenics-dolfin-boost.patch \
%D%/packages/patches/fenics-dolfin-config-slepc.patch \
%D%/packages/patches/fenics-dolfin-hdf5-version-check.patch \
+ %D%/packages/patches/fenics-dolfin-integer-types.patch \
%D%/packages/patches/ffmpeg-add-av_stream_get_first_dts-for-chromium.patch \
%D%/packages/patches/ffmpeg-jami-change-RTCP-ratio.patch \
%D%/packages/patches/ffmpeg-jami-rtp_ext_abs_send_time.patch \
diff --git a/gnu/packages/patches/fenics-dolfin-integer-types.patch b/gnu/packages/patches/fenics-dolfin-integer-types.patch
new file mode 100644
index 0000000000..97cc13f95f
--- /dev/null
+++ b/gnu/packages/patches/fenics-dolfin-integer-types.patch
@@ -0,0 +1,29 @@
+This patch updates the integer types used in two of the dolfin header files.
+The changes enable building with gcc-13 and above.
+
+See <https://gcc.gnu.org/gcc-13/porting_to.html> for the porting notes.
+
+See <https://bitbucket.org/fenics-project/dolfin/commits/d56b1b082c50d846fb5bbe4971799ab9ecb21a24> for the upstream fix.
+
+--- a/dolfin/common/timing.h
++++ b/dolfin/common/timing.h
+@@ -39,7 +39,7 @@
+ ///
+ /// Precision of wall is around 1 microsecond, user and system are around
+ /// 10 millisecond (on Linux).
+- enum class TimingType : int32_t { wall = 0, user = 1, system = 2 };
++ enum class TimingType : int { wall = 0, user = 1, system = 2 };
+
+ /// Start timing (should not be used internally in DOLFIN!)
+ void tic();
+
+--- a/dolfin/mesh/MeshConnectivity.h
++++ b/dolfin/mesh/MeshConnectivity.h
+@@ -24,5 +24,7 @@
+ #include <vector>
+ #include <dolfin/log/log.h>
+
++#include <cstdint>
++
+ namespace dolfin
+ {
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index ba41bf658e..5568a567ae 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -755,7 +755,8 @@ FFC is part of the FEniCS Project.")
"fenics-dolfin-demo-init.patch"
"fenics-dolfin-boost.patch"
"fenics-dolfin-config-slepc.patch"
- "fenics-dolfin-hdf5-version-check.patch"))
+ "fenics-dolfin-hdf5-version-check.patch"
+ "fenics-dolfin-integer-types.patch"))
(modules '((guix build utils)))
(snippet '(begin
;; Make sure we don't use the bundled test framework.