Recomended cairo bindings

Paul Z. Barsan via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Sep 15 05:11:08 PDT 2014


On Sunday, 14 September 2014 at 14:37:05 UTC, Robert burner 
Schadek wrote:
> use gtkd they have a cairo binding

Well, umm.. the fact is that I want to make my own lightweight 
cross-platform widget toolkit from scratch and a gtkd dependency 
is a big no-no.

On Sunday, 14 September 2014 at 14:45:49 UTC, evilrat wrote:
> try adding CAIRO_HAS_XLIB_SURFACE version identifier in your 
> dub project, may help with this problem(i mean cairoD from dub 
> don't have configuration system so possibly you need to specify 
> everything manually, hopefully you won't mess with source, just 
> try different versions)

Variables like CAIRO_HAS_XLIB_SURFACE are platform specific, xlib 
and xcb surfaces are for linux, win32 and directfb surfaces are 
for windows and so on.. I will search in dubs documentation how 
can I specify this sort of variables but I have a gut feeling 
that running a pre-build script(rdmd ?) is the way of setting 
them such that they will work for everybody.

> never heard deimos deprecated, dub and deimos has different 
> purpose, dub is dependency tracking and build tool, deimos is 
> just an "extension" to phobos containing only C-bindings(!).

I probably epressed myself in the wrong way but the ussage of dub 
is encouraged and I've seen many deimos libraries being moved to 
dubs registry(ctrl+F for "deimos" in http://code.dlang.org/ ), 
one of them being libX11.The package maintainer of libX11 said in 
the project description and I quote:

"This repository is a clone of the Deimos X11 repository. I've 
purposely not forked because the overall structure has been 
changed to suit the dub build tool. Hopefully this is a temporary 
measure until the entirety of Deimos is moved to dub."

I don't see the point of maintaining two versions of the same 
library, especially for a small comunity like D users.

> either use deimos only(both x11 and cairo), or possibly you 
> will need to update(?) dub cairoD to use deimos x11. the 
> problem with this is that cairoD looks abandoned, it will 
> possibly require to maintain your own fork of it if start using 
> it.

If you look at deimos.cairo you will see that the latest commit 
was made 2 years ago while cairoD was last updated 6 months ago. 
I made my choice: I will stick to dub, fork cairoD, merge 
everything from deimos.cairo into cairoDs C-style bindings & 
wrappers, update cairoDs dependencies to use dub pkgs and then 
provide and rdmd script to configure platform specific stuff. I 
have plenty of time and if I succed, everyone can benefit from my 
work. :)



More information about the Digitalmars-d-learn mailing list