213 lines
5.3 KiB
Makefile
213 lines
5.3 KiB
Makefile
PORTNAME= ares
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 141
|
|
PORTREVISION= 1
|
|
CATEGORIES= emulators
|
|
|
|
MAINTAINER= bsdcode@disroot.org
|
|
COMMENT= Multi-system emulator
|
|
WWW= https://ares-emu.net
|
|
|
|
LICENSE= ISCL
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
USES= compiler:c++17-lang gmake gnome localbase:ldflags pkgconfig \
|
|
xorg
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= ares-emulator
|
|
USE_GNOME= gtksourceview3
|
|
USE_XORG= x11 xext xrandr
|
|
|
|
MAKEFILE= GNUmakefile
|
|
MAKE_ARGS= compiler=${CC} \
|
|
cores= \
|
|
hiro=gtk3-se \
|
|
local=false \
|
|
lto=false \
|
|
prefix=${PREFIX} \
|
|
ruby=video.none \
|
|
sdl2=false \
|
|
symbols=false \
|
|
threaded=true
|
|
|
|
OPTIONS_DEFINE= DEBUG DOCS HOTKEYS OPENMP SHADER
|
|
OPTIONS_DEFAULT= A26 ALSA AO CV FC GB GBA GLX MD MS MSX MYVISION N64 NG \
|
|
NGP OPENAL OPENMP OSS PCE PERFORMANCE PS1 SDLAUDIO \
|
|
SDLINPUT SFC SG SHADER SPEC UDEV UHID WS XLIB XVIDEO
|
|
OPTIONS_GROUP= AUDIO CORES INPUT VIDEO
|
|
OPTIONS_GROUP_AUDIO= ALSA AO OPENAL OSS PULSEAUDIO SDLAUDIO
|
|
OPTIONS_GROUP_CORES= A26 CV FC GB GBA MD MS MSX MYVISION N64 NG NGP PCE PS1 \
|
|
SFC SG SPEC WS
|
|
OPTIONS_GROUP_INPUT= SDLINPUT UDEV UHID XLIB
|
|
OPTIONS_GROUP_VIDEO= GLX XVIDEO
|
|
OPTIONS_SINGLE= PROFILE
|
|
OPTIONS_SINGLE_PROFILE= ACCURACY PERFORMANCE
|
|
|
|
A26_DESC= Atari 2600
|
|
ACCURACY_DESC= Slower but more accurate
|
|
CV_DESC= ColecoVision
|
|
FC_DESC= NES / Famicom
|
|
GBA_DESC= Game Boy Advance
|
|
GB_DESC= Game Boy
|
|
HOTKEYS_DESC= Inofficial hotkeys locking patch
|
|
MD_DESC= Mega Drive / Genesis
|
|
MSX_DESC= MSX
|
|
MS_DESC= Master System / Mark III
|
|
MYVISION_DESC= My Vision
|
|
N64_DESC= Nintendo 64
|
|
NGP_DESC= Neo Geo Pocket
|
|
NG_DESC= Neo Geo (AES/MVS)
|
|
PCE_DESC= PC-Engine / TurboGrafx
|
|
PERFORMANCE_DESC= Faster but less accurate
|
|
PROFILE_DESC=
|
|
PS1_DESC= PlayStation
|
|
SDLAUDIO_DESC= ${SDL_DESC}
|
|
SDLINPUT_DESC= ${SDL_DESC}
|
|
SFC_DESC= SNES / Super Famicom
|
|
SG_DESC= SG-1000
|
|
SHADER_DESC= Build with shader support
|
|
SPEC_DESC= ZX Spectrum
|
|
UDEV_DESC= UDEV input support
|
|
UHID_DESC= UHID input support
|
|
VIDEO_DESC=
|
|
WS_DESC= WonderSwan
|
|
XLIB_DESC= XLIB input support
|
|
|
|
A26_MAKE_ARGS= cores+=a26
|
|
|
|
ACCURACY_MAKE_ARGS= profile=accuracy
|
|
|
|
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
|
|
ALSA_MAKE_ARGS= ruby+=audio.alsa
|
|
|
|
AO_LIB_DEPENDS= libao.so:audio/libao
|
|
AO_MAKE_ARGS= ruby+=audio.ao
|
|
|
|
CV_MAKE_ARGS= cores+=cv
|
|
|
|
DEBUG_MAKE_ARGS= build=debug
|
|
DEBUG_MAKE_ARGS_OFF= build=release
|
|
|
|
FC_MAKE_ARGS= cores+=fc
|
|
|
|
GBA_MAKE_ARGS= cores+=gba
|
|
|
|
GB_MAKE_ARGS= cores+=gb
|
|
|
|
GLX_USES= gl
|
|
GLX_USE= GL=gl
|
|
GLX_MAKE_ARGS= ruby+=video.glx
|
|
|
|
HOTKEYS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-hotkeys
|
|
|
|
MD_MAKE_ARGS= cores+=md
|
|
|
|
MSX_MAKE_ARGS= cores+=msx
|
|
|
|
MS_MAKE_ARGS= cores+=ms
|
|
|
|
MYVISION_MAKE_ARGS= cores+=myvision
|
|
|
|
N64_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
|
|
N64_MAKE_ARGS= cores+=n64 \
|
|
vulkan=true
|
|
N64_MAKE_ARGS_OFF= vulkan=false
|
|
|
|
NGP_MAKE_ARGS= cores+=ngp
|
|
|
|
NG_MAKE_ARGS= cores+=ng
|
|
|
|
OPENAL_USES= openal
|
|
OPENAL_MAKE_ARGS= ruby+=audio.openal
|
|
|
|
OPENMP_MAKE_ARGS= openmp=true
|
|
OPENMP_MAKE_ARGS_OFF= openmp=false
|
|
|
|
OSS_MAKE_ARGS= ruby+=audio.oss
|
|
|
|
PCE_MAKE_ARGS= cores+=pce
|
|
|
|
PERFORMANCE_MAKE_ARGS= profile=performance
|
|
|
|
PS1_MAKE_ARGS= cores+=ps1
|
|
|
|
PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio \
|
|
libpulse.so:audio/pulseaudio
|
|
PULSEAUDIO_MAKE_ARGS= ruby+=audio.pulseaudio \
|
|
ruby+=audio.pulseaudiosimple
|
|
|
|
SDLAUDIO_USES= sdl
|
|
SDLAUDIO_USE= SDL=sdl2
|
|
SDLAUDIO_MAKE_ARGS= ruby+=audio.sdl \
|
|
sdl2=true
|
|
|
|
SDLINPUT_USES= sdl
|
|
SDLINPUT_USE= SDL=sdl2
|
|
SDLINPUT_MAKE_ARGS= ruby+=input.sdl \
|
|
sdl2=true
|
|
|
|
SFC_MAKE_ARGS= cores+=sfc
|
|
|
|
SG_MAKE_ARGS= cores+=sg
|
|
|
|
SHADER_BUILD_DEPENDS= ${LOCALBASE}/include/librashader/librashader.h:devel/librashader
|
|
SHADER_RUN_DEPENDS= ${LOCALBASE}/${_SHADERS}/bilinear.slangp:games/libretro-shaders-slang \
|
|
${LOCALBASE}/lib/librashader.so:devel/librashader
|
|
SHADER_MAKE_ARGS= librashader=true
|
|
SHADER_MAKE_ARGS_OFF= librashader=false
|
|
SHADER_CFLAGS= -DLIBRA_RUNTIME_OPENGL
|
|
SHADER_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-desktop-ui_desktop-ui.cpp
|
|
|
|
SPEC_MAKE_ARGS= cores+=spec
|
|
|
|
UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd
|
|
UDEV_MAKE_ARGS= ruby+=input.udev
|
|
|
|
UHID_MAKE_ARGS= ruby+=input.uhid
|
|
|
|
WS_MAKE_ARGS= cores+=ws
|
|
|
|
XLIB_MAKE_ARGS= ruby+=input.xlib
|
|
|
|
XVIDEO_USE= XORG=xv
|
|
XVIDEO_MAKE_ARGS= ruby+=video.xvideo
|
|
|
|
_SHADERS= share/libretro/shaders/shaders_slang
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MOPENAL} && ${ARCH} == "i386"
|
|
LLD_UNSAFE= yes
|
|
.endif
|
|
|
|
post-patch:
|
|
${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' \
|
|
${WRKSRC}/hiro/GNUmakefile
|
|
|
|
post-patch-SHADER-on:
|
|
${REINPLACE_CMD} 's|-I../thirdparty/librashader/include||g' \
|
|
${WRKSRC}/desktop-ui/GNUmakefile
|
|
${REINPLACE_CMD} 's|"librashader_ld.h"|<librashader/librashader_ld.h>|g' \
|
|
${WRKSRC}/ruby/video/opengl/opengl.hpp
|
|
${REINPLACE_CMD} 's|@@SHADERS@@|${LOCALBASE}/${_SHADERS}/|g' \
|
|
${WRKSRC}/desktop-ui/desktop-ui.cpp
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/desktop-ui/out/ares \
|
|
${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_DATA} ${WRKSRC}/desktop-ui/resource/ares.desktop \
|
|
${STAGEDIR}${PREFIX}/share/applications
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps
|
|
${INSTALL_DATA} ${WRKSRC}/desktop-ui/resource/ares.png \
|
|
${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps
|
|
${MKDIR} ${STAGEDIR}${DATADIR}/Database
|
|
(cd ${WRKSRC}/mia/Database && \
|
|
${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/Database)
|
|
|
|
post-install-DOCS-on:
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/README.md \
|
|
${STAGEDIR}${DOCSDIR}
|
|
|
|
.include <bsd.port.mk>
|