Added
Link Here
|
1 |
PORTNAME= ares |
2 |
DISTVERSION= 139.20240731 |
3 |
CATEGORIES= emulators |
4 |
|
5 |
MAINTAINER= bsdcode@disroot.org |
6 |
COMMENT= Multi-system emulator |
7 |
WWW= https://github.com/ares-emulator/ares |
8 |
|
9 |
LICENSE= ISCL |
10 |
LICENSE_FILE= ${WRKSRC}/LICENSE |
11 |
|
12 |
LIB_DEPENDS= librashader.so:devel/librashader |
13 |
|
14 |
FLAVORS= gtk3 qt5 |
15 |
FLAVOR?= ${FLAVORS:[1]} |
16 |
|
17 |
gtk3_LIB_DEPENDS= libcanberra-gtk3.so:audio/libcanberra-gtk3 |
18 |
|
19 |
qt5_PKGNAMESUFFIX= -qt5 |
20 |
|
21 |
USES= compiler:c11 compiler:c++17-lang gmake pkgconfig xorg |
22 |
USE_GITHUB= yes |
23 |
GH_ACCOUNT= ares-emulator |
24 |
GH_TAGNAME= cac454a |
25 |
.if ${FLAVOR:U} == gtk3 |
26 |
USES+= gnome |
27 |
USE_GNOME= gtksourceview3 |
28 |
.elif ${FLAVOR:U} == qt5 |
29 |
USES+= qt:5 |
30 |
USE_QT= core gui widgets buildtools:build |
31 |
.endif |
32 |
USE_XORG= x11 xext xrandr |
33 |
|
34 |
MAKEFILE= GNUmakefile |
35 |
MAKE_ARGS= compiler=${CC} \ |
36 |
cores= \ |
37 |
CPUTYPE=${CPUTYPE} \ |
38 |
librashader=true \ |
39 |
local=false \ |
40 |
prefix=${PREFIX} \ |
41 |
ruby=video.none \ |
42 |
sdl2=false \ |
43 |
threaded=true |
44 |
.if ${FLAVOR:U} == gtk3 |
45 |
MAKE_ARGS+= hiro=gtk3-se |
46 |
.elif ${FLAVOR:U} == qt5 |
47 |
MAKE_ARGS+= hiro=qt5 |
48 |
.endif |
49 |
|
50 |
CONFLICTS_INSTALL= ares ares-qt5 |
51 |
|
52 |
OPTIONS_DEFINE= DEBUG DOCS LTO OPENMP SHADERS |
53 |
OPTIONS_DEFAULT= A26 ALSA AO CV FC GB GBA GLX LTO MD MS MSX MYVISION N64 \ |
54 |
NG NGP OPENAL OPENMP OSS PCE PERFORMANCE PS1 SDLAUDIO \ |
55 |
SDLINPUT SFC SG SHADERS SPEC UDEV UHID VULKAN WS XLIB \ |
56 |
XVIDEO |
57 |
OPTIONS_GROUP= AUDIO CORES INPUT VIDEO |
58 |
OPTIONS_GROUP_AUDIO= ALSA AO OPENAL OSS PULSEAUDIO SDLAUDIO |
59 |
OPTIONS_GROUP_CORES= A26 CV FC GB GBA MD MS MSX MYVISION N64 NG NGP PCE PS1 \ |
60 |
SFC SG SPEC WS |
61 |
OPTIONS_GROUP_INPUT= SDLINPUT UDEV UHID XLIB |
62 |
OPTIONS_GROUP_VIDEO= GLX VULKAN XVIDEO |
63 |
OPTIONS_SINGLE= PROFILE |
64 |
OPTIONS_SINGLE_PROFILE= ACCURACY PERFORMANCE |
65 |
.if ${FLAVOR:U} == qt5 |
66 |
OPTIONS_EXCLUDE= LTO # https://github.com/ares-emulator/ares/issues/1572 |
67 |
.endif |
68 |
|
69 |
A26_DESC= Atari 2600 |
70 |
ACCURACY_DESC= Slower but more accurate |
71 |
CV_DESC= ColecoVision |
72 |
FC_DESC= NES / Famicom |
73 |
GBA_DESC= Game Boy Advance |
74 |
GB_DESC= Game Boy |
75 |
MD_DESC= Mega Drive / Genesis |
76 |
MSX_DESC= MSX |
77 |
MS_DESC= Master System / Mark III |
78 |
MYVISION_DESC= My Vision |
79 |
N64_DESC= Nintendo 64 (implies ${N64_IMPLIES}) |
80 |
NGP_DESC= Neo Geo Pocket |
81 |
NG_DESC= Neo Geo (AES/MVS) |
82 |
PCE_DESC= PC-Engine / TurboGrafx |
83 |
PERFORMANCE_DESC= Faster but less accurate |
84 |
PROFILE_DESC= |
85 |
PS1_DESC= PlayStation |
86 |
SDLAUDIO_DESC= ${SDL_DESC} |
87 |
SDLINPUT_DESC= ${SDL_DESC} |
88 |
SFC_DESC= SNES / Super Famicom |
89 |
SG_DESC= SG-1000 |
90 |
SHADERS_DESC= Build and/or install shaders |
91 |
SPEC_DESC= ZX Spectrum |
92 |
UDEV_DESC= UDEV input support |
93 |
UHID_DESC= UHID input support |
94 |
VIDEO_DESC= |
95 |
VULKAN_DESC= Vulkan rendering support (used by ${_VULKAN_USED}) |
96 |
WS_DESC= WonderSwan |
97 |
XLIB_DESC= XLIB input support |
98 |
|
99 |
A26_MAKE_ARGS= cores+=a26 |
100 |
ACCURACY_MAKE_ARGS= profile=accuracy |
101 |
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib |
102 |
ALSA_MAKE_ARGS= ruby+=audio.alsa |
103 |
AO_LIB_DEPENDS= libao.so:audio/libao |
104 |
AO_MAKE_ARGS= ruby+=audio.ao |
105 |
CV_MAKE_ARGS= cores+=cv |
106 |
DEBUG_MAKE_ARGS= build=debug |
107 |
DEBUG_MAKE_ARGS_OFF= build=optimized |
108 |
FC_MAKE_ARGS= cores+=fc |
109 |
GBA_MAKE_ARGS= cores+=gba |
110 |
GB_MAKE_ARGS= cores+=gb |
111 |
GLX_USES= gl |
112 |
GLX_USE= GL=egl |
113 |
GLX_MAKE_ARGS= ruby+=video.glx |
114 |
LTO_MAKE_ARGS= lto=true |
115 |
LTO_MAKE_ARGS_OFF= lto=false |
116 |
MD_MAKE_ARGS= cores+=md |
117 |
MSX_MAKE_ARGS= cores+=msx |
118 |
MS_MAKE_ARGS= cores+=ms |
119 |
MYVISION_MAKE_ARGS= cores+=myvision |
120 |
N64_IMPLIES= VULKAN |
121 |
N64_MAKE_ARGS= cores+=n64 |
122 |
N64_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ares_n64_vulkan_parallel-rdp_util_timer.cpp |
123 |
NGP_MAKE_ARGS= cores+=ngp |
124 |
NG_MAKE_ARGS= cores+=ng |
125 |
OPENAL_USES= openal |
126 |
OPENAL_MAKE_ARGS= ruby+=audio.openal |
127 |
OPENMP_MAKE_ARGS= openmp=true |
128 |
OPENMP_MAKE_ARGS_OFF= openmp=false |
129 |
OSS_MAKE_ARGS= ruby+=audio.oss |
130 |
PCE_MAKE_ARGS= cores+=pce |
131 |
PERFORMANCE_MAKE_ARGS= profile=performance |
132 |
PS1_MAKE_ARGS= cores+=ps1 |
133 |
PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio \ |
134 |
libpulse.so:audio/pulseaudio |
135 |
PULSEAUDIO_MAKE_ARGS= ruby+=audio.pulseaudio \ |
136 |
ruby+=audio.pulseaudiosimple |
137 |
SDLAUDIO_USES= sdl |
138 |
SDLAUDIO_USE= SDL=sdl2 |
139 |
SDLAUDIO_MAKE_ARGS= ruby+=audio.sdl \ |
140 |
sdl2=true |
141 |
SDLINPUT_USES= sdl |
142 |
SDLINPUT_USE= SDL=sdl2 |
143 |
SDLINPUT_MAKE_ARGS= ruby+=input.sdl \ |
144 |
sdl2=true |
145 |
SFC_MAKE_ARGS= cores+=sfc |
146 |
SG_MAKE_ARGS= cores+=sg |
147 |
SHADERS_RUN_DEPENDS= ${LOCALBASE}/${_SHADERS_DIR}/bilinear.slangp:games/libretro-shaders-slang |
148 |
SHADERS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-desktop-ui_desktop-ui.cpp |
149 |
SPEC_MAKE_ARGS= cores+=spec |
150 |
UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd |
151 |
UDEV_MAKE_ARGS= ruby+=input.udev |
152 |
UHID_MAKE_ARGS= ruby+=input.uhid |
153 |
VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader |
154 |
VULKAN_MAKE_ARGS= vulkan=true |
155 |
VULKAN_MAKE_ARGS_OFF= vulkan=false |
156 |
WS_MAKE_ARGS= cores+=ws |
157 |
XLIB_MAKE_ARGS= ruby+=input.xlib |
158 |
XVIDEO_USE= XORG=xv |
159 |
XVIDEO_MAKE_ARGS= ruby+=video.xvideo |
160 |
|
161 |
_SHADERS_DIR= share/libretro/shaders/shaders_slang |
162 |
_VULKAN_USED= N64 |
163 |
|
164 |
post-patch-SHADERS-on: |
165 |
${REINPLACE_CMD} -e 's|@@SHADERS@@|${PREFIX}/${_SHADERS_DIR}/|g' \ |
166 |
${WRKSRC}/desktop-ui/desktop-ui.cpp |
167 |
|
168 |
do-install: |
169 |
${INSTALL_PROGRAM} ${WRKSRC}/desktop-ui/out/ares \ |
170 |
${STAGEDIR}${PREFIX}/bin |
171 |
${INSTALL_DATA} ${WRKSRC}/desktop-ui/resource/ares.desktop \ |
172 |
${STAGEDIR}${PREFIX}/share/applications |
173 |
${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps |
174 |
${INSTALL_DATA} ${WRKSRC}/desktop-ui/resource/ares.png \ |
175 |
${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps |
176 |
${MKDIR} ${STAGEDIR}${DATADIR}/Database |
177 |
cd ${WRKSRC}/mia/Database && \ |
178 |
${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/Database |
179 |
|
180 |
post-install-DOCS-on: |
181 |
${MKDIR} ${STAGEDIR}${DOCSDIR} |
182 |
${INSTALL_DATA} ${WRKSRC}/README.md \ |
183 |
${STAGEDIR}${DOCSDIR} |
184 |
|
185 |
.include <bsd.port.mk> |