mirror of https://git.FreeBSD.org/ports.git
emulators/ares: update to 146, unbundle dependencies
Release notes: https://ares-emu.net/news/ares-v146-released * The provided release archive doesn't contain a root directory anymore, so the port has to replace WRKSRC with NO_WRKSUBDIR=yes. Additionally use DIST_SUBDIR to prevent collision among multiple versions of the unversioned DISTFILES. * This release builds the binaries bin/arm7tdmi and bin/m68000 only if one of the relevant cores is enabled. The port reflects this by removing TOOLS_IMPLIES and by adjusting PLIST_SUB and pkg-plist accordingly. * The LaserActive system is added to the list of experimentally supported systems in pkg-descr. While there, reorder the list of supported systems in order to match the order on the project's homepage. * Unbundle several dependencies which are available in ports. PR: 289118 Reported by: Stefan Schlosser <bsdcode@disroot.org> (maintainer)
This commit is contained in:
parent
fbd2427bb6
commit
cd8520a8a9
|
@ -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/*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue