summaryrefslogtreecommitdiff
path: root/repo/nheko
diff options
context:
space:
mode:
Diffstat (limited to 'repo/nheko')
-rw-r--r--repo/nheko/nheko.xibuild40
-rw-r--r--repo/nheko/remove-fatal-secrets-error.patch43
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.