From 39b01e5c95bbf607f4becd7f1c8e19196cdebd79 Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 22 Apr 2024 19:53:46 +0800 Subject: [PATCH 1/2] opendht: 3.1.4 -> 3.1.11 --- pkgs/development/libraries/opendht/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix index 7209c2d2e253..ea568cdfa52a 100644 --- a/pkgs/development/libraries/opendht/default.nix +++ b/pkgs/development/libraries/opendht/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { pname = "opendht"; - version = "3.1.4"; + version = "3.1.11"; src = fetchFromGitHub { owner = "savoirfairelinux"; repo = "opendht"; rev = "v${version}"; - hash = "sha256-KtsQ25uStmlf7RZLAcabhPMyGbxKxvpR6Vm632+EBvw="; + hash = "sha256-lJaQGkhpKfSSNVbP+NqommagtoWyi8CdauVxEhiI9Bc="; }; nativeBuildInputs = [ From 74cd6b9208b7b776da144a5aa3a00bc411753144 Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 22 Apr 2024 19:54:40 +0800 Subject: [PATCH 2/2] jami: 20231201.0 -> 20240430.0 --- .../jami/config/pjsip_args_common | 19 ---- .../jami/config/pjsip_args_linux | 1 - .../jami/config/pjsip_patches | 1 - .../instant-messengers/jami/default.nix | 90 +++++++++++++------ 4 files changed, 65 insertions(+), 46 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_common delete mode 100644 pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_linux delete mode 100644 pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches 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 5c3f607e5c0e..000000000000 --- 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 d1292afe3a29..000000000000 --- 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 5b9579f8f94e..000000000000 --- 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 91676d45a04c..6a6925d66627 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 ];