blob: f0c983419558265bcbf2b29170bd96b0d0b53c49 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
PORTNAME= Ymir
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
PORTREVISION= 1
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 desktop-file-utils 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_INCLUDE_PACKAGING
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= LTO YMDASM
OPTIONS_DEFAULT= LTO
YMDASM_DESC= Include Ymir disassembly tool
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>
|