diff options
Diffstat (limited to 'repo/nheko')
-rw-r--r-- | repo/nheko/nheko.xibuild | 40 | ||||
-rw-r--r-- | repo/nheko/remove-fatal-secrets-error.patch | 43 |
2 files changed, 83 insertions, 0 deletions
diff --git a/repo/nheko/nheko.xibuild b/repo/nheko/nheko.xibuild new file mode 100644 index 0000000..63396fe --- /dev/null +++ b/repo/nheko/nheko.xibuild @@ -0,0 +1,40 @@ +#!/bin/sh + +NAME="nheko" +DESC="Qt5-based client for Matrix protocol" + +MAKEDEPS=" asciidoctor cmake ninja boost lmdb lmdbxx tweeny qt5-qtbase qt5-qttools qt5-qtmultimedia qt5-qtsvg qt5-qtdeclarative qt5-qtquickcontrols2 qt5-qtkeychain zlib openssl olm nlohmann-json cmark spdlog mtxclient gst-plugins-base gst-plugins-bad xcb-util-wm gstreamer libevent fmt coeurl" +DEPS="qt5-qtgraphicaleffects qt5-qtbase qt5-qtmultimedia qt5-qtkeychain qt5-qtsvg" + +PKG_VER=0.9.3 +SOURCE="https://github.com/Nheko-Reborn/nheko/archive/v$PKG_VER.tar.gz" + +ADDITIONAL="remove-fatal-secrets-error.patch" + +prepare() { + apply_patches + + sed -e '/-Wall/d' \ + -e '/-Wextra/d' \ + -e '/-Werror/d' \ + -e '/-pedantic/d' \ + -e '/-pipe/d' \ + -i CMakeLists.txt +} + +build() { + cmake -B build \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_SKIP_RPATH=True \ + -DCMAKE_BUILD_TYPE=None \ + . + ninja -C build +} + +package() { + DESTDIR="$PKG_DEST" ninja -C build install +} + diff --git a/repo/nheko/remove-fatal-secrets-error.patch b/repo/nheko/remove-fatal-secrets-error.patch new file mode 100644 index 0000000..3db84bd --- /dev/null +++ b/repo/nheko/remove-fatal-secrets-error.patch @@ -0,0 +1,43 @@ +--- a/src/Cache.cpp 2022-06-05 16:42:28.397722089 +0100 ++++ b/src/Cache.cpp 2022-06-05 16:41:12.208727406 +0100 +@@ -328,24 +328,6 @@ + }); + } + +-static void +-fatalSecretError() +-{ +- QMessageBox::critical( +- nullptr, +- QCoreApplication::translate("SecretStorage", "Failed to connect to secret storage"), +- QCoreApplication::translate( +- "SecretStorage", +- "Nheko could not connect to the secure storage to save encryption secrets to. This can " +- "have multiple reasons. Check if your D-Bus service is running and you have configured a " +- "service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If " +- "you are having trouble, feel free to open an issue here: " +- "https://github.com/Nheko-Reborn/nheko/issues")); +- +- QCoreApplication::exit(1); +- exit(1); +-} +- + static QString + secretName(std::string name, bool internal) + { +@@ -406,7 +388,6 @@ + job->error(), + job->errorString().toStdString()); + +- fatalSecretError(); + } + if (secret.isEmpty()) { + nhlog::db()->debug("Restored empty secret '{}'.", name.toStdString()); +@@ -472,7 +453,6 @@ + if (job->error()) { + nhlog::db()->warn( + "Storing secret '{}' failed: {}", name_, job->errorString().toStdString()); +- fatalSecretError(); + } else { + // if we emit the signal directly, qtkeychain breaks and won't execute new + // jobs. You can't start a job from the finish signal of a job. |