Subject: Re: bug#26108: [PATCH 6/7] gnu: Add mia.

From: Kei Kebreau <[email-masked]>
Date: Sat, 18 Mar 2017 01:53:42 -0400

John Darrington <[email-masked]> writes:

> * gnu/packages/image-processing.scm (mia): New variable.
> ---
>  gnu/packages/image-processing.scm | 75 ++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 74 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
> index e1ad93e..e080569 100644
> --- a/gnu/packages/image-processing.scm
> +++ b/gnu/packages/image-processing.scm
> @@ -21,12 +21,25 @@
>    #:use-module (guix packages)
>    #:use-module (guix utils)
>    #:use-module (guix download)
> +  #:use-module (guix git-download)
>    #:use-module (guix build-system gnu)
> +  #:use-module (guix build-system cmake)
>    #:use-module (gnu packages)
> +  #:use-module (gnu packages algebra)
> +  #:use-module (gnu packages boost)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages documentation)
> +  #:use-module (gnu packages gnome)
> +  #:use-module (gnu packages graphics)
> +  #:use-module (gnu packages graphviz)
> +  #:use-module (gnu packages maths)
> +  #:use-module (gnu packages xml)
>    #:use-module (gnu packages image)
> -  #:use-module (gnu packages perl))
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages python)
> +  #:use-module (gnu packages tbb)
> +  #:use-module (gnu packages vtk))
>  
>  (define-public dcmtk
>    (package
> @@ -73,3 +86,63 @@ demonstrative image storage and worklist servers.")
>                "file://COPYRIGHT"
>                "A union of the Apache 2.0 licence and various non-copyleft
>  licences similar to the Modified BSD licence."))))
> +
> +
> +(define-public mia
> +  (package
> +    (name "mia")
> +    (version "2.4.3")
> +    (source (origin
> +              ;; There are too many issues with the released version which
> +              ;; prevent a clean build and test under Guix.  So until the next
> +              ;; release I suggest we use this git checkout.
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://git.code.sf.net/p/mia/mia2")
> +                    (commit "d91cade30a10f179bba8c8e48b84983a296d2c33")))
> +              (sha256
> +               (base32
> +                "0y8ihqbliqy21fph3dm5h6k2nvjbajx4y0mn351x990r9y0767vz"))
> +              (file-name (string-append name "-" version))))
> +    (build-system cmake-build-system)
> +    (arguments `(#:configure-flags `("-DMIA_CREATE_NIPYPE_INTERFACES=0"
> +                                     ,(string-append "-DCMAKE_INSTALL_LIBDIR="
> +                                                     (assoc-ref %outputs "out")
> +                                                     "/lib")
> +                                     ;; According to upstream this is necessary
> +                                     ;; with g++-4.9.x because the std::regex
> +                                     ;; library doesn't work reliably.
> +                                     "-DMIA_USE_BOOST_REGEX=ON"
> +                                     "-DCMAKE_CXX_FLAGS=-fpermissive")))
> +    (inputs `(("boost" ,boost)
> +              ("dcmtk" ,dcmtk)
> +              ("doxygen" ,doxygen)
> +              ("eigen" ,eigen)
> +              ("fftw" ,fftw)
> +              ("fftwf" ,fftwf)
> +              ("gsl" ,gsl)
> +              ("gts" ,gts)
> +              ("hdf5" ,hdf5)
> +              ("itpp" ,itpp)
> +              ("libjpeg" ,libjpeg)
> +              ("libpng" ,libpng)
> +              ("libtiff" ,libtiff)
> +              ("libxml" ,libxml2)
> +              ("libxml++" ,libxml++)
> +              ("maxflow" ,maxflow)
> +              ("niftilib" ,niftilib)
> +              ("nlopt" ,nlopt)
> +              ("openexr" ,openexr)
> +              ("python-lxml" ,python2-lxml)
> +              ("vtk" ,[email-masked])))
> +    (native-inputs `(("pkg-config"   ,pkg-config)
> +                     ("python" ,python-2)))
> +    (synopsis "Toolkit for gray scale medical image analysis")
> +    (description "MIA provides a combination of command line tools, plug-ins,
> +and libraries that make it possible run image processing tasks interactively
> +in a command shell and to prototype using the shell's scripting
> +language.  It is built around a plug-in structure that makes it easy to add
> +functionality without compromising the original code base and it makes use of a
> +wide variety of external libraries that provide additional functionality.")
> +    (home-page "http://mia.sourceforge.net")
> +    (license license:gpl3+)))

My machine doesn't have the hardware to build this package in a
reasonable amount of time, but it lints file and looks good!