Index RSS
cvs
honk.namtsui.com
steam
twitch
myanimelist
  • namtsui at gmail dot com
  • 16 Jan 2023

    flycast

    A port of emulators/flycast now works. see: https://www.namtsui.com/cgi-bin/cvsweb/ports/emulators/flycast/

    Welcome to OpenBSD: The proactively secure Unix-like operating system.

    # $OpenBSD$
    
    # i386 uses fastcall, which currently does not compile with luabridge.
    # if fastcall is patched out, i386 interpreter works (slow) but dynarec crashes.
    # see: https://github.com/vinniefalco/LuaBridge/issues/302
    ONLY_FOR_ARCHES =	amd64
    
    COMMENT =	emulator for Sega Dreamcast and Sega Naomi based on Reicast
    
    CATEGORIES =	emulators games
    
    HOMEPAGE =	https://www.libretro.com/index.php/category/flycast/
    
    # GPLv2 (flycast, picoTCP), GPLv3 (picoTCP, xbrz), Apache 2.0 (Vulkan-Headers),
    # BSD-3-Clause (gtest, vixl, xbyak), LGPL (lzma), Boost (nowide)
    # MIT (VulkanMemoryAllocator, ggpo, GLM, imgui, json, md5, stb),
    # Australian Public Licence B OZPLB (libelf)
    
    PERMIT_PACKAGE =	Yes
    
    WANTLIB += ${COMPILER_LIBCXX} GL SDL2 ao c curl chdr glslang
    WANTLIB += lua${MODLUA_VERSION} m miniupnpc pulse xxhash z zip
    
    NO_TEST =	Yes
    
    MODULES =		devel/cmake \
                            lang/lua
    
    V =	2.0pl20221209
    MASTER_SITES =	https://namtsui.com/source/
    DISTNAME =	flycast-${V}
    # DISTFILES =	flycast-{v}${V}${EXTRACT_SUFX}
    
    COMMIT =	223504a2065d55238ae232dfa92b33d98c223b4c
    
    WRKDIST =	${WRKDIR}/flycast
    WRKSRC =	${WRKDIST}
    
    USE_WXNEEDED =	Yes
    
    MODLUA_VERSION =	5.3
    
    RUN_DEPENDS =	graphics/vulkan-loader
    BUILD_DEPENDS =	lang/luabridge
    LIB_DEPENDS =	audio/libao \
                    devel/sdl2 \
                    graphics/glslang \
                    emulators/libchdr \
                    sysutils/xxhash \
                    net/curl \
                    net/miniupnp/miniupnpc \
                    archivers/libzip \
                    audio/pulseaudio
    
    # CONFIGURE_ARGS +=	-DCMAKE_BUILD_TYPE=Debug
    
    do-gen:
            ${SUBST_CMD} ${WRKSRC}/CMakeLists.txt
    
    # needs: devel/git and archivers/gtar
    D =	/tmp/flycast
    dist:
            cd /tmp && git clone https://github.com/flyinghead/flycast.git; \
            cd ${D} && git checkout ${COMMIT}; \
            git rm -r --cached core/deps/{SDL,libchdr,luabridge,breakpad,glslang}; \
            git submodule init; \
            git submodule update; \
            rm -rfv core/deps/{dirent,libretro-common,libzip,miniupnpc,oboe,xxHash}; \
            cd /tmp && gtar czvf flycast-${V}.tar.gz --exclude-vcs flycast; \
            scp flycast-${V}.tar.gz train:source/; \
            rm /tmp/flycast-${V}.tar.gz; \
            rm -rfv ${D};
    
    do-install:
            ${INSTALL_PROGRAM} ${WRKBUILD}/flycast \
                    ${PREFIX}/bin/
    
    FIX_CRLF_FILES =	core/deps/VulkanMemoryAllocator/include/vk_mem_alloc.h
    
    .include <bsd.port.mk>
    
    Tags: openbsd playonbsd