Uim/Development

Prerequisites
Some of prerequisites may vary depending on configuration options. For example, you don't need to install rsvg before building a release version because the tar ball includes all needed PNG files.

If you missed something,  script will quit with error asking you to install a package that provides the missing prerequisite on your system.

These are prerequisites to build the latest development version:
 * GNU tools
 * autoconf 2.60b or later (2.61 is recommended)
 * automake 1.10 or later
 * libtool
 * GNU make
 * perl (automake requires perl)
 * intltool
 * ed
 * rsvg(1) distributed with librsvg (for icon files)
 * ruby (SigScheme requires ruby)
 * AsciiDoc (SigScheme requires AsciiDoc)
 * git (to fetch the latest development version)

If you want to run tests, you also need to install the following software:
 * Gauche 0.8.5 or later
 * GaUnit 0.1.1 or later

Build and Install
This section explains how to build and install the latest development version.

First, download latest code: $ git clone https://github.com/uim/uim $ cd uim

At this point with most autotools-based projects you'd expect to run  script to generate   script, and then the   script itself. However, uim needs to make some preparation, which is not integrated into these scripts.

Instead you'll need to run  script, which internally calls these two. Any arguments that you may have wanted to pass to, pass instead to  , it will relegate them to. See also  (or better   if it's generated) for list of supported options.

$ ./make-wc.sh $ make

If you want to install the built binaries to your system, use. In this case you may need to make sure it will get installed to correct paths, see this section for details.

Translations
Uim uses GNU gettext and .po files are in these directories:
 * po
 * qt4/chardict/po
 * qt/chardict/po

Sending patches
Development is done on this github page, and requires basic knowledge of working with git. Basically, you'll need to:


 * 1) Fork repository.
 * 2) Make your changes, commit them locally, then push to your fork.
 * 3) Create a pull request from the changes in your fork to main repository.

Alternatively, you can attach your changes as a patch to freedesktop.org bugzilla.