unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* GObject Introspection and GTK3 way forward
@ 2018-09-05 17:29 Mike Gran
  2018-09-05 17:37 ` Matt Wette
  2018-09-05 22:07 ` David Pirotte
  0 siblings, 2 replies; 7+ messages in thread
From: Mike Gran @ 2018-09-05 17:29 UTC (permalink / raw)
  To: guile-devel

Hey all-

So, I've decided to make a go at finishing the GObject Introspection
and GTK3 story for Guile.  I would very much like to have something
running in time for Fosdem 2019.

I've looked at the other two previous attempts: g-golf, and the older
guile-gobject project.  The latter is moribund.

The former is beautiful code, the sort of code that you'd hope would
be able to solve the problem, but, I think the road to a beta release
doing things "properly" might take a long time.

But since I need something running in a couple of months, I'm going to
port PyGObject to Guile.  PyGObject is complex and full of special
cases, which leads me to believe that a proper Guile binding also
would need to be so.  Though PyGObject is complex, porting PyGObject
to Guile, however, looks comparatively straightforward.

I guess I just want to apologize in advance for not picking up the
ball on the older projects.  It is a bit rude to ignore them.  But
monkey patching C code is where my skills lie. ;-)

Feel free to contact me with questions, comments, and criticism.

The (currently empty) repo is
https://github.com/spk121/guile-gobject-introspection

Regards,
Mike



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GObject Introspection and GTK3 way forward
  2018-09-05 17:29 GObject Introspection and GTK3 way forward Mike Gran
@ 2018-09-05 17:37 ` Matt Wette
  2018-09-05 22:57   ` Mike Gran
  2018-09-05 22:07 ` David Pirotte
  1 sibling, 1 reply; 7+ messages in thread
From: Matt Wette @ 2018-09-05 17:37 UTC (permalink / raw)
  To: guile-devel


On 09/05/2018 10:29 AM, Mike Gran wrote:
> Hey all-
>
> So, I've decided to make a go at finishing the GObject Introspection
> and GTK3 story for Guile.  I would very much like to have something
> running in time for Fosdem 2019.
>
> I've looked at the other two previous attempts: g-golf, and the older
> guile-gobject project.  The latter is moribund.
>
> The former is beautiful code, the sort of code that you'd hope would
> be able to solve the problem, but, I think the road to a beta release
> doing things "properly" might take a long time.
>
> But since I need something running in a couple of months, I'm going to
> port PyGObject to Guile.  PyGObject is complex and full of special
> cases, which leads me to believe that a proper Guile binding also
> would need to be so.  Though PyGObject is complex, porting PyGObject
> to Guile, however, looks comparatively straightforward.
>
> I guess I just want to apologize in advance for not picking up the
> ball on the older projects.  It is a bit rude to ignore them.  But
> monkey patching C code is where my skills lie. ;-)
>
> Feel free to contact me with questions, comments, and criticism.
>
> The (currently empty) repo is
> https://github.com/spk121/guile-gobject-introspection
>
> Regards,
> Mike

FYI, I have been able to run glib, gio, gobject, gdk2, gtk2+, pango through
the FFI helper go get scheme code that compiles.  And I've run some gtk2+
demos.  I believe I had issues with gtk3+.  The FH probably won't provide all
you what you want but it might help some (hence the name).

* the tarball repository:
     https://download.savannah.gnu.org/releases/nyacc/

* the git repository:
     git://git.savannah.nongnu.org/nyacc.git





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GObject Introspection and GTK3 way forward
  2018-09-05 17:29 GObject Introspection and GTK3 way forward Mike Gran
  2018-09-05 17:37 ` Matt Wette
@ 2018-09-05 22:07 ` David Pirotte
  2018-09-05 22:19   ` David Pirotte
                     ` (2 more replies)
  1 sibling, 3 replies; 7+ messages in thread
From: David Pirotte @ 2018-09-05 22:07 UTC (permalink / raw)
  To: Mike Gran; +Cc: guile-devel

[-- Attachment #1: Type: text/plain, Size: 1712 bytes --]

Hello Mike,

	sorry I didn't answer your previous email yet, but my laptop refused to work
	little after I did read it, and it took me almost two days to get it back...

> So, I've decided to make a go at finishing the GObject Introspection
> and GTK3 story for Guile.  I would very much like to have something
> running in time for Fosdem 2019.

Even getting back to work on G-Golf 'proper', I'm not sure I could match that
schedule, so I understand your approach, no problem.

> The former is beautiful code, the sort of code that you'd hope would
> be able to solve the problem, but, I think the road to a beta release
> doing things "properly" might take a long time.

Thanks for the nice words. Yes, I really want to do things 'properly', and yes, it
takes an awful lots of time ... but that is my objective...

> But since I need something running in a couple of months, I'm going to
> port PyGObject to Guile.  PyGObject is complex and full of special
> cases, which leads me to believe that a proper Guile binding also
> would need to be so.  Though PyGObject is complex, porting PyGObject
> to Guile, however, looks comparatively straightforward.

If I were you, I'd try to run and use sbank:

	 https://github.com/rotty/sbank.git

	[ even though itis a bit old and will need some love, it's retty well
	[ written and is in schee already ...

t needs SPE - "This is SPE, a small set of scripts to make it easier to do
multi-implementation development of R6RS libraries.", which used to be here

	http://rotty.yi.org/software/spe/

That url is not active anymore, if you go that route, let me know, I have a copy and
could send you a tarball (i's a small 

David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GObject Introspection and GTK3 way forward
  2018-09-05 22:07 ` David Pirotte
@ 2018-09-05 22:19   ` David Pirotte
  2018-09-05 23:00   ` Mike Gran
  2018-09-08 23:20   ` David Pirotte
  2 siblings, 0 replies; 7+ messages in thread
From: David Pirotte @ 2018-09-05 22:19 UTC (permalink / raw)
  To: Mike Gran; +Cc: guile-devel

[-- Attachment #1: Type: text/plain, Size: 256 bytes --]

Mike,

> ...
> If I were you, I'd try to run and use sbank:
> 
> 	 https://github.com/rotty/sbank.git

You may want to look at this code as well, as a source of inspiration maybe...

	https://github.com/andy128k/cl-gobject-introspection

David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GObject Introspection and GTK3 way forward
  2018-09-05 17:37 ` Matt Wette
@ 2018-09-05 22:57   ` Mike Gran
  0 siblings, 0 replies; 7+ messages in thread
From: Mike Gran @ 2018-09-05 22:57 UTC (permalink / raw)
  To: Matt Wette; +Cc: guile-devel

On Wed, Sep 05, 2018 at 10:37:19AM -0700, Matt Wette wrote:
> 
> FYI, I have been able to run glib, gio, gobject, gdk2, gtk2+, pango through
> the FFI helper go get scheme code that compiles.  And I've run some gtk2+
> demos.  I believe I had issues with gtk3+.  The FH probably won't provide all
> you what you want but it might help some (hence the name).
> 
> * the tarball repository:
>     https://download.savannah.gnu.org/releases/nyacc/
> 
> * the git repository:
>     git://git.savannah.nongnu.org/nyacc.git
> 

I just checked it out, and it is amazing.

-Mike



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GObject Introspection and GTK3 way forward
  2018-09-05 22:07 ` David Pirotte
  2018-09-05 22:19   ` David Pirotte
@ 2018-09-05 23:00   ` Mike Gran
  2018-09-08 23:20   ` David Pirotte
  2 siblings, 0 replies; 7+ messages in thread
From: Mike Gran @ 2018-09-05 23:00 UTC (permalink / raw)
  To: David Pirotte; +Cc: guile-devel

On Wed, Sep 05, 2018 at 07:07:11PM -0300, David Pirotte wrote:
> 
> If I were you, I'd try to run and use sbank:
> 
> 	 https://github.com/rotty/sbank.git
> 
> 	[ even though itis a bit old and will need some love, it's retty well
> 	[ written and is in schee already ...
> 
> t needs SPE - "This is SPE, a small set of scripts to make it easier to do
> multi-implementation development of R6RS libraries.", which used to be here

Thanks for the pointer.  I'll check it out.

-Mike



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GObject Introspection and GTK3 way forward
  2018-09-05 22:07 ` David Pirotte
  2018-09-05 22:19   ` David Pirotte
  2018-09-05 23:00   ` Mike Gran
@ 2018-09-08 23:20   ` David Pirotte
  2 siblings, 0 replies; 7+ messages in thread
From: David Pirotte @ 2018-09-08 23:20 UTC (permalink / raw)
  To: Mike Gran; +Cc: guile-devel

[-- Attachment #1: Type: text/plain, Size: 649 bytes --]

Hello Mike,

> ...
> If I were you, I'd try to run and use sbank:
> ...

I also came across this multi-platform 'mini' gui lib, which uses GTK+ (>= 3.10)

	https://github.com/andlabs/libui

	[ no webkitgtk though, but ...

As you'll notice, quite a few languages made bindings. I did look at the CL one, and
it is clean and simple, with only two files, a low level binding, and the cl-ui,
which makes everything available using CLOS. I am under the impression that it would
only take a few days, or weeks at most, to rewrite those in guile, using goops for
the 'high ui' layer:

	https://github.com/jinwoo/cl-ui

Cheers,
David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-09-08 23:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-05 17:29 GObject Introspection and GTK3 way forward Mike Gran
2018-09-05 17:37 ` Matt Wette
2018-09-05 22:57   ` Mike Gran
2018-09-05 22:07 ` David Pirotte
2018-09-05 22:19   ` David Pirotte
2018-09-05 23:00   ` Mike Gran
2018-09-08 23:20   ` David Pirotte

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