diff --git a/pkgs/by-name/fi/filebot/package.nix b/pkgs/by-name/fi/filebot/package.nix index ec542be40f16..51fda20db0df 100644 --- a/pkgs/by-name/fi/filebot/package.nix +++ b/pkgs/by-name/fi/filebot/package.nix @@ -56,7 +56,23 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' mkdir -p $out/opt $out/bin # Since FileBot has dependencies on relative paths between files, all required files are copied to the same location as is. - cp -r filebot.sh lib/ jar/ $out/opt/ + cp -r filebot.sh jar/ $out/opt/ + # Copy lib based on platform and force filebot to use libmediainfo.so from nix + local platformDir + case "${stdenv.hostPlatform.system}" in + "x86_64-linux") + platformDir="Linux-x86_64" + ;; + "aarch64-linux") + platformDir="Linux-aarch64" + ;; + esac + if [ -n "$platformDir" ]; then + mkdir -p "$out/opt/lib" + cp -r "lib/$platformDir" "$out/opt/lib/" + rm "$out/opt/lib/$platformDir/libmediainfo.so" + ln -s "${libmediainfo}/lib/libmediainfo.so" "$out/opt/lib/$platformDir/" + fi # Filebot writes to $APP_DATA, which fails due to read-only filesystem. Using current user .local directory instead. substituteInPlace $out/opt/filebot.sh \ --replace 'APP_DATA="$FILEBOT_HOME/data/$(id -u)"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data' \