November 15, 2011
I believe once Deimos will mature in time, especially if all authors of Deimos projects gather around and do some organisation...
November 15, 2011
Johannes Pfau wrote:

> This explains a special repository setup which allows to merge changes made in C headers into the correct place in the D import files automatically. This new, merged parts still need to be translated into D code, but the automatic merge makes sure you don't miss a change in the C headers.
> 
> https://github.com/jpf91/systemd/wiki/Deimos-git-branch-structure
> 
> Comments are of course appreciated. The wiki page is also public, so feel free to correct mistakes. If possible, this should go somewhere into the official deimos project (wiki).
> 
> (Yes, I know there's a typo in the screenshots (daeamon) and the
> screenshots don't match the text 100% as they were taken before the
> text was written)

Brilliant! Thanks for that, Johannes! :)
November 15, 2011
Vladimir Panteleev wrote:

> On Fri, 11 Nov 2011 22:43:18 +0200, Johannes Pfau <spam@example.com> wrote:
> 
>> (Yes, I know there's a typo in the screenshots (daeamon) and the
>> screenshots don't match the text 100% as they were taken before the
>> text was written)
> 
> For the screenshots, you have used a 3rd-party GUI which is only available on *nix. Consider using gitk, which is included with git and runs on Windows.
> 

I do not use Giggle and I understood all those screenshots. All git gui frontends are similar, and if a developer is familiar with any of them, understanding Giggle screenshots won't be a problem at all.
November 16, 2011
Johannes Pfau wrote:

> 
> Scratch that, turns out the headers are actually in a systemd folder. Ubuntu doesn't provide a systemd package, and the directory structure is not visible in the source package. So it'll be deimos.systemd.sd_readahead ;-)

You are my hero for making binding to systemd! \o/
I want to play with it on my Fedora box asap! :)
November 16, 2011
Dejan Lekic wrote:
>Johannes Pfau wrote:
>
>> 
>> Scratch that, turns out the headers are actually in a systemd folder. Ubuntu doesn't provide a systemd package, and the directory structure is not visible in the source package. So it'll be deimos.systemd.sd_readahead ;-)
>
>You are my hero for making binding to systemd! \o/
>I want to play with it on my Fedora box asap! :)

It's ready to be used:
https://github.com/jpf91/systemd

But writing the bindings was really trivial, only ~12 functions and ~300 LOC(most of that documentation).

Note that there's no special function to log to the systemd log. You
have to log to stdout(for example using the standard stderr.writefln())
in a specific (but simple) format.

Also writing a daemon in systemd is actually a lot easier that the traditional way (see http://0pointer.de/public/systemd-man/daemon.html ), so have fun :-)

-- 
Johannes Pfau

November 18, 2011
Johannes Pfau wrote:

> Also writing a daemon in systemd is actually a lot easier that the traditional way (see http://0pointer.de/public/systemd-man/daemon.html ), so have fun :-)
> 

Sure it is easier, but less portable. :) Systemd is going to be very nice once it is widely adopted by various Linux ecosystems.
November 18, 2011
It is not uncommon that a certain project generates several libraries. Example: ncurses (libcurses, libpanel, libforms)

I propose each library has a one-to-one correspondent D module inside the deimos package. All D modules that correspond to C/C++ header files with the same name should reside in subdirectories.

So, say we use ncurses for an example. We whould have:

# "library" modules
/deimos/ncurses.d # -lncurses
/deimos/panel.d   # -lpanel
/deimos/form.d    # -lform
/deimos/menu.d    # -lmenu
# these are made by /usr/include/ncurses/*.h --> .d transformation
/deimos/ncurses/cursesapp.d
/deimos/ncurses/curses.d
/deimos/ncurses/cursesp.d
/deimos/ncurses/cursslk.d
/deimos/ncurses/etip.d
/deimos/ncurses/menu.d
/deimos/ncurses/ncurses_dll.d
/deimos/ncurses/panel.d
/deimos/ncurses/term_entry.d
/deimos/ncurses/tic.d
/deimos/ncurses/cursesf.d
/deimos/ncurses/cursesm.d
/deimos/ncurses/cursesw.d
/deimos/ncurses/eti.d
/deimos/ncurses/form.d
/deimos/ncurses/nc_tparm.d
/deimos/ncurses/ncurses.d
/deimos/ncurses/termcap.d
/deimos/ncurses/term.d
/deimos/ncurses/unctrl.d

Another thing to consider is the fact that if I make such hierarchy in my project, I will have to SYMLINK ncurses directory into my deimos/ncurses folder, and also have to symlink all "library" D modules...

dmd.conf should contain -I$HOME/include/d/deimos by default. :)

1 2
Next ›   Last »