libsoylent provides a convinient way to manage people and information associated with them. Features are a system-wide addressbook, arbitrary people attributes, static (e.g. name) and dynamic (e.g. online-status) information, etc. This comes in the form of a clean object-orientated API.


v0.5.*: libsoylent is work-in-progress. Some minor features are missing, but the core-functionality is implemented. Focus now lies on testing and documentation.
Even if it's unlikely that libsoylent will cause any damage you are encouraged (as with any work-in-progress software) to backup your system (or at least your ~/.evolution directory) before using libsoylent.



To run libsoylent the following packages must be present on your system:

  • Glib
  • Telepathy, Mission Control, libempathy
  • E-D-S


The libsoylent API reference can be found online at:

It is also located in the source under the docs/references/libsoylent/html directory.


The examples listed here will give a good introduction to libsoylent.

Building libsoylent

libsoylent uses autotools for building. To build libsoylent (and Soylent) execute in the source directory:

./ --enable-libsoylent=yes

If you want to install libsoylent (and Soylent) just do:

make install

If you also want to build the libsoylent documentation add --enable-gtk-doc to the parameters.

That's it!


If you want to have detailed information about what's going on in libsoylent, define one or more of the following macros in sl-priv-util.h, depending on what you want to debug. Then rebuild libsoylent.

Note that this may produce a lot of output.



Feature requests, questions and related discussion go to the Soylent mailinglist. You can join at:

If you found a bug please report it at:

Known Bugs

Note: because of bug 1 to 3, addressbook functionality has been disabled in v0.4.0, i.e. you can only use the default addressbook.

  • [1] if you have never started Evolution before there will be no system-addressbook, so all addressbook-functions will fail [TODO; workaround: start Evolution once]
  • [2] on deleting an addressbook E-D-S may tell you "EBookStatus returned 20" and deny to delete the addressbook [TODO; workaround: restart E-D-S and try to delete the addressbook again]
  • [3] adding people to any addressbook but the default addressbook kills E-D-S [TODO; no workaround atm]
  • [4] addresses stored via libsoylent are not displayed in Evolution [TODO; workaround: use Evolution to store addresses]





TODO-list for a new release:

  • prepare release
    • update (version)
    • update libsoylent-docs.sgml (version)
    • update NEWS
    • update README (state)
    • commit updates to trunk
  • create tarball
    • create new branch from latest stable version of Soylent (or latest stable version libsoylent, if Soylent didn't change)
    • merge with newest version of libsoylent
    •, make, make dist (make distcheck doesn't work because of gtk-doc)
    • untar tarball, rename directory to libsoylent-version and tar again
  • test tarball
    • configure, make
    • make install, make uninstall
    • run tests, examples
  • create new tag
  • in trunk: bump version-number
  • upload tarball
  • upload documentation
  • update wiki (state, download)
  • announce
    • mailinglists: Soylent, People-Project, Mayanna
    • blog

Projects/Soylent/libsoylent (last edited 2013-11-22 19:18:56 by WilliamJonMcCann)