From 23db284b8d16f3d313fea397af52948abeba58a9 Mon Sep 17 00:00:00 2001 From: miruka Date: Fri, 20 Mar 2020 14:11:47 -0400 Subject: [PATCH] Add building instructions for Gentoo --- INSTALL.md | 36 ++++++++++++++++++++++++++++++++++-- TODO.md | 17 +++++++++++------ 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 8117281b..b9450982 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -11,6 +11,7 @@ but compiling on Windows and macOS should be possible with the right tools. - [Alpine Linux 3.9+ / apk](#alpine-linux-39--apk) - [Arch Linux / pacman & AUR](#arch-linux--pacman--aur) - [Fedora 30+ / dnf](#fedora-30--dnf) + - [Gentoo / emerge](#gentoo--emerge) - [Ubuntu 19.04 / apt](#ubuntu-1904--apt) - [Ubuntu 19.10+, Debian bullseye / apt](#ubuntu-1910-debian-bullseye--apt) - [Void Linux / xbps](#void-linux--xbps) @@ -50,8 +51,22 @@ properties and double-click to launch. ## Manual Installation -Qt 5.12+, Python 3.6+ (with development headers and pip), -PyOtherSide 1.5+ and libolm 3+ are required. +**Qt 5.12+**, **Python 3.6+** (with **pip** to install packages from the +[requirements.txt](requirements.txt)), **PyOtherSide 1.5+** and +**libolm 3+** are required. +The equivalent `-dev` or `-devel` packages are needed, if your distro +splits development headers into their own packages. + +For the Pillow Python package, these dependencies are recommended to support +all common image formats: + +- **libjpeg-turbo** +- **zlib** +- **libtiff** +- **libwebp** +- **openjpeg2** + +**libmediainfo** is also required for the pymediainfo package. ### Environment Variables @@ -77,6 +92,7 @@ sudo apk add qt5-qtquickcontrols2-dev qt5-qtsvg-dev qt5-qtimageformats \ build-base git cmake \ libjpeg-turbo-dev zlib-dev tiff-dev libwebp-dev openjpeg-dev \ libmediainfo-dev + export PATH="/usr/lib/qt5/bin:$PATH" ``` @@ -110,9 +126,25 @@ sudo dnf install qt5-devel qt5-qtbase qt5-qtdeclarative qt5-qtquickcontrols2 \ git cmake \ libjpeg-turbo-devel zlib-devel libtiff-devel libwebp-devel \ openjpeg2-devel libmediainfo-devel + sudo ln -s /usr/bin/qmake-qt5 /usr/bin/qmake ``` +#### Gentoo / emerge + +[libolm](#installing-libolm-manually) must be manually installed. + +You might need to prepend the `emerge` command with `USE=bindist`, +if `emerge` says so. + +```sh +sudo emerge -av qtcore qtdeclarative qtquickcontrols2 \ + qtsvg qtgraphicaleffects qtimageformats \ + dev-python/pip pyotherside \ + dev-vcs/git cmake \ + libjpeg-turbo zlib tiff libwebp openjpeg libmediainfo +``` + #### Ubuntu 19.04 / apt [libolm](#installing-libolm-manually) must be manually installed. diff --git a/TODO.md b/TODO.md index 4d52884a..3c0bc44a 100644 --- a/TODO.md +++ b/TODO.md @@ -2,12 +2,17 @@ ## Before release -- Add Gentoo instructions -- Build final AppImage and test media opening +- Build final AppImage + +## Main goals for next version + +- Redacting messages +- Download progress bar for file events, "Save as..." +- Make rooms fully manageable within Mirage: settings, permissions, kick, etc ## Refactoring -- Rewrite the message selection buggy mess +- Rewrite the message text selection buggy mess - Put keybindings in the components they belong to instead of shoving them all in one central file @@ -22,7 +27,8 @@ - Make sure we don't store any state in delegates -- Drop the `buttonModel`/`buttonCallbacks` `HBox` approach, be more declarative +- Drop the `HBox` `buttonModel`/`buttonCallbacks` `HBox` approach, + be more declarative ## Issues @@ -30,8 +36,6 @@ - Popups and room settings can't be scrolled when not enough height to show all -- `Timer` and `Animation` are bound to framerate - - Handle cases where a known account's access token is invalid - If an account is gone from the user's config, discard UI state last page @@ -43,6 +47,7 @@ - `code` and links in quote ("> http://example.com") aren't properly colored in room "last message" subtitle +- `Timer` and `Animation` are bound to framerate - Terrible performance using `QT_QPA_PLATFORM=wayland-egl`, must use `xcb` - Can't use `QQmlApplicationEngine`, problem with QApplication? See https://bugreports.qt.io/browse/QTBUG-50992