Update chd libraries#50
Conversation
danifunker
commented
Jun 30, 2026
- Updated CHD Library to 0.288.8 , removes GPL licensing for libchdman-rs (this was incorrectly licensed for GPL3, it is now MIT)
- Adds support for Windows ARM builds
- Adds support for RISC-V Linux builds
- Resolved an issue on Windows Builds for ultra64 support
libchdman-rs 0.288.8 and the MAME CHD core it vendors are now BSD-3-Clause, so --features chd no longer subjects the binary to the GPL. Replace the GPL-3.0 license file and in-app notice with a BSD-3-Clause third-party notice and update the docs/installer references accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a TargetArch define (x64/arm64) that maps to Inno's ArchitecturesAllowed / ArchitecturesInstallIn64BitMode so the installer locks to the architecture of the bundled iris-gui.exe. CI passes /DTargetArch=<arch>. This is functional/shared installer code (it lives upstream), so it belongs on this branch rather than the fork's main-only pipeline overlay. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The ultra64 module's only libc use is the POSIX `shm_unlink` stale-shm cleanup, which is already `#[cfg(unix)]`. The module-level `use libc;` was not gated, so a Windows build (iris-gui enables the ultra64 feature on all platforms) failed with E0432 "unresolved import `libc`" — libc is a `cfg(not(windows))` dependency. Gate the import too; Windows shared memory is OS-refcounted and needs no shm_unlink. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The `#[cfg(unix)]` branch passed `server` by move into `start_unix_server`, then reused it at `Ok(server)`. Compiles on Windows (that branch is cfg'd out) but not on macOS/Linux. Clone the Arc to match the adjacent TCP branch, which already does `server.clone()`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
b3fc6aa to
85ff16d
Compare
|
Heads up: The break is a borrow-check error in In The one-line fix is to clone the #[cfg(unix)]
start_unix_server(server.clone(), &path)?;This is already fixed on the |