aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-23 21:52:07 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-23 22:24:15 +0900
commitd9831cd4399b0f81a8bd4eddab1a0c075bc7751f (patch)
treed61c5797709873870988368306c3d8226505d9bb
parent89de2cb1ef3c0f1ba29397abe9b4ff0885755e89 (diff)
downloadguix-d9831cd4399b0f81a8bd4eddab1a0c075bc7751f.tar.gz
guix-d9831cd4399b0f81a8bd4eddab1a0c075bc7751f.zip
gnu: mia: Fix build.
* gnu/packages/patches/mia-gcc11.patch: New file. * gnu/packages/patches/mia-openexr3.patch: New file. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/image-processing.scm (mia) [patches]: Apply them. [inputs]: Replace hdf5 with hdf5-1.10. Add lapack. Replace openxr-2 with openxr. Move doxygen to... [native-inputs]: ... here. Fixes: bug#47561 Reported-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I337df14370a589c7c15d15bcc69b948b43c2e61b
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/image-processing.scm13
-rw-r--r--gnu/packages/patches/mia-gcc11.patch106
-rw-r--r--gnu/packages/patches/mia-openexr3.patch27
4 files changed, 143 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6ae94d24c1..4aa84f8ef9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1854,6 +1854,8 @@ dist_patch_DATA = \
%D%/packages/patches/mercurial-hg-extension-path.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.patch \
+ %D%/packages/patches/mia-gcc11.patch \
+ %D%/packages/patches/mia-openexr3.patch \
%D%/packages/patches/mia-vtk9.patch \
%D%/packages/patches/mia-vtk92.patch \
%D%/packages/patches/mia-vtk-version.patch \
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 5a3e6f69ef..14bfdbfb20 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -19,7 +19,7 @@
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2023 Cairn <cairn@pm.me>
@@ -219,6 +219,8 @@ licences similar to the Modified BSD licence."))))
(base32
"0qpcd3n26q52dpyibm11f5l6cgscdr54p2jish39gc3p1f5h3ws1"))
(patches (search-patches "mia-fix-boost-headers.patch"
+ "mia-gcc11.patch"
+ "mia-openexr3.patch"
"mia-vtk9.patch"
"mia-vtk92.patch"
"mia-vtk-version.patch"))))
@@ -230,14 +232,14 @@ licences similar to the Modified BSD licence."))))
(inputs
(list boost
dcmtk
- doxygen
eigen
fftw
fftwf
gsl
gts
- hdf5
+ hdf5-1.10
itpp
+ lapack
libjpeg-turbo
libpng
libtiff
@@ -246,11 +248,12 @@ licences similar to the Modified BSD licence."))))
maxflow
niftilib
nlopt
- openexr-2
+ openexr
python-lxml
vtk))
(native-inputs
- (list pkg-config
+ (list doxygen
+ pkg-config
python-wrapper))
(home-page "https://mia.sourceforge.net")
(synopsis "Toolkit for gray scale medical image analysis")
diff --git a/gnu/packages/patches/mia-gcc11.patch b/gnu/packages/patches/mia-gcc11.patch
new file mode 100644
index 0000000000..4dfaeeab1a
--- /dev/null
+++ b/gnu/packages/patches/mia-gcc11.patch
@@ -0,0 +1,106 @@
+Author: Gert Wollny <gewo@debian.org>
+Debian-Bug: https://bugs.debian.org/984233
+--- a/mia/2d/test_segframe.cc
++++ b/mia/2d/test_segframe.cc
+@@ -27,8 +27,9 @@
+ #include <mia/2d/transformfactory.hh>
+ #include <mia/core/xmlinterface.hh>
+
++using std::vector;
++using std::string;
+ using namespace mia;
+-using namespace std;
+ using namespace ::boost::unit_test;
+ namespace bfs = boost::filesystem;
+
+--- a/mia/2d/test_segmentation.cc
++++ b/mia/2d/test_segmentation.cc
+@@ -31,8 +31,11 @@
+
+
+ NS_MIA_USE
+-using namespace std;
+ using namespace ::boost::unit_test;
++using std::vector;
++using std::string;
++using std::invalid_argument;
++using std::runtime_error;
+
+ const char *testpoint_init =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<test><point x=\"10\" y=\"20\"/></test>\n";
+@@ -403,7 +406,7 @@
+ for ( string::const_iterator x = xmldoc.begin(), t = testdoc.begin();
+ x != xmldoc.end() && t != testdoc.end(); ++x, ++t ) {
+ if (*x != *t) {
+- cvfail() << "'" << *x << "' vs '" << *t << "'" << endl;
++ cvfail() << "'" << *x << "' vs '" << *t << "'" << std::endl;
+ }
+ }
+ }
+--- a/mia/3d/filter/test_mask.cc
++++ b/mia/3d/filter/test_mask.cc
+@@ -23,7 +23,6 @@
+ #include <mia/3d/filter/mask.hh>
+
+ NS_MIA_USE
+-using namespace std;
+ using namespace ::boost::unit_test;
+ using namespace mask_3dimage_filter;
+
+--- a/mia/3d/test_ica.cc
++++ b/mia/3d/test_ica.cc
+@@ -22,8 +22,9 @@
+ #include <mia/3d/ica.hh>
+
+ using namespace mia;
+-using namespace std;
+ using namespace boost::unit_test;
++using std::vector;
++using std::invalid_argument;
+
+ const size_t slices = 5;
+ const size_t nx = 2;
+--- a/mia/3d/test_imagedraw.cc
++++ b/mia/3d/test_imagedraw.cc
+@@ -102,7 +102,7 @@
+
+
+ struct compare_coordinate {
+- bool operator () (const C3DBounds& lhs, const C3DBounds& rhs)
++ bool operator () (const C3DBounds& lhs, const C3DBounds& rhs) const
+ {
+ return (lhs.z < rhs.z) ||
+ ((lhs.z == rhs.z) && ((lhs.y < rhs.y) ||
+--- a/mia/mesh/filter/test_deltrianglesbynormal.cc
++++ b/mia/mesh/filter/test_deltrianglesbynormal.cc
+@@ -39,7 +39,7 @@
+
+ template <typename T>
+ struct compare_vertex_ordered {
+- bool operator () (const T3DVector<T>& lhs, const T3DVector<T>& rhs)
++ bool operator () (const T3DVector<T>& lhs, const T3DVector<T>& rhs) const
+ {
+ return (lhs.z < rhs.z) ||
+ ((lhs.z == rhs.z) && ((lhs.y < rhs.y) ||
+--- a/mia/mesh/filter/test_selectbig.cc
++++ b/mia/mesh/filter/test_selectbig.cc
+@@ -39,7 +39,7 @@
+
+ template <typename T>
+ struct compare_vertex_ordered {
+- bool operator () (const T3DVector<T>& lhs, const T3DVector<T>& rhs)
++ bool operator () (const T3DVector<T>& lhs, const T3DVector<T>& rhs) const
+ {
+ return (lhs.z < rhs.z) ||
+ ((lhs.z == rhs.z) && ((lhs.y < rhs.y) ||
+--- a/mia/mesh/triangularMesh.cc
++++ b/mia/mesh/triangularMesh.cc
+@@ -508,7 +508,7 @@
+ };
+
+ struct compare_vertex {
+- bool operator () (const VertexWithIndex& lhs, const VertexWithIndex& rhs)
++ bool operator () (const VertexWithIndex& lhs, const VertexWithIndex& rhs) const
+ {
+ return (lhs.v.z < rhs.v.z) ||
+ ((lhs.v.z == rhs.v.z) && ((lhs.v.y < rhs.v.y) ||
diff --git a/gnu/packages/patches/mia-openexr3.patch b/gnu/packages/patches/mia-openexr3.patch
new file mode 100644
index 0000000000..5205d73355
--- /dev/null
+++ b/gnu/packages/patches/mia-openexr3.patch
@@ -0,0 +1,27 @@
+Description: Fix compilation with openexr 3.x
+Author: Mathieu Malaterre <malat@debian.org>
+Bug-Debian: https://bugs.debian.org/1017517
+
+--- mia-2.4.7.orig/addons/openexr/2dimgexr.cc
++++ mia-2.4.7/addons/openexr/2dimgexr.cc
+@@ -25,6 +25,9 @@
+ #include <ImfChannelList.h>
+ #include <ImfStringAttribute.h>
+ #include <ImfMatrixAttribute.h>
++#include <ImathBox.h>
++#include <ImfFrameBuffer.h>
++#include <ImfHeader.h>
+
+ #include <mia/core/file.hh>
+ #include <mia/core/filter.hh>
+--- mia-2.4.7.orig/addons/openexr/2dvfexr.cc
++++ mia-2.4.7/addons/openexr/2dvfexr.cc
+@@ -25,6 +25,8 @@
+ #include <ImfChannelList.h>
+ #include <ImfStringAttribute.h>
+ #include <ImfMatrixAttribute.h>
++#include <ImfHeader.h>
++#include <ImfFrameBuffer.h>
+
+ #include <mia/core/file.hh>
+ #include <mia/core/filter.hh>