[med-svn] [Git][med-team/mrtrix3][master] Use C++14 for Eigen3 detection test, required by Eigen >= 3.4 / 5.0 Closes: #1136250

Andreas Tille (@tille) gitlab at salsa.debian.org
Thu Jun 11 20:53:57 BST 2026



Andreas Tille pushed to branch master at Debian Med / mrtrix3


Commits:
2ca3ab65 by Andreas Tille at 2026-06-11T21:53:36+02:00
Use C++14 for Eigen3 detection test, required by Eigen >= 3.4 / 5.0 Closes: #1136250

- - - - -


3 changed files:

- debian/changelog
- + debian/patches/libeigen5.0.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+mrtrix3 (3.0.8-2) UNRELEASED; urgency=medium
+
+  * Use C++14 for Eigen3 detection test, required by Eigen >= 3.4 / 5.0
+    Closes: #1136250
+
+ -- Andreas Tille <tille at debian.org>  Thu, 11 Jun 2026 16:26:49 +0200
+
 mrtrix3 (3.0.8-1) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/patches/libeigen5.0.patch
=====================================
@@ -0,0 +1,100 @@
+Description: Use C++14 for Eigen3 detection test, required by Eigen >= 3.4 / 5.0
+Author: Andreas Tille <tille at debian.org>
+Bug-Debian: https://bugs.debian.org/1136250
+Last-Update: 2026-06-11
+
+--- a/configure
++++ b/configure
+@@ -331,7 +331,7 @@ cpp = ld = None
+ 
+ cxx = [ 'clang++', 'g++' ]
+ cxx_args = '-c CFLAGS SRC -o OBJECT'.split()
+-cpp_flags = [ '-std=c++11', '-DMRTRIX_BUILD_TYPE="'+build_type+'"' ]
++cpp_flags = [ '-std=c++14', '-DMRTRIX_BUILD_TYPE="'+build_type+'"' ]
+ 
+ ld_args = 'OBJECTS LINKFLAGS -o EXECUTABLE'.split()
+ ld_flags = []
+@@ -813,7 +813,7 @@ for candidate in cxx:
+     report ('not found\n')
+     continue
+ 
+-  if compile_test ('C++11 compliance', cpp_flags, ld_flags, '''
++  if compile_test ('C++14 compliance', cpp_flags, ld_flags, '''
+ #include <cstddef>
+ struct Base {
+     Base (int);
+@@ -1277,7 +1277,7 @@ int main() { Foo f; }
+       with open (os.path.join (qt_dir.name, 'qt.cpp'), 'w') as f:
+         f.write (filetext)
+ 
+-      filetext = 'CONFIG += c++11'
++      filetext = 'CONFIG += c++14'
+       if debug:
+         filetext += ' debug'
+       filetext += '\nQT += core gui opengl svg network\n'
+--- a/core/math/stats/glm.cpp
++++ b/core/math/stats/glm.cpp
+@@ -182,7 +182,7 @@ namespace MR
+ 
+         matrix_type solve_betas (const matrix_type& measurements, const matrix_type& design)
+         {
+-          return design.jacobiSvd (Eigen::ComputeThinU | Eigen::ComputeThinV).solve (measurements);
++          return design.jacobiSvd<Eigen::ComputeThinU | Eigen::ComputeThinV>().solve (measurements);
+         }
+ 
+ 
+--- a/core/mrtrix.h
++++ b/core/mrtrix.h
+@@ -17,6 +17,7 @@
+ #ifndef __mrtrix_h__
+ #define __mrtrix_h__
+ 
++#include <cassert>
+ #include <climits>
+ #include <cstdio>
+ #include <cstdarg>
+--- a/core/types.h
++++ b/core/types.h
+@@ -284,11 +284,7 @@ namespace MR
+       return std::shared_ptr<X> (new X (std::forward<Args> (args)...));
+     }
+ 
+-  template <typename X, typename... Args>
+-    inline std::unique_ptr<X> make_unique (Args&&... args) {
+-      return std::unique_ptr<X> (new X (std::forward<Args> (args)...));
+-    }
+-
++  using std::make_unique;
+ 
+   // required to allow use of abs() call on unsigned integers in template
+   // functions, etc, since the standard labels such calls ill-formed:
+--- a/core/axes.cpp
++++ b/core/axes.cpp
+@@ -15,6 +15,7 @@
+  */
+ 
+ #include "axes.h"
++#include <cassert>
+ 
+ namespace MR
+ {
+--- a/core/math/stats/fwe.cpp
++++ b/core/math/stats/fwe.cpp
+@@ -18,6 +18,7 @@
+ #include "math/stats/fwe.h"
+ 
+ #include <algorithm>
++#include <cassert>
+ #include <types.h>
+ 
+ namespace MR
+--- a/src/dwi/tractography/GT/particle.h
++++ b/src/dwi/tractography/GT/particle.h
+@@ -17,6 +17,7 @@
+ #ifndef __gt_particle_h__
+ #define __gt_particle_h__
+ 
++#include <cassert>
+ #include "types.h"
+ #include "spinlock.h"
+ 


=====================================
debian/patches/series
=====================================
@@ -3,3 +3,4 @@
 debian_build_cfg
 python3.patch
 mrtrix_version.patch
+libeigen5.0.patch



View it on GitLab: https://salsa.debian.org/med-team/mrtrix3/-/commit/2ca3ab65de4bc23d4351628768613eeae6d5b85f

-- 
View it on GitLab: https://salsa.debian.org/med-team/mrtrix3/-/commit/2ca3ab65de4bc23d4351628768613eeae6d5b85f
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260611/e58073a1/attachment-0001.htm>


More information about the debian-med-commit mailing list