From f99cd3fd08c023aab95ed5ed3cdddae0f81e5e0e Mon Sep 17 00:00:00 2001 From: Jeremy Fleischman Date: Wed, 29 Dec 2021 04:23:56 -0800 Subject: [PATCH] kodi: copy web assets instead of symlinking Kodi refuses to follow symlinks that lead outside of a small whitelist of allowed directories. See [`CFileUtils::CheckFileAccessAllowed`](https://github.com/xbmc/xbmc/blob/4ac445c4a9f3080895bfcc34e7115e2de5b66d22/xbmc/utils/FileUtils.cpp#L252) for the relevant code. This feels like a pretty brittle workaround, but I can't think of a better solution, so I'm going to say that this fixes https://github.com/NixOS/nixpkgs/issues/145116. --- pkgs/applications/video/kodi/wrapper.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index 52b7679a325e..2380d0023d57 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -35,5 +35,11 @@ buildEnv { (lib.concatMap (plugin: plugin.extraRuntimeDependencies or []) addons)}" done + + # makeWrapper just created webinterface.default as a symlink. However, + # kodi's webserver carefully refuses to follow symlinks, so we need to copy + # these assets instead. + rm $out/share/kodi/addons/webinterface.default + cp -r ${kodi}/share/kodi/addons/webinterface.default/ $out/share/kodi/addons/webinterface.default ''; }