====== Psi+ on Debian Linux ======
В debian testing и sid, а также в ubuntu пакеты находятся в официальном репозитории.
sudo apt-get install psi-plus psi-plus-plugins psi-plus-icons psi-plus-skins
===== Сборка пакета на Debian-based системах =====
В [[https://launchpad.net/~psi-plus/+archive/ppa|репозитории]] есть пакеты для Ubuntu, которые обновляются каждую ночь.
(при наличии обновлений в репозитории psi+)
Если по какой-то причине вас не устраивает периодичность обновления или вы используете другой Debian-based дистрибутив,
то вы можете собирать свои версии пакетов.
Скачайте source пакеты psi-plus и psi-plus-icons последней версии и распакуйте их в произвольном каталоге.
Из debian/scripts возьмите скрипты и положите их в тот-же каталог.
Вам потребуется исправить скрипт newBuild.sh
Укажите свои email и имя для подписи пакетов, а так-же другие опции
LAST_DEB=5125-19
LAST_DEB_RES=5004
исправьте на скаченную ревизию - на основе этого пакета будут собираться новые, если вам нужно что-то исправить кроме версии,
то исправьте, соберите новую версию и смените номер в скрипте.
Ревизия генерируется по формуле "5000 + номер ревизи"-"ревизия плагинов"
При запуске скрипта он скачивает исходные коды и проверяет версию из svn, если она больше последней собранной,
то собирается новый пакет. При изменении в папке иконок так-же собирается новый пакет с иконками - они меняются относительно редко.
Если у вас что-то не собрирается или собирается с ошибками, то проверьте наличие обновлений в ppa и используйте как базовую последнюю версию из ppa.
==== Что может понадобиться и как собирать? ====
В вашей системе может не быть **libqca-qt5** и **Qt>=5.6.0**. В случае отсутствия -- их необходимо установить до начала сборки.
Установка пакетов для сборки Psi+. Устанавливаются один раз при первой сборке:
sudo apt-get install git-core cmake libhunspell-dev libidn11-dev libminizip-dev libotr5-dev libqca-qt5-2-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev libsignal-protocol-c-dev libsm-dev libssl-dev libtidy-dev libxss-dev qt5keychain-dev qtmultimedia5-dev zlib1g-dev libusrsctp-dev
Удаляем существующий каталог для сборки "начисто":
cd ~
rm -rf psi-plus-snapshots/build
Скачиваем исходники Psi и субмодули из git:
git clone https://github.com/psi-plus/psi-plus-snapshots.git
cd psi-plus-snapshots
Полученную директорию можно сохранить, и потом, выполнив в ней команды, получить актуальную версию Psi+:
git pull
Cобираем Psi+ и устанавливаем (привилегии root понадобятся для установки):
mkdir -p ~/psi-plus-snapshots/build
cd ~/psi-plus-snapshots/build
cmake -DCHAT_TYPE=basic -DENABLE_PLUGINS=ON -DBUNDLED_IRIS=ON -S ../
cmake --build . --target all
sudo cmake --build . --target install
Данные команды соберут обычную не-вебкит версию Psi+ со всеми плагинами, если нужны функции вебкит / вебенжин версий, то вместо указанной команды нужно выполнить либо
cmake -DCHAT_TYPE=webkit -DENABLE_PLUGINS=ON ..
или
cmake -DCHAT_TYPE=webengine -DENABLE_PLUGINS=ON ..
**Внимание!!! Устанавливать программу в систему при помощи make install - плохая практика.**
Если вам нужно проверить работу клиента или работать без установки, то необходимо собирать следующим образом:
mkdir -p ~/psi-plus-snapshots/build
cd ~/psi-plus-snapshots/build
cmake -DCHAT_TYPE=basic -DENABLE_PLUGINS=ON -DDEV_MODE=ON ..
cmake --build . --target all
cmake --build . --target prepare-bin
cd psi
./psi-plus
При наличии многоядерного процессора можно ускорить сборку, для этого в команду сборки нужно добавить флаг --parallel КОЛИЧЕСТВО_ЯДЕР_ПРОЦЕССОРА, например:
cmake --build . --target all --parallel 5
Полный список флагов сборки Psi/Psi+ доступен [[https://github.com/psi-im/psi/blob/master/Readme-cmake-ru.txt|тут]]
==== Дополнения ====
Если необходимо установить дополнительные смайлы, иконки клиентов и настроений и/или русскую локализацию, то делаем следующее.
=== Смайлы, настроения и прочие иконпаки, а также скины, вебкит-темы и звуки ===
rm -rf ~/.local/share/psi+/iconsets
rm -rf ~/.local/share/psi+/skins
rm -rf ~/.local/share/psi+/sounds
rm -rf ~/.local/share/psi+/themes
git clone https://github.com/psi-im/resources.git ~/.local/share/psi+/
Предыдущая операция делается один раз, при первой сборке. Далее достаточно будет сделать:
cd ~/.local/share/psi+
git pull
=== Файлы локализации ===
cd ~
git clone https://github.com/psi-plus/psi-plus-l10n.git
cd psi-plus-l10n/translations
lrelease *.ts
mkdir -p ~/.local/share/psi+/translations
cp *.qm ~/.local/share/psi+/translations/
===== В заключении =====
Наслаждаемся ;-)