summaryrefslogtreecommitdiff
path: root/emulators/ares
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/ares')
-rw-r--r--emulators/ares/Makefile42
-rw-r--r--emulators/ares/distinfo6
-rw-r--r--emulators/ares/files/patch-thirdparty_CMakeLists.txt75
-rw-r--r--emulators/ares/pkg-descr13
-rw-r--r--emulators/ares/pkg-plist4
5 files changed, 120 insertions, 20 deletions
diff --git a/emulators/ares/Makefile b/emulators/ares/Makefile
index d2e59fa9646a..0ce6c3aaf5c9 100644
--- a/emulators/ares/Makefile
+++ b/emulators/ares/Makefile
@@ -1,10 +1,10 @@
PORTNAME= ares
DISTVERSIONPREFIX= v
-DISTVERSION= 145
-PORTREVISION= 1
+DISTVERSION= 146
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
@@ -29,10 +29,15 @@ CMAKE_OFF= ARES_BUILD_LOCAL \
ARES_BUNDLE_SHADERS \
ARES_ENABLE_MINIMUM_CPU
-EXTRACT_AFTER_ARGS= --exclude thirdparty/librashader \
+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
-WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
+NO_WRKSUBDIR= yes
OPTIONS_DEFINE= CHD SDL TOOLS
OPTIONS_DEFAULT= A26 ALSA AO CHD CV FC GB GBA LIBRASHADER \
@@ -92,8 +97,9 @@ ALSA_CMAKE_BOOL= ARES_ENABLE_ALSA
AO_LIB_DEPENDS= libao.so:audio/libao
AO_CMAKE_BOOL= ARES_ENABLE_AO
-CHD_CMAKE_BOOL= ARES_ENABLE_CHD \
- WITH_SYSTEM_ZLIB
+CHD_LIB_DEPENDS= libchdr.so:devel/libchdr
+CHD_USES= localbase
+CHD_CMAKE_BOOL= ARES_ENABLE_CHD
CV_VARS= _CORES+=cv
@@ -115,6 +121,8 @@ 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
@@ -124,8 +132,12 @@ MS_VARS= _CORES+=ms
MYVISION_VARS= _CORES+=myvision
_N64_BR_DEPENDS= vulkan-loader>0:graphics/vulkan-loader
-N64_BUILD_DEPENDS= ${_N64_BR_DEPENDS}
+_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
@@ -157,8 +169,6 @@ SG_VARS= _CORES+=sg
SPEC_VARS= _CORES+=spec
-# https://github.com/ares-emulator/ares/issues/2090
-TOOLS_IMPLIES= GBA MD NG SFC
TOOLS_CMAKE_BOOL= ARES_BUILD_OPTIONAL_TARGETS
UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd
@@ -168,6 +178,20 @@ 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/*
diff --git a/emulators/ares/distinfo b/emulators/ares/distinfo
index 6d6b5f6a7b60..5cdf41f6260d 100644
--- a/emulators/ares/distinfo
+++ b/emulators/ares/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752185303
-SHA256 (ares-source.tar.gz) = 7a76acf87cca2903552683347fdf6f1cd06f436fa4e0c247108688785cbbd14b
-SIZE (ares-source.tar.gz) = 8967048
+TIMESTAMP = 1756454355
+SHA256 (ares-146/ares-source.tar.gz) = 0f0b878c19ce09dab57584235e9c639c4c14a0bd1de6cef50238f006bd797bf1
+SIZE (ares-146/ares-source.tar.gz) = 9021617
diff --git a/emulators/ares/files/patch-thirdparty_CMakeLists.txt b/emulators/ares/files/patch-thirdparty_CMakeLists.txt
new file mode 100644
index 000000000000..0a9b749623bd
--- /dev/null
+++ b/emulators/ares/files/patch-thirdparty_CMakeLists.txt
@@ -0,0 +1,75 @@
+--- thirdparty/CMakeLists.txt.orig 2025-08-27 21:41:50 UTC
++++ thirdparty/CMakeLists.txt
+@@ -7,55 +7,9 @@ if(ARES_ENABLE_CHD)
+ option(ARES_ENABLE_CHD "Enable CHD format support via libchdr" ON)
+
+ if(ARES_ENABLE_CHD)
+- # lzma
+- add_subdirectory(libchdr/deps/lzma-24.05 EXCLUDE_FROM_ALL)
+- list(APPEND CHDR_LIBS lzma)
+- list(APPEND CHDR_INCLUDES lzma)
+-
+- if(OS_MACOS)
+- option(WITH_SYSTEM_ZLIB "Use system zlib" ON)
+- endif()
+- # zlib
+- if(WITH_SYSTEM_ZLIB)
+- find_package(ZLIB REQUIRED)
+- list(APPEND PLATFORM_LIBS ZLIB::ZLIB)
+- else()
+- option(ZLIB_BUILD_EXAMPLES "Enable Zlib Examples" OFF)
+- add_subdirectory(libchdr/deps/zlib-1.3.1 EXCLUDE_FROM_ALL)
+- set_target_properties(
+- zlibstatic
+- PROPERTIES POSITION_INDEPENDENT_CODE ON FOLDER thirdparty PREFIX ""
+- )
+- list(APPEND CHDR_LIBS zlibstatic)
+- endif()
+-
+- # zstd
+- option(ZSTD_BUILD_SHARED "BUILD SHARED LIBRARIES" OFF)
+- option(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" OFF)
+- add_subdirectory(libchdr/deps/zstd-1.5.6/build/cmake EXCLUDE_FROM_ALL)
+- list(APPEND CHDR_LIBS libzstd_static)
+- #--------------------------------------------------
+- # chdr
+- #--------------------------------------------------
+-
+- set(
+- CHDR_SOURCES
+- libchdr/src/libchdr_bitstream.c
+- libchdr/src/libchdr_cdrom.c
+- libchdr/src/libchdr_chd.c
+- libchdr/src/libchdr_flac.c
+- libchdr/src/libchdr_huffman.c
+- )
+-
+- list(APPEND CHDR_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/libchdr/include)
+-
+- add_library(chdr-static STATIC ${CHDR_SOURCES})
+- target_include_directories(chdr-static PUBLIC ${CHDR_INCLUDES} PUBLIC libchdr/include)
+- target_link_libraries(chdr-static PRIVATE ${CHDR_LIBS} ${PLATFORM_LIBS})
+- target_compile_options(
+- chdr-static
+- PRIVATE $<$<CXX_COMPILER_ID:Clang,AppleClang>:-Wno-unreachable-code -Wno-unused-function>
+- )
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(libchdr REQUIRED IMPORTED_TARGET GLOBAL libchdr)
++ add_library(chdr-static ALIAS PkgConfig::libchdr)
+ endif()
+
+ add_library(
+@@ -111,12 +65,4 @@ set_target_properties(sljit PROPERTIES FOLDER thirdpar
+ set_target_properties(ymfm PROPERTIES FOLDER thirdparty PREFIX "")
+ set_target_properties(tzxfile PROPERTIES FOLDER thirdparty PREFIX "")
+ set_target_properties(sljit PROPERTIES FOLDER thirdparty PREFIX "")
+-if(ARES_ENABLE_CHD)
+- set_target_properties(chdr-static PROPERTIES FOLDER thirdparty PREFIX "")
+- if(NOT WITH_SYSTEM_ZLIB)
+- set_target_properties(zlib PROPERTIES FOLDER thirdparty PREFIX "")
+- endif()
+- set_target_properties(lzma PROPERTIES FOLDER thirdparty PREFIX "")
+- set_target_properties(libzstd_static PROPERTIES FOLDER thirdparty PREFIX "")
+-endif()
+ set_target_properties(qon PROPERTIES FOLDER thirdparty PREFIX "")
+\ No newline at end of file
diff --git a/emulators/ares/pkg-descr b/emulators/ares/pkg-descr
index 1d1df5876394..51eba6b65b62 100644
--- a/emulators/ares/pkg-descr
+++ b/emulators/ares/pkg-descr
@@ -3,14 +3,15 @@ preservation. It is a descendant of the emulators higan and bsnes. It's source
code is structured to be maximally readable and self-documenting.
ares supports the following systems: Arcade, WonderSwan, WonderSwan Color,
-Pocket Challenge V2, ColecoVision, PC-Engine / TurboGrafx, SuperGrafx, My
-Vision, NES / Famicom, Famicom Disk System, SNES / Super Famicom, Satellaview,
-Sufami Turbo, Nintendo 64, Nintendo 64DD, Game Boy, Game Boy Color, Game Boy
-Advance, SG-1000, Master System / Mark III, Mega Drive / Genesis, Mega CD, 32X,
-Game Gear, Neo Geo Pocket, Neo Geo Pocket Color
+Pocket Challenge V2, ColecoVision, PC-Engine / TurboGrafx, PC-Engine SuperGrafx,
+My Vision, NES / Famicom, Famicom Disk System, Game Boy, SNES / Super Famicom,
+Satellaview, Nintendo 64, SuFami Turbo, Game Boy Color, Nintendo 64DD, Game Boy
+Advance, SG-1000, Master System / Mark III, Mega Drive / Genesis, Game Gear,
+Mega CD, 32X, Neo Geo Pocket, Neo Geo Pocket Color
ares has experimental support for the following systems: Atari 2600, MSX, MSX2,
-PC-Engine CD / TurboGrafx CD, ZX Spectrum, Neo Geo (AES/MVS), PlayStation
+PC-Engine CD / TurboGrafx CD, LaserActive, ZX Spectrum, Neo Geo (AES/MVS),
+PlayStation
ares has all the features one would expect from a great emulator system: native
multi-platform UI, dynamic rate control, save states, run-ahead, rewind and
diff --git a/emulators/ares/pkg-plist b/emulators/ares/pkg-plist
index 035623ec753e..476ac9756832 100644
--- a/emulators/ares/pkg-plist
+++ b/emulators/ares/pkg-plist
@@ -1,8 +1,8 @@
bin/ares
-%%TOOLS%%bin/arm7tdmi
+%%TOOLSARM7TDMI%%bin/arm7tdmi
%%TOOLS%%bin/genius
%%TOOLS%%bin/i8080
-%%TOOLS%%bin/m68000
+%%TOOLSM68000%%bin/m68000
%%TOOLS%%bin/mame2bml
%%TOOLS%%bin/mia
bin/sourcery