Package Details: nheko-git 0.9.3.r149.g537d363d-1

Git Clone URL: (read-only, click to copy)
Package Base: nheko-git
Description: Desktop client for the Matrix protocol
Upstream URL:
Keywords: chat matrix protocol qt
Licenses: GPL3
Conflicts: nheko
Provides: nheko
Submitter: mujx
Maintainer: mujx (redsky17)
Last Packager: redsky17
Votes: 28
Popularity: 1.59
First Submitted: 2017-05-09 19:19 (UTC)
Last Updated: 2022-05-29 03:22 (UTC)

Latest Comments

harmathy commented on 2022-08-07 08:59 (UTC)

Build fails for me with following error:

In file included from /usr/include/nlohmann/json.hpp:50,
                 from /data/shared/max/src/arch/aur/nheko-git/src/nheko-git/build/_deps/matrixclient-src/lib/structs/events/ephemeral/receipt.cpp:1:
/usr/include/nlohmann/detail/json_pointer.hpp: In instantiation of 'class nlohmann::json_v3_11_1::json_pointer<long unsigned int>':
/data/shared/max/src/arch/aur/nheko-git/src/nheko-git/build/_deps/matrixclient-src/lib/structs/events/ephemeral/receipt.cpp:24:55:   required from here
/usr/include/nlohmann/detail/json_pointer.hpp:116:19: error: 'nlohmann::json_v3_11_1::json_pointer<BasicJsonType>& nlohmann::json_v3_11_1::json_pointer<BasicJsonType>::operator/=(std::size_t) [with RefStringType = long unsigned int; std::size_t = long unsigned int]' cannot be overloaded with 'nlohmann::json_v3_11_1::json_pointer<BasicJsonType>& nlohmann::json_v3_11_1::json_pointer<BasicJsonType>::operator/=(string_t) [with RefStringType = long unsigned int; string_t = long unsigned int]'
  116 |     json_pointer& operator/=(std::size_t array_idx)
      |                   ^~~~~~~~
/usr/include/nlohmann/detail/json_pointer.hpp:108:19: note: previous declaration 'nlohmann::json_v3_11_1::json_pointer<BasicJsonType>& nlohmann::json_v3_11_1::json_pointer<BasicJsonType>::operator/=(string_t) [with RefStringType = long unsigned int; string_t = long unsigned int]'
  108 |     json_pointer& operator/=(string_t token)
      |                   ^~~~~~~~
/usr/include/nlohmann/detail/json_pointer.hpp:138:25: error: redefinition of 'nlohmann::json_v3_11_1::json_pointer<long unsigned int> nlohmann::json_v3_11_1::operator/(const json_pointer<long unsigned int>&, std::size_t)'
  138 |     friend json_pointer operator/(const json_pointer& lhs, std::size_t array_idx)
      |                         ^~~~~~~~
/usr/include/nlohmann/detail/json_pointer.hpp:131:25: note: 'nlohmann::json_v3_11_1::json_pointer<long unsigned int> nlohmann::json_v3_11_1::operator/(const json_pointer<long unsigned int>&, json_pointer<long unsigned int>::string_t)' previously declared here
  131 |     friend json_pointer operator/(const json_pointer& lhs, string_t token) // NOLINT(performance-unnecessary-value-param)
      |                         ^~~~~~~~

EndlessEden commented on 2022-05-29 01:22 (UTC) (edited on 2022-05-29 01:23 (UTC) by EndlessEden)

cannot build

a2x: ERROR: "xsltproc" --stringparam 0 --stringparam 0 --stringparam admon.textlabel 1 --stringparam 0 "/usr/lib/python3.10/site-packages/asciidoc/resources/docbook-xsl/manpage.xsl" "/tmp/nheko-git/src/nheko-git/build/man/nheko.1.xml" returned non-zero exit status 127

redsky17 commented on 2022-04-19 15:04 (UTC)

I've updated the package step to use the built desktop file instead of the (now non-existant) file in resources.

harmathy commented on 2022-04-19 11:22 (UTC)

Packaging fails, since XDG desktop file is generated during build. The solution is to copy it from the build directory:

From 768776c8a998de3733fab172f4044c47c62c46ca Mon Sep 17 00:00:00 2001
From: Max Harmathy <>
Date: Tue, 19 Apr 2022 13:17:56 +0200
Subject: [PATCH] Fix packaging of desktop file

 PKGBUILD | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/PKGBUILD b/PKGBUILD
index 7b8d41b..b266233 100644
@@ -48,7 +48,7 @@ package() {

     # Desktop launcher
     install -Dm644 "$srcdir/$pkgname/resources/nheko-256.png" "$pkgdir/usr/share/pixmaps/nheko.png"
-    install -Dm644 "$srcdir/$pkgname/resources/nheko.desktop" "$pkgdir/usr/share/applications/nheko.desktop"
+    install -Dm644 "$srcdir/$pkgname/build/resources/nheko.desktop" "$pkgdir/usr/share/applications/nheko.desktop"

     # Man entry
     install -Dm644 "$srcdir/$pkgname/build/man/nheko.1" "$pkgdir/usr/share/man/man1/nheko.1"

ISSOtm commented on 2022-02-25 23:02 (UTC)

Suggestion: -j4 for the build step, and -Wno-dev for the configure step? Ty!

dreieck commented on 2022-01-13 12:35 (UTC) (edited on 2022-01-13 12:35 (UTC) by dreieck)

I suggest adding =${pkgver} to the nheko provides-entry.

Thanks a lot for maintaining, by the way!

redsky17 commented on 2022-01-02 18:13 (UTC)

I've updated the package with a makedepends on asciidoc and have also updated the package() step to install the generated manpage. Sorry for the delay! I had family in town for the holidays.

J8-ET commented on 2021-12-28 21:04 (UTC) (edited on 2021-12-28 21:05 (UTC) by J8-ET)

@ISSOtm is correct, I also had to separately install asciidoc to build this package as it requires to have either asciidoc or asciidoctor to build.

ISSOtm commented on 2021-12-23 08:25 (UTC)

@dujemiha A recompile is required, yes:

ISSOtm commented on 2021-12-23 08:24 (UTC)

This seems to require asciidoc in the makedepends now.

redsky17 commented on 2021-12-21 20:51 (UTC)

@6543 I recommend making sure that your nheko-git directory is totally clean of anything that isn't part of the AUR package's files (run git status and check for any untracked files, for example). Delete those and try again.

6543 commented on 2021-12-02 15:59 (UTC)

==> Validating source files with md5sums...
    nheko-git ... Skipped
==> Extracting sources...
  -> Creating working copy of nheko-git git repo...
fatal: bad object refs/remotes/origin/flatpak-debug
error: /home/aur/nheko-git/nheko-git did not send all necessary objects

==> ERROR: Failure while updating working copy of nheko-git git repo

does anybody else have the same issue / know how to fix it?

dujemiha commented on 2021-10-04 07:52 (UTC)

Updating some dependencies such as cmark breaks my nheko with error messages such as "nheko: error while loading shared libraries: cannot open shared object file: No such file or directory" and requires a recompile to fix, could this be remedied in any way?

redsky17 commented on 2021-07-23 14:55 (UTC)


The only thing I can think of, is that CMAKE_CURRENT_SOURCE_DIR isn't set correctly when the mtxclient cmakelists.txt runs (and similarly for the nlohmann issue reported by @electricprism). (See here: I'm not a cmake expert by any means, so I'm not exactly sure why / how this would happen. If there's something we're doing incorrectly in the mtxclient CMakeLists.txt, I'd love to fix it!

Living commented on 2021-07-23 14:50 (UTC)

I get a similar error like electricprism:

-- Configuring done
CMake Error in CMakeLists.txt:
  Imported target "MatrixClient::MatrixClient" includes non-existent path


  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not

Any ideas how to fix that?

redsky17 commented on 2021-07-02 00:46 (UTC)

@SpacingBat3 - aarch64 is now in the architectures section. Thanks for verifying that for me =D. I had a feeling it worked since we do build for arm64 as part of our CI, but I never verified it for the arch build.

Also, for everyone's awareness, nheko (mtxclient, really) no longer depends on boost. Instead, Nico has created a wrapper library around curl (called coeurl). So the dependencies section has changed. You'll need libevent and curl dependencies to build / run now.

SpacingBat3 commented on 2021-06-27 18:19 (UTC)

Could you add aarch64 to arch=() array in the PKGBUILD? I can confirm this architecture works with this PKGBUILD fine.

electricprism commented on 2021-05-29 21:33 (UTC)

Is anyone else having trouble building ???

-- Configuring done
CMake Error in CMakeLists.txt:
  Imported target "nlohmann_json::nlohmann_json" includes non-existent path


  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not

redsky17 commented on 2021-03-05 00:07 (UTC)

Hey all, I finally updated the package version (sorry about that...). Also, wanted to mention that we've switched to a lmdbxx fork by hoytech since it fixes a number of bugs and supports C++17 std::string_view instead of their custom lmdb::val type. This change requires a clean build or you will get compilation errors!

Also, thanks @swm for the suggestions. I have implemented both changes =D

swm commented on 2021-03-02 20:46 (UTC) (edited on 2021-03-02 21:11 (UTC) by swm)

I have two suggestions:

You could use git+https:// instead of git:// in the source URL, so you only have to trust for integrity, but not the whole network connection between you and github. The git protocol doesn't seem to provide integrity protection (while HTTPS / TLS obviously does): The Git Protocol, git-daemon (Edit: In case it's not clear, I'm referring to integrity protection against malicious attackers, not random bit flips / transmission errors.)

And you could use a pkgver() function from the VCS package guidelines wiki page to always get the correct version number (i.e. currently starting with 0.8.1 instead of hard coded 0.7.2).

Thanks for your work on Nheko!

redsky17 commented on 2021-01-11 20:30 (UTC)

Thanks for the notices folks. I'll get this updated today. We added the requirement for qtkeychain over the holiday break and I haven't gotten a chance to update the pkgbuild yet.

dr460nf1r3 commented on 2021-01-11 19:25 (UTC)

This doesnt compile in a clean chroot, needs qtkeychain-qt5 as pointed out already

maxigaz commented on 2020-12-24 19:07 (UTC) (edited on 2021-01-01 12:04 (UTC) by maxigaz)

I've just tried installing this package on Manjaro. I needed to install qtkeychain-qt5 manually as a dependency, otherwise the compilation would fail. (Edit: Updated package name.)

Scotty commented on 2020-12-15 15:50 (UTC)

Needs re-compilation for the new boost version (1.74->1.75).

Scotty commented on 2020-11-05 15:26 (UTC)


LibreHacker commented on 2020-09-20 09:06 (UTC)

Hi, redsky17! Please check issues in

redsky17 commented on 2020-09-19 16:01 (UTC)

I added libolm to the depends section

PedroHLC commented on 2020-09-19 11:54 (UTC)

-- The following REQUIRED packages have not been found:

 * Olm (required version >= 3), An implementation of the Double Ratchet cryptographic ratchet, <>

:smiling: Just missing this one

redsky17 commented on 2020-09-18 17:21 (UTC)

All, I updated the dependencies and modified the cmake configure line in build() to get gstreamer stuff working. Please check that the build still works for you!

davebloggt commented on 2020-05-21 15:36 (UTC)

This seems to have stopped compiling with the latest gcc. After reading [1] I installed nlohmann-json-git, which fixes the compile errors. Maybe depend explicitly on nlohmann-json-git instead of nlohmann-json for now?


nukla commented on 2020-04-26 18:25 (UTC)

pkgver() still returns 0.7.0 instead of 0.7.1, so makepkg generates a package that's allegedly 0.7.0

ephoz commented on 2020-04-17 15:48 (UTC)

I keep getting this build error about an erroneous include path. Any clue as to what may cause this?

redsky17 commented on 2020-04-05 17:48 (UTC)

@TheFrenchGhosty Thanks for the heads up. I've added qt5-graphicaleffects to the dependencies section.

TheFrenchGhosty commented on 2020-04-05 11:48 (UTC)

qt5-graphicaleffects is a dependency.

Otherwise a blank page is displayed instead of the room.

redsky17 commented on 2020-03-03 02:51 (UTC)

I've updated the build to point to the master branch once again, since we've now merged 0.7.0-dev into master. Make sure you do a clean build (delete the src directory and everything) before installing or you may end up with QML errors that result in the rooms not displaying correctly.

redsky17 commented on 2020-02-09 21:56 (UTC)


I have added the qt5-quickcontrols2 dependency to the PKGBUILD. Could you let me know if you notice any other missing dependencies?

TheFrenchGhosty commented on 2020-02-09 09:15 (UTC)

qt5-quickcontrols2 is a dependency

CMake Error at /usr/lib64/cmake/Qt5/Qt5Config.cmake:28 (find_package):
  Could not find a package configuration file provided by "Qt5QuickControls2"
  with any of the following names:


  Add the installation prefix of "Qt5QuickControls2" to CMAKE_PREFIX_PATH or
  set "Qt5QuickControls2_DIR" to a directory containing one of the above
  files.  If "Qt5QuickControls2" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:139 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/USERNAME/.cache/yay/nheko-git/src/nheko-git/build/CMakeFiles/CMakeOutput.log".
See also "/home/USERNAME/.cache/yay/nheko-git/src/nheko-git/build/CMakeFiles/CMakeError.log".
==> ERROR: A failure occurred in build().

redsky17 commented on 2020-01-30 23:14 (UTC)

@Saphire the build now uses libolm 3.1.4 (which is the latest release at the time of this comment).

redsky17 commented on 2020-01-30 23:13 (UTC)

Updated the package to support new build updates that were recently merged into 0.7.0-dev.

Saphire commented on 2019-07-18 17:56 (UTC)

Please change the package to use libolm package, rather than relying on the .deps info. Current dev tree uses a pre-3.0.0 libolm dependency.

redsky17 commented on 2019-05-12 20:59 (UTC)

This package is now updated to point to the new repo. Consider this basically the 'unstable' package, and the other nheko package maintained by z3ntu as the stable package. This branch will follow updates from the master branch.

bepvte commented on 2019-02-05 02:53 (UTC)

active fork at

s.pantaleev commented on 2018-01-02 17:48 (UTC) (edited on 2018-01-02 17:50 (UTC) by s.pantaleev)

Fails to build for me. Getting an error:

PKGBUILD: line 28: 14353 Segmentation fault (core dumped) cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo


It also says "Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)" before that.

Maybe makedepends needs doxygen?

Anyways, installing doxygen doesn't fix the segmentation fault problem, so there's something else.

ishitatsuyuki commented on 2017-12-05 07:37 (UTC)

There are now a lot of submodules and they're recursive. Please update prepare() to at least adopt the recursive submodules.