gtk3 and gnucash

Geert Janssens geert.gnucash at kobaltwit.be
Thu Feb 19 11:00:37 EST 2015


On Thursday 19 February 2015 07:40:28 John Ralls wrote:
> > On Feb 19, 2015, at 12:36 AM, Paolo Borelli
> > <paolo.borelli at gmail.com> wrote:
> > 
> > Hi John!
> > 
> >    I understand from your reply that the win32 port is not your top
> > 
> > priority, but I wanted to point out some things about the current
> > state of gtk on Windows.
> > 
> > On Thu, Feb 19, 2015 at 2:59 AM, John Ralls <jralls at ceridwen.us> wrote:
> >> As for win32 improvements, no, I haven't seen anything to support
> >> that there are any. The latest binaries on www.gtk.org are 3.6,
> >> which Tarnyko did 2 years ago. There aren't any gtk3 binaries at
> >> all on master.gnome.org, only gtk2 ones from 4 years ago. I see a
> >> whopping 8 commits this year in gdk/win32.> 
> > I agree that it is unfortunate that we do not have a proper win32
> > page on the site, but I can assure you that the win32 port made
> > huge progress: most of the fixes are not in the gdk backend which
> > is pretty self contained, but in individual widgets and underlying
> > libraries. We are using glib 2.42 gtk 3.14 successfully on Windows.
> > 
> > The lack of standardization on www.gtk.org is also due to the fact
> > that there are a few different approaches to use gtk on Windows,
> > depending on your goal and tools:
> > 
> > 1) If you are cross compiling, fedora provides updated binaries of
> > the whole stack and I am pretty sure other distros have similar
> > packages. The downside of these binaries is that they are built
> > with a runtime dependencies on the GNU toolchain, so they cannot be
> > used for interoperability with MSVC
> > 
> > 2) MSYS2 has updated binaries and provides a very efficient way to
> > build your gtk app on windows with mingw.
> > http://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-applic
> > ation-on-windows/ has more information and you can see from
> > https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-gtk3
> > that things are kept up to date. Incidentally msys2 provides binary
> > builds of a lot of other libraries as you can see from that
> > repository and it is also relatively easy to extract these
> > libraries and use them with MSVC
> > 
> > 3) In case you prefer/need to use MSVC (e.g. you already build your
> > application with MSVC and you want to be able to easily step into
> > glib/gtk functions when debugging), we are working on a powershell
> > script that builds the whole gtk3 stack at
> > https://github.com/nice-software/gtk-win32 based on the similar
> > script made by the hexchat developers for gtk2 at
> > https://hexchat.github.io/gtk-win32/
> > 
> > 
> > I hope that helps, and if anyone listening wants to help with the
> > port, all patches are more than welcome.
> 
> Paolo,
> 
> Thanks for the update.
> 
> As for most cross-platform applications Win32 is the choice of most of
> our users, so it's rather critical that we're able to install or
> build not just Gtk but all of our many other dependencies for Win32.
> Gcc and Gnu make are quite slow on Windows so we prefer to install
> when that's possible. GnuCash uses MinGW/MSys running on Windows for
> its Win32 build environment. Another developer, Geert Janssens, did a
> major rewrite of the build scripts a year ago to update them from
> MinGW-11 to the current version. IIRC he investigated MinGW64/Msys2
> at that time and found that it wasn't suitable, but I don't remember
> why.

That's not completely correct. I intended to investigate MingW64/Msys2 but due to lack of time I 
never got further than superficially looking into it. I hoped to continue this at a later time, which 
so far hasn't happened yet.

Meanwhile irc user nacho_ posted a few interesting links [1] that may help in getting gnucash 
built under mingw64/Msys2.

> Yet another, Christian Stimming, attempted a Fedora
> cross-compile several years ago and wasn't able to get it to work,
> but that's likely been improved in the meantime.
> 
> Perhaps this next bit should be discussed on gtk-devel instead of
> here, but if Msys2 is now the preferred source of Gtk win32 binaries
> perhaps the binaries on ftp.gnome.org and www.gtk.org should be
> removed and the www.gtk.org website revised to point to Msys2.
> Indeed, all of what you wrote above should be on the Gtk Windows page
> instead of the apparently outdated information that's there now.
> 
I agree it would be most helpful if the primary sources point in the same direction...

Regards,

Geert


[1] Start of the conversation is here: 
http://lists.gnucash.org/logs/2015/02/2015-02-19.html#T02:49:54


More information about the gnucash-devel mailing list