summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-13 01:25:05 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-31 14:54:07 -0400
commit887dec8a51604408214d28290ce857451dcd7192 (patch)
tree30119f98f7475130c41aa973ced054aa1be625a3
parent607e48ba3ccb038e2fa4b956cb62ce628cdc8cd0 (diff)
gnu: itk-snap: Fix build.
* gnu/packages/patches/itk-snap-alt-glibc-compat.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/image-processing.scm (itk-snap): Apply it. [phases]: Delete trailing #t. [inputs]: Use new style. Replace vtk-6 with vtk-7.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/image-processing.scm52
-rw-r--r--gnu/packages/patches/itk-snap-alt-glibc-compat.patch22
3 files changed, 46 insertions, 29 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0cd874dae7..c4d774052b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1302,6 +1302,7 @@ dist_patch_DATA = \
%D%/packages/patches/ipxe-reproducible-geniso.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
+ %D%/packages/patches/itk-snap-alt-glibc-compat.patch \
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/jsoncpp-pkg-config-version.patch \
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 08aeaed202..d0d80c08cf 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1032,7 +1032,8 @@ combine the information contained in both.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "15i5ixpryfrbf3vrrb5rici8fb585f25k0v1ljds16bp1f1msr4q"))))
+ (base32 "15i5ixpryfrbf3vrrb5rici8fb585f25k0v1ljds16bp1f1msr4q"))
+ (patches (search-patches "itk-snap-alt-glibc-compat.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -1051,22 +1052,19 @@ combine the information contained in both.")
(substitute* "CMakeLists.txt"
(("install_qt5_executable\
\\(\\$\\{SNAP_MAIN_INSTALL_DIR\\}/\\$\\{SNAP_EXE\\}\\)")
- ""))
- #t))
+ ""))))
(add-after 'unpack 'disable-gui-tests
(lambda _
;; The GUI tests just time out.
(substitute* "CMakeLists.txt"
((" (Workspace|DiffSpace|ProbeIntensity|RegionCompetition\
|RandomForest|RandomForestBailOut)")
- ""))
- #t))
+ ""))))
(add-after 'unpack 'make-reproducible
(lambda _
(substitute* "CMakeLists.txt"
(("TODAY\\(SNAP_VERSION_COMPILE_DATE\\)")
- "SET(SNAP_VERSION_COMPILE_DATE \"(removed for reproducibility)\")"))
- #t))
+ "SET(SNAP_VERSION_COMPILE_DATE \"(removed for reproducibility)\")"))))
(add-after 'unpack 'prepare-submodules
(lambda* (#:key inputs #:allow-other-keys)
(rmdir "Submodules/c3d")
@@ -1077,19 +1075,16 @@ combine the information contained in both.")
(("vcl_") "std::"))
(rmdir "Submodules/greedy")
(symlink (assoc-ref inputs "greedy-src")
- "Submodules/greedy")
- #t))
+ "Submodules/greedy")))
(add-after 'unpack 'fix-includes
(lambda _
(substitute* "GUI/Model/RegistrationModel.cxx"
(("<vnl_symmetric_eigensystem.h>")
- "<vnl/algo/vnl_symmetric_eigensystem.h>"))
- #t))
+ "<vnl/algo/vnl_symmetric_eigensystem.h>"))))
(add-before 'check 'prepare-tests
(lambda _
;; Needed by at least one test.
- (setenv "HOME" "/tmp")
- #t))
+ (setenv "HOME" "/tmp")))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -1098,23 +1093,22 @@ combine the information contained in both.")
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins"))
- '("qtbase" "qtdeclarative"))))
- #t))))))
+ '("qtbase" "qtdeclarative"))))))))))
(inputs
- `(("curl" ,curl)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("glu" ,glu)
- ("hdf5" ,hdf5)
- ("mesa" ,mesa-opencl)
- ;; This package does not build with either insight-toolkit 5.0.0 and
- ;; not with 4.13. It really needs to be 4.12.
- ("itk" ,insight-toolkit-4.12)
- ("vtk" ,vtk-6)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("vxl" ,vxl-1)
- ("zlib" ,zlib)))
+ (list curl
+ fftw
+ fftwf
+ glu
+ hdf5
+ mesa-opencl
+ ;; This package does not build with either insight-toolkit 5.0.0
+ ;; and not with 4.13. It really needs to be 4.12.
+ insight-toolkit-4.12
+ vtk-7
+ qtbase-5
+ qtdeclarative
+ vxl-1
+ zlib))
(native-inputs
`(("googletest" ,googletest)
("qttools" ,qttools)
diff --git a/gnu/packages/patches/itk-snap-alt-glibc-compat.patch b/gnu/packages/patches/itk-snap-alt-glibc-compat.patch
new file mode 100644
index 0000000000..764c5da2c2
--- /dev/null
+++ b/gnu/packages/patches/itk-snap-alt-glibc-compat.patch
@@ -0,0 +1,22 @@
+Retrieved from ALT Linux.
+https://git.altlinux.org/tasks/273587/build/300/x86_64/srpm/itk-snap-3.8.0-alt6.src.rpm
+
+diff --git a/GUI/Qt/main.cxx b/GUI/Qt/main.cxx
+index 576f7160..ceab92e6 100644
+--- a/GUI/Qt/main.cxx
++++ b/GUI/Qt/main.cxx
+@@ -51,12 +51,13 @@ using namespace std;
+ #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
+
+ #include <signal.h>
++#include <string.h>
+ #include <execinfo.h>
+
+ void SegmentationFaultHandler(int sig)
+ {
+ cerr << "*************************************" << endl;
+- cerr << "ITK-SNAP: " << sys_siglist[sig] << endl;
++ cerr << "ITK-SNAP: " << strsignal(sig) << " (" << sigabbrev_np(sig) << ")" << endl;
+ cerr << "BACKTRACE: " << endl;
+ void *array[50];
+ int nsize = backtrace(array, 50);