gtk-fortran 19.04 released

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

gtk-fortran 19.04 released

vmagnin
Hello,

Launched in 2011, the gtk-fortran library offers interfaces to around 10000
GTK functions (GTK, GDK, GdkPixbuf, Cairo, Pango, ATK, GLib, GObject, GIO)
using the ISO_C_BINDING module. Although mainly developed under Linux, you
can easily use it under Windows via MSYS2. It runs also under UNIX systems
like BSD and macOS. Note that gtk-fortran offers also an interface to
PLplot. It is distributed under GNU GPLv3 license.

The 19.04 release is based on GTK 3.24.8, GLib 2.60.0 and GTK 2.24.32. Main
new features are:
- tools to identify deprecated GTK functions,
- parallel building (make -j) for the gtk3 branch,
- an improved and updated documentation,
- bug fixes in the examples
- ...

Concerning the future, the project is slowly preparing to the arrival of GTK
4. A migration from CMake to Meson (now used by GTK) is also considered.

New contributors are of course welcome ! (We are not Legion).

The home of the project is here :
https://github.com/vmagnin/gtk-fortran/wiki




--
Sent from: http://gtk.10911.n7.nabble.com/Gtk-General-f47634.html
_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Stefan Salewski-2
On Fri, 2019-04-26 at 04:06 -0700, vmagnin wrote:
> Launched in 2011, the gtk-fortran library offers interfaces to around
> 10000
> GTK functions

Funny.

I know how much work such bindings take, I created the Nim bindings
twice, oldgtk3 lowlevel bindings, and high level gintro ones :-)

Are you the main author, or do you have at least some understanding of
GTK3? And is there a good reason that you have not posted this message
to the new discourse forum?

_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

vmagnin
Dear Stefan,

I am one of the main authors and administrators, working on the python
script used to parse the GTK .h header files and generate the Fortran
interfaces. I wrote some messages in the GTK+ forum in 2011 about
gtk-fortran, but it seems I had not registered at that time:
http://gtk.10911.n7.nabble.com/new-gtk-fortran-binding-td16952.html

Personally I am a simple user of GTK3, using it to create simple GUIs for
scientific computing, like in that example:
https://github.com/vmagnin/gtk-fortran/blob/gtk3/screenshots/julia_pixbuf-kubuntu_16_04.png
I just need to visualize results progressively during long computations
(which can last 10 minutes, or several hours, sometime several days). I have
long worked with Compaq Visual Fortran (now Intel Fortran) 15 to 20 years
ago, which was offering the QuickWin library to create Fortran programs with
graphical windows, but of course only under... Windows. Having migrated
toward Linux since mid 2000's, I have looked for a free equivalent
cross-platform tool for a long time, and finally launched the gtk-fortran
project at the beginning of 2011.

There have been high and lows in the development of gtk-fortran but I found
some time and new energy these last six months to make a lot of cleaning in
the project and make a new release.

Concerning the "new discourse forum", I am not sure of what you mean. I do
not see such a forum on this page:
http://gtk.10911.n7.nabble.com/
If the "Gtk+ - General" forum is not the good place to post my message, I
apologize. It just seemed the less bad place for a Fortran thing...



--
Sent from: http://gtk.10911.n7.nabble.com/Gtk-General-f47634.html
_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Gtk+ - General mailing list
On Fri, 26 Apr 2019 at 17:46, vmagnin <[hidden email]> wrote:
 
I am one of the main authors and administrators, working on the python
script used to parse the GTK .h header files and generate the Fortran
interfaces.

Have you considered using the GObject introspection data that GTK itself generates, instead of your custom parsing code?
 
Concerning the "new discourse forum", I am not sure of what you mean. I do
not see such a forum on this page:
http://gtk.10911.n7.nabble.com/
If the "Gtk+ - General" forum is not the good place to post my message, I
apologize. It just seemed the less bad place for a Fortran thing...

Nabble is a web bridge to various mailing list; the "General" forum maps to [hidden email], which is going to be de-activated on May 1st, 2019.

It seems Nabble does not respect cross-posting, so you probably haven't seen the announcement:


The tl;dr of it is: discussions about GTK (and language bindings) have been moved to Discourse:


and the existing mailing lists will be archived next Wednesday.

Ciao,
 Emmanuele.
 
--

_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Stefan Salewski-2
In reply to this post by vmagnin
On Fri, 2019-04-26 at 09:46 -0700, vmagnin wrote:
> oncerning the "new discourse forum", I am not sure of what you mean.

It is this:

https://discourse.gnome.org/

Was recently advertised by Mr Bassi. The gtk mailing list will be
closed soon, at least this one and gtk-app-devel.
_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Stefan Salewski-2
In reply to this post by Gtk+ - General mailing list
On Fri, 2019-04-26 at 17:58 +0100, Emmanuele Bassi via gtk-list wrote:
> Have you considered using the GObject introspection data that GTK
> itself generates, instead of your custom parsing code?

But a warning: GObject introspection is not that much fun, as it is in
zombie state. Starting with the API docs was really hard, took me some
hundreds hours before useful code generation started. Well, I started
from scratch, but with some help of Mr Mansour. Maybe a start with a
copy, maybe from python would have been easier. Note that Gtkmm does
not use GObject introspection still.
_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Gtk+ - General mailing list
On Fri, 26 Apr 2019 at 18:13, Stefan Salewski <[hidden email]> wrote:
On Fri, 2019-04-26 at 17:58 +0100, Emmanuele Bassi via gtk-list wrote:
> Have you considered using the GObject introspection data that GTK
> itself generates, instead of your custom parsing code?

But a warning: GObject introspection is not that much fun, as it is in
zombie state.

It most definitely is not. The project is actively maintained, and it recently got even a full description of the XML schema:


The documentation has also been updated:


Starting with the API docs was really hard, took me some
hundreds hours before useful code generation started.

libgirepository is mostly meant to be used by dynamic languages, not for code generation. It's also heavily modelled on the requirements of existing language bindings like pygobject for Python; Glib::Object::Introspection, for Perl; and GJS for JavaScript. API can be added, but the on disk file format is stable, so it cannot really be changed outside of the current boundaries of its ABI.

Code generation typically starts from the GIR file format—for instance, the Rust bindings use it to generate static bindings:


Note that Gtkmm does
not use GObject introspection still.

gtkmm is an old binding, and it's very much set it its ways. Newly written bindings should not go down the same route.

Ciao,
 Emmanuele.

_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Stefan Salewski-2
On Fri, 2019-04-26 at 18:21 +0100, Emmanuele Bassi wrote:
> It most definitely is not. The project is actively maintained, and it
> recently got even a full description of the XML schema:

That is interesting. Well 172 open issues

https://gitlab.gnome.org/GNOME/gobject-introspection/issues

but indeed there is some activity.

I think 3 years ago when I started the gobject-introspection bindings
it was nearly death.

>gtkmm is an old binding, and it's very much set it its ways. Newly
written bindings should not go down the same route.

Yes, but his fortran ones is from 2011. So switching to gobject-
introspection is much work.
_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

Gtk+ - General mailing list
On Fri, 26 Apr 2019 at 18:38, Stefan Salewski <[hidden email]> wrote:
On Fri, 2019-04-26 at 18:21 +0100, Emmanuele Bassi wrote:
> It most definitely is not. The project is actively maintained, and it
> recently got even a full description of the XML schema:

That is interesting. Well 172 open issues

https://gitlab.gnome.org/GNOME/gobject-introspection/issues


Open issues is not really an indicator. GTK has ~1100 issues open.
 
>gtkmm is an old binding, and it's very much set it its ways. Newly
written bindings should not go down the same route.

Yes, but his fortran ones is from 2011. So switching to gobject-
introspection is much work.

When I talk about "old" I literally mean 20+ years. Gtkmm is one of the oldest language bindings for GTK. 2011 is after the creation of g-i, and after Python and Perl got ported to it from their own ad hoc header parser plus ancillary metadata.

Ciao,
 Emmanuele.

--

_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list
Reply | Threaded
Open this post in threaded view
|

Re: gtk-fortran 19.04 released

vmagnin
Thank you Emmanuele and Stefan for your answers,


Gtk+ - General mailing list wrote
> Have you considered using the GObject introspection data that GTK itself
> generates, instead of your custom parsing code?

Yes, but a long time ago in the first year of the project. In this Dec. 2011
post:
https://github.com/vmagnin/gtk-fortran/issues/27

My thoughts were:

>But in that case, there is no "c:identifier" attribute in the tag (how to
identify a pointer ?)

>
>Advantages:
> -   parsing XML is easier than using regular expressions which must take
> into account many exceptions and peculiarities.
> -   The binding would be more complete (to what extent ?).
>Drawbacks:
>  -  GIR format is not well documented.
>  -  Cairo is not (yet ?) supported. So cfwrapper.py would still be
> necessary at least for it.
>Probably also for others like GLib (see the "c:identifier" problem above).
>  -  We would lose the C prototypes in comments and also in
> gtk-fortran-index.csv
>  -  A new effort.
> The question is: is it worth while ? Or would it be more adequate to
> improve cfwrapper.py ?

Note that it was how I see things at that time. I don't know if my feeling
was right (I was a total beginner with GTK), and I don't know how things
have changed since that time. It is still a possibility that could be
interesting in the long term. It would surely be cleaner than parsing with
regular expressions.



Gtk+ - General mailing list wrote
> Nabble is a web bridge to various mailing list; the "General" forum maps
> to

> gtk-list@

> , which is going to be de-activated on May 1st, 2019.
>
> It seems Nabble does not respect cross-posting, so you probably haven't
> seen the announcement:
>
> http://gtk.10911.n7.nabble.com/REMINDER-List-moved-to-Discourse-archival-in-1-week-td95279.html

OK, at first I did not understood the real nature of Nabble. And I have not
seen the announcement. I will look at https://discourse.gnome.org/.

Best regards,
Vincent



--
Sent from: http://gtk.10911.n7.nabble.com/Gtk-General-f47634.html
_______________________________________________
gtk-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-list