Files
gnome-calls/default.nix
Colin 017b26a0c8 use linphone's sofia_sip
the DNS is less buggy
2024-08-18 13:00:04 +00:00

83 lines
2.3 KiB
Nix

# build with: `nix-build`
# make sure to first checkout the submodules: `git submodule update --init --recursive`
#
{ pkgs ? import <nixpkgs> {} }:
let
inherit (pkgs) stdenv;
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 = ./.;
nativeBuildInputs = with pkgs; [
appstream-glib
dbus
desktop-file-utils
docbook-xsl-nons
docbook_xml_dtd_43
docutils
gtk-doc
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = with pkgs; [
callaudiod
evolution-data-server
feedbackd
folks
gom
gsound
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-ugly
gst_all_1.gstreamer
gtk3
libadwaita
libpeas2
libsecret
modemmanager
(buildDebug sofia_sip')
];
})