1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00

emulators/mame: Update to 0.264

- Add new build dependency on archivers/zstd
- Add separate OPTIONs for each of the current buildable emulators
- Move HTML documentation from ${DOCSDIR}/html to ${DOCSDIR}
- TOOLS can now built without building any of the emulators

Changelog: https://www.mamedev.org/?p=535

PR:		277493
This commit is contained in:
Alastair Hogge 2024-04-06 15:50:50 +02:00 committed by Daniel Engberg
parent 073a0a9e92
commit 32ad27c756
7 changed files with 1769 additions and 1669 deletions

View File

@ -1,5 +1,5 @@
PORTNAME= mame
DISTVERSION= 0.261
DISTVERSION= 0.264
CATEGORIES= emulators games
MAINTAINER= agh@riseup.net
@ -27,21 +27,17 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-svg2pdfconverter>0:textproc/
rapidjson>0:devel/rapidjson
LIB_DEPENDS= libexpat.so:textproc/expat2 \
libFLAC.so:audio/flac \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libportmidi.so:audio/portmidi \
libpugixml.so:textproc/pugixml \
libutf8proc.so:textproc/utf8proc
RUN_DEPENDS= liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf
libutf8proc.so:textproc/utf8proc \
libzstd.so:archivers/zstd
USES= compiler:c++17-lang gl gmake jpeg llvm:min=16 localbase \
pkgconfig python:build sdl shebangfix sqlite:3 xorg
USES= compiler:c++17-lang gmake jpeg llvm:min=16 localbase pkgconfig \
python:build sdl shebangfix sqlite:3 xorg
USE_GITHUB= yes
GH_ACCOUNT= mamedev
GH_TAGNAME= mame${DISTVERSION:S/.//}
USE_GL= gl
USE_SDL= sdl2 ttf2
USE_SDL= sdl2
USE_XORG= x11 xext xi xinerama xrender
MAKEFILE= makefile
@ -63,12 +59,12 @@ MAKE_ENV= NO_USE_PORTAUDIO=1 \
USE_SYSTEM_LIB_FLAC=1 \
USE_SYSTEM_LIB_GLM=1 \
USE_SYSTEM_LIB_JPEG=1 \
USE_SYSTEM_LIB_PORTMIDI=1 \
USE_SYSTEM_LIB_PUGIXML=1 \
USE_SYSTEM_LIB_RAPIDJSON=1 \
USE_SYSTEM_LIB_SQLITE3=1 \
USE_SYSTEM_LIB_UTF8PROC=1 \
USE_SYSTEM_LIB_ZLIB=1 \
USE_SYSTEM_LIB_ZSTD=1 \
USE_TAPTUN=1
CFLAGS_aarch64= -march=armv8-a+crc+crypto
@ -77,9 +73,14 @@ EXTRACT_AFTER_ARGS= ${_DIST_EXCLUDES:S,^,--exclude ,}
SUB_FILES= mame.ini pkg-message plugin.ini ui.ini
PORTDOCS= html/*
PORTDOCS= *
OPTIONS_DEFINE= DOCS NLS OPENMP QTDEBUGGER SSE2 TOOLS
OPTIONS_DEFINE= DOCS
OPTIONS_DEFAULT= MAME
OPTIONS_GROUP= EMULATORS EXTRATOOLS HARDWARE
OPTIONS_GROUP_EMULATORS= MAME MAMENL MAMEVIRTUAL NLS QTDEBUGGER
OPTIONS_GROUP_EXTRATOOLS= TOOLS
OPTIONS_GROUP_HARDWARE= OPENMP SSE2
OPTIONS_RADIO= BUILDTYPE
OPTIONS_RADIO_BUILDTYPE= DEBUG SIZE_OPTIMIZED_CFLAGS \
SPEED_OPTIMIZED_CFLAGS
@ -91,12 +92,18 @@ OPTIONS_SUB= yes
BUILDTYPE_DESC= Application production type
DEBUG_DESC= Produce profiling data, and symbols for debugging
DOCS_DESC= Install extensive online MAME documentation
EMULATORS_DESC= Emulators
EXTRATOOLS_DESC= Tools
HARDWARE_DESC= Build with hardware extensions
MAMENL_DESC= Netlist audio component solver
MAMEVIRTUAL_DESC= LaserDisk Player
MAME_DESC= MAME
NLS_DESC= Install language translations for use in the GUI
QTDEBUGGER_DESC= Build with Qt interactive low-level machine debugger
SIZE_OPTIMIZED_CFLAGS_DESC= Optimize for smaller binaries (-Os)
SPEED_OPTIMIZED_CFLAGS_DESC= Optimize for faster binaries (-O3)
SSE2_DESC= Build with Streaming SIMD Extensions 2
TOOLS_DESC= Additional tools for archiving, development, and multimedia
TOOLS_DESC= Tools for archiving, development, and multimedia
DEBUG_MAKE_ENV= DEBUG=1 \
OPTIMIZE=g \
@ -105,6 +112,27 @@ DEBUG_MAKE_ENV_OFF= STRIP_SYMBOLS=1
# Attempt to avoid address space exhaustion during linking, specifically
# on armv7, and possibly other architectures:
DEBUG_LDFLAGS_OFF= -s
MAMENL_LIB_DEPENDS= ${_EMULATORS_LIB_DEPENDS}
MAMENL_RUN_DEPENDS= ${_EMULATORS_RUN_DEPENDS}
MAMENL_USES= ${_EMULATORS_USES}
MAMENL_USE= ${_EMULATORS_USE}
MAMENL_MAKE_ENV= ${_EMULATORS_MAKE_ENV}
MAMENL_PLIST_SUB= MAMEDATA=""
MAMENL_PLIST_SUB_OFF= MAMEDATA="@comment "
MAMEVIRTUAL_LIB_DEPENDS= ${_EMULATORS_LIB_DEPENDS}
MAMEVIRTUAL_RUN_DEPENDS= ${_EMULATORS_RUN_DEPENDS}
MAMEVIRTUAL_USES= ${_EMULATORS_USES}
MAMEVIRTUAL_USE= ${_EMULATORS_USE}
MAMEVIRTUAL_MAKE_ENV= ${_EMULATORS_MAKE_ENV}
MAMEVIRTUAL_PLIST_SUB= MAMEDATA=""
MAMEVIRTUAL_PLIST_SUB_OFF= MAMEDATA="@comment "
MAME_LIB_DEPENDS= ${_EMULATORS_LIB_DEPENDS}
MAME_RUN_DEPENDS= ${_EMULATORS_RUN_DEPENDS}
MAME_USES= ${_EMULATORS_USES}
MAME_USE= ${_EMULATORS_USE}
MAME_MAKE_ENV= ${_EMULATORS_MAKE_ENV}
MAME_PLIST_SUB= MAMEDATA=""
MAME_PLIST_SUB_OFF= MAMEDATA="@comment "
NLS_USES= gettext-runtime
OPENMP_MAKE_ENV= OPENMP=1
OPENMP_MAKE_ENV_OFF= OPENMP=0
@ -135,12 +163,26 @@ _DIST_EXCLUDES+= 3rdparty/bx/include/compat/freebsd/dirent.h \
# Make use of Ports instead of bundled libraries:
_DIST_EXCLUDES+= 3rdparty/expat 3rdparty/glm 3rdparty/libflac \
3rdparty/libjpeg 3rdparty/portmidi 3rdparty/pugixml \
3rdparty/rapidjson 3rdparty/sqlite3 \
3rdparty/utf8proc 3rdparty/zlib
3rdparty/rapidjson 3rdparty/sqlite3 3rdparty/utf8proc \
3rdparty/zlib 3rdparty/zstd
# Bundled libraries not used at all:
_DIST_EXCLUDES+= 3rdparty/genie 3rdparty/portaudio 3rdparty/tap-windows6
# pre-built GENie binaries for other platforms:
_DIST_EXCLUDES+= 3rdparty/bx/tools/bin
_DOCS_INSTALL_EXCLUDES= "-not -name .buildinfo -not -regex ^./_sources.*"
_EMULATORS_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libportmidi.so:audio/portmidi
_EMULATORS_MAKE_ENV= EMULATOR=1 \
USE_SYSTEM_LIB_PORTMIDI=1
_EMULATORS_RUN_DEPENDS= liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf
_EMULATORS_USES= gl
_EMULATORS_USE= GL=gl \
SDL=ttf2
_TOOLS_COMMANDS= -depth 1 -type f -and -not -type d -and -not -name \
${PORTNAME}* -perm -o=+x
_TOOLS_MANUALS= -name *.1 -depth 1 -type f -and -not -type d -and -not \
-name ${PORTNAME}*
.include <bsd.port.options.mk>
@ -151,9 +193,15 @@ MAKE_ENV+= PTR64=1
# Compiling with -pg (PROFILE) causes the linker to run out of memory on i386,
# build with less profiling data:
.if ${ARCH:Mi386}
DEBUG_MAKE_ENV+= PROFILER=1
DEBUG_MAKE_ENV= PROFILER=1
.else
DEBUG_MAKE_ENV+= PROFILE=1
DEBUG_MAKE_ENV= PROFILE=1
.endif
.if empty(PORT_OPTIONS:MMAME) && empty(PORT_OPTIONS:MMAMENL) && \
empty(PORT_OPTIONS:MMAMEVIRTUAL)
MAKE_ENV+= EMULATOR=0
PLIST_SUB+= MAMEDATA="@comment "
.endif
post-extract:
@ -168,60 +216,72 @@ post-patch:
${WRKSRC}/src/frontend/mame/ui/icorender.cpp
# Patch build to use GENie from Ports:
${REINPLACE_CMD} -e 's|%%GENIE_PREFIX%%|${PREFIX}/bin/|' \
${WRKSRC}/makefile \
${WRKSRC}/makefile \
${WRKSRC}/3rdparty/bx/makefile
do-build-DOCS-on:
(cd ${WRKSRC}/docs && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} html SPHINXBUILD=sphinx-build-${PYTHON_VER})
do-build-MAMEVIRTUAL-on:
(cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} SUBTARGET=virtual)
do-build-MAMENL-on:
(cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} SUBTARGET=nl)
post-build:
(cd ${WRKSRC}/docs && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} man SPHINXBUILD=sphinx-build-${PYTHON_VER})
post-build-TOOLS-on:
.for EXTRA_TOOL in nl virtual
(cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} SUBTARGET=${EXTRA_TOOL} \
TOOLS=0)
.endfor
do-install:
.for DATA in artwork bgfx ctrlr ini hash plugins samples
. if ${PORT_OPTIONS:MMAME} || ${PORT_OPTIONS:MMAMENL} || \
${PORT_OPTIONS:MMAMEVIRTUAL}
. for DATA in artwork bgfx ctrlr ini hash plugins samples
(cd ${WRKSRC} && \
${COPYTREE_SHARE} ${DATA} ${STAGEDIR}${DATADIR})
.endfor
. endfor
${MKDIR} ${STAGEDIR}${ETCDIR}
.for INI in mame plugin ui
. for INI in mame plugin ui
${INSTALL_DATA} ${WRKDIR}/${INI}.ini \
${STAGEDIR}${ETCDIR}/${INI}.ini.sample
.endfor
. endfor
${MKDIR} ${STAGEDIR}${DATADIR}/keymaps
.for KEYMAP in be br ch de es fr gb it pt se
. for KEYMAP in be br ch de es fr gb it pt se
${INSTALL_DATA} ${WRKSRC}/keymaps/km_${KEYMAP}_LINUX.map \
${STAGEDIR}${DATADIR}/keymaps/km_${KEYMAP}.map
.endfor
. endfor
. endif
${INSTALL_MAN} ${WRKSRC}/docs/build/man/${PORTNAME:tu}.1 \
${STAGEDIR}${PREFIX}/share/man/man1
do-install-DOCS-on:
(cd ${WRKSRC}/docs/build/html && \
${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} ${_DOCS_INSTALL_EXCLUDES})
do-install-MAME-on:
${INSTALL_MAN} ${WRKSRC}/docs/man/${PORTNAME}.6 \
${STAGEDIR}${PREFIX}/share/man/man6
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} \
${STAGEDIR}${PREFIX}/bin/${PORTNAME}
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/docs/build && \
${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR} "! -name .buildinfo -not -regex ^./_sources.*")
do-install-MAMENL-on:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}nl \
${STAGEDIR}${PREFIX}/bin
do-install-MAMEVIRTUAL-on:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}virtual \
${STAGEDIR}${PREFIX}/bin
do-install-NLS-on:
(cd ${WRKSRC} && \
${COPYTREE_SHARE} language ${STAGEDIR}${DATADIR} "! -name *.po")
${COPYTREE_SHARE} language ${STAGEDIR}${DATADIR} "-not -name *.po")
do-install-TOOLS-on:
${FIND} ${WRKSRC} -depth 1 -type f -and ! -type d -and ! -name ${PORTNAME} \
-perm -o=+x -exec ${INSTALL_PROGRAM} {} ${STAGEDIR}${PREFIX}/bin/ \
\;
${INSTALL_MAN} ${WRKSRC}/docs/man/*.1 \
${STAGEDIR}${PREFIX}/share/man/man1
${FIND} ${WRKSRC} ${_TOOLS_COMMANDS} -exec ${INSTALL_PROGRAM} {} \
${STAGEDIR}${PREFIX}/bin/ \;
${FIND} ${WRKSRC}/docs/man ${_TOOLS_MANUALS} -exec ${INSTALL_MAN} \
{} ${STAGEDIR}${PREFIX}/share/man/man1/ \;
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1701211578
SHA256 (mamedev-mame-0.261-mame0261_GH0.tar.gz) = 51d5ce1563897709ceb7a924c31a70cc5ff2bec466aab8d0cc9ff3cc72b38899
SIZE (mamedev-mame-0.261-mame0261_GH0.tar.gz) = 205499989
TIMESTAMP = 1711623026
SHA256 (mamedev-mame-0.264-mame0264_GH0.tar.gz) = 3d9f69ed3ef7c1628d5714c8ae2695ea77b1a652a93347b2703f7c862299376e
SIZE (mamedev-mame-0.264-mame0264_GH0.tar.gz) = 207550597

View File

@ -27,8 +27,8 @@ swpath ~/.mame/software;%%DATADIR%%/software/
cfg_directory ~/.mame/cfg
nvram_directory ~/.mame/nvram
input_directory ~/.mame/inp
state_directory ~/.mame/state
snapshot_directory ~/.mame/snapshot
state_directory ~/.mame/sta
snapshot_directory ~/.mame/snap
diff_directory ~/.mame/diff
comment_directory ~/.mame/comments
share_directory ~/.mame/share
@ -136,7 +136,7 @@ steadykey 0
ui_active 0
offscreen_reload 0
joystick_map auto
joystick_deadzone 0.3
joystick_deadzone 0.15
joystick_saturation 0.85
joystick_threshold 0.3
natural 0
@ -349,7 +349,7 @@ networkprovider auto
bgfx_path %%DATADIR%%/bgfx
bgfx_backend auto
bgfx_debug 0
bgfx_screen_chains default
bgfx_screen_chains t
bgfx_shadow_mask slot-mask.png
bgfx_lut lut-default.png
bgfx_avi_name auto

View File

@ -1,27 +1,56 @@
--- 3rdparty/lzma/CPP/7zip/7zip_gcc.mak.orig 2023-05-30 17:50:57 UTC
--- 3rdparty/lzma/CPP/7zip/7zip_gcc.mak.orig 2024-02-01 08:45:29 UTC
+++ 3rdparty/lzma/CPP/7zip/7zip_gcc.mak
@@ -18,13 +18,13 @@ PROGPATH_STATIC = $(O)/$(PROG)s
@@ -24,7 +24,7 @@ ifneq ($(CC), xlc)
ifneq ($(CC), xlc)
-CFLAGS_WARN_WALL = -Wall -Werror -Wextra
+CFLAGS_WARN_WALL =
-CFLAGS_WARN_WALL = -Werror -Wall -Wextra
+CFLAGS_WARN_WALL =
endif
# for object file
@@ -32,14 +32,14 @@ CFLAGS_BASE_LIST = -c
# -save-temps
CFLAGS_BASE_LIST = -c
# CFLAGS_BASE_LIST = -S
-CFLAGS_BASE = -O2 $(CFLAGS_BASE_LIST) $(CFLAGS_WARN_WALL) $(CFLAGS_WARN) \
- -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
+CFLAGS_BASE = $(CFLAGS_BASE_LIST) $(CFLAGS_WARN_WALL) $(CFLAGS_WARN) \
-DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
+ -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-fPIC
@@ -131,7 +131,7 @@ DEL_OBJ_EXE = -$(RM) $(PROGPATH) $(PROGPATH_STATIC) $(
FLAGS_FLTO = -ffunction-sections
FLAGS_FLTO = -flto
FLAGS_FLTO =
-#
+#
# -DZ7_AFFINITY_DISABLE
@@ -110,7 +110,7 @@ PROGPATH_STATIC = $(O)/$(PROG)s$(SHARED_EXT)
PROGPATH = $(O)/$(PROG)$(SHARED_EXT)
PROGPATH_STATIC = $(O)/$(PROG)s$(SHARED_EXT)
-
+
ifdef IS_MINGW
ifdef MSYSTEM
@@ -130,7 +130,7 @@ CXXFLAGS_EXTRA = -DUNICODE -D_UNICODE
CXXFLAGS_EXTRA = -DUNICODE -D_UNICODE
# -Wno-delete-non-virtual-dtor
-
+
else
RM = rm -f
@@ -142,7 +142,7 @@ DEL_OBJ_EXE = -$(RM) $(PROGPATH) $(PROGPATH_STATIC) $(
# LOCAL_LIBS=-lpthread
# LOCAL_LIBS_DLL=$(LOCAL_LIBS) -ldl
-LIB2 = -lpthread -ldl
+LIB2 = $(LOCAL_LIBS) -lpthread
+LIB2 = -lpthread
endif

View File

@ -1,17 +1,17 @@
#
# PLUGINS OPTIONS
#
autofire 0
cheat 0
cheatfind 0
console 0
data 1
discord 0
dummy 0
gdbstub 0
hiscore 0
inputmacro 0
layout 1
portname 0
cheat 0
timecode 0
dummy 0
timer 0
cheatfind 0
data 1
inputmacro 0
portname 0
discord 0
console 0
autofire 0
layout 1
gdbstub 0

View File

@ -10,7 +10,7 @@ flyers_directory ~/.mame/flyers;%%DATADIR%%/flyers
titles_directory ~/.mame/titles;%%DATADIR%%/titles
ends_directory ~/.mame/ends;%%DATADIR%%/ends
marquees_directory ~/.mame/marguees;%%DATADIR%%/marquees
artwork_preview_directory ~/.mame/artpreview;%%DATADIR%%/artpreview
artwork_preview_directory "~/.mame/artwork preview;~/.mame/artpreview;%%DATADIR%%/artwork preview;%%DATADIR%%/artpreview"
bosses_directory ~/.mame/bosses;%%DATADIR%%/bosses
logos_directory ~/.mame/logo;%%DATADIR%%/logo
scores_directory ~/.mame/scores;%%DATADIR%%/scores

File diff suppressed because it is too large Load Diff