diff --git a/pkgs/by-name/ba/baresip/fix-modules-path.patch b/pkgs/by-name/ba/baresip/fix-modules-path.patch new file mode 100644 index 000000000000..b02c830057c2 --- /dev/null +++ b/pkgs/by-name/ba/baresip/fix-modules-path.patch @@ -0,0 +1,29 @@ +commit 46479c52695cc5f8c01370fd2594468666c45c8e +Author: rnhmjoj +Date: Sun Aug 3 00:18:47 2025 +0200 + + Fix the modules path at build time + + The location of the modules is determined by reading the `module_path` + setting, which is set to "$out/lib/baresip/modules" when the + configuration file is generated during the first run. If the package is + updated and the store path changes, baresip breaks completely, forcing + the user to manually fix the configuration. + + This patch fixes the location of the modules at build time, ignoring the + `module_path` setting, to avoid this issue. + +diff --git a/src/module.c b/src/module.c +index 9f2135c6..b62d0bdd 100644 +--- a/src/module.c ++++ b/src/module.c +@@ -141,8 +141,7 @@ int module_init(const struct conf *conf) + if (!conf) + return EINVAL; + +- if (conf_get(conf, "module_path", &path)) +- pl_set_str(&path, "."); ++ pl_set_str(&path, MOD_PATH); + + err = conf_apply(conf, "module", module_handler, &path); + if (err) diff --git a/pkgs/by-name/ba/baresip/package.nix b/pkgs/by-name/ba/baresip/package.nix index 904042be942e..1bf303ffbc9e 100644 --- a/pkgs/by-name/ba/baresip/package.nix +++ b/pkgs/by-name/ba/baresip/package.nix @@ -29,21 +29,29 @@ zlib, dbusSupport ? true, }: + stdenv.mkDerivation rec { - version = "3.10.1"; + version = "3.24.0"; pname = "baresip"; + src = fetchFromGitHub { owner = "baresip"; repo = "baresip"; rev = "v${version}"; - hash = "sha256-0huZP1hopHaN5R1Hki6YutpvoASfIHzHMl/Y4czHHMo="; + hash = "sha256-32XyMblHF+ST+TpIbdyPFdRtWnIugYMr4lYZnfeFm/c="; }; + + patches = [ + ./fix-modules-path.patch + ]; + prePatch = '' substituteInPlace cmake/FindGTK3.cmake --replace-fail GTK3_CFLAGS_OTHER "" '' + lib.optionalString (!dbusSupport) '' substituteInPlace cmake/modules.cmake --replace-fail 'list(APPEND MODULES ctrl_dbus)' "" ''; + nativeBuildInputs = [ cmake pkg-config @@ -102,72 +110,75 @@ stdenv.mkDerivation rec { -D__need_timeval -D__need_timespec -D__need_time_t ''; - doInstallCheck = true; # CMake feature detection is prone to breakage between upgrades: # spot-check that the optional modules we care about were compiled - postInstallCheck = lib.concatMapStringsSep "\n" (m: "test -x $out/lib/baresip/modules/${m}.so") [ - "account" - "alsa" - "aubridge" - "auconv" - "aufile" - "auresamp" - "ausine" - "avcodec" - "avfilter" - "avformat" - "cons" - "contact" - "ctrl_dbus" - "ctrl_tcp" - "debug_cmd" - "dtls_srtp" - "ebuacip" - "echo" - "evdev" - "fakevideo" - "g711" - "g722" - "g726" - "gst" - "gtk" - "httpd" - "httpreq" - "ice" - "l16" - "menu" - "mixausrc" - "mixminus" - "multicast" - "mwi" - "natpmp" - "netroam" - "pcp" - "pipewire" - "plc" - "portaudio" - "presence" - "rtcpsummary" - "sdl" - "selfview" - "serreg" - "snapshot" - "sndfile" - "srtp" - "stdio" - "stun" - "swscale" - "syslog" - "turn" - "uuid" - "v4l2" - "vidbridge" - "vidinfo" - "vp8" - "vp9" - "vumeter" - "x11" - ]; + installCheckPhase = '' + runHook preInstallCheck + ${lib.concatMapStringsSep "\n" (m: "test -x $out/lib/baresip/modules/${m}.so") [ + "account" + "alsa" + "aubridge" + "auconv" + "aufile" + "auresamp" + "ausine" + "avcodec" + "avfilter" + "avformat" + "cons" + "contact" + "ctrl_dbus" + "ctrl_tcp" + "debug_cmd" + "dtls_srtp" + "ebuacip" + "echo" + "evdev" + "fakevideo" + "g711" + "g722" + "g726" + "gst" + "gtk" + "httpd" + "httpreq" + "ice" + "l16" + "menu" + "mixausrc" + "mixminus" + "multicast" + "mwi" + "natpmp" + "netroam" + "pcp" + "pipewire" + "plc" + "portaudio" + "presence" + "rtcpsummary" + "sdl" + "selfview" + "serreg" + "snapshot" + "sndfile" + "srtp" + "stdio" + "stun" + "swscale" + "syslog" + "turn" + "uuid" + "v4l2" + "vidbridge" + "vidinfo" + "vp8" + "vp9" + "vumeter" + "x11" + ]} + runHook postInstallCheck + ''; meta = { description = "Modular SIP User-Agent with audio and video support"; @@ -175,6 +186,7 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ raskin ehmry + rnhmjoj ]; mainProgram = "baresip"; license = lib.licenses.bsd3; diff --git a/pkgs/by-name/li/libre/package.nix b/pkgs/by-name/li/libre/package.nix index 1058fe8b16d1..5ace0617d47d 100644 --- a/pkgs/by-name/li/libre/package.nix +++ b/pkgs/by-name/li/libre/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation rec { - version = "3.10.0"; + version = "3.24.0"; pname = "libre"; src = fetchFromGitHub { owner = "baresip"; repo = "re"; rev = "v${version}"; - sha256 = "sha256-OWVDuKlF7YLipDURC46s14WOLWWagUqWg20sH0kSIA4="; + sha256 = "sha256-wcntgFKpVxDlRMF8a7s9UxeXihguiGxTL/PGv9ImB80="; }; buildInputs = [