digitalmars.D.announce - GtkD 1.5 is released.
- Mike Wey (13/13) Aug 27 2011 GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL
- Denis Shelomovskij (10/10) Aug 27 2011 Can anybody use GtkD with Win32 dmd 2.054+OPTLINK?
- alex (5/15) Sep 21 2011 Wow... I use linux and a few things I did to get my executable size down...
- dsimcha (45/56) Aug 27 2011 Nice! A few issues, though:
- Mike Wey (6/48) Aug 27 2011 Yes it was by accident, will fix.
- =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= (9/13) Aug 28 2011 Should probably say 1.5, rather than 1.4/1.4.1 ?
- Mike Wey (5/18) Aug 28 2011 Do you happen to know the paths of these libraries ?
- Damian Ziemba (2/15) Aug 28 2011 Good job! Working smooth.
- Mike James (41/54) Sep 01 2011 Hi Mike,
- Mike Wey (5/14) Sep 01 2011 The import path for gstreamer is missing from the build file for bud/bui...
GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL license. New in this Release: * wraps GTK+ 2.22.x series api (and relative libraries: glib, cairo, pango, etc.) * Improved memory management. * Implements GtkBuildable. * Brought Gstreamer up to date with the rest of the bindings, including 64bits support. GtkD 1.4 is now available, get it from dsource: http://www.dsource.org/projects/gtkd/ -- Mike Wey
Aug 27 2011
Can anybody use GtkD with Win32 dmd 2.054+OPTLINK? Some time ago I posted message "Building GtkD app on Win32 results in 111 MiB file mostly from zeroes (compressed size - 324 KiB)", but no solution was found. I'll repeat some info: Files (dmd 2.054 compiled) are here: http://deoma-cmd.ru/files/other/huge-build.zip library.lib: Zero bytes: 3_505_980 of 16_175_616 (21.67%) main.obj: Zero bytes: 248 of 832 (29.81%) After linking with OPTLINK: testGtkD.exe: Zero bytes: 115_666_207 of 116_759_068 (99.06%)
Aug 27 2011
On 08/27/2011 10:49 AM, Denis Shelomovskij wrote:Can anybody use GtkD with Win32 dmd 2.054+OPTLINK? Some time ago I posted message "Building GtkD app on Win32 results in 111 MiB file mostly from zeroes (compressed size - 324 KiB)", but no solution was found. I'll repeat some info: Files (dmd 2.054 compiled) are here: http://deoma-cmd.ru/files/other/huge-build.zip library.lib: Zero bytes: 3_505_980 of 16_175_616 (21.67%) main.obj: Zero bytes: 248 of 832 (29.81%) After linking with OPTLINK: testGtkD.exe: Zero bytes: 115_666_207 of 116_759_068 (99.06%)Wow... I use linux and a few things I did to get my executable size down from 5mb, to about 1.1 mb was fairly simple. First edit sc.ini (dmd.conf for cool people), and take out the --export-dynamic then use strip and upx on the executable. Sorry if I can't help more
Sep 21 2011
On 8/27/2011 11:29 AM, Mike Wey wrote:GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL license. New in this Release: * wraps GTK+ 2.22.x series api (and relative libraries: glib, cairo, pango, etc.) * Improved memory management. * Implements GtkBuildable. * Brought Gstreamer up to date with the rest of the bindings, including 64bits support. GtkD 1.4 is now available, get it from dsource: http://www.dsource.org/projects/gtkd/Nice! A few issues, though: Small feature request: Could the GNUMakeFile include a multilib option that builds both 32-bit and 64-bit libs on a 64-bit system? I run performance-critical scientific code on 64-bit Linux, and use GtkD to plot results. If I don't need 64 bits of address space and the code uses a lot of pointers, I sometimes compile it as 32-bit to make it more cache efficient. I've been manually editing the make file to compile both 32- and 64-bit binaries, but it would be nice if I didn't need to. Why was SvgSurface.create changed to the much more verbose and completely redundant SvgSurface.svgSurfaceCreate? Was this by accident? Please recompile the documentation, as the docs at the dsource site are outdated. gtkD doesn't build on D2 for one trivial reason: You forgot a super call for the Thread class you're inheriting from in glib\Spawn.d. (I tried it with Git head DMD and druntime. Maybe it works for some reason on 2.054.) Fix: Change run() to return void instead of int and pass its delegate to super. Starting on line 270 of Spawn.d: this(FILE* file, bool delegate (string) read ) { this.file = file; this.read = read; version(druntime) { super(&run); } } version(druntime) { public void run() { string line = readLine(file); while( line !is null ) { ++lineCount; if ( read !is null ) { read(line); } line = readLine(file); } } }
Aug 27 2011
On 08/27/2011 07:55 PM, dsimcha wrote:Nice! A few issues, though: Small feature request: Could the GNUMakeFile include a multilib option that builds both 32-bit and 64-bit libs on a 64-bit system? I run performance-critical scientific code on 64-bit Linux, and use GtkD to plot results. If I don't need 64 bits of address space and the code uses a lot of pointers, I sometimes compile it as 32-bit to make it more cache efficient. I've been manually editing the make file to compile both 32- and 64-bit binaries, but it would be nice if I didn't need to.I'll add the option.Why was SvgSurface.create changed to the much more verbose and completely redundant SvgSurface.svgSurfaceCreate? Was this by accident?Yes it was by accident, will fix.Please recompile the documentation, as the docs at the dsource site are outdated. gtkD doesn't build on D2 for one trivial reason: You forgot a super call for the Thread class you're inheriting from in glib\Spawn.d. (I tried it with Git head DMD and druntime. Maybe it works for some reason on 2.054.) Fix: Change run() to return void instead of int and pass its delegate to super. Starting on line 270 of Spawn.d:It does compile with 2.054, ill look into this.this(FILE* file, bool delegate (string) read ) { this.file = file; this.read = read; version(druntime) { super(&run); } } version(druntime) { public void run() { string line = readLine(file); while( line !is null ) { ++lineCount; if ( read !is null ) { read(line); } line = readLine(file); } } }-- Mike Wey
Aug 27 2011
Mike Wey wrote:GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL license....GtkD 1.4 is now available, get it from dsource: http://www.dsource.org/projects/gtkd/Should probably say 1.5, rather than 1.4/1.4.1 ? Seems like LIBRARY.GIO and LIBRARY.PANGOCAIRO are missing from the darwin implementations ? Also changed it to use regular dynamic libraries, instead of the (now obsolete) GTK+ frameworks... Otherwise working OK on Mac OS X, some crashes but. --anders
Aug 28 2011
On 08/28/2011 02:29 PM, Anders F Björklund wrote:Mike Wey wrote:Indeed.GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL license....GtkD 1.4 is now available, get it from dsource: http://www.dsource.org/projects/gtkd/Should probably say 1.5, rather than 1.4/1.4.1 ?Seems like LIBRARY.GIO and LIBRARY.PANGOCAIRO are missing from the darwin implementations ?Do you happen to know the paths of these libraries ?Also changed it to use regular dynamic libraries, instead of the (now obsolete) GTK+ frameworks... Otherwise working OK on Mac OS X, some crashes but. --anders-- Mike Wey
Aug 28 2011
On Sat, 27 Aug 2011 17:29:59 +0200, Mike Wey wrote:GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL license. New in this Release: * wraps GTK+ 2.22.x series api (and relative libraries: glib, cairo, pango, etc.) * Improved memory management. * Implements GtkBuildable. * Brought Gstreamer up to date with the rest of the bindings, including 64bits support. GtkD 1.4 is now available, get it from dsource: http://www.dsource.org/projects/gtkd/Good job! Working smooth.
Aug 28 2011
"Mike Wey" <mike-wey example.com> wrote in message news:j3b2gr$1f6k$1 digitalmars.com...GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL license. New in this Release: * wraps GTK+ 2.22.x series api (and relative libraries: glib, cairo, pango, etc.) * Improved memory management. * Implements GtkBuildable. * Brought Gstreamer up to date with the rest of the bindings, including 64bits support. GtkD 1.4 is now available, get it from dsource: http://www.dsource.org/projects/gtkd/ -- Mike WeyHi Mike, When I try to build gtkD I get the following error: C:\D\dmd2\gtkD\src\build>build gtkD gtkD.d(659): Error: module XOverlay is in file 'gstinterfaces\XOverlay.d' which cannot be read import path[0] = C:\D\dmd2\gtkD\src\ import path[1] = C:\D\dmd2\gtkD\src\build\../../srcgl\ import path[2] = C:\D\dmd2\gtkD\src\build\../../srcsv\ import path[3] = C:\D\dmd2\gtkD\src\build\../../srcgda\ import path[4] = C:\D\dmd2\src\phobos\ import path[5] = C:\D\dmd2\src\druntime\import\ import path[6] = C:\D\dmd2\dgui\ import path[7] = C:\D\dmd2\gtkD\src\build\ import path[8] = C:\D\dmd2\gtkD\src\glib\ import path[9] = C:\D\dmd2\gtkD\src\gtkc\ import path[10] = C:\D\dmd2\gtkD\src\gthread\ import path[11] = C:\D\dmd2\gtkD\src\gobject\ import path[12] = C:\D\dmd2\gtkD\src\gdk\ import path[13] = C:\D\dmd2\gtkD\src\gdkpixbuf\ import path[14] = C:\D\dmd2\gtkD\src\cairo\ import path[15] = C:\D\dmd2\gtkD\src\pango\ import path[16] = C:\D\dmd2\gtkD\src\gio\ import path[17] = C:\D\dmd2\gtkD\src\atk\ import path[18] = C:\D\dmd2\gtkD\src\gtk\ import path[19] = C:\D\dmd2\gtkD\src\glade\ import path[20] = C:\D\dmd2\gtkD\src\build\../../srcgl\glgdk\ import path[21] = C:\D\dmd2\gtkD\src\build\../../srcgl\gtkglc\ import path[22] = C:\D\dmd2\gtkD\src\build\../../srcgl\glgtk\ import path[23] = C:\D\dmd2\gtkD\src\build\../../srcsv\gsv\ import path[24] = C:\D\dmd2\gtkD\src\build\../../srcsv\gsvc\ import path[25] = C:\D\dmd2\gtkD\src\build\../../srcgda\gda\ import path[26] = C:\D\dmd2\gtkD\src\build\../../srcgda\gdac\ import path[27] = C:\D\dmd2\windows\bin\..\..\src\phobos import path[28] = C:\D\dmd2\windows\bin\..\..\src\druntime\import import path[29] = C:\D\dmd2\windows\bin\..\..\dgui import path[30] = C:\D\dmd2\gtkD\src Am I missing some path declaration? Regards, Mike.
Sep 01 2011
On 09/01/2011 11:55 AM, Mike James wrote:Hi Mike, When I try to build gtkD I get the following error: C:\D\dmd2\gtkD\src\build>build gtkD gtkD.d(659): Error: module XOverlay is in file 'gstinterfaces\XOverlay.d' which cannot be read import .... Am I missing some path declaration? Regards, Mike.The import path for gstreamer is missing from the build file for bud/build. http://www.dsource.org/projects/gtkd/changeset/892 -- Mike Wey
Sep 01 2011