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
This commit is contained in:
Maxim Cournoyer 2025-04-23 21:52:07 +09:00
parent 89de2cb1ef
commit d9831cd439
No known key found for this signature in database
GPG key ID: 1260E46482E63562
4 changed files with 143 additions and 5 deletions

View file

@ -1854,6 +1854,8 @@ dist_patch_DATA = \
%D%/packages/patches/mercurial-hg-extension-path.patch \ %D%/packages/patches/mercurial-hg-extension-path.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.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-vtk9.patch \
%D%/packages/patches/mia-vtk92.patch \ %D%/packages/patches/mia-vtk92.patch \
%D%/packages/patches/mia-vtk-version.patch \ %D%/packages/patches/mia-vtk-version.patch \

View file

@ -19,7 +19,7 @@
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; 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 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2023 Cairn <cairn@pm.me> ;;; Copyright © 2023 Cairn <cairn@pm.me>
@ -219,6 +219,8 @@ licences similar to the Modified BSD licence."))))
(base32 (base32
"0qpcd3n26q52dpyibm11f5l6cgscdr54p2jish39gc3p1f5h3ws1")) "0qpcd3n26q52dpyibm11f5l6cgscdr54p2jish39gc3p1f5h3ws1"))
(patches (search-patches "mia-fix-boost-headers.patch" (patches (search-patches "mia-fix-boost-headers.patch"
"mia-gcc11.patch"
"mia-openexr3.patch"
"mia-vtk9.patch" "mia-vtk9.patch"
"mia-vtk92.patch" "mia-vtk92.patch"
"mia-vtk-version.patch")))) "mia-vtk-version.patch"))))
@ -230,14 +232,14 @@ licences similar to the Modified BSD licence."))))
(inputs (inputs
(list boost (list boost
dcmtk dcmtk
doxygen
eigen eigen
fftw fftw
fftwf fftwf
gsl gsl
gts gts
hdf5 hdf5-1.10
itpp itpp
lapack
libjpeg-turbo libjpeg-turbo
libpng libpng
libtiff libtiff
@ -246,11 +248,12 @@ licences similar to the Modified BSD licence."))))
maxflow maxflow
niftilib niftilib
nlopt nlopt
openexr-2 openexr
python-lxml python-lxml
vtk)) vtk))
(native-inputs (native-inputs
(list pkg-config (list doxygen
pkg-config
python-wrapper)) python-wrapper))
(home-page "https://mia.sourceforge.net") (home-page "https://mia.sourceforge.net")
(synopsis "Toolkit for gray scale medical image analysis") (synopsis "Toolkit for gray scale medical image analysis")

View file

@ -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) ||

View file

@ -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>