* [ANN] guile-gi v0.0.1 released
@ 2018-11-15 14:41 Mike Gran
2018-11-15 15:13 ` Alex Sassmannshausen
` (6 more replies)
0 siblings, 7 replies; 19+ messages in thread
From: Mike Gran @ 2018-11-15 14:41 UTC (permalink / raw)
To: guile-user
Hello. I am announcing guile-gi v0.0.1.
guile-gi is a library that autogenerates Guile bindings for GObject
libraries that provide typelib files. GNU Guile is an implementation
of Scheme, a Lisp-like language. GObject is a standard way of writing
C-language libraries with headers and introspection information that
are intended to allow them to be used from other languages. Typelib
files are GObject's standard way to provide that introspection
information. Among the GObject libraries are GTK3 and WebKitGTK2, two
popular GUI libraries.
In short, this library hopes to make GTK3 and WebKit2 available to
Guile.
The git repo is at
https://github.com/spk121/guile-gi.git
The code can be browsed at
https://github.com/spk121/guile-gi
The almost non-existent documentation can be read at
https://spk121.github.io/guile-gi/
A tarball can be downloaded from
http://lonelycactus.com/tarball/guile-gi-0.0.1.tar.gz
To read about what this library is supposed to do, check out
https://spk121.github.io/guile-gi/Getting-Started.html
To see an example autogenerated library binding, check out
https://raw.githubusercontent.com/spk121/guile-gi/master/test/Gtk_sample.scm
This is pre-alpha code which I am releasing well before it is useful
or ready, mostly for academic interest.
Regards,
Mike Gran
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
@ 2018-11-15 15:13 ` Alex Sassmannshausen
2018-11-15 15:21 ` sirgazil
` (5 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Alex Sassmannshausen @ 2018-11-15 15:13 UTC (permalink / raw)
To: Mike Gran; +Cc: guile-user
Congrats! Always nice to see more Guile libraries, even if only for
academic interest right now :)
Alex
Mike Gran writes:
> Hello. I am announcing guile-gi v0.0.1.
>
> guile-gi is a library that autogenerates Guile bindings for GObject
> libraries that provide typelib files. GNU Guile is an implementation
> of Scheme, a Lisp-like language. GObject is a standard way of writing
> C-language libraries with headers and introspection information that
> are intended to allow them to be used from other languages. Typelib
> files are GObject's standard way to provide that introspection
> information. Among the GObject libraries are GTK3 and WebKitGTK2, two
> popular GUI libraries.
>
> In short, this library hopes to make GTK3 and WebKit2 available to
> Guile.
>
> The git repo is at
> https://github.com/spk121/guile-gi.git
> The code can be browsed at
> https://github.com/spk121/guile-gi
> The almost non-existent documentation can be read at
> https://spk121.github.io/guile-gi/
> A tarball can be downloaded from
> http://lonelycactus.com/tarball/guile-gi-0.0.1.tar.gz
>
> To read about what this library is supposed to do, check out
> https://spk121.github.io/guile-gi/Getting-Started.html
>
> To see an example autogenerated library binding, check out
> https://raw.githubusercontent.com/spk121/guile-gi/master/test/Gtk_sample.scm
>
> This is pre-alpha code which I am releasing well before it is useful
> or ready, mostly for academic interest.
>
> Regards,
> Mike Gran
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
2018-11-15 15:13 ` Alex Sassmannshausen
@ 2018-11-15 15:21 ` sirgazil
2018-11-15 15:44 ` Nala Ginrut
` (4 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: sirgazil @ 2018-11-15 15:21 UTC (permalink / raw)
To: Mike Gran, guile-user
On 15/11/18 9:41 a. m., Mike Gran wrote:
> Hello. I am announcing guile-gi v0.0.1.
>
> guile-gi is a library that autogenerates Guile bindings for GObject
> libraries that provide typelib files. GNU Guile is an implementation
> of Scheme, a Lisp-like language. GObject is a standard way of writing
> C-language libraries with headers and introspection information that
> are intended to allow them to be used from other languages. Typelib
> files are GObject's standard way to provide that introspection
> information. Among the GObject libraries are GTK3 and WebKitGTK2, two
> popular GUI libraries.
>
> In short, this library hopes to make GTK3 and WebKit2 available to
> Guile.
>
> The git repo is at
> https://github.com/spk121/guile-gi.git
> The code can be browsed at
> https://github.com/spk121/guile-gi
> The almost non-existent documentation can be read at
> https://spk121.github.io/guile-gi/
> A tarball can be downloaded from
> http://lonelycactus.com/tarball/guile-gi-0.0.1.tar.gz
>
> To read about what this library is supposed to do, check out
> https://spk121.github.io/guile-gi/Getting-Started.html
>
> To see an example autogenerated library binding, check out
> https://raw.githubusercontent.com/spk121/guile-gi/master/test/Gtk_sample.scm
>
> This is pre-alpha code which I am releasing well before it is useful
> or ready, mostly for academic interest.
>
> Regards,
> Mike Gran
>
Subscribed! I'm happy to see someone working on this :)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
2018-11-15 15:13 ` Alex Sassmannshausen
2018-11-15 15:21 ` sirgazil
@ 2018-11-15 15:44 ` Nala Ginrut
2018-11-15 16:11 ` Vladimir Zhbanov
` (3 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Nala Ginrut @ 2018-11-15 15:44 UTC (permalink / raw)
To: Mike Gran; +Cc: Guile User
Congrats!
Mike Gran <spk121@yahoo.com> 于 2018年11月15日周四 22:45写道:
> Hello. I am announcing guile-gi v0.0.1.
>
> guile-gi is a library that autogenerates Guile bindings for GObject
> libraries that provide typelib files. GNU Guile is an implementation
> of Scheme, a Lisp-like language. GObject is a standard way of writing
> C-language libraries with headers and introspection information that
> are intended to allow them to be used from other languages. Typelib
> files are GObject's standard way to provide that introspection
> information. Among the GObject libraries are GTK3 and WebKitGTK2, two
> popular GUI libraries.
>
> In short, this library hopes to make GTK3 and WebKit2 available to
> Guile.
>
> The git repo is at
> https://github.com/spk121/guile-gi.git
> The code can be browsed at
> https://github.com/spk121/guile-gi
> The almost non-existent documentation can be read at
> https://spk121.github.io/guile-gi/
> A tarball can be downloaded from
> http://lonelycactus.com/tarball/guile-gi-0.0.1.tar.gz
>
> To read about what this library is supposed to do, check out
> https://spk121.github.io/guile-gi/Getting-Started.html
>
> To see an example autogenerated library binding, check out
>
> https://raw.githubusercontent.com/spk121/guile-gi/master/test/Gtk_sample.scm
>
> This is pre-alpha code which I am releasing well before it is useful
> or ready, mostly for academic interest.
>
> Regards,
> Mike Gran
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
` (2 preceding siblings ...)
2018-11-15 15:44 ` Nala Ginrut
@ 2018-11-15 16:11 ` Vladimir Zhbanov
2018-11-15 16:35 ` Amirouche Boubekki
2018-11-20 20:55 ` Ludovic Courtès
` (2 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Vladimir Zhbanov @ 2018-11-15 16:11 UTC (permalink / raw)
To: guile-user
On Thu, Nov 15, 2018 at 06:41:25AM -0800, Mike Gran wrote:
> Hello. I am announcing guile-gi v0.0.1.
Very promising. Thank you!
--
Vladimir
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 16:11 ` Vladimir Zhbanov
@ 2018-11-15 16:35 ` Amirouche Boubekki
0 siblings, 0 replies; 19+ messages in thread
From: Amirouche Boubekki @ 2018-11-15 16:35 UTC (permalink / raw)
To: Guile User
Time to dance!
\o/
Le jeu. 15 nov. 2018 17:13, Vladimir Zhbanov <vzhbanov@gmail.com> a écrit :
> On Thu, Nov 15, 2018 at 06:41:25AM -0800, Mike Gran wrote:
> > Hello. I am announcing guile-gi v0.0.1.
>
> Very promising. Thank you!
>
> --
> Vladimir
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
` (3 preceding siblings ...)
2018-11-15 16:11 ` Vladimir Zhbanov
@ 2018-11-20 20:55 ` Ludovic Courtès
2019-01-31 18:51 ` Amirouche Boubekki
2019-06-01 9:02 ` Jan Nieuwenhuizen
6 siblings, 0 replies; 19+ messages in thread
From: Ludovic Courtès @ 2018-11-20 20:55 UTC (permalink / raw)
To: guile-user
Hey Mike,
Mike Gran <spk121@yahoo.com> skribis:
> Hello. I am announcing guile-gi v0.0.1.
>
> guile-gi is a library that autogenerates Guile bindings for GObject
> libraries that provide typelib files. GNU Guile is an implementation
> of Scheme, a Lisp-like language. GObject is a standard way of writing
> C-language libraries with headers and introspection information that
> are intended to allow them to be used from other languages. Typelib
> files are GObject's standard way to provide that introspection
> information. Among the GObject libraries are GTK3 and WebKitGTK2, two
> popular GUI libraries.
Woohoo, nice!
The manual has this example:
guile -L . -c '(use-modules (gi)) (display (export-typelib "Gtk" "3.0"))' > Gtk.scm
guile -L . -c '(use-modules (gi)) (display (export-typelib "Gio" "2.0"))' > Gio.scm
I wonder if there could be a macro providing the same functionality as
‘export-typelib’ such that the typelib file would be interpreted at
macro-expansion time. :-)
Anyway, thumbs up!
Ludo’.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
` (4 preceding siblings ...)
2018-11-20 20:55 ` Ludovic Courtès
@ 2019-01-31 18:51 ` Amirouche Boubekki
2019-01-31 18:57 ` Nala Ginrut
2019-01-31 22:46 ` Mike Gran
2019-06-01 9:02 ` Jan Nieuwenhuizen
6 siblings, 2 replies; 19+ messages in thread
From: Amirouche Boubekki @ 2019-01-31 18:51 UTC (permalink / raw)
To: Mike Gran; +Cc: Guile User
Greetings,
Anyone try guile-gi for something even tiny?
Le jeu. 15 nov. 2018 à 15:44, Mike Gran <spk121@yahoo.com> a écrit :
> Hello. I am announcing guile-gi v0.0.1.
>
> guile-gi is a library that autogenerates Guile bindings for GObject
> libraries that provide typelib files. GNU Guile is an implementation
> of Scheme, a Lisp-like language. GObject is a standard way of writing
> C-language libraries with headers and introspection information that
> are intended to allow them to be used from other languages. Typelib
> files are GObject's standard way to provide that introspection
> information. Among the GObject libraries are GTK3 and WebKitGTK2, two
> popular GUI libraries.
>
> In short, this library hopes to make GTK3 and WebKit2 available to
> Guile.
>
> The git repo is at
> https://github.com/spk121/guile-gi.git
> The code can be browsed at
> https://github.com/spk121/guile-gi
> The almost non-existent documentation can be read at
> https://spk121.github.io/guile-gi/
> A tarball can be downloaded from
> http://lonelycactus.com/tarball/guile-gi-0.0.1.tar.gz
>
> To read about what this library is supposed to do, check out
> https://spk121.github.io/guile-gi/Getting-Started.html
>
> To see an example autogenerated library binding, check out
>
> https://raw.githubusercontent.com/spk121/guile-gi/master/test/Gtk_sample.scm
>
> This is pre-alpha code which I am releasing well before it is useful
> or ready, mostly for academic interest.
>
> Regards,
> Mike Gran
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-01-31 18:51 ` Amirouche Boubekki
@ 2019-01-31 18:57 ` Nala Ginrut
2019-01-31 22:46 ` Mike Gran
1 sibling, 0 replies; 19+ messages in thread
From: Nala Ginrut @ 2019-01-31 18:57 UTC (permalink / raw)
To: Amirouche Boubekki; +Cc: Guile User
I planed to, since I want to wrap Artanis program to be an desktop
application with WebkitGTK.
Amirouche Boubekki <amirouche.boubekki@gmail.com> 于 2019年2月1日周五 02:55写道:
> Greetings,
>
> Anyone try guile-gi for something even tiny?
>
> Le jeu. 15 nov. 2018 à 15:44, Mike Gran <spk121@yahoo.com> a écrit :
>
> > Hello. I am announcing guile-gi v0.0.1.
> >
> > guile-gi is a library that autogenerates Guile bindings for GObject
> > libraries that provide typelib files. GNU Guile is an implementation
> > of Scheme, a Lisp-like language. GObject is a standard way of writing
> > C-language libraries with headers and introspection information that
> > are intended to allow them to be used from other languages. Typelib
> > files are GObject's standard way to provide that introspection
> > information. Among the GObject libraries are GTK3 and WebKitGTK2, two
> > popular GUI libraries.
> >
> > In short, this library hopes to make GTK3 and WebKit2 available to
> > Guile.
> >
> > The git repo is at
> > https://github.com/spk121/guile-gi.git
> > The code can be browsed at
> > https://github.com/spk121/guile-gi
> > The almost non-existent documentation can be read at
> > https://spk121.github.io/guile-gi/
> > A tarball can be downloaded from
> > http://lonelycactus.com/tarball/guile-gi-0.0.1.tar.gz
> >
> > To read about what this library is supposed to do, check out
> > https://spk121.github.io/guile-gi/Getting-Started.html
> >
> > To see an example autogenerated library binding, check out
> >
> >
> https://raw.githubusercontent.com/spk121/guile-gi/master/test/Gtk_sample.scm
> >
> > This is pre-alpha code which I am releasing well before it is useful
> > or ready, mostly for academic interest.
> >
> > Regards,
> > Mike Gran
> >
> >
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-01-31 18:51 ` Amirouche Boubekki
2019-01-31 18:57 ` Nala Ginrut
@ 2019-01-31 22:46 ` Mike Gran
2019-01-31 22:55 ` sirgazil
1 sibling, 1 reply; 19+ messages in thread
From: Mike Gran @ 2019-01-31 22:46 UTC (permalink / raw)
To: Amirouche Boubekki; +Cc: Guile User
On Thu, Jan 31, 2019 at 07:51:24PM +0100, Amirouche Boubekki wrote:
> Greetings,
>
> Anyone try guile-gi for something even tiny?
I'm getting pretty close to putting out a new revision. Things are
getting close to functional.
But, you should probably not use it for anything until then.
Regards,
Mike Gran
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-01-31 22:46 ` Mike Gran
@ 2019-01-31 22:55 ` sirgazil
2019-02-01 12:34 ` Amirouche Boubekki
0 siblings, 1 reply; 19+ messages in thread
From: sirgazil @ 2019-01-31 22:55 UTC (permalink / raw)
To: Mike Gran, Amirouche Boubekki; +Cc: Guile User
El 31/01/19 a las 5:46 p. m., Mike Gran escribió:
> On Thu, Jan 31, 2019 at 07:51:24PM +0100, Amirouche Boubekki wrote:
>> Greetings,
>>
>> Anyone try guile-gi for something even tiny?
> I'm getting pretty close to putting out a new revision. Things are
> getting close to functional.
>
> But, you should probably not use it for anything until then.
>
> Regards,
>
> Mike Gran
>
Yay!
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-01-31 22:55 ` sirgazil
@ 2019-02-01 12:34 ` Amirouche Boubekki
0 siblings, 0 replies; 19+ messages in thread
From: Amirouche Boubekki @ 2019-02-01 12:34 UTC (permalink / raw)
To: sirgazil; +Cc: Guile User, guile-user
On 2019-01-31 23:55, sirgazil wrote:
> El 31/01/19 a las 5:46 p. m., Mike Gran escribió:
>> On Thu, Jan 31, 2019 at 07:51:24PM +0100, Amirouche Boubekki wrote:
>>> Greetings,
>>>
>>> Anyone try guile-gi for something even tiny?
>> I'm getting pretty close to putting out a new revision. Things are
>> getting close to functional.
>>
>> But, you should probably not use it for anything until then.
>>
>> Regards,
>>
>> Mike Gran
>>
> Yay!
Thanks for the feedback.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
` (5 preceding siblings ...)
2019-01-31 18:51 ` Amirouche Boubekki
@ 2019-06-01 9:02 ` Jan Nieuwenhuizen
2019-06-02 16:15 ` Ludovic Courtès
2019-06-03 14:46 ` Mike Gran
6 siblings, 2 replies; 19+ messages in thread
From: Jan Nieuwenhuizen @ 2019-06-01 9:02 UTC (permalink / raw)
To: Mike Gran; +Cc: guix-devel, guile-user
[-- Attachment #1: Type: text/plain, Size: 852 bytes --]
Mike Gran writes:
> Hello. I am announcing guile-gi v0.0.1.
Wow, congrats! And thanks!
> guile-gi is a library that autogenerates Guile bindings for GObject
> libraries that provide typelib files.
I've created a package description for Guix (see attached), with some
patches (also attached).
How is is that I overlooked this thread? I spent last Thursday --
reluctantly -- adding webkitgtk bindings to guile-gnome and debugging
an initial browser test. With Guile-GI it worked in minutes! :-)
One of the patches adds the web browser example and the last one adds an
editor example...but that segfaults in the key-press-event handler.
I've just noticed test/closures.c -- is that intended for handlers like
key-press-event; are they different from `clicked'?
Patches also on my `wip' branch: https://gitlab.com/janneke/guile-gi.git
janneke
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-guile-gi.patch --]
[-- Type: text/x-patch, Size: 3238 bytes --]
From f4602d57f74cb2690b01fb23638ce2037ccd9105 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 31 May 2019 19:47:21 +0200
Subject: [PATCH] gnu: Add guile-gi.
* gnu/packages/guile-xyz.scm (guile-gi): New variable.
---
gnu/packages/guile-xyz.scm | 42 ++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 365f909c2c..589e41dad2 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -53,8 +53,10 @@
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages hurd)
#:use-module (gnu packages image)
@@ -76,6 +78,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (guix packages)
@@ -2232,3 +2235,42 @@ slashes are present and accounted for, resolving @code{.} and @code{..}, etc).
Inevitably, you have to break the string up into chunks and operate on that
list of components. This module takes care of that for you.")
(license license:lgpl3+)))
+
+(define-public guile-gi
+ (let ((commit "91753258892c4a1fbf7ed43ff793a00ac0f77cf6")
+ (revision "0"))
+ (package
+ (name "guile-gi")
+ (version (string-append "0.0.1-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/janneke/guile-gi.git")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "1i76jfs90p8pbx0bfrjd4sias9380pmjb9x387rx7hav4kvnsd1b"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gnu-gettext)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (propagated-inputs `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gssettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("guile-lib" ,guile-lib)
+ ("webkitgtk" ,webkitgtk)))
+ (inputs `(("guile" ,guile-2.2)))
+ (arguments
+ `(#:configure-flags '("--with-gnu-filesystem-hierarchy")))
+ (home-page "https://github.com/spk121/guile-gi")
+ (synopsis "GObject bindings for Guile")
+ (description
+ "Guile-GI is a library for Guile that allows using GObject-based
+libraries, such as GTK+3. Its README comes with the disclaimer: This is
+pre-alpha code.")
+ (license license:gpl3+))))
--
2.21.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0001-webkit-browser-example.patch --]
[-- Type: text/x-patch, Size: 3025 bytes --]
From f1ffa56b7ec078f0270eb6bba7a23faa11999db7 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 31 May 2019 00:54:18 +0200
Subject: [PATCH 1/4] webkit browser example.
* test/browser.scm: New file.
---
test/Makefile.am | 8 ++++++--
test/browser.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 58 insertions(+), 2 deletions(-)
create mode 100644 test/browser.scm
diff --git a/test/Makefile.am b/test/Makefile.am
index 5fae67d..e87bf99 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -46,5 +46,9 @@ AM_SCM_LOG_FLAGS = --no-auto-compile -L $(abs_top_srcdir)/src -L $(abs_top_srcdi
EXTRA_DIST = \
$(TESTS) \
lib.scm \
- automake-test-lib.scm \
- example-1.scm
+ automake-test-lib.scm
+
+exampledir = $(datadir)/doc/guile-gi
+dist_example_DATA = \
+ example-1.scm \
+ browser.scm
diff --git a/test/browser.scm b/test/browser.scm
new file mode 100644
index 0000000..d262e53
--- /dev/null
+++ b/test/browser.scm
@@ -0,0 +1,52 @@
+;; Copyright (C) 2019 Michael L. Gran
+;; Copyright (C) 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+
+;; This program 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.
+
+;; This program 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 this program. If not, see <https:;;www.gnu.org/licenses/>.
+(use-modules (gi))
+
+(typelib-load "Gio" "2.0")
+(typelib-load "Gtk" "3.0")
+(typelib-load "GLib" "2.0")
+(typelib-load "WebKit2" "4.0")
+
+(define (print-hello widget data)
+ (display "Hello World\n"))
+
+(define (activate app user-data)
+ (let ((window (cast (ApplicationWindow-new app) <GtkApplicationWindow>))
+ (vbox (cast (VBox-new 0 0) <GtkVBox>))
+ (browser (cast (WebView-new) <WebKitWebView>))
+ (button-box (cast (ButtonBox-new 0) <GtkButtonBox>))
+ (button (Button-new-with-label "Hello World")))
+ (send window (set-title "Window"))
+ (send window (set-default-size 200 200))
+ (send window (show-all))
+ (send window (add vbox))
+ (send vbox (add browser))
+ (send vbox (add button-box))
+
+ (connect button (clicked print-hello #f))
+ (connect button (clicked (lambda x
+ (send window (destroy)))
+ #f))
+ (send browser (load-uri "http://gnu.org/s/mes"))
+ (send button-box (add button))
+ (send window (show-all))))
+
+(define (main)
+ (let ((app (Application-new "org.gtk.example" 0)))
+ (connect app (activate activate #f))
+ (send app (run (length (command-line)) (command-line)))))
+
+(main)
--
2.21.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0002-build-compile-and-install-.go-files.patch --]
[-- Type: text/x-patch, Size: 2857 bytes --]
From ac0e08efce96f26d63911658dbdaecd16461f07e Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 31 May 2019 19:13:41 +0200
Subject: [PATCH 2/4] build: compile and install .go files.
---
bootstrap | 6 ++++++
configure.ac | 3 ++-
src/Makefile.am | 11 +++++------
3 files changed, 13 insertions(+), 7 deletions(-)
create mode 100755 bootstrap
diff --git a/bootstrap b/bootstrap
new file mode 100755
index 0000000..8defb5d
--- /dev/null
+++ b/bootstrap
@@ -0,0 +1,6 @@
+#! /bin/sh
+
+# Create the build system.
+
+set -e -x
+exec autoreconf -vfi
diff --git a/configure.ac b/configure.ac
index 0cdd9e8..811a29b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,7 +68,7 @@ case "x$with_gnu_filesystem_hierarchy" in
# Follow the GNU Filesystem Heirarchy Standard correctly
# Installed .scm scheme libraries go here
AC_MSG_CHECKING([Guile site directory])
- guilesitedir="\$(datadir)/guile/site/$guile_effective_version"
+ guilesitedir="\${datadir}/guile/site/$guile_effective_version"
AC_MSG_RESULT([$guilesitedir])
AC_SUBST(guilesitedir)
@@ -207,4 +207,5 @@ AC_CONFIG_FILES([tools/uninstalled-env], [chmod +x tools/uninstalled-env])
AC_CONFIG_FILES([tools/run-guile], [chmod +x tools/run-guile])
AC_CONFIG_FILES([tools/gdb-guile], [chmod +x tools/gdb-guile])
AC_CONFIG_FILES([tools/gdb-test], [chmod +x tools/gdb-test])
+AC_CONFIG_FILES([tools/guile-gi], [chmod +x tools/guile-gi])
AC_OUTPUT
diff --git a/src/Makefile.am b/src/Makefile.am
index 6c96095..2040399 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -147,25 +147,26 @@ libguile_gi_la_LIBADD = \
################################################################
pkgguilesitedir=$(guilesitedir)/gi
+pkgguileobjectdir=$(guileobjectdir)/gi
dist_guilesite_DATA = \
gi.scm
dist_pkgguilesite_DATA = gi/glib-2.scm gi/gtk-3.scm gi/gio-2.scm gi/webkit2-4.scm
-guileobject_DATA = $(guilesite_DATA:%.scm=%.go)
+pkgguileobject_DATA = $(dist_guilesite_DATA:%.scm=%.go) $(dist_pkgguilesite_DATA:%.scm=%.go)
$(pkgguileobject_DATA): libguile-gi.la
-GUILEC_FLAGS = -Warity-mismatch -Wformat
+GUILEC_FLAGS = -Warity-mismatch -Wformat --load-path=$(PWD)
.scm.go:
GUILE_AUTO_COMPILE=0 \
LTDL_LIBRARY_PATH=$(abs_builddir)/.libs \
- $(GUILE) compile --target="$(host)" $(GUILEC_FLAGS) \
+ $(GUILE_TOOLS) compile --target="$(host)" $(GUILEC_FLAGS) \
-o "$@" "$<"
-CLEANFILES = $(guileobject_DATA) $(BUILT_SOURCES)
+CLEANFILES = $(pkgguileobject_DATA) $(BUILT_SOURCES)
################################################################
# FLYMAKE
@@ -175,5 +176,3 @@ check-syntax:
$(CC) -std=c11 $(GUILE_CFLAGS) $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) \
$(GOBJECT_INTROSPECTION_CFLAGS) $(FFI_CFLAGS) \
-DG_LOG_DOMAIN=\"GuileGI\" $(CFLAGS) -fsyntax-only $(CHK_SOURCES)
-
-
--
2.21.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0003-guix-Add-guix-package-description.patch --]
[-- Type: text/x-patch, Size: 6702 bytes --]
From e2bf3ca2db064d4b5232a9ad2049241eab158e6f Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 31 May 2019 19:21:52 +0200
Subject: [PATCH 3/4] guix: Add guix package description.
---
.gitignore | 1 +
README | 6 ++++
guix.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++++
test/Makefile.am | 3 ++
tools/Makefile.am | 3 +-
tools/guile-gi.in | 27 ++++++++++++++
6 files changed, 131 insertions(+), 1 deletion(-)
create mode 100644 guix.scm
create mode 100644 tools/guile-gi.in
diff --git a/.gitignore b/.gitignore
index e72434b..21eb93e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,6 +68,7 @@ tools/gdb-test
tools/uninstalled-env
tools/gdb-guile
tools/run-guile
+tools/guile-gi
# executables
fo_gen
diff --git a/README b/README
index f3c4de6..cb31e1e 100644
--- a/README
+++ b/README
@@ -21,3 +21,9 @@ box, but, you can use this library to generate those bindings
automatically.
For the moment, the docs are at https://spk121.github.io/guile-gi/
+
+Try:
+
+ guix environment --ad-hoc -l guix.scm guile
+ guile-gi test/example-1.scm
+ guile-gi test/browser.scm
diff --git a/guix.scm b/guix.scm
new file mode 100644
index 0000000..30789de
--- /dev/null
+++ b/guix.scm
@@ -0,0 +1,92 @@
+;;; Guile-GI --- GObject bindings for Guile.
+;;; Copyright (C) 2019 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;
+;;; This file is part of Guile-GI.
+;;;
+;;; Guile-GI 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.
+;;;
+;;; Guile-GI 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 Guile-GI. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; GNU Guix development package. To build and play, run:
+;;
+;; guix environment --ad-hoc -l guix.scm guile
+;;
+;; To build and install, run:
+;;
+;; guix package -f guix.scm
+;;
+;; To build it, but not install it, run:
+;;
+;; guix build -f guix.scm
+;;
+;; To use as the basis for a development environment, run:
+;;
+;; guix environment -l guix.scm
+;;
+;;; Code:
+
+(use-modules (srfi srfi-1)
+ (srfi srfi-26)
+ (ice-9 popen)
+ (ice-9 match)
+ (ice-9 rdelim)
+ (guix packages)
+ (guix licenses)
+ (guix gexp)
+ (guix git-download)
+ (guix build-system gnu)
+ ((guix build utils) #:select (with-directory-excursion))
+ (gnu packages)
+ (gnu packages autotools)
+ (gnu packages gettext)
+ (gnu packages glib)
+ (gnu packages gnome)
+ (gnu packages gtk)
+ (gnu packages guile)
+ (gnu packages guile-xyz)
+ (gnu packages pkg-config)
+ (gnu packages texinfo)
+ (gnu packages webkit))
+
+(define %source-dir (dirname (current-filename)))
+
+(package
+ (name "guile-gi")
+ (version "git")
+ (source (local-file %source-dir
+ #:recursive? #t
+ #:select? (git-predicate %source-dir)))
+ (build-system gnu-build-system)
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gnu-gettext)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (propagated-inputs `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gssettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("guile-lib" ,guile-lib)
+ ("webkitgtk" ,webkitgtk)))
+ (inputs `(("guile" ,guile-2.2)))
+ (arguments
+ `(#:configure-flags '("--with-gnu-filesystem-hierarchy")))
+ (home-page "https://github.com/spk121/guile-gi")
+ (synopsis "GObject bindings for Guile")
+ (description
+ "Guile-GI is a library for Guile that allows using GObject-based
+libraries, such as GTK+3. Its README comes with the disclaimer: This
+is pre-alpha code.")
+ (license gpl3+))
diff --git a/test/Makefile.am b/test/Makefile.am
index e87bf99..14ca20d 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -36,6 +36,9 @@ TESTS = \
bytes_new_null_size.scm \
bytes_new_null_contents.scm
+XFAIL_TESTS = \
+ bytes_new_null_size.scm
+
SCM_LOG_COMPILER = \
${top_builddir}/libtool \
--dlopen=${top_builddir}/src/libguile-gi.la \
diff --git a/tools/Makefile.am b/tools/Makefile.am
index aeafaf6..b93b5ba 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -14,5 +14,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-EXTRA_DIST = uninstalled-env.in run-guile.in gdb-guile.in gdb-test.in
+EXTRA_DIST = uninstalled-env.in run-guile.in gdb-guile.in gdb-test.in guile-gi.in
+bin_SCRIPTS = guile-gi
diff --git a/tools/guile-gi.in b/tools/guile-gi.in
new file mode 100644
index 0000000..2004bef
--- /dev/null
+++ b/tools/guile-gi.in
@@ -0,0 +1,27 @@
+#! @SHELL@
+
+# Guile-GI --- GObject bindings for Guile.
+# Copyright (C) 2019 Jan Nieuwenhuizen <janneke@gnu.org>
+#
+# This file is part of Guile-GI.
+#
+# Guile-GI 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.
+#
+# Guile-GI 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 Guile-GI. If not, see <http://www.gnu.org/licenses/>.
+
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datadir="@datarootdir@"
+datarootdir="@datarootdir@"
+
+LD_LIBRARY_PATH="@guileextensiondir@${GUIX_ENVIRONMENT:+:}$GUIX_ENVIRONMENT${GUIX_ENVIRONMENT:+/lib:}${LIBRARY_PATH:+:}$LIBRARY_PATH{LD_IBRARY_PATH:+:}$LD_IBRARY_PATH${GUIX_PROFILE:+/lib:}$GUIX_PROFILE"\
+ exec @GUILE@ -L "@guilesitedir@" -C "@guileobjectdir@" "$@"
--
2.21.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0004-textview-editor-example.BOOM.patch --]
[-- Type: text/x-patch, Size: 3178 bytes --]
From 91753258892c4a1fbf7ed43ff793a00ac0f77cf6 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 1 Jun 2019 10:22:23 +0200
Subject: [PATCH 4/4] textview editor example...BOOM.
---
README | 7 ++++++
test/editor.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+)
create mode 100644 test/editor.scm
diff --git a/README b/README
index cb31e1e..0c2682b 100644
--- a/README
+++ b/README
@@ -27,3 +27,10 @@ Try:
guix environment --ad-hoc -l guix.scm guile
guile-gi test/example-1.scm
guile-gi test/browser.scm
+
+Or, create and run in a development environment
+
+ guix environment -l guix.scm
+ ./bootstrap && ./configure && make
+ tools/uninstalled-env tools/guile-gi test/browser.scm
+ tools/uninstalled-env tools/guile-gi test/editor.scm
diff --git a/test/editor.scm b/test/editor.scm
new file mode 100644
index 0000000..5294943
--- /dev/null
+++ b/test/editor.scm
@@ -0,0 +1,58 @@
+;; Copyright (C) 2019 Michael L. Gran
+;; Copyright (C) 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+
+;; This program 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.
+
+;; This program 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 this program. If not, see <https:;;www.gnu.org/licenses/>.
+(use-modules (gi))
+
+(typelib-load "Gio" "2.0")
+(typelib-load "Gtk" "3.0")
+(typelib-load "GLib" "2.0")
+(typelib-load "WebKit2" "4.0")
+
+(define (print-goodbye widget data)
+ (display "Goodbye World\n"))
+
+(define (key-press widget event)
+ (display "key\n")
+ (format "key: ~s\n" event)
+ #f)
+
+(define (activate app user-data)
+ (let ((window (cast (ApplicationWindow-new app) <GtkApplicationWindow>))
+ (vbox (cast (VBox-new 0 0) <GtkVBox>))
+ (editor (cast (TextView-new) <GtkTextView>))
+ (button-box (cast (ButtonBox-new 0) <GtkButtonBox>))
+ (button (Button-new-with-label "Quit")))
+ (send window (set-title "Window"))
+ (send window (set-default-size 200 200))
+ (send window (show-all))
+ (send window (add vbox))
+ (send vbox (add editor))
+ (send vbox (add button-box))
+ (connect button (clicked print-goodbye #f))
+ (connect button (clicked (lambda x
+ (send window (destroy)))
+ #f))
+ ;; disable this and we are `fine'
+ (connect editor (key-press-event key-press #f)) ;; BOOM
+ (send editor (grab-focus))
+ (send button-box (add button))
+ (send window (show-all))))
+
+(define (main)
+ (let ((app (Application-new "org.gtk.example" 0)))
+ (connect app (activate activate #f))
+ (send app (run (length (command-line)) (command-line)))))
+
+(main)
--
2.21.0
[-- Attachment #7: Type: text/plain, Size: 152 bytes --]
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-06-01 9:02 ` Jan Nieuwenhuizen
@ 2019-06-02 16:15 ` Ludovic Courtès
2019-06-02 18:22 ` Jan Nieuwenhuizen
2019-06-03 14:46 ` Mike Gran
1 sibling, 1 reply; 19+ messages in thread
From: Ludovic Courtès @ 2019-06-02 16:15 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: guix-devel, guile-user
Hello!
Jan Nieuwenhuizen <janneke@gnu.org> skribis:
> Mike Gran writes:
>
>> Hello. I am announcing guile-gi v0.0.1.
>
> Wow, congrats! And thanks!
Yay, congrats!
> From f4602d57f74cb2690b01fb23638ce2037ccd9105 Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen <janneke@gnu.org>
> Date: Fri, 31 May 2019 19:47:21 +0200
> Subject: [PATCH] gnu: Add guile-gi.
>
> * gnu/packages/guile-xyz.scm (guile-gi): New variable.
LGTM!
Guile-GI has the potential to make a lot of people happy. :-)
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-06-02 16:15 ` Ludovic Courtès
@ 2019-06-02 18:22 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 19+ messages in thread
From: Jan Nieuwenhuizen @ 2019-06-02 18:22 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel, guile-user, Mike Gran
Ludovic Courtès writes:
Hi!
>> * gnu/packages/guile-xyz.scm (guile-gi): New variable.
>
> LGTM!
>
> Guile-GI has the potential to make a lot of people happy. :-)
Yes, even if they're mostly developers atm ;-) Pushed to master as
bdf2dd797e1e57dab1d504a6e1af783ec5802afd
Teaser added to the Guile-GI README
--8<---------------cut here---------------start------------->8---
Try:
guix environment --ad-hoc -l guix.scm guile
guile-gi test/example-1.scm
guile-gi test/browser.scm
Or, create and run in a development environment
guix environment -l guix.scm
./bootstrap && ./configure && make
tools/uninstalled-env tools/guile-gi test/browser.scm
tools/uninstalled-env tools/guile-gi test/editor.scm
--8<---------------cut here---------------end--------------->8---
janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-06-01 9:02 ` Jan Nieuwenhuizen
2019-06-02 16:15 ` Ludovic Courtès
@ 2019-06-03 14:46 ` Mike Gran
2019-06-03 16:41 ` Jan Nieuwenhuizen
1 sibling, 1 reply; 19+ messages in thread
From: Mike Gran @ 2019-06-03 14:46 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: guix-devel, guile-user
On Sat, Jun 01, 2019 at 11:02:21AM +0200, Jan Nieuwenhuizen wrote:
>
> I've created a package description for Guix (see attached), with some
> patches (also attached).
>
> How is is that I overlooked this thread? I spent last Thursday --
> reluctantly -- adding webkitgtk bindings to guile-gnome and debugging
> an initial browser test. With Guile-GI it worked in minutes! :-)
>
> One of the patches adds the web browser example and the last one adds an
> editor example...but that segfaults in the key-press-event handler.
>
> I've just noticed test/closures.c -- is that intended for handlers like
> key-press-event; are they different from `clicked'?
This is me trying to explain to myself how the meta_marshaller was working
in PyGObject, on which much of this code is based.
>
> Patches also on my `wip' branch: https://gitlab.com/janneke/guile-gi.git
I am pleased and super embarrassed that someone has taken the time to
patch this code. It is really rough code. I had lost momentum on
this project, but, I'll try to get back to it.
Thanks for checking it out.
-Mike Gran
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-06-03 14:46 ` Mike Gran
@ 2019-06-03 16:41 ` Jan Nieuwenhuizen
2019-06-04 14:45 ` Mike Gran
0 siblings, 1 reply; 19+ messages in thread
From: Jan Nieuwenhuizen @ 2019-06-03 16:41 UTC (permalink / raw)
To: Mike Gran; +Cc: guix-devel, guile-user
Mike Gran writes:
Hi!
>> I've just noticed test/closures.c -- is that intended for handlers like
>> key-press-event; are they different from `clicked'?
>
> This is me trying to explain to myself how the meta_marshaller was working
> in PyGObject, on which much of this code is based.
Ah, that makes sense. I started playing with it and learned one or two
things, until i found src/gclosure.c :-)
Have you seen the gclosure implementation in guile-gnome, would that be
any help?
https://git.savannah.gnu.org/cgit/guile-gnome.git/tree/glib/gnome/gobject/gclosure.scm
I'm quite new to all this, I cannot see the great difference in gtk+2
and gtk+3 here, even...
>> Patches also on my `wip' branch: https://gitlab.com/janneke/guile-gi.git
>
> I am pleased and super embarrassed that someone has taken the time to
> patch this code. It is really rough code. I had lost momentum on
> this project, but, I'll try to get back to it.
Great!
> Thanks for checking it out.
Thanks for this awesome project, it's real impressive :) I'll update the
guix package to your git (or a next release) again when that builds
without patches.
janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-06-03 16:41 ` Jan Nieuwenhuizen
@ 2019-06-04 14:45 ` Mike Gran
2019-06-04 19:47 ` Jan Nieuwenhuizen
0 siblings, 1 reply; 19+ messages in thread
From: Mike Gran @ 2019-06-04 14:45 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: guix-devel, guile-user
On Mon, Jun 03, 2019 at 06:41:44PM +0200, Jan Nieuwenhuizen wrote:
> Mike Gran writes:
>
> Hi!
>
...
>
> Ah, that makes sense. I started playing with it and learned one or two
> things, until i found src/gclosure.c :-)
>
> Have you seen the gclosure implementation in guile-gnome, would that be
> any help?
>
> https://git.savannah.gnu.org/cgit/guile-gnome.git/tree/glib/gnome/gobject/gclosure.scm
Both guile-gnome and my hack have two parts
- an introspection layer
- a gobject-to-guile binding
I had a chat with Wingo at the last FOSDEM, and he thinks the
gobject-to-guile binding could be reused, and that I could just swap
the gwrap GTK+2 introspection layer with a GObject introspection
layer. I began analyzing that path a few months before life
intervened.
>
> I'm quite new to all this, I cannot see the great difference in gtk+2
> and gtk+3 here, even...
>
> >> Patches also on my `wip' branch: https://gitlab.com/janneke/guile-gi.git
I incorporated these, and fixed the bug that caused your editor example
to fail. Thanks!
Thanks,
Mike
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [ANN] guile-gi v0.0.1 released
2019-06-04 14:45 ` Mike Gran
@ 2019-06-04 19:47 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 19+ messages in thread
From: Jan Nieuwenhuizen @ 2019-06-04 19:47 UTC (permalink / raw)
To: Mike Gran; +Cc: guix-devel, guile-user
[-- Attachment #1: Type: text/plain, Size: 1096 bytes --]
Mike Gran writes:
Hi!
> Both guile-gnome and my hack have two parts
> - an introspection layer
> - a gobject-to-guile binding
>
> I had a chat with Wingo at the last FOSDEM, and he thinks the
> gobject-to-guile binding could be reused, and that I could just swap
> the gwrap GTK+2 introspection layer with a GObject introspection
> layer. I began analyzing that path a few months before life
> intervened.
Okay, good.
>> I'm quite new to all this, I cannot see the great difference in gtk+2
>> and gtk+3 here, even...
>>
>> >> Patches also on my `wip' branch: https://gitlab.com/janneke/guile-gi.git
>
> I incorporated these, and fixed the bug that caused your editor example
> to fail. Thanks!
Oh great, and that's fast. Thanks! You maybe even did a bit too well,
the `bytes_new_null_size.scm' test now passes. I added that to
XFAIL_TEST because it fails -- now make check fails because this test is
fixed.
The attach patch removes that workaround again. If you apply this or
something equivalent, I will update the Guix package to point to your
updated repo.
Greetings,
jannneke
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-test-Update-for-passing-bytes_new_null_size.scm.patch --]
[-- Type: text/x-patch, Size: 701 bytes --]
From 810baa9427145d08b4c9ff46ee442e296eb1911b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 4 Jun 2019 21:40:34 +0200
Subject: [PATCH] test: Update for passing bytes_new_null_size.scm.
* test/Makefile.am (XFAIL_TESTS): Remove bytes_new_null_size.
---
test/Makefile.am | 3 ---
1 file changed, 3 deletions(-)
diff --git a/test/Makefile.am b/test/Makefile.am
index e647105..3cca48f 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -39,9 +39,6 @@ TESTS = \
gapplication_2.scm \
softerror_create.scm
-XFAIL_TESTS = \
- bytes_new_null_size.scm
-
SCM_LOG_COMPILER = \
${top_builddir}/libtool \
--dlopen=${top_builddir}/src/libguile-gi.la \
--
2.21.0
[-- Attachment #3: Type: text/plain, Size: 152 bytes --]
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 19+ messages in thread
end of thread, other threads:[~2019-06-04 19:47 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-15 14:41 [ANN] guile-gi v0.0.1 released Mike Gran
2018-11-15 15:13 ` Alex Sassmannshausen
2018-11-15 15:21 ` sirgazil
2018-11-15 15:44 ` Nala Ginrut
2018-11-15 16:11 ` Vladimir Zhbanov
2018-11-15 16:35 ` Amirouche Boubekki
2018-11-20 20:55 ` Ludovic Courtès
2019-01-31 18:51 ` Amirouche Boubekki
2019-01-31 18:57 ` Nala Ginrut
2019-01-31 22:46 ` Mike Gran
2019-01-31 22:55 ` sirgazil
2019-02-01 12:34 ` Amirouche Boubekki
2019-06-01 9:02 ` Jan Nieuwenhuizen
2019-06-02 16:15 ` Ludovic Courtès
2019-06-02 18:22 ` Jan Nieuwenhuizen
2019-06-03 14:46 ` Mike Gran
2019-06-03 16:41 ` Jan Nieuwenhuizen
2019-06-04 14:45 ` Mike Gran
2019-06-04 19:47 ` Jan Nieuwenhuizen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).