A Lua-free build of libmpv (LGPL) as an xcframework, used by Aether's Mac App Store build.
MPVKit's stock macOS libmpv links LuaJIT, which JIT-compiles executable memory at runtime. The Mac App Store's hardened runtime forbids unsigned executable memory, so a LuaJIT-linked libmpv is killed on playback (OS_REASON_CODESIGNING — "app is damaged"). This build disables Lua — matching MPVKit's iOS/tvOS/visionOS builds — so it runs on the Mac App Store.
Built from mpvkit/MPVKit @ 0.41.0 (LGPL variant), with the macOS build flag changed from -Dlua=luajit to -Dlua=disabled and the Libluajit dependency dropped. All other components (FFmpeg, libplacebo, libass, dav1d, …) are the stock MPVKit 0.41.0 LGPL builds.
Releases from 0.41.0-nolua.1 additionally patch mpv's audio/out/ao_coreaudio.c (patch attached to each release as 0003-ao-coreaudio-fix-hotplug-listener-race.patch): the system-object hotplug listener is re-registered through AudioObjectAddPropertyListenerBlock on a private serial queue with a detach barrier on unregister. The stock C-callback API gives listener removal no way to synchronize with in-flight HAL notifications, so a notification racing uninit could invoke hotplug_cb on a freed ao — a reproducible EXC_BAD_ACCESS in mp_msg_va on the HALC_ProxyNotification Call Listener Queue when an audio device disappears (e.g. a display with speakers going to sleep) around player teardown. Unfixed upstream as of mpv master, 2026-07.
libmpv and FFmpeg are LGPL-2.1-or-later. Corresponding source and build scripts: https://github.com/mpvkit/MPVKit (this artifact is that project built with -Dlua=disabled for macOS). Third-party license notices: see MPVKit's THIRD_PARTY_NOTICES.
Each release hosts Libmpv.xcframework.zip (all Apple-platform slices; the macOS slice is Lua-free). Consume via .binaryTarget(name: "Libmpv", url: "<release-asset-url>", checksum: "<sha256>").