mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-14 17:23:03 +01:00
5.3 KiB
5.3 KiB
Installation
## Dependencies | Name | Needed by | Debian package | |------------------------------------------------------|----------------------------|------------------| | [Tox Core](https://github.com/irungentoo/toxcore) | BASE | *None* | | [NCurses](https://www.gnu.org/software/ncurses) | BASE | libncursesw5-dev | | [LibConfig](http://www.hyperrealm.com/libconfig) | BASE | libconfig-dev | | [GNUmake](https://www.gnu.org/software/make) | BASE | make | | [Tox Core AV](https://github.com/irungentoo/toxcore) | AUDIO | *None* | | [OpenAL](http://openal.org) | AUDIO, SOUND NOTIFICATIONS | libopenal-dev | | [OpenALUT](http://openal.org) | SOUND NOTIFICATIONS | libalut-dev | | [LibNotify](https://developer.gnome.org/libnotify) | DESKTOP NOTIFICATIONS | libnotify-dev | | [AsciiDoc](http://asciidoc.org/index.html) | DOCUMENTATION1 | asciidoc | | [Gettext](https://www.gnu.org/software/gettext) | LOCALIZATION2 | gettext | 1: see [Documentation](#docs)2: see [Translating](#langs) #### OS X Notes Using [Homebrew](http://brew.sh): ``` brew install openal-soft freealut libconfig gettext brew install https://raw.githubusercontent.com/Tox/homebrew-tox/master/Formula/libtoxcore.rb brew install https://raw.githubusercontent.com/Homebrew/homebrew-x11/master/libnotify.rb brew link gettext ```
You can omit libnotify
if you intend to build without desktop notifications enabled.
**NOTE FOR DEVELOPERS**: asciidoc files and generated manpages will need to be commited together.
**NOTE FOR EVERYONE**: [asciidoc](http://asciidoc.org/index.html) (and this step) is only required for regenerating manpages when you modify them. ## Translating Toxic uses gettext to localize some strings in various languages.
These notes are for people who want help translating toxic in new languages (or improve an existing translation).
The following example shows how to create/update german translation (de). #### Create new translation 1: PO file To start a new translation, you can use the [provided script](translations/tools/create_po.sh): ``` cd toxic-src/translations/tools ./create_po.sh Insert locale to create (for example "en"): de Created de.po. ``` Now you can proceed to translate `toxic-src/translations/de.po`. #### Create new translation 2: MO file When you fully translated the PO file, you are ready to create the MO (Machine Object) file.
Again you can use the [provided script](translations/tools/create_mo.sh) to achieve this: ``` cd toxic-src/translations/tools ./create_mo.sh Insert locale (for example "en"): de ``` #### Update existing translation When the toxic sources are updated, you probably need to update your translation as well.
To do so use the [provided script](translations/tools/update_po.sh) to update the PO file: ``` cd toxic-src/translations/tools ./update_po.sh Insert locale to update (for example "en"): de ..................................... done. ``` Then you need to translate new/changed strings and after you fully updated the PO file, create the MO file as described [above](#new_lang_2). ## Notes #### Compilation variables * You can add specific flags to the Makefile with `USER_CFLAGS=""` and/or `USER_LDFLAGS=""` * You can pass your own flags to the Makefile with `CFLAGS=""` and/or `LDFLAGS=""` (this will supersede the default ones) * Additional features are automatically enabled if all dependencies are found, but you can disable them by using special variables: * `DISABLE_X11=1` → build toxic without X11 support (needed for focus tracking) * `DISABLE_AV=1` → build toxic without audio call support * `DISABLE_SOUND_NOTIFY=1` → build toxic without sound notifications support * `DISABLE_DESKTOP_NOTIFY=1` → build toxic without desktop notifications support * `DISABLE_LOCALIZATION=1` → build toxic without localization support #### Packaging * For packaging purpose, you can use `DESTDIR=""` to specify a directory where to store installed files * `DESTDIR=""` can be used in addition to `PREFIX=""`: * `DESTDIR=""` is meant to specify a directory where to store installed files (ex: "/tmp/build/pkg") * `PREFIX=""` is meant to specify a prefix directory for binaries and data files (ex: "/usr/local")