ports/emulators/flycast/Makefile

83 lines
2.3 KiB
Makefile

# 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_ARCHS = amd64
COMMENT = emulator for Sega Dreamcast and Sega Naomi based on reicast
V = 2.1pl20230303
DISTNAME = flycast-${V}
COMMIT = 27b6bafd0f003c8f8bcd1fb3bfd48a3523b298f5
REVISION = 1
CATEGORIES = emulators games
HOMEPAGE = https://github.com/flyinghead/flycast
MAINTAINER = Nam Nguyen <namn@berkeley.edu>
# GPLv2 (flycast, picoTCP), GPLv3 (glslang, picoTCP, xbrz),
# Apache 2.0 (Vulkan-Headers, glslang),
# BSD-3-Clause (glslang, gtest, vixl, xbyak, exec_elf.h),
# BSD-2-Clause (libelf, glslang), LGPL (lzma), Boost (nowide),
# MIT (VulkanMemoryAllocator, ggpo, GLM, glslang, imgui, json, md5, stb),
# Custom NVIDIA and Khronos Group (glslang preprocessor)
PERMIT_PACKAGE = Yes
# if running with vulkan backend, dlopen's vulkan in vulkan.hpp
WANTLIB += ${COMPILER_LIBCXX} GL SDL2 SPIRV ao c curl chdr glslang
WANTLIB += lua${MODLUA_VERSION} m miniupnpc pulse vulkan xxhash z zip
MASTER_SITES = https://namtsui.com/source/
NO_TEST = Yes
FIX_CRLF_FILES = core/deps/VulkanMemoryAllocator/include/vk_mem_alloc.h
# C++
COMPILER = base-clang ports-gcc base-gcc
MODULES = devel/cmake \
lang/lua
MODLUA_VERSION = 5.3
WRKDIST = ${WRKDIR}/flycast
WRKSRC = ${WRKDIST}
USE_WXNEEDED = Yes
BUILD_DEPENDS = lang/luabridge
LIB_DEPENDS = archivers/libzip \
audio/libao \
audio/pulseaudio \
devel/sdl2 \
emulators/libchdr \
graphics/glslang \
graphics/vulkan-loader \
net/curl \
net/miniupnp/miniupnpc \
sysutils/xxhash
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,breakpad,glslang,libchdr,luabridge}; \
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/
.include <bsd.port.mk>