Subject: Re: bug#26110: [PATCH 7/7] gnu: Move vtk to image-processing.scm

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

John Darrington <[email-masked]> writes:

> * gnu/packages/image-processing.scm (vtk, [email-masked]): New variables.
> * gnu/packages/vtk.scm: Delete file.
> * gnu/local.mk (GNU_SYSTEM_MODULES)[gnu/packages/vtk.scm]: Remove.
> ---
>  gnu/local.mk                      |   1 -
>  gnu/packages/image-processing.scm |  82 +++++++++++++++++++++++++++-
>  gnu/packages/vtk.scm              | 109 --------------------------------------
>  3 files changed, 81 insertions(+), 111 deletions(-)
>  delete mode 100644 gnu/packages/vtk.scm
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 15325d3..4b2c694 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -380,7 +380,6 @@ GNU_SYSTEM_MODULES =				\
>    %D%/packages/video.scm			\
>    %D%/packages/vim.scm				\
>    %D%/packages/vpn.scm				\
> -  %D%/packages/vtk.scm				\
>    %D%/packages/w3m.scm				\
>    %D%/packages/wdiff.scm			\
>    %D%/packages/web.scm				\
> diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
> index e080569..fc44462 100644
> --- a/gnu/packages/image-processing.scm
> +++ b/gnu/packages/image-processing.scm
> @@ -1,4 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 Ludovic Courtès <[email-masked]>
> +;;; Copyright © 2014 Mark H Weaver <[email-masked]>
> +;;; Copyright © 2016 Eric Bavier <[email-masked]>
>  ;;; Copyright © 2017 John Darrington <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
> @@ -29,6 +32,8 @@
>    #:use-module (gnu packages boost)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages documentation)
> +  #:use-module (gnu packages fontutils)
> +  #:use-module (gnu packages gl)
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages graphics)
>    #:use-module (gnu packages graphviz)
> @@ -38,8 +43,11 @@
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
> +  #:use-module (gnu packages serialization)
>    #:use-module (gnu packages tbb)
> -  #:use-module (gnu packages vtk))
> +  #:use-module (gnu packages xiph)
> +  #:use-module (gnu packages xorg))
> +
>  
>  (define-public dcmtk
>    (package
> @@ -146,3 +154,75 @@ 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+)))
> +
> +(define-public vtk
> +  (package
> +    (name "vtk")
> +    (version "7.1.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://www.vtk.org/files/release/"
> +                                  (version-major+minor version)
> +                                  "/VTK-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     '(#:build-type "Release"           ;Build without '-g' to save space.
> +       ;; -DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE requires netcdf_cxx
> +       #:configure-flags '("-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
> +                           "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
> +       #:tests? #f))                              ;XXX: no "test" target
> +    (inputs
> +     `(("libXt" ,libxt)
> +       ("xproto" ,xproto)
> +       ("libX11" ,libx11)
> +       ("libxml2" ,libxml2)
> +       ("mesa" ,mesa)
> +       ("glu" ,glu)
> +       ("expat" ,expat)
> +       ("freetype" ,freetype)
> +       ("hdf5" ,hdf5)
> +       ("jpeg" ,libjpeg)
> +       ("jsoncpp" ,jsoncpp)
> +       ("libogg" ,libogg)
> +       ("libtheora" ,libtheora)
> +       ("png" ,libpng)
> +       ("tiff" ,libtiff)
> +       ("zlib" ,zlib)))
> +    (home-page "http://www.vtk.org/")
> +    (synopsis "Libraries for 3D computer graphics")
> +    (description
> +     "The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,
> +image processing and visualization.  It supports a wide variety of
> +visualization algorithms including: scalar, vector, tensor, texture, and
> +volumetric methods; and advanced modeling techniques such as: implicit
> +modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay
> +triangulation.  VTK has an extensive information visualization framework, has
> +a suite of 3D interaction widgets, supports parallel processing, and
> +integrates with various databases on GUI toolkits such as Qt and Tk.")
> +    (license license:bsd-3)))
> +
> +
> +;; Mia 2.4.3 doesn't work against vtk7 so we package vtk 6.3 for it:
> +(define-public [email-masked]
> +  (package
> +    (inherit vtk)
> +    (version "6.3.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://www.vtk.org/files/release/"
> +                                  (version-major+minor version)
> +                                  "/VTK-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0pla1r5mvkgl4sl213gfdhzrypdgai0h3z5mfgm6p9jz9hsr794j"))))))
> diff --git a/gnu/packages/vtk.scm b/gnu/packages/vtk.scm
> deleted file mode 100644
> index ad12187..0000000
> --- a/gnu/packages/vtk.scm
> +++ /dev/null
> @@ -1,109 +0,0 @@
> -;;; GNU Guix --- Functional package management for GNU
> -;;; Copyright © 2014 Ludovic Courtès <[email-masked]>
> -;;; Copyright © 2014 Mark H Weaver <[email-masked]>
> -;;; Copyright © 2016 Eric Bavier <[email-masked]>
> -;;;
> -;;; This file is part of GNU Guix.
> -;;;
> -;;; GNU Guix is free software; you can redistribute it and/or modify it
> -;;; under the terms of the GNU General Public License as published by
> -;;; the Free Software Foundation; either version 3 of the License, or (at
> -;;; your option) any later version.
> -;;;
> -;;; GNU Guix is distributed in the hope that it will be useful, but
> -;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> -;;; GNU General Public License for more details.
> -;;;
> -;;; You should have received a copy of the GNU General Public License
> -;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
> -
> -(define-module (gnu packages vtk)
> -  #:use-module (guix packages)
> -  #:use-module (guix download)
> -  #:use-module ((guix licenses) #:select (bsd-3))
> -  #:use-module (guix utils)
> -  #:use-module (guix build-system cmake)
> -  #:use-module (gnu packages)
> -  #:use-module (gnu packages compression)
> -  #:use-module (gnu packages fontutils)
> -  #:use-module (gnu packages gl)
> -  #:use-module (gnu packages image)
> -  #:use-module (gnu packages maths)
> -  #:use-module (gnu packages serialization)
> -  #:use-module (gnu packages xiph)
> -  #:use-module (gnu packages xml)
> -  #:use-module (gnu packages xorg))
> -
> -(define-public vtk
> -  (package
> -    (name "vtk")
> -    (version "7.1.0")
> -    (source (origin
> -              (method url-fetch)
> -              (uri (string-append "http://www.vtk.org/files/release/"
> -                                  (version-major+minor version)
> -                                  "/VTK-" version ".tar.gz"))
> -              (sha256
> -               (base32
> -                "0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
> -    (build-system cmake-build-system)
> -    (arguments
> -     '(#:build-type "Release"           ;Build without '-g' to save space.
> -       ;; -DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE requires netcdf_cxx
> -       #:configure-flags '("-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
> -                           "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
> -       #:tests? #f))                              ;XXX: no "test" target
> -    (inputs
> -     `(("libXt" ,libxt)
> -       ("xproto" ,xproto)
> -       ("libX11" ,libx11)
> -       ("libxml2" ,libxml2)
> -       ("mesa" ,mesa)
> -       ("glu" ,glu)
> -       ("expat" ,expat)
> -       ("freetype" ,freetype)
> -       ("hdf5" ,hdf5)
> -       ("jpeg" ,libjpeg)
> -       ("jsoncpp" ,jsoncpp)
> -       ("libogg" ,libogg)
> -       ("libtheora" ,libtheora)
> -       ("png" ,libpng)
> -       ("tiff" ,libtiff)
> -       ("zlib" ,zlib)))
> -    (home-page "http://www.vtk.org/")
> -    (synopsis "Libraries for 3D computer graphics")
> -    (description
> -     "The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,
> -image processing and visualization.  It supports a wide variety of
> -visualization algorithms including: scalar, vector, tensor, texture, and
> -volumetric methods; and advanced modeling techniques such as: implicit
> -modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay
> -triangulation.  VTK has an extensive information visualization framework, has
> -a suite of 3D interaction widgets, supports parallel processing, and
> -integrates with various databases on GUI toolkits such as Qt and Tk.")
> -    (license bsd-3)))
> -
> -
> -;; Mia 2.4.3 doesn't work against vtk7 so we package vtk 6.3 for it:
> -(define-public [email-masked]
> -  (package
> -    (inherit vtk)
> -    (version "6.3.0")
> -    (source (origin
> -              (method url-fetch)
> -              (uri (string-append "http://www.vtk.org/files/release/"
> -                                  (version-major+minor version)
> -                                  "/VTK-" version ".tar.gz"))
> -              (sha256
> -               (base32
> -                "0pla1r5mvkgl4sl213gfdhzrypdgai0h3z5mfgm6p9jz9hsr794j"))))))
> -

Whether or not this ends up in image.scm or image-processing.scm, it
builds and lints fine just as well as it did in vtk.scm.