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

From: Roel Janssen <[email-masked]>
Date: Sun, 16 Apr 2017 02:16:38 +0200

Dear Kei,

Thanks for your quick response.

Kei Kebreau writes:

> 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.

Is it okay to remove "You're supposed to ... in the first place."?

>
>> +    (license license:expat)))
>
> Everything else LGTM.
>
> P.S.: Where can I find GTK+ documentation about the new Graphene library
> requirement? Thanks in advance.

So, here's the documentation for the GskRenderer that uses
'graphene_rect_t' for example:

https://developer.gnome.org/gsk4/unstable/GskRenderer.html

Thanks for your time!

Kind regards,
Roel Janssen