Next: , Previous: , Up: Tutorial   [Contents][Index]


2.9 Application Deployment

If you write a program in Guile-GI and wish to share it with the world, you will need to ensure your users have all the prerequisites.

At a minimum, Guile-GI scripts will require that users have the following packages.

And then, of course, a Guile-GI program will additionally require whatever libraries its uses (GTK, WebKit2) as well as their associated typelib files.

A good layout for an application might be the following, though we can’t discourage you from using any other.

/path/to/project
|-- doc
|-- data
|   |-- icons
|   |-- various XML files
|   `-- etc.
|-- module
|   |-- project.scm
|   `-- project
|       `-- more Scheme source files
|-- src
|   `-- C source files (optional, when depending on other libraries/non-GI functionality)
|-- test
|   `-- tests
`-- READMEs, ChangeLogs, build system stuff ...

You should be able to make use of most “data APIs” (such as GSettings, GResource, GtkBuilder...), as long as the data files don’t need to reference functionality implemented in your Scheme code. If you do find yourself needing some of that, e.g. if you want to write a GtkBuilder file for a custom class, consider implementing this functionality in C and exporting it as a typelib instead.