diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/nheko/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/instant-messengers/nheko/default.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/nheko/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/nheko/default.nix new file mode 100644 index 000000000000..b097864af431 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/nheko/default.nix @@ -0,0 +1,91 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, cmake +, cmark +, lmdb +, lmdbxx +, libsecret +, mkDerivation +, qtbase +, qtkeychain +, qtmacextras +, qtmultimedia +, qttools +, qtquickcontrols2 +, qtgraphicaleffects +, mtxclient +, boost17x +, spdlog +, fmt +, olm +, pkg-config +, nlohmann_json +, voipSupport ? true +, gst_all_1 +, libnice +}: + +mkDerivation rec { + pname = "nheko"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "Nheko-Reborn"; + repo = "nheko"; + rev = "v${version}"; + sha256 = "sha256-w4l91/W6F1FL+Q37qWSjYRHv4vad/10fxdKwfNeEwgw="; + }; + + nativeBuildInputs = [ + lmdbxx + cmake + pkg-config + ]; + + buildInputs = [ + nlohmann_json + mtxclient + olm + boost17x + libsecret + lmdb + spdlog + fmt + cmark + qtbase + qtmultimedia + qttools + qtquickcontrols2 + qtgraphicaleffects + qtkeychain + ] ++ lib.optional stdenv.isDarwin qtmacextras + ++ lib.optionals voipSupport (with gst_all_1; [ + gstreamer + gst-plugins-base + (gst-plugins-good.override { qt5Support = true; }) + gst-plugins-bad + libnice + ]); + + cmakeFlags = [ + "-DCOMPILE_QML=ON" # see https://github.com/Nheko-Reborn/nheko/issues/389 + ]; + + preFixup = lib.optionalString voipSupport '' + # add gstreamer plugins path to the wrapper + qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") + ''; + + meta = with lib; { + description = "Desktop client for the Matrix protocol"; + homepage = "https://github.com/Nheko-Reborn/nheko"; + maintainers = with maintainers; [ ekleog fpletz ]; + platforms = platforms.all; + # Should be fixable if a higher clang version is used, see: + # https://github.com/NixOS/nixpkgs/pull/85922#issuecomment-619287177 + broken = stdenv.targetPlatform.isDarwin; + license = licenses.gpl3Plus; + }; +} |