Go to file
2019-09-11 16:01:37 -04:00
src Support inline HTML/links for room topic 2019-09-11 16:01:37 -04:00
submodules Big performance refactoring & various improvements 2019-08-11 08:27:53 -04:00
.gitignore gitignore tags 2019-09-04 08:27:45 -04:00
.gitmodules Big performance refactoring & various improvements 2019-08-11 08:27:53 -04:00
COPYING Initial commit 2019-03-21 23:28:14 -04:00
COPYING.LESSER Start rewriting backend with pyotherside+asyncio 2019-06-27 02:31:03 -04:00
harmonyqml.pro Merge no_embedded and dev qmake CONFIG flags 2019-09-10 20:48:50 -04:00
live-reload.sh Merge no_embedded and dev qmake CONFIG flags 2019-09-10 20:48:50 -04:00
README.md Make uvloop dependency optional 2019-08-30 20:24:13 -04:00
TESTS.md Fix file names to respect conventions 2019-07-17 13:40:28 -04:00
TODO.md Support inline HTML/links for room topic 2019-09-11 16:01:37 -04:00

harmonyqml

Dependencies setup

From your distribution's package manager, install:

Qt 5.12+, including:

  • qt5-declarative-devel

  • qt5-quickcontrols

  • qt5-quickcontrols2-devel

  • qt5-svg-devel

  • qt5-graphicaleffects

  • qt5-qmake

  • qt5-devel

  • python3

  • python3-devel

  • olm-python3 >= 3.1

Make sure that the right version of Qt is selected and compiler flags are
correctly set:

export QT_SELECT=5
export CFLAGS="-march=native -O2 -pipe"
export CXXFLAGS="$CFLAGS"
export MAKEFLAGS="$(nproc)"

Install pyotherside:

git clone https://github.com/thp/pyotherside
cd pyotherside
qmake && make && sudo make install

After this, verify the permissions of the installed plugin files.
To ensure that they're correctly set:

sudo chmod -R 755 /usr/lib/qt5/qml/io
sudo chmod 644 /usr/lib/qt5/qml/io/thp/pyotherside/*
sudo chmod 755 /usr/lib/qt5/qml/io/thp/pyotherside/*.so

Install the Python 3 dependencies from Pypi:

pip3 install --user --upgrade \
    Pillow aiofiles appdirs dataclasses filetype hsluv html_sanitizer \
    lxml mistune

Optional dependency for performance improvements:

pip3 install --user --upgrade uvloop

Install the Python 3 dependencies from Github:

matrix-nio:

git clone https://github.com/mirukan/matrix-nio
cd matrix-nio
pip3 install --user --upgrade -e '.[e2e]'

Building

git clone <TODO>
cd harmonyqml
qmake harmonyqml.pro && make && sudo make install

After this if no errors happened, run harmonyqml.

If you get a version mismatch error related to cffi, try:

pip3 install --user --upgrade --force-reinstall cffi