2016-04-10 06:26:26 +08:00
|
|
|
|
# Install Instructions
|
2014-10-01 04:51:03 +08:00
|
|
|
|
- [Dependencies](#dependencies)
|
|
|
|
|
- [Linux](#linux)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Simple install](#simple-install)
|
|
|
|
|
- [Arch](#arch-easy)
|
2018-03-20 21:34:55 +08:00
|
|
|
|
- [Fedora](#fedora-easy)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Gentoo](#gentoo-easy)
|
2018-06-28 23:02:06 +08:00
|
|
|
|
- [openSUSE](#opensuse-easy)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Slackware](#slackware-easy)
|
|
|
|
|
- [Install git](#install-git)
|
|
|
|
|
- [Arch](#arch-git)
|
|
|
|
|
- [Debian](#debian-git)
|
|
|
|
|
- [Fedora](#fedora-git)
|
|
|
|
|
- [openSUSE](#opensuse-git)
|
2015-10-23 05:24:06 +08:00
|
|
|
|
- [Ubuntu](#ubuntu-git)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Clone qTox](#clone-qtox)
|
2017-04-16 04:25:21 +08:00
|
|
|
|
- [GCC, Qt, FFmpeg, OpenAL Soft and qrencode](#other-deps)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Arch](#arch-other-deps)
|
2015-10-23 05:24:06 +08:00
|
|
|
|
- [Debian](#debian-other-deps)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Fedora](#fedora-other-deps)
|
|
|
|
|
- [openSUSE](#opensuse-other-deps)
|
|
|
|
|
- [Slackware](#slackware-other-deps)
|
2015-10-23 05:24:06 +08:00
|
|
|
|
- [Ubuntu >=15.04](#ubuntu-other-deps)
|
2016-04-16 02:24:51 +08:00
|
|
|
|
- [Ubuntu >=16.04](#ubuntu-other-1604-deps)
|
2016-01-02 04:40:45 +08:00
|
|
|
|
- [sqlcipher](#sqlcipher)
|
2016-04-10 06:26:26 +08:00
|
|
|
|
- [Compile toxcore](#compile-toxcore)
|
2015-08-25 00:06:51 +08:00
|
|
|
|
- [Compile qTox](#compile-qtox)
|
2019-03-17 21:47:00 +08:00
|
|
|
|
- [Security hardening with AppArmor](#security-hardening-with-apparmor)
|
2019-09-17 10:09:01 +08:00
|
|
|
|
- [BSD](#bsd)
|
|
|
|
|
- [FreeBSD](#freebsd-easy)
|
2014-10-01 04:51:03 +08:00
|
|
|
|
- [OS X](#osx)
|
2014-12-09 07:15:53 +08:00
|
|
|
|
- [Windows](#windows)
|
2017-07-25 18:55:40 +08:00
|
|
|
|
- [Cross-compile from Linux](#cross-compile-from-linux)
|
|
|
|
|
- [Native](#native)
|
2017-01-28 11:31:46 +08:00
|
|
|
|
- [Compile-time switches](#compile-time-switches)
|
2014-10-01 04:51:03 +08:00
|
|
|
|
|
2015-12-08 04:30:48 +08:00
|
|
|
|
## Dependencies
|
2014-09-03 18:54:41 +08:00
|
|
|
|
|
2017-11-23 00:59:24 +08:00
|
|
|
|
| Name | Version | Modules |
|
|
|
|
|
|---------------|-------------|----------------------------------------------------------|
|
|
|
|
|
| [Qt] | >= 5.5.0 | concurrent, core, gui, network, opengl, svg, widget, xml |
|
|
|
|
|
| [GCC]/[MinGW] | >= 4.8 | C++11 enabled |
|
2019-06-30 06:56:18 +08:00
|
|
|
|
| [toxcore] | >= 0.2.10 | core, av |
|
2017-11-23 00:59:24 +08:00
|
|
|
|
| [FFmpeg] | >= 2.6.0 | avformat, avdevice, avcodec, avutil, swscale |
|
|
|
|
|
| [CMake] | >= 2.8.11 | |
|
|
|
|
|
| [OpenAL Soft] | >= 1.16.0 | |
|
|
|
|
|
| [qrencode] | >= 3.0.3 | |
|
|
|
|
|
| [sqlcipher] | >= 3.2.0 | |
|
|
|
|
|
| [pkg-config] | >= 0.28 | |
|
|
|
|
|
| [filteraudio] | >= 0.0.1 | optional dependency |
|
2018-07-12 02:55:16 +08:00
|
|
|
|
| [snorenotify] | >= 0.7.0 | optional dependency |
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
|
|
|
|
## Optional dependencies
|
|
|
|
|
|
2017-01-28 11:31:46 +08:00
|
|
|
|
They can be disabled/enabled by passing arguments to `cmake` command when
|
|
|
|
|
building qTox.
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
|
|
|
|
If they are missing, qTox is built without support for the functionality.
|
|
|
|
|
|
2017-03-31 19:37:50 +08:00
|
|
|
|
### Development dependencies
|
|
|
|
|
|
|
|
|
|
Dependencies needed to run tests / code formatting, etc. Disabled if
|
|
|
|
|
dependencies are missing.
|
|
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|
|---------|---------|
|
|
|
|
|
| [Check] | >= 0.9 |
|
|
|
|
|
|
2018-05-19 05:06:19 +08:00
|
|
|
|
### Spell checking support
|
|
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|
|----------|---------|
|
|
|
|
|
| [sonnet] | >= 5.45 |
|
|
|
|
|
|
|
|
|
|
Use `-DSPELL_CHECK=OFF` to disable it.
|
|
|
|
|
|
|
|
|
|
**Note:** Specified version was tested and works well. You can try to use older
|
|
|
|
|
version, but in this case you may have some errors (including a complete lack
|
|
|
|
|
of spell check).
|
|
|
|
|
|
2016-12-03 01:35:14 +08:00
|
|
|
|
### Linux
|
|
|
|
|
|
|
|
|
|
#### Auto-away support
|
|
|
|
|
|
2016-12-06 07:54:16 +08:00
|
|
|
|
| Name | Version |
|
|
|
|
|
|-----------------|----------|
|
|
|
|
|
| [libXScrnSaver] | >= 1.2 |
|
|
|
|
|
| [libX11] | >= 1.6.0 |
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
2017-01-28 11:31:46 +08:00
|
|
|
|
Disabled if dependencies are missing during compilation.
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
|
|
|
|
#### KDE Status Notifier / GTK tray backend
|
|
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|
|-------------|---------|
|
|
|
|
|
| [Atk] | >= 2.14 |
|
2017-01-25 05:21:08 +08:00
|
|
|
|
| [Cairo] | |
|
2016-12-03 01:35:14 +08:00
|
|
|
|
| [GdkPixbuf] | >= 2.31 |
|
|
|
|
|
| [GLib] | >= 2.0 |
|
|
|
|
|
| [GTK+] | >= 2.0 |
|
|
|
|
|
| [Pango] | >= 1.18 |
|
|
|
|
|
|
2017-01-28 11:31:46 +08:00
|
|
|
|
To disable: `-DENABLE_STATUSNOTIFIER=False -DENABLE_GTK_SYSTRAY=False`
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
|
|
|
|
#### Unity tray backend
|
|
|
|
|
|
|
|
|
|
Disabled by default.
|
|
|
|
|
|
2017-01-25 05:21:08 +08:00
|
|
|
|
| Name | Version |
|
|
|
|
|
|-------------------|-----------|
|
|
|
|
|
| [Atk] | >= 2.14 |
|
|
|
|
|
| [Cairo] | |
|
|
|
|
|
| [DBus Menu] | >= 0.6 |
|
|
|
|
|
| [GdkPixbuf] | >= 2.31 |
|
|
|
|
|
| [GLib] | >= 2.0 |
|
|
|
|
|
| [GTK+] | >= 2.0 |
|
2016-12-03 01:35:14 +08:00
|
|
|
|
| [libappindicator] | >= 0.4.92 |
|
2017-01-25 05:21:08 +08:00
|
|
|
|
| [Pango] | >= 1.18 |
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
2017-01-28 11:31:46 +08:00
|
|
|
|
To enable: `-DENABLE_APPINDICATOR=True`
|
2014-09-05 02:00:19 +08:00
|
|
|
|
|
2018-07-12 02:55:16 +08:00
|
|
|
|
#### Snorenotify desktop notification backend
|
|
|
|
|
|
|
|
|
|
Disabled by default
|
|
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|
|-------------------|-----------|
|
|
|
|
|
| [snorenotify] | >= 0.7.0 |
|
|
|
|
|
|
|
|
|
|
To enable: `-DDESKTOP_NOTIFICATIONS=True`
|
|
|
|
|
|
2017-01-08 22:02:25 +08:00
|
|
|
|
|
2015-12-08 04:30:48 +08:00
|
|
|
|
## Linux
|
|
|
|
|
### Simple install
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-12-09 07:15:53 +08:00
|
|
|
|
Easy qTox install is provided for variety of distributions:
|
2017-01-08 22:02:25 +08:00
|
|
|
|
|
2015-06-28 02:16:47 +08:00
|
|
|
|
* [Arch](#arch)
|
2018-03-20 21:34:55 +08:00
|
|
|
|
* [Fedora](#fedora)
|
2015-06-28 02:16:47 +08:00
|
|
|
|
* [Gentoo](#gentoo)
|
2015-06-28 19:51:45 +08:00
|
|
|
|
* [Slackware](#slackware)
|
2017-01-08 22:02:25 +08:00
|
|
|
|
|
2017-03-24 01:21:32 +08:00
|
|
|
|
---
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
|
|
|
|
<a name="arch-easy" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-06-28 02:16:47 +08:00
|
|
|
|
#### Arch
|
2014-09-05 02:00:19 +08:00
|
|
|
|
|
2016-01-31 20:42:27 +08:00
|
|
|
|
PKGBUILD is available in the `community` repo, to install:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-01-31 20:42:27 +08:00
|
|
|
|
```bash
|
|
|
|
|
pacman -S qtox
|
|
|
|
|
```
|
2015-06-28 02:16:47 +08:00
|
|
|
|
|
2018-03-20 21:34:55 +08:00
|
|
|
|
<a name="fedora-easy" />
|
|
|
|
|
|
|
|
|
|
#### Fedora
|
|
|
|
|
|
2019-08-28 05:50:06 +08:00
|
|
|
|
qTox is available in the [RPM Fusion](https://rpmfusion.org/) repo, to install:
|
2018-03-20 21:34:55 +08:00
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
dnf install qtox
|
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="gentoo-easy" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-06-28 02:16:47 +08:00
|
|
|
|
#### Gentoo
|
|
|
|
|
|
2016-03-22 05:33:51 +08:00
|
|
|
|
qTox is available in Gentoo.
|
2015-06-28 02:16:47 +08:00
|
|
|
|
|
2016-03-22 05:33:51 +08:00
|
|
|
|
To install:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-06-28 02:16:47 +08:00
|
|
|
|
```bash
|
|
|
|
|
emerge qtox
|
|
|
|
|
```
|
|
|
|
|
|
2018-06-28 23:02:06 +08:00
|
|
|
|
<a name="opensuse-easy" />
|
|
|
|
|
|
|
|
|
|
#### openSUSE
|
|
|
|
|
|
|
|
|
|
qTox is available in openSUSE Factory.
|
|
|
|
|
|
|
|
|
|
To install in openSUSE 15.0 or newer:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
zypper in qtox
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
To install in openSUSE 42.3:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
zypper ar -f https://download.opensuse.org/repositories/server:/messaging/openSUSE_Leap_42.3 server:messaging
|
|
|
|
|
zypper in qtox
|
|
|
|
|
```
|
2015-06-28 19:51:45 +08:00
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="slackware-easy" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-06-28 19:51:45 +08:00
|
|
|
|
#### Slackware
|
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
qTox SlackBuild and all of its dependencies can be found here:
|
2017-05-14 04:40:36 +08:00
|
|
|
|
http://slackbuilds.org/repository/14.2/network/qTox/
|
2015-06-28 19:51:45 +08:00
|
|
|
|
|
2015-07-02 19:01:33 +08:00
|
|
|
|
----
|
2015-06-28 19:51:45 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
If your distribution is not listed, or you want / need to compile qTox, there
|
|
|
|
|
are provided instructions.
|
2015-06-28 02:16:47 +08:00
|
|
|
|
|
|
|
|
|
|
2014-12-09 07:15:53 +08:00
|
|
|
|
----
|
2014-09-03 18:54:41 +08:00
|
|
|
|
|
2017-07-22 03:55:51 +08:00
|
|
|
|
Most of the dependencies should be available through your package manager. You
|
2016-04-10 05:47:39 +08:00
|
|
|
|
may either follow the directions below, or simply run `./simple_make.sh` after
|
|
|
|
|
cloning this repository, which will attempt to automatically download
|
|
|
|
|
dependencies followed by compilation.
|
2014-09-03 20:22:00 +08:00
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
### Install git
|
2014-09-03 20:22:00 +08:00
|
|
|
|
In order to clone the qTox repository you need Git.
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
|
|
|
|
<a name="arch-git" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Arch Linux
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```bash
|
2014-12-09 07:15:53 +08:00
|
|
|
|
sudo pacman -S --needed git
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="debian-git" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Debian
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```bash
|
|
|
|
|
sudo apt-get install git
|
|
|
|
|
```
|
|
|
|
|
|
2015-09-19 02:00:16 +08:00
|
|
|
|
<a name="fedora-git" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Fedora
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```bash
|
2015-05-04 04:56:45 +08:00
|
|
|
|
sudo dnf install git
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="opensuse-git" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### openSUSE
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-05-10 05:37:56 +08:00
|
|
|
|
```bash
|
|
|
|
|
sudo zypper install git
|
|
|
|
|
```
|
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
|
<a name="ubuntu-git" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Ubuntu
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
|
```bash
|
|
|
|
|
sudo apt-get install git
|
|
|
|
|
```
|
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
### Clone qTox
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
Afterwards open a new terminal, change to a directory of your choice and clone
|
2016-04-10 05:47:39 +08:00
|
|
|
|
the repository:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-03 20:40:18 +08:00
|
|
|
|
```bash
|
2016-09-23 11:31:33 +08:00
|
|
|
|
cd /home/$USER/qTox
|
2016-08-04 06:25:50 +08:00
|
|
|
|
git clone https://github.com/qTox/qTox.git qTox
|
2014-09-03 20:40:18 +08:00
|
|
|
|
```
|
|
|
|
|
|
2016-09-23 11:31:33 +08:00
|
|
|
|
The following steps assumes that you cloned the repository at
|
|
|
|
|
`/home/$USER/qTox`. If you decided to choose another location, replace
|
|
|
|
|
corresponding parts.
|
2014-09-03 20:40:18 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2017-04-16 04:25:21 +08:00
|
|
|
|
### GCC, Qt, FFmpeg, OpenAL Soft and qrencode
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
|
|
|
|
<a name="arch-other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Arch Linux
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```bash
|
2018-06-24 00:11:41 +08:00
|
|
|
|
sudo pacman -S --needed base-devel qt5 openal libxss qrencode ffmpeg opus libvpx libsodium
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
|
<a name="debian-other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Debian
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2017-08-16 14:36:58 +08:00
|
|
|
|
**Note that only Debian >=9 stable (stretch) is supported.**
|
2014-09-03 20:22:00 +08:00
|
|
|
|
|
2015-06-13 15:04:21 +08:00
|
|
|
|
```bash
|
2017-01-28 11:31:46 +08:00
|
|
|
|
sudo apt-get install \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
automake \
|
|
|
|
|
autotools-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
build-essential \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
check \
|
|
|
|
|
checkinstall \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
cmake \
|
|
|
|
|
ffmpeg \
|
2018-03-23 09:37:14 +08:00
|
|
|
|
libavcodec-dev \
|
2018-06-27 06:29:48 +08:00
|
|
|
|
libavdevice-dev \
|
2017-09-12 07:55:13 +08:00
|
|
|
|
libexif-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libgdk-pixbuf2.0-dev \
|
|
|
|
|
libgtk2.0-dev \
|
2018-05-19 05:06:19 +08:00
|
|
|
|
libkdeui5 \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libopenal-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libopus-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libqrencode-dev \
|
|
|
|
|
libqt5opengl5-dev \
|
|
|
|
|
libqt5svg5-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libsodium-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libsqlcipher-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libtool \
|
|
|
|
|
libvpx-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libxss-dev \
|
|
|
|
|
pkg-config \
|
|
|
|
|
qrencode \
|
|
|
|
|
qt5-default \
|
2017-03-19 03:36:01 +08:00
|
|
|
|
qttools5-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
qttools5-dev-tools \
|
|
|
|
|
yasm
|
2015-06-13 15:04:21 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="fedora-other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Fedora
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2019-08-28 05:50:06 +08:00
|
|
|
|
To install FFmpeg, the [RPM Fusion](https://rpmfusion.org/) repo is required.
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
```bash
|
2019-08-28 05:50:06 +08:00
|
|
|
|
sudo dnf group install "Development Tools" "C Development Tools and Libraries"
|
|
|
|
|
# (can also use):
|
|
|
|
|
# sudo dnf install @"Development Tools" @"C Development Tools and Libraries"
|
2017-03-24 01:21:32 +08:00
|
|
|
|
sudo dnf install \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
autoconf \
|
|
|
|
|
automake \
|
|
|
|
|
check \
|
|
|
|
|
check-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
ffmpeg-devel \
|
|
|
|
|
gtk2-devel \
|
2018-05-19 05:06:19 +08:00
|
|
|
|
kf5-sonnet \
|
2017-09-12 07:55:13 +08:00
|
|
|
|
libexif-devel \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libsodium-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
libtool \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libvpx-devel \
|
|
|
|
|
libXScrnSaver-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
openal-soft-devel \
|
|
|
|
|
openssl-devel \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
opus-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
qrencode-devel \
|
2019-08-28 05:50:06 +08:00
|
|
|
|
qt5-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
qt5-linguist \
|
|
|
|
|
qt5-qtsvg \
|
|
|
|
|
qt5-qtsvg-devel \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
qt-creator \
|
|
|
|
|
qt-doc \
|
2019-08-28 05:50:06 +08:00
|
|
|
|
qtsingleapplication-qt5 \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
sqlcipher \
|
|
|
|
|
sqlcipher-devel
|
2016-11-29 08:05:16 +08:00
|
|
|
|
```
|
2014-09-03 20:22:00 +08:00
|
|
|
|
|
2016-11-29 08:05:16 +08:00
|
|
|
|
**Go to [sqlcipher](#sqlcipher) section to compile it if necessary.**
|
2016-01-16 00:49:54 +08:00
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="opensuse-other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### openSUSE
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
2015-05-10 05:37:56 +08:00
|
|
|
|
```bash
|
2017-03-24 01:21:32 +08:00
|
|
|
|
sudo zypper install \
|
2017-09-12 07:55:13 +08:00
|
|
|
|
libexif-devel \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libffmpeg-devel \
|
|
|
|
|
libopus-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
libQt5Concurrent-devel \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libqt5-linguist \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
libQt5Network-devel \
|
|
|
|
|
libQt5OpenGL-devel \
|
|
|
|
|
libqt5-qtbase-common-devel \
|
|
|
|
|
libqt5-qtsvg-devel \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libQt5Xml-devel \
|
|
|
|
|
libsodium-devel \
|
|
|
|
|
libvpx-devel \
|
|
|
|
|
libXScrnSaver-devel \
|
2017-03-24 01:21:32 +08:00
|
|
|
|
openal-soft-devel \
|
|
|
|
|
patterns-openSUSE-devel_basis \
|
|
|
|
|
qrencode-devel \
|
2018-05-19 05:06:19 +08:00
|
|
|
|
sqlcipher-devel \
|
|
|
|
|
sonnet-devel
|
2015-05-10 05:37:56 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
<a name="slackware-other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Slackware
|
2014-12-05 22:16:04 +08:00
|
|
|
|
|
2018-06-24 00:11:41 +08:00
|
|
|
|
List of all the toxcore dependencies and their SlackBuilds can be found
|
|
|
|
|
here: http://slackbuilds.org/repository/14.2/network/toxcore/
|
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
List of all the qTox dependencies and their SlackBuilds can be found here:
|
2017-05-14 04:40:36 +08:00
|
|
|
|
http://slackbuilds.org/repository/14.2/network/qTox/
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
|
<a name="ubuntu-other-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
#### Ubuntu >=15.04
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
|
```bash
|
2017-01-28 11:31:46 +08:00
|
|
|
|
sudo apt-get install \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
automake \
|
|
|
|
|
autotools-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
build-essential cmake \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
check \
|
|
|
|
|
checkinstall \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libavcodec-ffmpeg-dev \
|
|
|
|
|
libavdevice-ffmpeg-dev \
|
|
|
|
|
libavfilter-ffmpeg-dev \
|
|
|
|
|
libavutil-ffmpeg-dev \
|
2017-09-12 07:55:13 +08:00
|
|
|
|
libexif-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libgdk-pixbuf2.0-dev \
|
|
|
|
|
libglib2.0-dev \
|
|
|
|
|
libgtk2.0-dev \
|
2018-05-19 05:06:19 +08:00
|
|
|
|
libkdeui5 \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libopenal-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libopus-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libqrencode-dev \
|
|
|
|
|
libqt5opengl5-dev \
|
|
|
|
|
libqt5svg5-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libsodium-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libsqlcipher-dev \
|
|
|
|
|
libswresample-ffmpeg-dev \
|
|
|
|
|
libswscale-ffmpeg-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libtool \
|
|
|
|
|
libvpx-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libxss-dev \
|
|
|
|
|
qrencode \
|
|
|
|
|
qt5-default \
|
|
|
|
|
qttools5-dev-tools
|
2015-10-23 05:24:06 +08:00
|
|
|
|
```
|
|
|
|
|
|
2016-04-16 02:24:51 +08:00
|
|
|
|
<a name="ubuntu-other-1604-deps" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-16 02:24:51 +08:00
|
|
|
|
#### Ubuntu >=16.04:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-16 02:24:51 +08:00
|
|
|
|
```bash
|
2017-01-28 11:31:46 +08:00
|
|
|
|
sudo apt-get install \
|
|
|
|
|
build-essential \
|
|
|
|
|
cmake \
|
|
|
|
|
libavcodec-dev \
|
|
|
|
|
libavdevice-dev \
|
|
|
|
|
libavfilter-dev \
|
|
|
|
|
libavutil-dev \
|
2017-09-12 07:55:13 +08:00
|
|
|
|
libexif-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libgdk-pixbuf2.0-dev \
|
|
|
|
|
libglib2.0-dev \
|
|
|
|
|
libgtk2.0-dev \
|
2018-05-19 05:06:19 +08:00
|
|
|
|
libkdeui5 \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libopenal-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libopus-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libqrencode-dev \
|
|
|
|
|
libqt5opengl5-dev \
|
|
|
|
|
libqt5svg5-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libsodium-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libsqlcipher-dev \
|
|
|
|
|
libswresample-dev \
|
|
|
|
|
libswscale-dev \
|
2018-06-24 00:11:41 +08:00
|
|
|
|
libvpx-dev \
|
2017-01-28 11:31:46 +08:00
|
|
|
|
libxss-dev \
|
|
|
|
|
qrencode \
|
|
|
|
|
qt5-default \
|
2018-02-21 21:24:35 +08:00
|
|
|
|
qttools5-dev-tools \
|
|
|
|
|
qttools5-dev
|
2016-04-16 02:24:51 +08:00
|
|
|
|
```
|
2015-10-23 05:24:06 +08:00
|
|
|
|
|
2016-01-02 04:49:12 +08:00
|
|
|
|
### sqlcipher
|
|
|
|
|
|
2016-11-29 08:05:16 +08:00
|
|
|
|
If you are not using an old version of Fedora, skip this section, and go
|
|
|
|
|
directly to compiling
|
2017-09-24 21:26:58 +08:00
|
|
|
|
[**toxcore**](#compile-toxcore).
|
2016-01-02 04:49:12 +08:00
|
|
|
|
|
2016-04-22 05:15:55 +08:00
|
|
|
|
```bash
|
2016-02-26 08:38:25 +08:00
|
|
|
|
git clone https://github.com/sqlcipher/sqlcipher
|
|
|
|
|
cd sqlcipher
|
|
|
|
|
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
|
2016-02-22 18:48:55 +08:00
|
|
|
|
LDFLAGS="-lcrypto"
|
2016-02-26 08:38:25 +08:00
|
|
|
|
make
|
|
|
|
|
sudo make install
|
2016-02-22 18:48:55 +08:00
|
|
|
|
cd ..
|
2016-02-26 08:38:25 +08:00
|
|
|
|
```
|
2015-10-23 17:47:17 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
### Compile toxcore
|
2015-07-06 03:14:37 +08:00
|
|
|
|
|
2018-06-24 00:11:41 +08:00
|
|
|
|
Normally you don't want to do that, `bootstrap.sh` will do it for you.
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
Provided that you have all required dependencies installed, you can simply run:
|
2016-12-31 18:53:04 +08:00
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
```bash
|
2016-09-25 05:17:45 +08:00
|
|
|
|
git clone https://github.com/toktok/c-toxcore.git toxcore
|
2015-08-25 00:06:51 +08:00
|
|
|
|
cd toxcore
|
2019-06-27 14:05:12 +08:00
|
|
|
|
git checkout v0.2.10
|
2018-05-11 03:45:08 +08:00
|
|
|
|
cmake .
|
2015-08-25 00:06:51 +08:00
|
|
|
|
make -j$(nproc)
|
|
|
|
|
sudo make install
|
2018-09-30 00:39:51 +08:00
|
|
|
|
|
|
|
|
|
# we don't know what whether user runs 64 or 32 bits, and on some distros
|
|
|
|
|
# (Fedora, openSUSE) lib/ doesn't link to lib64/, so add both
|
|
|
|
|
echo '/usr/local/lib64/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
|
2015-08-25 00:06:51 +08:00
|
|
|
|
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
|
|
|
|
|
sudo ldconfig
|
2014-12-22 18:50:08 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
### Compile qTox
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
**Make sure that all the dependencies are installed.** If you experience
|
|
|
|
|
problems with compiling, it's most likely due to missing dependencies, so please
|
|
|
|
|
make sure that you did install *all of them*.
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
2017-06-18 15:24:45 +08:00
|
|
|
|
If you are compiling on Fedora 25, you must add libtoxcore to the
|
|
|
|
|
`PKG_CONFIG_PATH` environment variable manually:
|
|
|
|
|
|
|
|
|
|
```
|
2018-09-30 00:39:51 +08:00
|
|
|
|
# we don't know what whether user runs 64 or 32 bits, and on some distros
|
|
|
|
|
# (Fedora, openSUSE) lib/ doesn't link to lib64/, so add both
|
|
|
|
|
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig"
|
2017-06-18 15:24:45 +08:00
|
|
|
|
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"
|
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
Run in qTox directory to compile:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2014-09-27 06:11:13 +08:00
|
|
|
|
```bash
|
2017-01-25 05:21:08 +08:00
|
|
|
|
cmake .
|
2018-05-11 03:45:08 +08:00
|
|
|
|
make -j$(nproc)
|
2014-09-27 06:11:13 +08:00
|
|
|
|
```
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
Now you can start compiled qTox with `./qtox`
|
|
|
|
|
|
|
|
|
|
Congratulations, you've compiled qTox `:)`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Debian / Ubuntu / Mint
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
If the compiling process stops with a missing dependency like:
|
|
|
|
|
`... libswscale/swscale.h missing` try:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-22 05:15:55 +08:00
|
|
|
|
```bash
|
2015-06-13 15:04:21 +08:00
|
|
|
|
apt-file search libswscale/swscale.h
|
|
|
|
|
```
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-06-13 15:04:21 +08:00
|
|
|
|
And install the package that provides the missing file.
|
2016-04-10 06:26:26 +08:00
|
|
|
|
Start make again. Repeat if necessary until all dependencies are installed. If
|
2016-04-10 05:47:39 +08:00
|
|
|
|
you can, please note down all additional dependencies you had to install that
|
|
|
|
|
aren't listed here, and let us know what is missing `;)`
|
2015-06-13 15:04:21 +08:00
|
|
|
|
|
|
|
|
|
|
2017-03-24 01:21:32 +08:00
|
|
|
|
---
|
2015-06-13 15:04:21 +08:00
|
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
|
### Building packages
|
2014-09-08 06:59:31 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
Alternately, qTox now has the experimental and probably-dodgy ability to package
|
2016-04-10 06:26:26 +08:00
|
|
|
|
itself (in `.deb` form natively, and `.rpm` form with
|
|
|
|
|
[alien](http://joeyh.name/code/alien/)).
|
2014-09-08 06:59:31 +08:00
|
|
|
|
|
|
|
|
|
After installing the required dependencies, run `bootstrap.sh` and then run the
|
2016-04-10 05:47:39 +08:00
|
|
|
|
`buildPackages.sh` script, found in the tools folder. It will automatically get
|
2016-04-10 06:26:26 +08:00
|
|
|
|
the packages necessary for building `.deb`s, so be prepared to type your
|
|
|
|
|
password for sudo.
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2019-03-17 21:47:00 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### Security hardening with AppArmor
|
|
|
|
|
|
|
|
|
|
See [AppArmor] to enable confinement for increased security.
|
|
|
|
|
|
2019-09-17 10:09:01 +08:00
|
|
|
|
## BSD
|
|
|
|
|
|
|
|
|
|
<a name="freebsd-easy" />
|
|
|
|
|
|
|
|
|
|
#### FreeBSD
|
|
|
|
|
|
|
|
|
|
qTox is available as a binary package. To install the qTox package:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
pkg install qTox
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The qTox port is also available at ``net-im/qTox``. To build and install qTox
|
|
|
|
|
from sources using the port:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd /usr/ports/net-im/qTox
|
|
|
|
|
make install clean
|
|
|
|
|
```
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2014-10-01 04:51:03 +08:00
|
|
|
|
<a name="osx" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
|
## OS X
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2018-10-22 04:55:19 +08:00
|
|
|
|
Supported OS X versions: >=10.8. (NOTE: only 10.12 is tested during CI)
|
2016-12-08 23:36:47 +08:00
|
|
|
|
|
2018-10-22 04:55:19 +08:00
|
|
|
|
Compiling qTox on OS X for development requires 2 tools:
|
|
|
|
|
[Xcode](https://developer.apple.com/xcode/) and [homebrew](https://brew.sh).
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
### Automated Script
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
You can now set up your OS X system to compile qTox automatically thanks to the
|
|
|
|
|
script in: `./osx/qTox-Mac-Deployer-ULTIMATE.sh`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
This script can be run independently of the qTox repo and is all that's needed
|
|
|
|
|
to build from scratch on OS X.
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
To use this script you must launch terminal which can be found:
|
|
|
|
|
`Applications > Utilities > Terminal.app`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2016-02-01 00:32:24 +08:00
|
|
|
|
If you wish to lean more you can run `./qTox-Mac-Deployer-ULTIMATE.sh -h`
|
|
|
|
|
|
2016-12-08 00:10:54 +08:00
|
|
|
|
Note that the script will revert any non-committed changes to qTox repository
|
|
|
|
|
during the `update` phase.
|
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
#### First Run / Install
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
If you are running the script for the first time you will want to make sure your
|
2016-04-10 05:47:39 +08:00
|
|
|
|
system is ready. To do this simply run `./qTox-Mac-Deployer-ULTIMATE.sh -i` to
|
|
|
|
|
run you through the automated install set up.
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
After running the installation setup you are now ready to build qTox from
|
|
|
|
|
source, to do this simply run: `./qTox-Mac-Deployer-ULTIMATE.sh -b`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
If there aren't any errors then you'll find a locally working qTox application
|
|
|
|
|
in your home folder under `~/qTox-Mac_Build`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
|
|
|
|
#### Updating
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
If you want to update your application for testing purposes or you want to run a
|
|
|
|
|
nightly build setup then run: `./qTox-Mac-Deployer-ULTIMATE.sh -u` and follow
|
|
|
|
|
the prompts. (NOTE: If you know you updated the repos before running this hit Y)
|
|
|
|
|
followed by `./qTox-Mac-Deployer-ULTIMATE.sh -b` to build the application once
|
|
|
|
|
more. (NOTE: This will delete your previous build.)
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
|
|
|
|
#### Deploying
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
OS X requires an extra step to make the `qTox.app` file shareable on a system
|
|
|
|
|
that doesn't have the required libraries installed already.
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
If you want to share the build you've made with your other friends who use OS X
|
|
|
|
|
then simply run: `./qTox-Mac-Deployer-ULTIMATE.sh -d`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
|
|
|
|
### Manual Compiling
|
|
|
|
|
#### Required Libraries
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
Install homebrew if you don't have it:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
```bash
|
|
|
|
|
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
First, let's install the dependencies available via `brew`.
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
|
brew install git ffmpeg qrencode libtool automake autoconf check qt5 libvpx \
|
|
|
|
|
opus sqlcipher libsodium
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
Next, install
|
2016-09-25 05:17:45 +08:00
|
|
|
|
[toxcore](https://github.com/toktok/c-toxcore/blob/master/INSTALL.md#osx)
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
Then, clone qTox:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```bash
|
2016-08-04 15:57:18 +08:00
|
|
|
|
git clone https://github.com/qTox/qTox
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
Finally, copy all required files. Whenever you update your brew packages, you
|
|
|
|
|
may skip all of the above steps and simply run the following commands:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```bash
|
2016-02-01 00:27:00 +08:00
|
|
|
|
cd ./git/qTox
|
2015-07-09 02:24:20 +08:00
|
|
|
|
sudo bash bootstrap-osx.sh
|
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
#### Compiling
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
You can build qTox with Qt Creator
|
2017-01-25 05:21:08 +08:00
|
|
|
|
[seperate download](http://www.qt.io/download-open-source/#section-6) or
|
|
|
|
|
manually with cmake
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
With that; in your terminal you can compile qTox in the git dir:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```bash
|
2017-01-25 05:21:08 +08:00
|
|
|
|
cmake .
|
|
|
|
|
make
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
Or a cleaner method would be to:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
```bash
|
|
|
|
|
cd ./git/dir/qTox
|
|
|
|
|
mkdir ./build
|
|
|
|
|
cd build
|
2017-01-25 05:21:08 +08:00
|
|
|
|
cmake ..
|
2016-02-01 00:27:00 +08:00
|
|
|
|
```
|
2015-03-05 00:59:55 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
#### Deploying
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
If you compiled qTox properly you can now deploy the `qTox.app` that's created
|
|
|
|
|
where you built qTox so you can distribute the package.
|
2015-03-05 00:59:55 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
Using your qt5 homebrew installation from the build directory:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```bash
|
2016-02-01 00:27:00 +08:00
|
|
|
|
/usr/local/Cellar/qt5/5.5.1_2/bin/macdeployqt ./qTox.app
|
2014-09-27 06:04:01 +08:00
|
|
|
|
```
|
2015-07-09 02:24:20 +08:00
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
|
#### Running qTox
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
You've got 2 choices, either click on the qTox app that suddenly exists, or do
|
|
|
|
|
the following:
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
|
```bash
|
|
|
|
|
qtox.app/Contents/MacOS/qtox
|
|
|
|
|
```
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
Enjoy the snazzy CLI output as your friends and family congratulate you on
|
|
|
|
|
becoming a hacker
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
|
|
|
|
<a name="windows" />
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
|
## Windows
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
### Cross-compile from Linux
|
|
|
|
|
|
|
|
|
|
See [`windows/cross-compile`](windows/cross-compile).
|
|
|
|
|
|
|
|
|
|
### Native
|
|
|
|
|
|
|
|
|
|
#### Qt
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
Download the Qt online installer for Windows from
|
2016-04-17 19:47:15 +08:00
|
|
|
|
[qt.io](https://www.qt.io/download-open-source/). While installation you have
|
2016-04-10 05:47:39 +08:00
|
|
|
|
to assemble your Qt toolchain. Take the most recent version of Qt compiled with
|
|
|
|
|
MinGW. Although the installer provides its own bundled MinGW compiler toolchain
|
|
|
|
|
its recommend installing it separately because Qt is missing MSYS which is
|
2016-04-16 12:49:12 +08:00
|
|
|
|
needed to compile and install OpenAL. Thus you can - if needed - deselect the
|
|
|
|
|
tab `Tools`. The following steps assume that Qt is installed at `C:\Qt`. If you
|
|
|
|
|
decided to choose another location, replace corresponding parts.
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
#### MinGW
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
Download the MinGW installer for Windows from
|
|
|
|
|
[sourceforge.net](http://sourceforge.net/projects/mingw/files/Installer/). Make
|
|
|
|
|
sure to install MSYS (a set of Unix tools for Windows). The following steps
|
2016-04-10 06:26:26 +08:00
|
|
|
|
assume that MinGW is installed at `C:\MinGW`. If you decided to choose another
|
2018-06-27 06:29:48 +08:00
|
|
|
|
location, replace corresponding parts. Select `mingw-developer-toolkit`,
|
|
|
|
|
`mingw32-base`, `mingw32-gcc-g++`, `msys-base` and `mingw32-pthreads-w32`
|
|
|
|
|
packages using MinGW Installation Manager (`mingw-get.exe`). Check that the
|
2016-04-25 01:40:48 +08:00
|
|
|
|
version of MinGW, corresponds to the version of the QT component!
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
#### Wget
|
2016-04-21 14:21:21 +08:00
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
|
Download the Wget installer for Windows from
|
2016-04-10 05:47:39 +08:00
|
|
|
|
http://gnuwin32.sourceforge.net/packages/wget.htm. Install them. The following
|
2017-03-28 08:36:55 +08:00
|
|
|
|
steps assume that Wget is installed at `C:\Program Files (x86)\GnuWin32\`. If you
|
2016-04-10 05:47:39 +08:00
|
|
|
|
decided to choose another location, replace corresponding parts.
|
2015-03-20 06:11:32 +08:00
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
#### UnZip
|
2016-04-21 14:21:21 +08:00
|
|
|
|
|
|
|
|
|
Download the UnZip installer for Windows from
|
|
|
|
|
http://gnuwin32.sourceforge.net/packages/unzip.htm. Install it. The following
|
2017-03-28 08:36:55 +08:00
|
|
|
|
steps assume that UnZip is installed at `C:\Program Files (x86)\GnuWin32\`. If you
|
2016-04-21 14:21:21 +08:00
|
|
|
|
decided to choose another location, replace corresponding parts.
|
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
#### Setting up Path
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
|
Add MinGW/MSYS/CMake binaries to the system path to make them globally
|
2016-04-10 06:26:26 +08:00
|
|
|
|
accessible. Open `Control Panel` -> `System and Security` -> `System` ->
|
|
|
|
|
`Advanced system settings` -> `Environment Variables...` (or run `sysdm.cpl`
|
|
|
|
|
select tab `Advanced system settings` -> button `Environment Variables`). In the
|
|
|
|
|
second box search for the `PATH` variable and press `Edit...`. The input box
|
|
|
|
|
`Variable value:` should already contain some directories. Each directory is
|
2016-04-10 05:47:39 +08:00
|
|
|
|
separated with a semicolon. Extend the input box by adding
|
2017-03-28 08:36:55 +08:00
|
|
|
|
`;C:\MinGW\bin;C:\MinGW\msys\1.0\bin;C:\Program Files (x86)\CMake 2.8\bin;C:\Program Files (x86)\GnuWin32\bin`.
|
2016-04-10 05:47:39 +08:00
|
|
|
|
The very first semicolon must only be added if it is missing. CMake may be added
|
2018-06-27 06:29:48 +08:00
|
|
|
|
by installer automatically. Make sure that paths containing alternative `sh`,
|
2016-09-18 21:41:57 +08:00
|
|
|
|
`bash` implementations such as `C:\Program Files\OpenSSH\bin` are at the end of
|
|
|
|
|
`PATH` or build may fail.
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
#### Cloning the Repository
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2017-03-28 08:36:55 +08:00
|
|
|
|
Clone the repository (https://github.com/qTox/qTox.git) with your preferred Git
|
|
|
|
|
client. [SmartGit](http://www.syntevo.com/smartgit/) or
|
|
|
|
|
[TorteiseGit](https://tortoisegit.org) are both very nice for this task
|
2017-03-28 23:59:06 +08:00
|
|
|
|
(you may need to add `git.exe` to your `PATH` system variable). The
|
2016-04-10 06:26:26 +08:00
|
|
|
|
following steps assume that you cloned the repository at `C:\qTox`. If you
|
2016-04-10 05:47:39 +08:00
|
|
|
|
decided to choose another location, replace corresponding parts.
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
2017-07-25 18:55:40 +08:00
|
|
|
|
#### Getting dependencies
|
2017-03-24 01:21:32 +08:00
|
|
|
|
|
2017-03-28 23:59:06 +08:00
|
|
|
|
Run `bootstrap.bat` in the previously cloned `C:\qTox` repository. The script will
|
|
|
|
|
download the other necessary dependencies, compile them and put them into their
|
|
|
|
|
appropriate directories.
|
2016-06-18 20:37:18 +08:00
|
|
|
|
|
2017-03-28 23:59:06 +08:00
|
|
|
|
Note that there have been detections of false positives by some anti virus software
|
|
|
|
|
in the past within some of the libraries used. Please refer to the wiki page
|
|
|
|
|
[problematic antiviruses](https://github.com/qTox/qTox/wiki/Problematic-antiviruses)
|
|
|
|
|
for more information if you run into troubles on that front.
|
2016-06-18 20:37:18 +08:00
|
|
|
|
|
2017-01-28 11:31:46 +08:00
|
|
|
|
## Compile-time switches
|
|
|
|
|
|
|
|
|
|
They are passed as an argument to `cmake` command. E.g. with a switch `SWITCH`
|
|
|
|
|
that has value `YES` it would be passed to `cmake` in a following manner:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cmake -DSWITCH=yes
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Switches:
|
|
|
|
|
|
|
|
|
|
- `SMILEYS`, values:
|
|
|
|
|
- if not defined or an unsupported value is passed, all emoticon packs are
|
|
|
|
|
included
|
|
|
|
|
- `DISABLED` – don't include any emoticon packs, custom ones are still loaded
|
|
|
|
|
- `MIN` – minimal support for emoticons, only a single emoticon pack is
|
|
|
|
|
included
|
|
|
|
|
|
|
|
|
|
|
2019-03-17 21:47:00 +08:00
|
|
|
|
[AppArmor]: /security/apparmor/README.md
|
2016-12-03 01:35:14 +08:00
|
|
|
|
[Atk]: https://wiki.gnome.org/Accessibility
|
|
|
|
|
[Cairo]: https://www.cairographics.org/
|
2017-03-31 19:37:50 +08:00
|
|
|
|
[Check]: https://libcheck.github.io/check/
|
2017-02-07 19:54:17 +08:00
|
|
|
|
[CMake]: https://cmake.org/
|
2016-12-03 01:35:14 +08:00
|
|
|
|
[DBus Menu]: https://launchpad.net/libdbusmenu
|
2016-12-06 07:54:16 +08:00
|
|
|
|
[FFmpeg]: https://www.ffmpeg.org/
|
|
|
|
|
[GCC]: https://gcc.gnu.org/
|
2016-12-03 01:35:14 +08:00
|
|
|
|
[GdkPixbuf]: https://developer.gnome.org/gdk-pixbuf/
|
|
|
|
|
[GLib]: https://wiki.gnome.org/Projects/GLib
|
|
|
|
|
[GTK+]: https://www.gtk.org/
|
|
|
|
|
[libappindicator]: https://launchpad.net/libappindicator
|
2016-12-06 07:54:16 +08:00
|
|
|
|
[libX11]: https://www.x.org/wiki/
|
|
|
|
|
[libXScrnSaver]: https://www.x.org/wiki/Releases/ModuleVersions/
|
|
|
|
|
[MinGW]: http://www.mingw.org/
|
|
|
|
|
[OpenAL Soft]: http://kcat.strangesoft.net/openal.html
|
2016-12-03 01:35:14 +08:00
|
|
|
|
[Pango]: http://www.pango.org/
|
2016-12-06 07:54:16 +08:00
|
|
|
|
[pkg-config]: https://www.freedesktop.org/wiki/Software/pkg-config/
|
|
|
|
|
[qrencode]: https://fukuchi.org/works/qrencode/
|
|
|
|
|
[Qt]: https://www.qt.io/
|
|
|
|
|
[sqlcipher]: https://www.zetetic.net/sqlcipher/
|
2016-09-25 05:17:45 +08:00
|
|
|
|
[toxcore]: https://github.com/TokTok/c-toxcore/
|
2017-06-12 17:44:28 +08:00
|
|
|
|
[filteraudio]: https://github.com/irungentoo/filter_audio
|
2018-05-19 05:06:19 +08:00
|
|
|
|
[sonnet]: https://github.com/KDE/sonnet
|
2018-07-12 02:55:16 +08:00
|
|
|
|
[snorenotify]: https://techbase.kde.org/Projects/Snorenotify
|