lol

Merge #174275: jami: 20211223.2.37be4c3 -> 20220503.1550.0f35faa

+80 -105
-64
pkgs/applications/networking/instant-messengers/jami/client-gnome.nix
··· 1 - { version 2 - , src 3 - , jami-meta 4 - , stdenv 5 - , lib 6 - , pkg-config 7 - , cmake 8 - , wrapQtAppsHook 9 - , wrapGAppsHook 10 - , gtk3-x11 11 - , networkmanager # for libnm 12 - , libayatana-appindicator 13 - , libnotify 14 - , clutter-gtk 15 - , libcanberra-gtk3 16 - , webkitgtk 17 - , qrencode 18 - , jami-libclient 19 - , qttools 20 - }: 21 - 22 - stdenv.mkDerivation { 23 - pname = "jami-client-gnome"; 24 - inherit version src; 25 - 26 - sourceRoot = "source/client-gnome"; 27 - 28 - preConfigure = '' 29 - echo ${version} > version.txt 30 - ''; 31 - 32 - nativeBuildInputs = [ 33 - pkg-config 34 - cmake 35 - wrapGAppsHook 36 - wrapQtAppsHook 37 - ]; 38 - # To spare double wrapping 39 - dontWrapGApps = true; 40 - preFixup = '' 41 - qtWrapperArgs+=("''${gappsWrapperArgs[@]}") 42 - # Users that set CLUTTER_BACKEND=wayland in their default environment will 43 - # encounter a segfault due to: 44 - # https://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/1100 . 45 - qtWrapperArgs+=("--unset" "CLUTTER_BACKEND") 46 - ''; 47 - 48 - buildInputs = [ 49 - qttools 50 - jami-libclient 51 - gtk3-x11 52 - networkmanager 53 - libayatana-appindicator 54 - libnotify 55 - clutter-gtk 56 - libcanberra-gtk3 57 - webkitgtk 58 - qrencode 59 - ]; 60 - 61 - meta = jami-meta // { 62 - description = "The client based on GTK" + jami-meta.description; 63 - }; 64 - }
+17 -9
pkgs/applications/networking/instant-messengers/jami/client-qt.nix
··· 1 1 { version 2 2 , src 3 3 , jami-meta 4 - , mkDerivation 5 4 , lib 5 + , stdenv 6 6 , pkg-config 7 7 , cmake 8 8 , networkmanager # for libnm ··· 10 10 , qttools # for translations 11 11 , wrapQtAppsHook 12 12 , libnotify 13 + , qt5compat 14 + , qtbase 15 + , qtdeclarative 13 16 , qrencode 14 - , qtwebengine 15 - , qtdeclarative 16 - , qtquickcontrols2 17 17 , qtmultimedia 18 + , qtnetworkauth 18 19 , qtsvg 20 + , qtwebengine 19 21 , qtwebchannel 20 - , qtgraphicaleffects # no gui without this 21 22 , jami-libclient 22 23 }: 23 24 24 - mkDerivation { 25 + stdenv.mkDerivation { 25 26 pname = "jami-client-qt"; 26 27 inherit version src; 27 28 ··· 33 34 ''; 34 35 35 36 nativeBuildInputs = [ 37 + wrapQtAppsHook 36 38 pkg-config 37 39 cmake 38 40 python3 ··· 43 45 jami-libclient 44 46 networkmanager 45 47 libnotify 48 + qtbase 49 + qt5compat 46 50 qrencode 47 - qtwebengine 51 + qtnetworkauth 48 52 qtdeclarative 49 - qtquickcontrols2 50 53 qtmultimedia 51 54 qtsvg 52 55 qtwebchannel 53 - qtgraphicaleffects 56 + qtwebengine 57 + ]; 58 + 59 + qtWrapperArgs = [ 60 + # With wayland the titlebar is not themed and the wmclass is wrong. 61 + "--set-default QT_QPA_PLATFORM xcb" 54 62 ]; 55 63 56 64 meta = jami-meta // {
+19
pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_common
··· 1 + --disable-sound 2 + --enable-video 3 + --enable-ext-sound 4 + --disable-speex-aec 5 + --disable-g711-codec 6 + --disable-l16-codec 7 + --disable-gsm-codec 8 + --disable-g722-codec 9 + --disable-g7221-codec 10 + --disable-speex-codec 11 + --disable-ilbc-codec 12 + --disable-opencore-amr 13 + --disable-silk 14 + --disable-sdl 15 + --disable-ffmpeg 16 + --disable-v4l2 17 + --disable-openh264 18 + --disable-resample 19 + --disable-libwebrtc
+1
pkgs/applications/networking/instant-messengers/jami/config/pjsip_args_linux
··· 1 + --enable-epoll
+11 -5
pkgs/applications/networking/instant-messengers/jami/daemon.nix
··· 58 58 59 59 pjsip-jami = pjsip.overrideAttrs (old: 60 60 let 61 - src-args = import ./pjproject-src.nix; 62 - version = lib.concatStrings (lib.lists.take 7 (lib.stringToCharacters src-args.rev)); 63 61 patch-src = src + "/daemon/contrib/src/pjproject/"; 64 62 in 65 - { 66 - inherit version; 63 + rec { 64 + version = "e1f389d0b905011e0cb62cbdf7a8b37fc1bcde1a"; 67 65 68 - src = fetchFromGitHub src-args; 66 + src = fetchFromGitHub { 67 + owner = "savoirfairelinux"; 68 + repo = "pjproject"; 69 + rev = version; 70 + sha256 = "sha256-6t+3b7pvvwi+VD05vxtujabEJmWmJTAeyD/Dapav10Y="; 71 + }; 69 72 70 73 patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches)); 74 + 75 + configureFlags = (readLinesToList ./config/pjsip_args_common) 76 + ++ lib.optionals stdenv.isLinux (readLinesToList ./config/pjsip_args_linux); 71 77 }); 72 78 73 79 opendht-jami = opendht.override {
+10 -11
pkgs/applications/networking/instant-messengers/jami/default.nix
··· 4 4 , fetchzip 5 5 , jack 6 6 , udev 7 - , libsForQt5 7 + , qt6Packages 8 8 }: 9 9 10 - rec { 11 - version = "20211223.2.37be4c3"; 10 + let 11 + version = "20220503.1550.0f35faa"; 12 12 13 13 src = fetchzip { 14 14 url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz"; 15 - sha256 = "1zw9azwmxr4991nq5kl527lbwlj7psrissgvrkl1kxxbfbdncbhh"; 15 + hash = "sha256-iCmsgjgGogNjj1k0sYRqx59ZEwFZcJOeVGBNyBlcy1M="; 16 16 17 17 stripRoot = false; 18 18 postFetch = '' 19 19 cd $out 20 - mv ring-project/* ./ 21 - rm -r ring-project.rst ring-project client-android client-ios client-macosx client-uwp 20 + mv jami-project/* ./ 21 + rm -r jami-project.rst jami-project client-android client-ios client-macosx client-uwp 22 22 rm daemon/contrib/tarballs/* 23 23 ''; 24 24 }; ··· 30 30 platforms = platforms.linux; 31 31 maintainers = [ maintainers.linsui ]; 32 32 }; 33 - 33 + in 34 + rec { 34 35 jami-daemon = callPackage ./daemon.nix { inherit version src udev jack jami-meta; }; 35 36 36 - jami-libclient = libsForQt5.callPackage ./libclient.nix { inherit version src jami-meta; }; 37 + jami-libclient = qt6Packages.callPackage ./libclient.nix { inherit version src jami-meta; }; 37 38 38 - jami-client-gnome = libsForQt5.callPackage ./client-gnome.nix { inherit version src jami-meta; }; 39 - 40 - jami-client-qt = libsForQt5.callPackage ./client-qt.nix { inherit version src jami-meta; }; 39 + jami-client-qt = qt6Packages.callPackage ./client-qt.nix { inherit version src jami-meta; }; 41 40 }
+1
pkgs/applications/networking/instant-messengers/jami/libclient.nix
··· 22 22 23 23 buildInputs = [ 24 24 jami-daemon 25 + jami-daemon.ffmpeg 25 26 ]; 26 27 27 28 patches = [
-6
pkgs/applications/networking/instant-messengers/jami/pjproject-src.nix
··· 1 - { 2 - owner = "savoirfairelinux"; 3 - repo = "pjproject"; 4 - rev = "e1f389d0b905011e0cb62cbdf7a8b37fc1bcde1a"; 5 - sha256 = "0inpmyb6mhrzr0g309d6clkc99lddqdvyf9xajz0igvgp9pvgpza"; 6 - }
+17 -7
pkgs/applications/networking/instant-messengers/jami/update.sh
··· 3 3 4 4 set -e 5 5 6 - jami_dir="$( dirname "${BASH_SOURCE[0]}" )" 6 + jami_dir=$(readlink -e $(dirname "${BASH_SOURCE[0]}")) 7 + 8 + cd $jami_dir/../../../../.. 7 9 8 10 # Update src version and hash 9 11 version=$(curl -s 'https://dl.jami.net/release/tarballs/?C=M;O=D' | sed -n -E 's/^.*jami_([0-9.a-f]+)\.tar\.gz.*$/\1/p' | head -n 1) 10 - update-source-version jami-libclient "$version" --file=pkgs/applications/networking/instant-messengers/jami/default.nix 12 + 13 + update-source-version jami-libclient "$version" --file=$jami_dir/default.nix 11 14 12 15 src=$(nix-build --no-out-link -A jami-libclient.src) 13 16 ··· 43 46 44 47 # Update pjsip version 45 48 pjsip_version=$(sed -n -E 's/.*PJPROJECT_VERSION := ([0-9a-f]+).*/\1/p' ${src}/daemon/contrib/src/pjproject/rules.mak) 46 - nix-prefetch fetchFromGitHub \ 47 - --owner savoirfairelinux \ 48 - --repo pjproject \ 49 - --rev ${pjsip_version} \ 50 - --output nix > "${jami_dir}/pjproject-src.nix" 49 + update-source-version jami-daemon.pjsip "$pjsip_version" --file=pkgs/applications/networking/instant-messengers/jami/daemon.nix 50 + 51 + pjsip_rules="${src}/daemon/contrib/src/pjproject/rules.mak" 52 + 53 + # Update pjsip args 54 + pjsip_args_common=$(sed -n '/PJPROJECT_OPTIONS :=/,/with-gnutls/p' ${pjsip_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*\\/\1/p') 55 + echo -e "Common args for pjsip:\n${pjsip_args_common}\n" 56 + echo "${pjsip_args_common}" > "$config_dir/pjsip_args_common" 57 + 58 + pjsip_args_linux=$(sed -n '/HAVE_LINUX/,/endif/p' ${pjsip_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p') 59 + echo -e "Linux args for pjsip:\n${pjsip_args_linux}\n" 60 + echo "${pjsip_args_linux}" > "$config_dir/pjsip_args_linux"
+1
pkgs/top-level/aliases.nix
··· 623 623 624 624 625 625 jack2Full = jack2; # moved from top-level 2021-03-14 626 + jami-client-gnome = throw "jami-client-gnome has been removed: abandoned upstream"; # Added 2022-05-15 626 627 jamomacore = throw "jamomacore has been removed: abandoned upstream"; # Added 2020-11-21 627 628 jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # Added 2021-03-15 628 629 jbuilder = throw "'jbuilder' has been renamed to/replaced by 'dune_1'"; # Converted to throw 2022-02-22
+3 -3
pkgs/top-level/all-packages.nix
··· 35517 35517 35518 35518 btcdeb = callPackage ../applications/blockchains/btcdeb { }; 35519 35519 35520 - inherit (callPackage ../applications/networking/instant-messengers/jami { 35520 + jami = callPackages ../applications/networking/instant-messengers/jami { 35521 35521 # TODO: remove once `udev` is `systemdMinimal` everywhere. 35522 35522 udev = systemdMinimal; 35523 35523 jack = libjack2; 35524 - }) 35525 - jami-daemon jami-libclient jami-client-gnome jami-client-qt; 35524 + }; 35525 + inherit (jami) jami-daemon jami-libclient jami-client-qt; 35526 35526 35527 35527 jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron { 35528 35528 electron = electron_17;