about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix
blob: 8cb748f54059976bfbdca39d5fe33f93e435bf85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{ version
, src
, jami-meta
, stdenv
, lib
, pkg-config
, cmake
, wrapQtAppsHook
, wrapGAppsHook
, gtk3-x11
, networkmanager # for libnm
, libayatana-appindicator
, libnotify
, clutter-gtk
, libcanberra-gtk3
, webkitgtk
, qrencode
, jami-libclient
, qttools
}:

stdenv.mkDerivation {
  pname = "jami-client-gnome";
  inherit version src;

  sourceRoot = "source/client-gnome";

  preConfigure = ''
    echo ${version} > version.txt
  '';

  nativeBuildInputs = [
    pkg-config
    cmake
    wrapGAppsHook
    wrapQtAppsHook
  ];
  # To spare double wrapping
  dontWrapGApps = true;
  preFixup = ''
    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
    # Users that set CLUTTER_BACKEND=wayland in their default environment will
    # encounter a segfault due to:
    # https://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/1100 .
    qtWrapperArgs+=("--unset" "CLUTTER_BACKEND")
  '';

  buildInputs = [
    qttools
    jami-libclient
    gtk3-x11
    networkmanager
    libayatana-appindicator
    libnotify
    clutter-gtk
    libcanberra-gtk3
    webkitgtk
    qrencode
  ];

  meta = jami-meta // {
    description = "The client based on GTK" + jami-meta.description;
  };
}