Subject: bug#26517: [PATCH] gnu: Add graphene.

From: Kei Kebreau <[email-masked]>
Date: Sat, 15 Apr 2017 19:50:10 -0400

Roel Janssen <[email-masked]> writes:

>>>From 547a9892aa98b65c37e8692f797bd7fbdae6ccc2 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <[email-masked]>
> Date: Sat, 15 Apr 2017 14:33:39 +0200
> Subject: [PATCH] gnu: Add graphene.
>
> * gnu/packages/gtk.scm (graphene): New variable.
> ---
>  gnu/packages/gtk.scm | 40 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>
> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> index 770a8c916..f697e569b 100644
> --- a/gnu/packages/gtk.scm
> +++ b/gnu/packages/gtk.scm
> @@ -42,6 +42,7 @@
>    #:use-module (gnu packages)
>    #:use-module (gnu packages algebra)
>    #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages base)
>    #:use-module (gnu packages texinfo)
>    #:use-module (gnu packages check)
>    #:use-module (gnu packages compression)
> @@ -1419,3 +1420,42 @@ misspelled words in a GtkTextView widget.")
>  thereof, global hotkeys and clipboard item actions.  It was forked from
>  Parcellite and adds bugfixes and features.")
>      (license license:gpl2+)))
> +
> +(define-public graphene
> +  (package
> +    (name "graphene")
> +    (version "1.6.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/ebassi/graphene/archive/"
> +                    version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))
> +              (sha256
> +               (base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:configure-flags '("--enable-introspection=yes")
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'autogen
> +           (lambda _
> +             (zero? (system* "./autogen.sh")))))))
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("which" ,which)
> +       ("pkg-config" ,pkg-config)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)))
> +    (inputs
> +     `(("python" ,python)
> +       ("python-2" ,python-2)
> +       ("glib" ,glib)
> +       ("gobject-introspection" ,gobject-introspection)))
> +    (home-page "http://ebassi.github.io/graphene")
> +    (synopsis "Thin layer of graphic data types")
> +    (description "This library provides graphic types and their relative API;
> +it does not deal with windowing system surfaces, drawing, scene graphs, or
> +input.  You're supposed to do that yourself, in your own canvas implementation,
> +which is the whole point of writing the library in the first place.")

The description after "You're supposed to do that yourself..." doesn't
seem like it fits in a package description. If you have any other ideas
for what information should go there, that'd be great.

> +    (license license:expat)))

Everything else LGTM.

P.S.: Where can I find GTK+ documentation about the new Graphene library
requirement? Thanks in advance.