Go to file
2019-09-09 20:24:29 -04:00
src LeftBanner: use ForgotRoomPopup 2019-09-09 20:24:29 -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 Make qrc path aliases the same as filesystem ones 2019-09-06 15:07:19 -04:00
live-reload.sh live-reload.sh: run make clean first 2019-09-08 10:49:33 -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 LogoutPopup: implement export keys button callback 2019-09-09 14:49:54 -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