[bug#79114] gnu: fenics-dolfin: Fix build with gcc@14.
Commit Message
* 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.
---
gnu/local.mk | 1 +
.../patches/fenics-dolfin-integer-types.patch | 29 +++++++++++++++++++
gnu/packages/simulation.scm | 3 +-
3 files changed, 32 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/fenics-dolfin-integer-types.patch
Comments
@@ -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 \
new file mode 100644
@@ -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
+ {
@@ -755,7 +755,8 @@ (define-public fenics-dolfin
"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.