use linphone's sofia_sip

the DNS is less buggy
This commit is contained in:
2024-08-18 13:00:04 +00:00
parent 012d1af9dc
commit 017b26a0c8

View File

@@ -4,7 +4,43 @@
{ pkgs ? import <nixpkgs> {} }:
let
inherit (pkgs) stdenv;
in stdenv.mkDerivation {
buildDebug = p: p.overrideAttrs (base: {
dontStrip = true;
env = (base.env or {}) // {
mesonBuildType = "debugoptimized";
NIX_CFLAGS_COMPILE = "-ggdb -Og -fno-omit-frame-pointer";
# mesonBuildType = "debug";
# NIX_CFLAGS_COMPILE = "-g -O0 -fno-omit-frame-pointer";
};
});
sofia_sip' = pkgs.sofia_sip.overrideAttrs (base: {
# sofia_sip linphone fork (2024-08-17)
# it seems to have less buggy DNS (sresolv)? the DNS actually reports errors to the consumer, instead of just never returning.
# more specifically, `outgoing_answer_a` always calls its continuation: that's actually in libsofia-sip-ua/nta/nta.c
src = with pkgs; fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "BC/public/external";
repo = "sofia-sip";
rev = "b924a57e8eeb24e8b9afc5fd0fb9b51d5993fe5d";
hash = "sha256-1VbKV+eAJ80IMlubNl7774B7QvLv4hE8SXANDSD9sRU=";
};
});
# sofia_sip' = pkgs.sofia_sip.overrideAttrs (base: {
# # sofia_sip tip (2024-08-17)
# src = with pkgs; fetchFromGitHub {
# owner = "freeswitch";
# repo = "sofia-sip";
# rev = "0a50b8402fa5b6190a6c91c2e04dfe44a40de02c";
# hash = "sha256-cxLk0IEwpoxeuVllnZ4/6JqzCd0GVeLyulFj0EYgnek=";
# };
# });
# sofia_sip' = pkgs.sofia_sip.overrideAttrs (base: {
# postPatch = (base.postPatch or "") + ''
# substituteInPlace libsofia-sip-ua/sresolv/sofia-resolv/sres.h \
# --replace 'SRES_MAX_RETRY_COUNT = 6' 'SRES_MAX_RETRY_COUNT = 0'
# '';
# });
in buildDebug (stdenv.mkDerivation {
pname = "calls";
version = "unstable";
src = ./.;
@@ -41,13 +77,6 @@ in stdenv.mkDerivation {
libpeas2
libsecret
modemmanager
sofia_sip
(buildDebug sofia_sip')
];
# build for debug:
dontStrip = true;
env.mesonBuildType = "debugoptimized";
env.NIX_CFLAGS_COMPILE = "-ggdb -Og -fno-omit-frame-pointer";
# env.mesonBuildType = "debug";
# env.NIX_CFLAGS_COMPILE = "-g -O0 -fno-omit-frame-pointer";
}
})