3
0
Fork 0
forked from mirrors/nixpkgs

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

This commit is contained in:
Vladimír Čunát 2022-06-19 11:19:13 +02:00
commit 736a13b4fc
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
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 { version
, src , src
, jami-meta , jami-meta
, mkDerivation
, lib , lib
, stdenv
, pkg-config , pkg-config
, cmake , cmake
, networkmanager # for libnm , networkmanager # for libnm
@ -10,18 +10,19 @@
, qttools # for translations , qttools # for translations
, wrapQtAppsHook , wrapQtAppsHook
, libnotify , libnotify
, qrencode , qt5compat
, qtwebengine , qtbase
, qtdeclarative , qtdeclarative
, qtquickcontrols2 , qrencode
, qtmultimedia , qtmultimedia
, qtnetworkauth
, qtsvg , qtsvg
, qtwebengine
, qtwebchannel , qtwebchannel
, qtgraphicaleffects # no gui without this
, jami-libclient , jami-libclient
}: }:
mkDerivation { stdenv.mkDerivation {
pname = "jami-client-qt"; pname = "jami-client-qt";
inherit version src; inherit version src;
@ -33,6 +34,7 @@ mkDerivation {
''; '';
nativeBuildInputs = [ nativeBuildInputs = [
wrapQtAppsHook
pkg-config pkg-config
cmake cmake
python3 python3
@ -43,14 +45,20 @@ mkDerivation {
jami-libclient jami-libclient
networkmanager networkmanager
libnotify libnotify
qtbase
qt5compat
qrencode qrencode
qtwebengine qtnetworkauth
qtdeclarative qtdeclarative
qtquickcontrols2
qtmultimedia qtmultimedia
qtsvg qtsvg
qtwebchannel 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 // { 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: pjsip-jami = pjsip.overrideAttrs (old:
let 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/"; patch-src = src + "/daemon/contrib/src/pjproject/";
in in
{ rec {
inherit version; 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)); 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 { opendht-jami = opendht.override {

View file

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

View file

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

View file

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

View file

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

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

View file

@ -35517,12 +35517,12 @@ with pkgs;
btcdeb = callPackage ../applications/blockchains/btcdeb { }; 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. # TODO: remove once `udev` is `systemdMinimal` everywhere.
udev = systemdMinimal; udev = systemdMinimal;
jack = libjack2; 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 { jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron {
electron = electron_17; electron = electron_17;