guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/3] gnu: Add xdot.


From: Kei Kebreau
Subject: Re: [PATCH 1/3] gnu: Add xdot.
Date: Sun, 27 Nov 2016 16:55:47 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Theodoros Foradis <address@hidden> writes:

> * gnu/packages/graphviz.scm (xdot): New variable.
> ---
>  gnu/packages/graphviz.scm | 52 
> ++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 51 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
> index 610bd16..a336183 100644
> --- a/gnu/packages/graphviz.scm
> +++ b/gnu/packages/graphviz.scm
> @@ -1,6 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2013, 2015 Ludovic Courtès <address@hidden>
>  ;;; Copyright © 2015 Efraim Flashner <address@hidden>
> +;;; Copyright © 2016 Theodoros Foradis <address@hidden>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -20,6 +21,7 @@
>  (define-module (gnu packages graphviz)
>    #:use-module (guix packages)
>    #:use-module (guix build-system gnu)
> +  #:use-module (guix build-system python)
>    #:use-module (guix download)
>    #:use-module (gnu packages xorg)
>    #:use-module (gnu packages gtk)
> @@ -30,11 +32,14 @@
>    #:use-module (gnu packages image)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages glib)
> +  #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages gnome)
>    #:use-module (gnu packages fontutils)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages gd)
>    #:use-module (gnu packages swig)
> -  #:use-module ((guix licenses) #:select (lgpl2.0+ epl1.0)))
> +  #:use-module ((guix licenses) #:select (lgpl2.0+ epl1.0 lgpl3+)))
>  
>  (define-public graphviz
>    (package
> @@ -148,3 +153,48 @@ interfaces for other technical domains.")
>       "Library intended to provide a set of useful functions to deal with
>  3D surfaces meshed with interconnected triangles.")
>      (license lgpl2.0+)))
> +
> +(define-public xdot
> +  (package
> +    (name "xdot")
> +    (version "0.7")
> +    (source
> +     (origin
> +      (method url-fetch)
> +      (uri (pypi-uri "xdot" version))
> +      (sha256
> +       (base32
> +        "1q0f3pskb09saw1qkd2s6vmk80rq5zjhq8l93dfr2x6r04r0q46j"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         ;; We wrap xdot, so that we don't propagate gtk+ and graphviz
> +         (add-after 'install 'wrap
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (wrap-program (string-append (assoc-ref outputs "out") 
> "/bin/xdot")
> +               `("GI_TYPELIB_PATH" ":" prefix
> +                 (,(string-append
> +                    (assoc-ref inputs "gtk+") "/lib/girepository-1.0"
> +                    ":" (assoc-ref inputs "pango") "/lib/girepository-1.0"
> +                    ":" (assoc-ref inputs "gdk-pixbuf") 
> "/lib/girepository-1.0"
> +                    ":" (assoc-ref inputs "atk") "/lib/girepository-1.0")))
> +               `("PATH" ":" prefix
> +                 (,(string-append (assoc-ref inputs "graphviz") "/bin"))))
> +             #t)))))

Adding #:configure-flags '("--single-version-externally-managed"
"--root=/") to the arguments list makes xdot's handling of the .egg
files reproducible.

> +    (inputs
> +     `(("atk" ,atk)
> +       ("gdk-pixbuf" ,gdk-pixbuf+svg)
> +       ("graphviz" ,graphviz)
> +       ("gtk+" ,gtk+)
> +       ("python-pycairo" ,python-pycairo)
> +       ("python-pygobject" ,python-pygobject)))
> +    (home-page "https://pypi.python.org/pypi/xdot";)
> +    (synopsis
> +     "Interactive viewer for graphviz dot files")
> +    (description
> +     "Xdot is an interactive viewer for graphs written in @code{graphviz}’s 
> dot language.
> +  It uses internally the xdot output format as an intermediate format,and 
> @code{gtk} and
> address@hidden for rendering.  Xdot can be used either as a standalone 
> application, or as
> +a python library.")
> +    (license lgpl3+)))

Other than the comment above, LGTM. Is there someone more experienced
with Python packages who can double check this?

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]