summary refs log tree commit diff
path: root/modules/packages/nheko-git.nix
diff options
context:
space:
mode:
authorEmma (Rory&) <root@rory.gay>2023-10-15 01:15:22 +0000
committerEmma (Rory&) <root@rory.gay>2023-10-15 01:15:22 +0000
commitd18e2cfc58735981cd3d2bc45a022c9bc7abd60f (patch)
tree9f50b0945d6382ac38ac2c94ed4aad14c373fa1b /modules/packages/nheko-git.nix
parentCleanup (diff)
downloadRory-Open-Architecture-d18e2cfc58735981cd3d2bc45a022c9bc7abd60f.tar.xz
Add new stuff from WSL
Diffstat (limited to 'modules/packages/nheko-git.nix')
-rw-r--r--modules/packages/nheko-git.nix95
1 files changed, 95 insertions, 0 deletions
diff --git a/modules/packages/nheko-git.nix b/modules/packages/nheko-git.nix
new file mode 100644
index 0000000..dac42c9
--- /dev/null
+++ b/modules/packages/nheko-git.nix
@@ -0,0 +1,95 @@
+# This file was copied from NUR: https://github.com/nix-community/nur-combined/blob/master/repos/deeunderscore/pkgs/nheko/default.nix#L93
+# This file is a modified version of nixpkgs/pkgs/applications/networking/instant-messengers/nheko/default.nix (copied at 2e896fce)
+
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+#, wrapQtAppsHook
+, asciidoctor
+, qt6
+, qt6Packages
+#, qtmultimedia
+#, qtimageformats
+#, qtkeychain
+, cmark
+, coeurl
+, curl
+, libevent
+, lmdb
+, lmdbxx
+#, mtxclient
+, nlohmann_json
+, olm
+, pkg-config
+, re2
+, spdlog
+, httplib
+, voipSupport ? true
+, gst_all_1
+, libnice
+, pkgs
+, nhekoSrc
+, mtxclientSrc
+}:
+
+stdenv.mkDerivation {
+  pname = "nheko";
+  version = "git+master";
+  src = nhekoSrc;
+
+  nativeBuildInputs = [
+    lmdbxx
+    cmake
+    pkg-config
+    asciidoctor
+    qt6.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qt6.qtbase
+    qt6.qttools
+    qt6.qtsvg
+    qt6.qtmultimedia
+    qt6.qtimageformats
+    qt6Packages.qtkeychain
+    cmark
+    coeurl
+    curl
+    libevent
+    lmdb
+    (pkgs.callPackage ./mtxclient-git.nix { inherit mtxclientSrc; })
+    nlohmann_json
+    olm
+    re2
+    spdlog
+    httplib
+  ] ++ lib.optionals voipSupport (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    (gst-plugins-good.override { qt5Support = true; })
+    gst-plugins-bad
+    libnice
+  ]);
+
+  LC_ALL = lib.optionalString (!stdenv.isDarwin) "C.UTF-8";
+
+  cmakeFlags = [
+    "-DCOMPILE_QML=ON" # see https://github.com/Nheko-Reborn/nheko/issues/389
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DBUILD_SHARED_LIBS=OFF"
+  ];
+
+
+  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";
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+  };
+}