[PATCH 6/7] gnu: Add mia.

  • Done
  • quality assurance status badge
Details
4 participants
  • John Darrington
  • John Darrington
  • Kei Kebreau
  • Ricardo Wurmus
Owner
unassigned
Submitted by
John Darrington
Severity
normal

Debbugs page

John Darrington wrote 8 years ago
(address . guix-patches@gnu.org)(name . John Darrington)(address . jmd@gnu.org)
1489608324-23632-6-git-send-email-jmd@gnu.org
* gnu/packages/image-processing.scm (mia): New variable.
---
gnu/packages/image-processing.scm | 75 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 74 insertions(+), 1 deletion(-)

Toggle diff (97 lines)
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" ,vtk@6.3)))
+ (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+)))
--
2.1.4
Kei Kebreau wrote 8 years ago
(name . John Darrington)(address . jmd@gnu.org)(address . 26108@debbugs.gnu.org)
87r31v5dw9.fsf@openmailbox.org
John Darrington <jmd@gnu.org> writes:

Toggle quote (101 lines)
> * 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" ,vtk@6.3)))
> + (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!
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAljMy2cACgkQ5qXuPBlG
eg0HAxAAs69QQ91KY9+VQoNoA2MKy0BylIIf3MkLKv2RvMwmZrYEifthOEHsf13j
yN4Sd7nARWl96k+0KV6XMi3cVxGqCBFjFj5moYO+PIC4gg36fCogx09qvOGonzvr
8/ecQtuqHoXap1eFEI5DegoH5k1GgWuIwWbIscmjAyO9pcr2LQMDa+Yta1DI8mfh
tS8rvBxTMTIeXBriW54AyxFvJc/CxVDgtmJlpT8y+ccsKWiAdSlK1EX4Z00YRtiD
jauCNEgQX/rzFH3EKtX5F2f93T6j25Z115zlDQwmipAojm7GNe5Cp3PnhhchO5x5
9kre9MeGbWPb0sD4U4IyIx+OzFjREbFvsezBJizXe1KudObrSb9t9sE4suhsV5PW
Ec3g1g4vB7+FrjUrIDEweyL9U7IEmCnIp3TVEuY9t3laL+P+IOQZHFAvZZLHtyjG
LZ9/yITzNrhfvi78iCABV1MwrJf5ye0hiwEcDQmyzDXVTlX8mgKbezUS6l6MxxTx
Ez/jdhX+R/c1bzEAEoIya5HgECWvAxs+BIO3N2i5BEa0GXuxfugoG5Whc3pSZ3uv
JAKwu5dphrdGOapXXlumis4DIj5vIkXMoAKMoUqZTOvtbCXy1EWcLClFZ0UN4wXv
RQ8pijbQrttbVOyz3poXfTM1cJNqT0ycS1jOJKcvxq8thE+UnjY=
=kCan
-----END PGP SIGNATURE-----

John Darrington wrote 8 years ago
(name . Kei Kebreau)(address . kei@openmailbox.org)(address . 26108@debbugs.gnu.org)(name . John Darrington)(address . jmd@gnu.org)
20170318061723.GA11846@jocasta.intra
On Sat, Mar 18, 2017 at 01:53:42AM -0400, Kei Kebreau wrote:
My machine doesn't have the hardware to build this package in a
reasonable amount of time, but it lints file and looks good!

Yeah. It takes about an hour for me.

Thanks for the reviews anyway.

J'


--
Avoid eavesdropping. Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.netor any PGP keyserver for public key.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAljM0PMACgkQimdxnC3oJ7NTqgCfQwVOEpcrlsWwGWH5wIqD2K76
KjUAn1QVqCF4IWY4WH68WQ+n0SAGxFUR
=urjD
-----END PGP SIGNATURE-----


Ricardo Wurmus wrote 8 years ago
(name . John Darrington)(address . jmd@gnu.org)(address . 26108@debbugs.gnu.org)
87inmq52ig.fsf@elephly.net
John Darrington <jmd@gnu.org> writes:

Toggle quote (1 lines)
> * gnu/packages/image-processing.scm (mia): New variable.
[…]

Toggle quote (10 lines)
> +
> +(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.

That’s okay. Could you please wrap the “(package …)“ expression in a
let expression where ‘commit’ is bound to
"d91cade30a10f179bba8c8e48b84983a296d2c33" and ‘revision’ to "1". Then
the version field should be changed to

(string-append "2.4.3-" revision "." (string-take commit 7))

because this is not exactly version "2.4.3”.

Toggle quote (6 lines)
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://git.code.sf.net/p/mia/mia2")
> + (commit
> "d91cade30a10f179bba8c8e48b84983a296d2c33")))

After wrapping the thing in a let binding you can use “(commit commit)”
here.

Toggle quote (5 lines)
> + (sha256
> + (base32
> + "0y8ihqbliqy21fph3dm5h6k2nvjbajx4y0mn351x990r9y0767vz"))
> + (file-name (string-append name "-" version))))

Usually, we append “-checkout” to git clones.

Toggle quote (12 lines)
> + (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")))

I have a slight preference to adding a line break after “arguments”.

Toggle quote (4 lines)
> + (inputs `(("boost" ,boost)
> + ("dcmtk" ,dcmtk)
> + ("doxygen" ,doxygen)

I think this should be a native input.

Please also add a line break after “inputs”.

Toggle quote (21 lines)
> + ("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" ,vtk@6.3)))
> + (native-inputs `(("pkg-config" ,pkg-config)
> + ("python" ,python-2)))

Please add a line break after “native-inputs” (for consistency). Please
also collapse the spaces after "pkg-config".

Toggle quote (10 lines)
> + (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+)))

The rest looks good to me (I did not check the license). Would you like
to push an updated version or would you like me to make the changes
myself?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
John Darrington wrote 8 years ago
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 26108@debbugs.gnu.org)
20170331052754.GA24198@gnu.org
On Thu, Mar 30, 2017 at 03:15:51PM +0200, Ricardo Wurmus wrote:
Toggle quote (15 lines)
>
> > + (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+)))
>
> The rest looks good to me (I did not check the license). Would you like
> to push an updated version or would you like me to make the changes
> myself?

Feel free to make any changes you think necessary and commit it if appropriate.

J'
Ricardo Wurmus wrote 8 years ago
(name . John Darrington)(address . jmd@gnu.org)(address . 26108-done@debbugs.gnu.org)
87fug56d4w.fsf@elephly.net
John Darrington <jmd@gnu.org> writes:

Toggle quote (18 lines)
> On Thu, Mar 30, 2017 at 03:15:51PM +0200, Ricardo Wurmus wrote:
>>
>> > + (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+)))
>>
>> The rest looks good to me (I did not check the license). Would you like
>> to push an updated version or would you like me to make the changes
>> myself?
>
> Feel free to make any changes you think necessary and commit it if appropriate.

I made some changes, updated to the latest version, and pushed it to
master.

Thank you, John, for the patch, and my apologies for letting it sit here
for so long! (It was impossible to build it on my laptop, so I had to
arrange for a different machine.)

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 26108@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 26108
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help