96aecd7b90
Changelogs: - https://github.com/StrikerX3/Ymir/releases/tag/v0.3.2 - https://github.com/StrikerX3/Ymir/releases/tag/v0.3.3 PR: 296198 Approved by: osa, vvd (Mentors, implicit)
105 lines
3.0 KiB
Makefile
105 lines
3.0 KiB
Makefile
PORTNAME= Ymir
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 0.3.3
|
|
CATEGORIES= emulators
|
|
|
|
MAINTAINER= bsdcode@disroot.org
|
|
COMMENT= Sega Saturn emulator
|
|
WWW= https://github.com/StrikerX3/Ymir/
|
|
|
|
LICENSE= GPLv3
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
ONLY_FOR_ARCHS= aarch64 amd64
|
|
ONLY_FOR_ARCHS_REASON= upstream only supports aarch64 and amd64
|
|
|
|
BUILD_DEPENDS= cereal>0:devel/cereal \
|
|
concurrentqueue>0:devel/concurrentqueue \
|
|
cxxopts>0:devel/cxxopts \
|
|
date>0:devel/date \
|
|
glslangValidator:graphics/glslang \
|
|
glslc:graphics/shaderc \
|
|
libnghttp3>0:www/libnghttp3 \
|
|
libngtcp2>0:net/libngtcp2 \
|
|
nlohmann-json>0:devel/nlohmann-json \
|
|
semver>0:devel/semver \
|
|
stb>0:devel/stb \
|
|
vulkan-headers>0:graphics/vulkan-headers
|
|
|
|
LIB_DEPENDS= libchdr.so:devel/libchdr \
|
|
libcurl.so:ftp/curl \
|
|
libfmt.so:devel/libfmt \
|
|
libglfw.so:graphics/glfw \
|
|
libimgui.so:x11-toolkits/imgui \
|
|
liblz4.so:archivers/liblz4 \
|
|
librtmidi.so:audio/rtmidi \
|
|
libtomlplusplus.so:devel/tomlplusplus \
|
|
libvulkan.so:graphics/vulkan-loader \
|
|
libxxhash.so:devel/xxhash
|
|
|
|
FLAVORS= gtk3 gtk4
|
|
FLAVOR?= ${FLAVORS:[1]}
|
|
gtk4_PKGNAMESUFFIX= -gtk4
|
|
_gtk3_BR_DEPENDS= zenity:x11/zenity
|
|
_gtk4_BR_DEPENDS= zenity:x11/zenity4
|
|
${FLAVOR}_BUILD_DEPENDS= ${_${FLAVOR}_BR_DEPENDS}
|
|
${FLAVOR}_RUN_DEPENDS= ${_${FLAVOR}_BR_DEPENDS}
|
|
|
|
USES= cmake compiler:c++20-lang gl llvm${_LLVM_${ARCH}} localbase \
|
|
pkgconfig sdl xorg
|
|
_LLVM_aarch64= :min=21
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= StrikerX3
|
|
GH_TUPLE= StrikerX3:mio:4e4cdc711d73d9dc96c0cb9475e6951f476218e6:mio/vendor/mio
|
|
|
|
USE_GL= glut
|
|
USE_SDL= sdl3
|
|
USE_XORG= xi xmu
|
|
|
|
CMAKE_OFF= Ymir_DEV_BUILD \
|
|
Ymir_ENABLE_IMGUI_DEMO \
|
|
Ymir_ENABLE_SANDBOX \
|
|
Ymir_ENABLE_TESTS \
|
|
Ymir_ENABLE_UPDATE_CHECKS
|
|
|
|
CFLAGS+= -I${LOCALBASE}/include/concurrentqueue/moodycamel \
|
|
-I${LOCALBASE}/include/stb \
|
|
-I${WRKSRC}/vendor/imgui/ymir
|
|
|
|
PLIST_FILES= bin/ymir-sdl3 \
|
|
share/applications/io.github.strikerx3.ymir.desktop \
|
|
share/icons/hicolor/256x256/apps/ymir.png \
|
|
share/metainfo/io.github.strikerx3.ymir.xml
|
|
|
|
OPTIONS_DEFINE= FEATUREFLAG LTO YMDASM
|
|
OPTIONS_DEFAULT= LTO
|
|
|
|
FEATUREFLAG_DESC= Enable experimental features
|
|
YMDASM_DESC= Include Ymir disassembly tool
|
|
|
|
FEATUREFLAG_CMAKE_BOOL= Ymir_FEATUREFLAG_DEFAULT
|
|
|
|
LTO_CMAKE_BOOL= Ymir_ENABLE_IPO
|
|
|
|
YMDASM_CMAKE_BOOL= Ymir_ENABLE_YMDASM
|
|
YMDASM_PLIST_FILES= bin/ymdasm
|
|
|
|
post-install:
|
|
${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/apps/ymir-sdl3/ymir-sdl3-${DISTVERSION} \
|
|
${STAGEDIR}${PREFIX}/bin/ymir-sdl3
|
|
${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/io.github.strikerx3.ymir.desktop \
|
|
${STAGEDIR}${DESKTOPDIR}
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps \
|
|
${STAGEDIR}${PREFIX}/share/metainfo
|
|
${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/ymir.png \
|
|
${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps
|
|
${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/io.github.strikerx3.ymir.xml \
|
|
${STAGEDIR}${PREFIX}/share/metainfo
|
|
|
|
post-install-YMDASM-on:
|
|
${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/apps/ymdasm/ymdasm-${DISTVERSION} \
|
|
${STAGEDIR}${PREFIX}/bin/ymdasm
|
|
|
|
.include <bsd.port.mk>
|