Unverified Commit ea8db554 authored by rnhmjoj's avatar rnhmjoj
Browse files

baresip: fix module path depending on store path

parent 1c764027
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
commit 46479c52695cc5f8c01370fd2594468666c45c8e
Author: rnhmjoj <rnhmjoj@inventati.org>
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)
+8 −0
Original line number Diff line number Diff line
@@ -29,21 +29,29 @@
  zlib,
  dbusSupport ? true,
}:

stdenv.mkDerivation rec {
  version = "3.24.0";
  pname = "baresip";

  src = fetchFromGitHub {
    owner = "baresip";
    repo = "baresip";
    rev = "v${version}";
    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