Please find attached a new port for emulators/flycast, a dreamcast
emulator.

I was able to upstream a lot of openbsd fixes. This commit was based on
rpcs3's fix for struct sigcontext. It also includes a mimmutable fix,
marking a section .openbsd.mutable; this was also done in
emulators/desmume. These were the two most significant challenges.

https://github.com/flyinghead/flycast/commit/a1472fb190a315eef8f4ba77432fa04b75c20c5d

This commit updates their older bundled libelf, which was under an
Australian Public License B (OZPLB). libelf has since moved from OZPLB
to BSD 2-Clause. Of note, I used /usr/include/sys/exec_elf.h from
openbsd to define some structs.

https://github.com/flyinghead/flycast/commit/27b6bafd0f003c8f8bcd1fb3bfd48a3523b298f5

I use git submodules in the dist step. Currently, it uses bundled
core/deps/{Vulkan-Headers,VulkanMemoryAllocator} instead of
graphics/vulkan-headers. I did manage to unbundle xxhash, glslang,
libchdr, SDL, luabridge, and (remove) breakpad, using gentoo's port as a
guide: https://gpo.zugaina.org/games-emulation/flycast

Testing:
Install the following ports and apply the proposed glslang update:
1. new emulators/libchdr
https://marc.info/?l=openbsd-ports&m=168186521418705&w=2
2. new lang/luabridge:
https://marc.info/?l=openbsd-ports&m=168187158121197&w=2
3. graphics/glslang shared lib diff:
https://marc.info/?l=openbsd-ports&m=168186852019992&w=2

Information for inst:flycast-2.1pl20230303

Comment:
emulator for Sega Dreamcast and Sega Naomi based on reicast

Description:
Flycast is a multi-platform Sega Dreamcast, Naomi and Atomiswave
emulator derived from reicast.

Feedback and tests are welcome. ok to import?

Attachment: flycast.tar.gz
Description: flycast.tar.gz

Reply via email to