01100115fd
In this case there's only one, emulators/ares PR: 296551
210 lines
5.6 KiB
Makefile
210 lines
5.6 KiB
Makefile
PORTNAME= ares
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 148
|
|
PORTREVISION= 4
|
|
CATEGORIES= emulators
|
|
MASTER_SITES= https://github.com/${PORTNAME}-emulator/${PORTNAME}/releases/download/${DISTVERSIONFULL}/
|
|
DISTNAME= ${PORTNAME}-source
|
|
DIST_SUBDIR= ${PORTNAME}/${DISTVERSION}
|
|
|
|
MAINTAINER= bsdcode@disroot.org
|
|
COMMENT= Multi-system emulator
|
|
WWW= https://ares-emu.net
|
|
|
|
LICENSE= ISCL
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
# Needs resolution by upstream, see also
|
|
# https://github.com/ares-emulator/ares/issues/2350
|
|
BROKEN_i386= unsigned long long to size_type narrowing conversion issue introduced in version 147
|
|
|
|
BUILD_DEPENDS= librashader>0:devel/librashader
|
|
|
|
USES= cmake compiler:c++20-lang gl gnome pkgconfig xorg
|
|
USE_GL= opengl
|
|
USE_GNOME= gtk30
|
|
USE_XORG= x11 xext xrandr xrender
|
|
|
|
CMAKE_ARGS= -DARES_CORES="${_CORES:S/ /;/gW}" \
|
|
-DENABLE_CCACHE=${CCACHE_ENABLED}
|
|
CMAKE_ON= ARES_BUILD_OFFICIAL \
|
|
ARES_SKIP_DEPS \
|
|
ARES_UNITY_CORES
|
|
CMAKE_OFF= ARES_BUILD_LOCAL \
|
|
ARES_BUNDLE_SHADERS \
|
|
ARES_ENABLE_MINIMUM_CPU
|
|
|
|
EXTRACT_AFTER_ARGS= --exclude thirdparty/GL \
|
|
--exclude thirdparty/KHR \
|
|
--exclude thirdparty/libchdr \
|
|
--exclude thirdparty/librashader \
|
|
--exclude thirdparty/sse2neon.h \
|
|
--exclude thirdparty/xxhash.h \
|
|
--no-same-owner --no-same-permissions
|
|
|
|
NO_WRKSUBDIR= yes
|
|
|
|
OPTIONS_DEFINE= CHD SDL TOOLS
|
|
OPTIONS_DEFAULT= A26 ALSA AO CHD CV FC GB GBA LIBRASHADER \
|
|
LIBRETRO LTO MD MS MSX MYVISION N64 NG NGP \
|
|
OPENAL OPTIMIZED_CFLAGS OSS PCE PS1 SDL SFC SG \
|
|
SPEC UDEV USBHID WS
|
|
OPTIONS_GROUP= AUDIO CORES INPUT OPTIMIZATION SHADER
|
|
OPTIONS_GROUP_AUDIO= ALSA AO OPENAL OSS PULSEAUDIO
|
|
OPTIONS_GROUP_CORES= A26 CV FC GB GBA MD MS MSX MYVISION N64 NG NGP \
|
|
PCE PS1 SFC SG SPEC WS
|
|
OPTIONS_GROUP_INPUT= HOTKEYS UDEV USBHID
|
|
OPTIONS_GROUP_OPTIMIZATION= ACCURACY LTO OPTIMIZED_CFLAGS
|
|
OPTIONS_GROUP_SHADER= LIBRASHADER LIBRETRO
|
|
|
|
# linking openal fails on i386, LLD_UNSAFE workaround fails with
|
|
# /usr/local/bin/i386-unknown-freebsd14.1-ld.bfd: /usr/bin/../lib/LLVMgold.so:
|
|
# error loading plugin: Cannot open "/usr/bin/../lib/LLVMgold.so"
|
|
# on tools/sourcery target, so exclude OPENAL on i386
|
|
OPTIONS_EXCLUDE_i386= OPENAL
|
|
OPTIONS_EXCLUDE_powerpc64le= N64
|
|
OPTIONS_EXCLUDE_powerpc64= N64
|
|
|
|
OPTIONS_SUB= yes
|
|
|
|
A26_DESC= Atari 2600
|
|
ACCURACY_DESC= Emulation accuracy over performance
|
|
CHD_DESC= CHD format support via libchdr
|
|
CV_DESC= ColecoVision
|
|
FC_DESC= NES / Famicom
|
|
GBA_DESC= Game Boy Advance
|
|
GB_DESC= Game Boy / Game Boy Color
|
|
HOTKEYS_DESC= Inofficial hotkeys locking patch
|
|
LIBRASHADER_DESC= Slang-shader support via librashader
|
|
LIBRETRO_DESC= Install slang-shaders from libretro (implies ${LIBRETRO_IMPLIES})
|
|
MD_DESC= Sega Mega Drive / Genesis
|
|
MSX_DESC= Microsoft MSX
|
|
MS_DESC= Sega Master System / Mark III
|
|
MYVISION_DESC= My Vision
|
|
N64_DESC= Nintendo 64
|
|
NGP_DESC= Neo Geo Pocket / Neo Geo Pocket Color
|
|
NG_DESC= Neo Geo (AES/MVS)
|
|
PCE_DESC= PC-Engine / TurboGrafx
|
|
PS1_DESC= PlayStation
|
|
SFC_DESC= SNES / Super Famicom
|
|
SG_DESC= Sega SG-1000
|
|
SPEC_DESC= ZX Spectrum
|
|
TOOLS_DESC= Include supplemental tools and tests
|
|
UDEV_DESC= Input support via UDEV
|
|
USBHID_DESC= Input support via USBHID
|
|
WS_DESC= WonderSwan / WonderSwan Color
|
|
|
|
A26_VARS= _CORES+=a26
|
|
|
|
ACCURACY_CMAKE_BOOL= ARES_PROFILE_ACCURACY
|
|
|
|
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
|
|
ALSA_CMAKE_BOOL= ARES_ENABLE_ALSA
|
|
|
|
AO_LIB_DEPENDS= libao.so:audio/libao
|
|
AO_CMAKE_BOOL= ARES_ENABLE_AO
|
|
|
|
CHD_LIB_DEPENDS= libchdr.so:devel/libchdr
|
|
CHD_USES= localbase
|
|
CHD_CMAKE_BOOL= ARES_ENABLE_CHD
|
|
|
|
CV_VARS= _CORES+=cv
|
|
|
|
FC_VARS= _CORES+=fc
|
|
|
|
GBA_VARS= _CORES+=gba
|
|
|
|
GB_VARS= _CORES+=gb
|
|
|
|
HOTKEYS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-desktop-ui_input_hotkeys.cpp
|
|
|
|
LIBRASHADER_LIB_DEPENDS= librashader.so:devel/librashader
|
|
LIBRASHADER_CMAKE_BOOL= ARES_ENABLE_LIBRASHADER
|
|
|
|
LIBRETRO_IMPLIES= LIBRASHADER
|
|
_LIBRETRO_BR_DEPENDS= libretro-shaders-slang<0:games/libretro-shaders-slang
|
|
LIBRETRO_BUILD_DEPENDS= ${_LIBRETRO_BR_DEPENDS}
|
|
LIBRETRO_RUN_DEPENDS= ${_LIBRETRO_BR_DEPENDS}
|
|
|
|
LTO_CMAKE_BOOL= ENABLE_IPO
|
|
|
|
MD_BUILD_DEPENDS= xxhash>0:devel/xxhash
|
|
MD_USES= localbase
|
|
MD_VARS= _CORES+=md
|
|
|
|
MSX_VARS= _CORES+=msx
|
|
|
|
MS_VARS= _CORES+=ms
|
|
|
|
MYVISION_VARS= _CORES+=myvision
|
|
|
|
_N64_BR_DEPENDS= vulkan-loader>0:graphics/vulkan-loader
|
|
_N64_BUILD_DEPENDS_aarch64= sse2neon>0:devel/sse2neon
|
|
N64_BUILD_DEPENDS= ${_N64_BR_DEPENDS} \
|
|
${_N64_BUILD_DEPENDS_${ARCH}} \
|
|
xxhash>0:devel/xxhash
|
|
N64_RUN_DEPENDS= ${_N64_BR_DEPENDS}
|
|
N64_USES= localbase
|
|
N64_VARS= _CORES+=n64
|
|
|
|
NGP_VARS= _CORES+=ngp
|
|
|
|
NG_VARS= _CORES+=ng
|
|
|
|
OPENAL_USES= openal
|
|
OPENAL_CMAKE_BOOL= ARES_ENABLE_OPENAL
|
|
|
|
OPTIMIZED_CFLAGS_CFLAGS= -O3
|
|
|
|
OSS_CMAKE_BOOL= ARES_ENABLE_OSS
|
|
|
|
PCE_VARS= _CORES+=pce
|
|
|
|
PS1_VARS= _CORES+=ps1
|
|
|
|
PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio \
|
|
libpulse.so:audio/pulseaudio
|
|
PULSEAUDIO_CMAKE_BOOL= ARES_ENABLE_PULSEAUDIO
|
|
|
|
SDL_USES= sdl
|
|
SDL_USE= SDL=sdl3
|
|
SDL_CMAKE_BOOL= ARES_ENABLE_SDL
|
|
|
|
SFC_VARS= _CORES+=sfc
|
|
|
|
SG_VARS= _CORES+=sg
|
|
|
|
SPEC_VARS= _CORES+=spec
|
|
|
|
TOOLS_CMAKE_BOOL= ARES_BUILD_OPTIONAL_TARGETS
|
|
|
|
UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd
|
|
UDEV_CMAKE_BOOL= ARES_ENABLE_UDEV
|
|
|
|
USBHID_CMAKE_BOOL= ARES_ENABLE_USBHID
|
|
|
|
WS_VARS= _CORES+=ws
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MTOOLS} && (${PORT_OPTIONS:MGBA} || ${PORT_OPTIONS:MSFC})
|
|
PLIST_SUB+= TOOLSARM7TDMI=""
|
|
.else
|
|
PLIST_SUB+= TOOLSARM7TDMI="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MTOOLS} && (${PORT_OPTIONS:MMD} || ${PORT_OPTIONS:MNG})
|
|
PLIST_SUB+= TOOLSM68000=""
|
|
.else
|
|
PLIST_SUB+= TOOLSM68000="@comment "
|
|
.endif
|
|
|
|
post-patch:
|
|
${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' \
|
|
${WRKSRC}/cmake/finders/*
|
|
|
|
post-install-LIBRETRO-on:
|
|
${LN} -s ${LOCALBASE}/share/libretro/shaders/shaders_slang ${STAGEDIR}${DATADIR}/Shaders
|
|
|
|
.include <bsd.port.mk>
|