jami: 20211223.2.37be4c3 -> 20220503.1550.0f35faa

This commit is contained in:
linsui 2022-06-05 11:00:26 +08:00
parent 8ea209dfe3
commit 1711b30687
11 changed files with 80 additions and 105 deletions

View file

@ -1,64 +0,0 @@
{ 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;
};
}

View file

@ -1,8 +1,8 @@
{ version
, src
, jami-meta
, mkDerivation
, lib
, stdenv
, pkg-config
, cmake
, networkmanager # for libnm
@ -10,18 +10,19 @@
, qttools # for translations
, wrapQtAppsHook
, libnotify
, qrencode
, qtwebengine
, qt5compat
, qtbase
, qtdeclarative
, qtquickcontrols2
, qrencode
, qtmultimedia
, qtnetworkauth
, qtsvg
, qtwebengine
, qtwebchannel
, qtgraphicaleffects # no gui without this
, jami-libclient
}:
mkDerivation {
stdenv.mkDerivation {
pname = "jami-client-qt";
inherit version src;
@ -33,6 +34,7 @@ mkDerivation {
'';
nativeBuildInputs = [
wrapQtAppsHook
pkg-config
cmake
python3
@ -43,14 +45,20 @@ mkDerivation {
jami-libclient
networkmanager
libnotify
qtbase
qt5compat
qrencode
qtwebengine
qtnetworkauth
qtdeclarative
qtquickcontrols2
qtmultimedia
qtsvg
qtwebchannel
qtgraphicaleffects
qtwebengine
];
qtWrapperArgs = [
# With wayland the titlebar is not themed and the wmclass is wrong.
"--set-default QT_QPA_PLATFORM xcb"
];
meta = jami-meta // {

View file

@ -0,0 +1,19 @@
--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

View file

@ -0,0 +1 @@
--enable-epoll

View file

@ -58,16 +58,22 @@ let
pjsip-jami = pjsip.overrideAttrs (old:
let
src-args = import ./pjproject-src.nix;
version = lib.concatStrings (lib.lists.take 7 (lib.stringToCharacters src-args.rev));
patch-src = src + "/daemon/contrib/src/pjproject/";
in
{
inherit version;
rec {
version = "e1f389d0b905011e0cb62cbdf7a8b37fc1bcde1a";
src = fetchFromGitHub src-args;
src = fetchFromGitHub {
owner = "savoirfairelinux";
repo = "pjproject";
rev = version;
sha256 = "sha256-6t+3b7pvvwi+VD05vxtujabEJmWmJTAeyD/Dapav10Y=";
};
patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches));
configureFlags = (readLinesToList ./config/pjsip_args_common)
++ lib.optionals stdenv.isLinux (readLinesToList ./config/pjsip_args_linux);
});
opendht-jami = opendht.override {

View file

@ -4,21 +4,21 @@
, fetchzip
, jack
, udev
, libsForQt5
, qt6Packages
}:
rec {
version = "20211223.2.37be4c3";
let
version = "20220503.1550.0f35faa";
src = fetchzip {
url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz";
sha256 = "1zw9azwmxr4991nq5kl527lbwlj7psrissgvrkl1kxxbfbdncbhh";
hash = "sha256-iCmsgjgGogNjj1k0sYRqx59ZEwFZcJOeVGBNyBlcy1M=";
stripRoot = false;
postFetch = ''
cd $out
mv ring-project/* ./
rm -r ring-project.rst ring-project client-android client-ios client-macosx client-uwp
mv jami-project/* ./
rm -r jami-project.rst jami-project client-android client-ios client-macosx client-uwp
rm daemon/contrib/tarballs/*
'';
};
@ -30,12 +30,11 @@ rec {
platforms = platforms.linux;
maintainers = [ maintainers.linsui ];
};
in
rec {
jami-daemon = callPackage ./daemon.nix { inherit version src udev jack jami-meta; };
jami-libclient = libsForQt5.callPackage ./libclient.nix { inherit version src jami-meta; };
jami-libclient = qt6Packages.callPackage ./libclient.nix { inherit version src jami-meta; };
jami-client-gnome = libsForQt5.callPackage ./client-gnome.nix { inherit version src jami-meta; };
jami-client-qt = libsForQt5.callPackage ./client-qt.nix { inherit version src jami-meta; };
jami-client-qt = qt6Packages.callPackage ./client-qt.nix { inherit version src jami-meta; };
}

View file

@ -22,6 +22,7 @@ stdenv.mkDerivation {
buildInputs = [
jami-daemon
jami-daemon.ffmpeg
];
patches = [

View file

@ -1,6 +0,0 @@
{
owner = "savoirfairelinux";
repo = "pjproject";
rev = "e1f389d0b905011e0cb62cbdf7a8b37fc1bcde1a";
sha256 = "0inpmyb6mhrzr0g309d6clkc99lddqdvyf9xajz0igvgp9pvgpza";
}

View file

@ -3,11 +3,14 @@
set -e
jami_dir="$( dirname "${BASH_SOURCE[0]}" )"
jami_dir=$(readlink -e $(dirname "${BASH_SOURCE[0]}"))
cd $jami_dir/../../../../..
# Update src version and hash
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)
update-source-version jami-libclient "$version" --file=pkgs/applications/networking/instant-messengers/jami/default.nix
update-source-version jami-libclient "$version" --file=$jami_dir/default.nix
src=$(nix-build --no-out-link -A jami-libclient.src)
@ -43,8 +46,15 @@ echo "${pjsip_patches}" > "$config_dir/pjsip_patches"
# Update pjsip version
pjsip_version=$(sed -n -E 's/.*PJPROJECT_VERSION := ([0-9a-f]+).*/\1/p' ${src}/daemon/contrib/src/pjproject/rules.mak)
nix-prefetch fetchFromGitHub \
--owner savoirfairelinux \
--repo pjproject \
--rev ${pjsip_version} \
--output nix > "${jami_dir}/pjproject-src.nix"
update-source-version jami-daemon.pjsip "$pjsip_version" --file=pkgs/applications/networking/instant-messengers/jami/daemon.nix
pjsip_rules="${src}/daemon/contrib/src/pjproject/rules.mak"
# Update pjsip args
pjsip_args_common=$(sed -n '/PJPROJECT_OPTIONS :=/,/with-gnutls/p' ${pjsip_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*\\/\1/p')
echo -e "Common args for pjsip:\n${pjsip_args_common}\n"
echo "${pjsip_args_common}" > "$config_dir/pjsip_args_common"
pjsip_args_linux=$(sed -n '/HAVE_LINUX/,/endif/p' ${pjsip_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p')
echo -e "Linux args for pjsip:\n${pjsip_args_linux}\n"
echo "${pjsip_args_linux}" > "$config_dir/pjsip_args_linux"

View file

@ -612,6 +612,7 @@ mapAliases ({
jack2Full = jack2; # moved from top-level 2021-03-14
jami-client-gnome = throw "jami-client-gnome has been removed: abandoned upstream"; # Added 2022-05-15
jamomacore = throw "jamomacore has been removed: abandoned upstream"; # Added 2020-11-21
jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # Added 2021-03-15
jbuilder = throw "'jbuilder' has been renamed to/replaced by 'dune_1'"; # Converted to throw 2022-02-22

View file

@ -35389,12 +35389,12 @@ with pkgs;
btcdeb = callPackage ../applications/blockchains/btcdeb { };
inherit (callPackage ../applications/networking/instant-messengers/jami {
jami = callPackages ../applications/networking/instant-messengers/jami {
# TODO: remove once `udev` is `systemdMinimal` everywhere.
udev = systemdMinimal;
jack = libjack2;
})
jami-daemon jami-libclient jami-client-gnome jami-client-qt;
};
inherit (jami) jami-daemon jami-libclient jami-client-qt;
jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron {
electron = electron_17;