about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/jami
diff options
context:
space:
mode:
authorlinsui <linsui@inbox.lv>2024-04-22 19:54:40 +0800
committerlinsui <linsui@inbox.lv>2024-05-07 23:02:38 +0800
commit74cd6b9208b7b776da144a5aa3a00bc411753144 (patch)
tree8a0dae3afa124f22ad9ec4d6a4a221cb56560d45 /pkgs/applications/networking/instant-messengers/jami
parent39b01e5c95bbf607f4becd7f1c8e19196cdebd79 (diff)
jami: 20231201.0 -> 20240430.0
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/jami')
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_common19
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_linux1
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches1
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/default.nix90
4 files changed, 65 insertions, 46 deletions
diff --git a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_common b/pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_common
deleted file mode 100644
index 5c3f607e5c0e4..0000000000000
--- a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_common
+++ /dev/null
@@ -1,19 +0,0 @@
---disable-sound
---enable-video
---enable-ext-sound
---disable-speex-aec
---disable-g711-codec
---disable-l16-codec
---disable-gsm-codec
---disable-g722-codec
---disable-g7221-codec
---disable-speex-codec
---disable-ilbc-codec
---disable-opencore-amr
---disable-silk
---disable-sdl
---disable-ffmpeg
---disable-v4l2
---disable-openh264
---disable-resample
---disable-libwebrtc
diff --git a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_linux b/pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_linux
deleted file mode 100644
index d1292afe3a29f..0000000000000
--- a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_linux
+++ /dev/null
@@ -1 +0,0 @@
---enable-epoll
diff --git a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches b/pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches
deleted file mode 100644
index 5b9579f8f94e8..0000000000000
--- a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches
+++ /dev/null
@@ -1 +0,0 @@
-0009-add-config-site.patch
diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix
index 91676d45a04c0..6a6925d66627e 100644
--- a/pkgs/applications/networking/instant-messengers/jami/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/default.nix
@@ -35,6 +35,7 @@
 
   # for client
 , cmake
+, git
 , networkmanager # for libnm
 , python3
 , qttools # for translations
@@ -61,57 +62,80 @@
 , opendht
 }:
 
-let
-  readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file));
-in
 stdenv.mkDerivation rec {
   pname = "jami";
-  version = "20231201.0";
+  version = "20240430.0";
 
   src = fetchFromGitLab {
     domain = "git.jami.net";
     owner = "savoirfairelinux";
     repo = "jami-client-qt";
     rev = "stable/${version}";
-    hash = "sha256-A38JwjqdQVy03d738p2tpTFA6EWRSPNiesS5wZfti7Y=";
+    hash = "sha256-v7558m2h3RqvLLhf3BdYO9LKCFKuMTtPIXgH6OXiiY4=";
     fetchSubmodules = true;
   };
 
-  pjsip-jami = pjsip.overrideAttrs (old:
-    let
-      patch-src = src + "/daemon/contrib/src/pjproject/";
-    in
-    rec {
-      version = "311bd018fc07aaf62d4c2d2494e08b5ee97e6846";
+  pjsip-jami = pjsip.overrideAttrs (old: rec {
+    version = "797f1a38cc1066acc4adc9561aa1288afabe72d5";
 
-      src = fetchFromGitHub {
-        owner = "savoirfairelinux";
-        repo = "pjproject";
-        rev = version;
-        hash = "sha256-pZiOSOUxAXzMY4c1/AyKcwa7nyIJC/ZVOqDg9/QO/Nk=";
-      };
+    src = fetchFromGitHub {
+      owner = "savoirfairelinux";
+      repo = "pjproject";
+      rev = version;
+      hash = "sha256-lTDbJF09R2G+EIkMj1YyKa4XokH9LlcIG+RhRJhzUes=";
+    };
 
-      patches = (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches));
+    configureFlags = [
+      "--disable-sound"
+      "--enable-video"
+      "--enable-ext-sound"
+      "--disable-speex-aec"
+      "--disable-g711-codec"
+      "--disable-l16-codec"
+      "--disable-gsm-codec"
+      "--disable-g722-codec"
+      "--disable-g7221-codec"
+      "--disable-speex-codec"
+      "--disable-ilbc-codec"
+      "--disable-opencore-amr"
+      "--disable-silk"
+      "--disable-sdl"
+      "--disable-ffmpeg"
+      "--disable-v4l2"
+      "--disable-openh264"
+      "--disable-resample"
+      "--disable-libwebrtc"
+      "--with-gnutls=yes"
+    ]
+    ++ lib.optionals stdenv.isLinux [
+      "--enable-epoll"
+    ];
 
-      configureFlags = (readLinesToList ./config/pjsip_args_common)
-        ++ lib.optionals stdenv.isLinux (readLinesToList ./config/pjsip_args_linux);
-    });
+    buildInputs = old.buildInputs ++ [ gnutls ];
+  });
 
-  opendht-jami = opendht.override {
+  opendht-jami = (opendht.overrideAttrs {
+    src = fetchFromGitHub {
+      owner = "savoirfairelinux";
+      repo = "opendht";
+      rev = "f2cee8e9ce24746caa7dee1847829c526d340284";
+      hash = "sha256-ZnIrlybF3MCiXxxv80tRzCJ5CJ54S42prGUjq1suJNA=";
+    };
+  }).override {
     enableProxyServerAndClient = true;
     enablePushNotifications = true;
   };
 
   dhtnet = stdenv.mkDerivation {
     pname = "dhtnet";
-    version = "unstable-2023-11-23";
+    version = "unstable-2022-04-26";
 
     src = fetchFromGitLab {
       domain = "git.jami.net";
       owner = "savoirfairelinux";
       repo = "dhtnet";
-      rev = "b1bcdecbac2a41de3941ef5a34faa6fbe4472535";
-      hash = "sha256-EucSsUuHXbVqr7drrTLK0f+WZT2k9Tx/LV+IBldTQO8=";
+      rev = "d7976982d24867c6faaf8103504ec8a10d932fa0";
+      hash = "sha256-vazFDMIu/3AWeOz0LZhZD9NFO8cd5AK41zBpqpQrqnc=";
     };
 
     nativeBuildInputs = [
@@ -130,6 +154,7 @@ stdenv.mkDerivation rec {
       opendht-jami
       openssl
       pjsip-jami
+      python3
       restinio
     ];
 
@@ -193,6 +218,20 @@ stdenv.mkDerivation rec {
     enableParallelBuilding = true;
   };
 
+  qwindowkit = fetchFromGitHub {
+    owner = "stdware";
+    repo = "qwindowkit";
+    rev = "79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef";
+    hash = "sha256-iZfmv3ADVjHf47HPK/FdrfeAzrXbxbjH3H5MFVg/ZWE=";
+    fetchSubmodules = true;
+  };
+
+  postPatch = ''
+    sed -i -e '/GIT_REPOSITORY/,+1c SOURCE_DIR ''${CMAKE_CURRENT_SOURCE_DIR}/qwindowkit' extras/build/cmake/contrib_tools.cmake
+    sed -i -e 's/if(DISTRO_NEEDS_QMSETUP_PATCH)/if(TRUE)/' CMakeLists.txt
+    cp -R --no-preserve=mode,ownership ${qwindowkit} qwindowkit
+  '';
+
   preConfigure = ''
     echo 'const char VERSION_STRING[] = "${version}";' > src/app/version.h
     # Currently the daemon is still built seperately but jami expects it in CMAKE_INSTALL_PREFIX
@@ -208,6 +247,7 @@ stdenv.mkDerivation rec {
     wrapQtAppsHook
     pkg-config
     cmake
+    git
     python3
     qttools
   ];