www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - GtkD 1.5 is released.

reply Mike Wey <mike-wey example.com> writes:
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
next sibling parent reply Denis Shelomovskij <verylonglogin.reg gmail.com> writes:
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
parent alex <ask nospam.com> writes:
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
prev sibling next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
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
parent Mike Wey <mike-wey example.com> writes:
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
prev sibling next sibling parent reply =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
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
parent Mike Wey <mike-wey example.com> writes:
On 08/28/2011 02:29 PM, Anders F Björklund wrote:
 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 ?

Indeed.
 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
prev sibling next sibling parent Damian Ziemba <nazriel driv.pl> writes:
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
prev sibling parent reply "Mike James" <foo bar.com> writes:
"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 Wey

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 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
parent Mike Wey <mike-wey example.com> writes:
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