about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/jami/client.nix
diff options
context:
space:
mode:
authorlinsui <linsui555@gmail.com>2022-11-18 12:07:19 +0800
committerlinsui <linsui555@gmail.com>2022-11-18 12:07:30 +0800
commit6b237a4a0688b633b1321501cefa008adb0be073 (patch)
treea7dfcb61674df8256c9e8eb9dc8330d68a036d44 /pkgs/applications/networking/instant-messengers/jami/client.nix
parenta14e29ab8186fa133e0e9923eab7cb29b3dc3c99 (diff)
jami: 20220825.0828.c10f01f -> 20221031.1308.130cc26
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/jami/client.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/client.nix86
1 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/jami/client.nix b/pkgs/applications/networking/instant-messengers/jami/client.nix
new file mode 100644
index 0000000000000..2ce1aba4af55d
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/jami/client.nix
@@ -0,0 +1,86 @@
+{ version
+, src
+, jami-meta
+, lib
+, fetchpatch
+, stdenv
+, pkg-config
+, cmake
+, networkmanager # for libnm
+, python3
+, qttools # for translations
+, wrapQtAppsHook
+, ffmpeg-jami
+, jami-daemon
+, libnotify
+, qt5compat
+, qtbase
+, qtdeclarative
+, qrencode
+, qtmultimedia
+, qtnetworkauth
+, qtsvg
+, qtwebengine
+, qtwebchannel
+, withWebengine ? true
+}:
+
+stdenv.mkDerivation {
+  pname = "jami-client";
+  inherit version src;
+
+  sourceRoot = "source/client-qt";
+
+  patches = [
+    (fetchpatch {
+      name = "fix-build-without-webengine.patch";
+      url = "https://git.jami.net/savoirfairelinux/jami-client-qt/-/commit/9b2dbb64eaa9256f800dfa69d897545f4b0affd2.patch";
+      hash = "sha256-lgDlSlXIjtdymBa7xSe1PabSK9DnSG5KnJggOLWyn+A=";
+    })
+  ];
+
+  preConfigure = ''
+    echo 'const char VERSION_STRING[] = "${version}";' > src/app/version.h
+  '';
+
+  nativeBuildInputs = [
+    wrapQtAppsHook
+    pkg-config
+    cmake
+    python3
+    qttools
+  ];
+
+  buildInputs = [
+    ffmpeg-jami
+    jami-daemon
+    libnotify
+    networkmanager
+    qtbase
+    qt5compat
+    qrencode
+    qtnetworkauth
+    qtdeclarative
+    qtmultimedia
+    qtsvg
+    qtwebchannel
+  ] ++ lib.optionals withWebengine [
+    qtwebengine
+  ];
+
+  cmakeFlags = [
+    "-DLIBJAMI_INCLUDE_DIR=${jami-daemon}/include/jami"
+    "-DLIBJAMI_XML_INTERFACES_DIR=${jami-daemon}/share/dbus-1/interfaces"
+  ] ++ lib.optionals (!withWebengine) [
+    "-DWITH_WEBENGINE=false"
+  ];
+
+  qtWrapperArgs = [
+    # With wayland the titlebar is not themed and the wmclass is wrong.
+    "--set-default QT_QPA_PLATFORM xcb"
+  ];
+
+  meta = jami-meta // {
+    description = "The client based on QT" + jami-meta.description;
+  };
+}