From b87f73cc478e46e2b8d94baf2376309c8317d07f Mon Sep 17 00:00:00 2001 From: Ansa89 Date: Tue, 17 Feb 2015 11:01:31 +0100 Subject: [PATCH] Add INSTALL.md --- INSTALL.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 68 +++++++++--------------------------------------------- 2 files changed, 79 insertions(+), 57 deletions(-) create mode 100644 INSTALL.md diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..6dc0bba --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,68 @@ +# Installation +* [Dependencies](#deps) + * [OS X Notes](#deps_osx) +* [Compiling](#compiling) + * [Documentation](#docs) +* [Notes](#notes) + * [Compilation variables](#comp_vars) + * [Packaging](#packaging) + + +## 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 | +| [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 | +1: see [Documentation](#docs) + + +#### OS X Notes +Using [Homebrew](http://brew.sh): +``` +brew install openal-soft freealut libconfig +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 +``` + +You can omit `libnotify` if you intend to build without desktop notifications enabled. + + +## Compiling +``` +cd build/ +make PREFIX="/where/to/install" +sudo make install PREFIX="/where/to/install" +``` + + +#### Documentation +Run `make doc` in the build directory after editing the asciidoc files to regenerate the manpages.
+**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. + +
+## 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 + + +#### 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") + diff --git a/README.md b/README.md index 0077f56..43739a5 100644 --- a/README.md +++ b/README.md @@ -3,56 +3,20 @@ Toxic is a [Tox](https://tox.im)-based instant messenging client which formerly ![Toxic Screenshot](https://i.imgur.com/san99Z2.png "Home Screen") +## Downloads +You can download precompiled binaries from [jenkins](https://jenkins.libtoxcore.so): +* [Linux (packages)](https://wiki.tox.im/Binaries#Linux) +* [Linux 32 bit](https://jenkins.libtoxcore.so/job/toxic_linux_i386/lastSuccessfulBuild/artifact/toxic_linux_i386.tar.xz) +* [Linux 64 bit](https://jenkins.libtoxcore.so/job/toxic_linux_amd64/lastSuccessfulBuild/artifact/toxic_linux_amd64.tar.xz) + ## Installation +[Compiling](/INSTALL.md) -### Dependencies -##### Base -* [libtoxcore](https://github.com/irungentoo/toxcore) -* [ncurses](https://www.gnu.org/software/ncurses) (for Debian based systems, 'libncursesw5-dev') -* [libconfig](http://www.hyperrealm.com/libconfig) (for Debian based systems, 'libconfig-dev') +## Settings +Running Toxic for the first time creates an empty file called toxic.conf in your home configuration directory ("~/.config/tox" for Linux users). Adding options to this file allows you to enable auto-logging, change the time format (12/24 hour), and much more. +You can view our example config file [here](misc/toxic.conf.example). -##### Audio -* libtoxav ([libtoxcore](https://github.com/irungentoo/toxcore) compiled with audio support) -* [openal](http://openal.org) (for Debian based systems, 'libopenal-dev') - -##### Sound notifications -* [openal](http://openal.org) (for Debian based systems, 'libopenal-dev') -* [openalut](http://openal.org) (for Debian based systems, 'libalut-dev') - -##### Desktop notifications -* [libnotify](https://developer.gnome.org/libnotify) (for Debian based systems, 'libnotify-dev') - -##### Documentation -* [Asciidoc](http://asciidoc.org/index.html) (only required for regenerating manpages) - * Run `make doc` in the build directory after editing the asciidoc files to regenerate the manpages. - * **NOTE FOR DEVELOPERS**: asciidoc files and generated manpages will need to be commited together. - -### Compiling -1. `cd build/` -2. `make PREFIX="/where/to/install"` -3. `sudo make install PREFIX="/where/to/install"` - -### Compilation Notes -* 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 - -### OS X Compile -Using [Homebrew](http://brew.sh): `brew install openal-soft freealut libconfig && 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`. - -You can omit `libnotify` if you intend to build without desktop notifications enabled. - -### 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") - -### Troubleshooting +## Troubleshooting If your default prefix is "/usr/local" and you receive the following: ``` error while loading shared libraries: libtoxcore.so.0: cannot open shared object file: No such file or directory @@ -63,13 +27,3 @@ echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf sudo ldconfig ``` -## Precompiled binaries -You can download precompiled binaries from [jenkins](https://jenkins.libtoxcore.so): -* [Linux (packages)](https://wiki.tox.im/Binaries#Linux) -* [Linux 32 bit](https://jenkins.libtoxcore.so/job/toxic_linux_i386/lastSuccessfulBuild/artifact/toxic_linux_i386.tar.xz) -* [Linux 64 bit](https://jenkins.libtoxcore.so/job/toxic_linux_amd64/lastSuccessfulBuild/artifact/toxic_linux_amd64.tar.xz) - -## Settings -Running Toxic for the first time creates an empty file called toxic.conf in your home configuration directory ("~/.config/tox" for Linux users). Adding options to this file allows you to enable auto-logging, change the time format (12/24 hour), and much more. -You can view our example config file [here](misc/toxic.conf.example). -