diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile index 74ec727882e0..cf2a2d5f1589 100644 --- a/emulators/mame/Makefile +++ b/emulators/mame/Makefile @@ -1,189 +1,190 @@ PORTNAME?= mame PORTVERSION= 0.249 +PORTREVISION= 1 CATEGORIES= emulators games MAINTAINER= agh@riseup.net COMMENT?= MAME: a multi-purpose emulation framework WWW?= https://mamedev.org/ LICENSE= BSD3CLAUSE GPLv2 LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/docs/LICENSE LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/docs/legal/BSD-3-Clause LICENSE_FILE_GPLv2= ${WRKSRC}/docs/legal/GPL-2.0 ONLY_FOR_ARCHS= amd64 armv7 i386 powerpc powerpc64 powerpc64le ONLY_FOR_ARCHS_REASON= not yet ported to any architecture other than armv7, x86, and powerpc* BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-svg2pdfconverter>0:textproc/py-sphinxcontrib-svg2pdfconverter@${PY_FLAVOR} LIB_DEPENDS= libexpat.so:textproc/expat2 \ libFLAC.so:audio/flac \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libpugixml.so:textproc/pugixml RUN_DEPENDS= liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf USES= compiler:c++14-lang gl gmake jpeg localbase pkgconfig \ python:3.9,build qt:5 sdl shebangfix sqlite:3 xorg BINARY_ALIAS= python3=${PYTHON_CMD} python=${PYTHON_CMD} USE_GITHUB= yes GH_ACCOUNT= mamedev GH_PROJECT= mame # explicit (master port) GH_TAGNAME= mame${PORTVERSION:S/.//} USE_GL= gl USE_QT= buildtools core gui qmake widgets USE_SDL= sdl2 ttf2 USE_XORG= x11 xext xi xinerama xrender MAKEFILE= makefile MAKE_ARGS= TARGETOS=freebsd \ TOOLS=1 \ USE_SYSTEM_LIB_PUGIXML=1 \ USE_SYSTEM_LIB_SQLITE3=1 \ VERBOSE=1 MAKE_ENV= FULLNAME="mame" \ GCC_LDFLAGS="${LDFLAGS}" \ LD="${CXX}" \ NOWERROR=1 \ OPT_FLAGS="${CXXFLAGS}" \ PYTHON="${PYTHON_CMD}" \ SDL_NETWORK="pcap" \ SUBTARGET="${MSUBTARGET}" \ TARGET="${MTARGET}" \ USE_NETWORK=1 MAKE_JOBS_UNSAFE= yes SUB_FILES= pkg-message target.ini SUB_LIST= MSUBTARGET=${MSUBTARGET} \ MTARGET=${MTARGET} PORTDOCS= LICENSE html/* legal/* PORTEXAMPLES= ${MSUBTARGET}.ini DEBUG_MAKE_ENV= DEBUG=1 OPTIONS_DEFINE= DEBUG DOCS EXAMPLES DEBUG_DESC= Build with debug profiling and symbols DOCS_DESC= Install additional MAME documentation EXAMPLES_DESC= Install example ${EMULATOR}.ini configuration GENIE= ${WRKSRC}/3rdparty/genie MSUBTARGET?= mame MTARGET?= mame .include .if ${PORT_OPTIONS:MDEBUG} WITH_DEBUG= "YES" MAKE_ENV+= DEBUG="1" \ OPTIMIZE="0" \ PROFILER="1" \ SYMBOLS="1" .endif .if ${ARCH} == amd64 || ${ARCH:Mpowerpc64*} MAKE_ARGS+= PTR64=1 .endif EMULATOR= ${MSUBTARGET} PLIST_SUB+= EMULATOR=${EMULATOR} do-build-DOCS-on: (cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} ${MAKE_ARGS} html \ SPHINXBUILD=sphinx-build-${PYTHON_VER}) @${RM} ${WRKSRC}/docs/build/html/.buildinfo do-install: .if ${MSUBTARGET:Mmame} (cd ${WRKSRC} && ${INSTALL_PROGRAM} castool chdman floptool imgtool \ jedutil ldresample ldverify nltool nlwav pngcmp regrep \ romcmp split srcclean testkeys unidasm \ ${STAGEDIR}${PREFIX}/bin) .endif .for data in artwork bgfx ctrlr ini language hash plugins samples (cd ${WRKSRC} && ${COPYTREE_SHARE} ${data} ${STAGEDIR}${DATADIR}) .endfor ${MKDIR} ${STAGEDIR}${DOCSDIR} .if ${MSUBTARGET:Mmess} ${INSTALL_MAN} ${WRKSRC}/docs/man/${MTARGET}.6 \ ${STAGEDIR}${MANPREFIX}/man/man6/${EMULATOR}.6 .else ${INSTALL_MAN} ${WRKSRC}/docs/man/*.1 \ ${STAGEDIR}${MANPREFIX}/man/man1 ${INSTALL_MAN} ${WRKSRC}/docs/build/man/*.1 \ ${STAGEDIR}${MANPREFIX}/man/man1 ${INSTALL_MAN} ${WRKSRC}/docs/man/${EMULATOR}.6 \ ${STAGEDIR}${MANPREFIX}/man/man6 ${INSTALL_MAN} ${WRKSRC}/docs/LICENSE ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} legal ${STAGEDIR}${DOCSDIR}) .endif do-install-DEBUG-off: .if ${MSUBTARGET:Mmess} ${INSTALL_PROGRAM} ${WRKSRC}/${MTARGET}${MSUBTARGET} \ ${STAGEDIR}${PREFIX}/bin/${EMULATOR} .else ${INSTALL_PROGRAM} ${WRKSRC}/${MSUBTARGET} \ ${STAGEDIR}${PREFIX}/bin/${EMULATOR} .endif do-install-DEBUG-on: .if ${MSUBTARGET:Mmess} ${INSTALL_PROGRAM} ${WRKSRC}/${MTARGET}${MSUBTARGET}d \ ${STAGEDIR}${PREFIX}/bin/${EMULATOR} .else ${INSTALL_PROGRAM} ${WRKSRC}/${MSUBTARGET}d \ ${STAGEDIR}${PREFIX}/bin/${EMULATOR} .endif post-build: .if ${MSUBTARGET:Mmame} cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} ${MAKE_ARGS} man \ SPHINXBUILD=sphinx-build-${PYTHON_VER} .endif post-install-DOCS-on: .if ${MSUBTARGET:Mmame} ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/docs/build && ${COPYTREE_SHARE} html \ ${STAGEDIR}${DOCSDIR}) .endif post-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKDIR}/target.ini \ ${STAGEDIR}${EXAMPLESDIR}/${EMULATOR}.ini post-patch: @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h @${MV} ${GENIE}/build/gmake.freebsd ${GENIE}/build/gmake.bsd @${REINPLACE_CMD} -e \ 's|^\(AR \)|#\1| ; \ s|^\(CC \)|#\1| ; \ s|^\(CXX \)|#\1| ; \ s|^\(CXX:\)|#\1| ; \ s|^\(LD \)|#\1| ; \ s| .(ARCH)||g' \ ${WRKSRC}/makefile \ ${GENIE}/build/gmake.bsd/genie.make @${REINPLACE_CMD} -e 's|gcc|cc|; s|g++|c++|' \ ${GENIE}/src/tools/gcc.lua \ ${GENIE}/src/tools/snc.lua \ ${GENIE}/tests/test_gmake_cpp.lua @${REINPLACE_CMD} -e 's|= \"gcc|= \"cc|; s|= \"g++|= \"c++|' \ -e "s|'CXX =|'#CXX =|; s|'CC =|'#CC =|; s| .(ARCH)| |g" \ ${GENIE}/src/host/scripts.c @${GREP} -rl '"png.h"' ${WRKSRC}/src | ${XARGS} ${REINPLACE_CMD} \ -e 's|"png.h"|"localpng.h"|' @${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \ ${WRKSRC}/src/frontend/mame/ui/icorender.cpp @${MV} ${WRKSRC}/src/lib/util/png.h ${WRKSRC}/src/lib/util/localpng.h .include diff --git a/emulators/mame/files/target.ini.in b/emulators/mame/files/target.ini.in index ce57b63419e6..af82c5b55f90 100644 --- a/emulators/mame/files/target.ini.in +++ b/emulators/mame/files/target.ini.in @@ -1,396 +1,396 @@ # -ninn# CORE CONFIGURATION OPTIONS +# CORE CONFIGURATION OPTIONS # readconfig 1 writeconfig 0 # # CORE SEARCH PATH OPTIONS # homepath ~/.%%MTARGET%% rompath ~/.%%MTARGET%%/roms;%%DATADIR%%/roms/ hashpath ~/.%%MTARGET%%/hash;%%DATADIR%%/hash/ samplepath ~/.%%MTARGET%%/samples;%%DATADIR%%/samples/ artpath ~/.%%MTARGET%%/artwork;%%DATADIR%%/artwork/ ctrlrpath ~/.%%MTARGET%%/ctrlr;%%DATADIR%%/ctrlr/ inipath ~/.%%MTARGET%%/;.;~/.%%MTARGET%%/ini;%%DATADIR%%/ini/ fontpath ~/.%%MTARGET%%/font;%%DATADIR%%/font/ cheatpath ~/.%%MTARGET%%/cheat;%%DATADIR%%/cheat/ crosshairpath ~/.%%MTARGET%%/crosshair;%%DATADIR%%/crosshair/ pluginspath ~/.%%MTARGET%%/plugins;%%DATADIR%%/plugins/ languagepath ~/.%%MTARGET%%/language;%%DATADIR%%/language/ swpath ~/.%%MTARGET%%/software;%%DATADIR%%/software/ # # CORE OUTPUT DIRECTORY OPTIONS # cfg_directory ~/.%%MTARGET%%/cfg nvram_directory ~/.%%MTARGET%%/nvram input_directory ~/.%%MTARGET%%/inp state_directory ~/.%%MTARGET%%/state snapshot_directory ~/.%%MTARGET%%/snapshot diff_directory ~/.%%MTARGET%%/diff comment_directory ~/.%%MTARGET%%/comments share_directory ~/.%%MTARGET%%/share # # CORE STATE/PLAYBACK OPTIONS # state autosave 0 rewind 0 rewind_capacity 100 playback record exit_after_playback 0 mngwrite aviwrite wavwrite snapname %g/%i snapsize auto snapview auto snapbilinear 1 statename %g burnin 0 # # CORE PERFORMANCE OPTIONS # autoframeskip 0 frameskip 0 seconds_to_run 0 throttle 1 sleep 1 speed 1.0 refreshspeed 0 lowlatency 0 # # CORE RENDER OPTIONS # keepaspect 1 unevenstretch 1 unevenstretchx 0 unevenstretchy 0 autostretchxy 0 intoverscan 0 intscalex 0 intscaley 0 # # CORE ROTATION OPTIONS # rotate 1 ror 0 rol 0 autoror 0 autorol 0 flipx 0 flipy 0 # # CORE ARTWORK OPTIONS # artwork_crop 0 fallback_artwork override_artwork # # CORE SCREEN OPTIONS # brightness 1.0 contrast 1.0 gamma 1.0 pause_brightness 0.65 effect none # # CORE VECTOR OPTIONS # beam_width_min 1.0 beam_width_max 1.0 beam_dot_size 1.0 beam_intensity_weight 0 flicker 0 # # CORE SOUND OPTIONS # samplerate 48000 samples 1 volume 0 compressor 1 speaker_report 0 # # CORE INPUT OPTIONS # coin_lockout 1 ctrlr mouse 0 joystick 1 lightgun 0 multikeyboard 0 multimouse 0 steadykey 0 ui_active 0 offscreen_reload 0 joystick_map auto joystick_deadzone 0.3 joystick_saturation 0.85 natural 0 joystick_contradictory 0 coin_impulse 0 # # CORE INPUT AUTOMATIC ENABLE OPTIONS # paddle_device keyboard adstick_device keyboard pedal_device keyboard dial_device keyboard trackball_device keyboard lightgun_device keyboard positional_device keyboard mouse_device mouse # # CORE DEBUGGING OPTIONS # verbose 0 log 0 oslog 0 debug 0 update_in_pause 0 debugscript debuglog 0 # # CORE COMM OPTIONS # comm_localhost 0.0.0.0 comm_localport 15112 comm_remotehost 127.0.0.1 comm_remoteport 15112 comm_framesync 0 # # CORE MISC OPTIONS # drc 1 drc_use_c 0 drc_log_uml 0 drc_log_native 0 bios cheat 0 skip_gameinfo 0 uifont default ui cabinet ramsize confirm_quit 0 ui_mouse 1 language nvram_save 1 # # SCRIPTING OPTIONS # autoboot_command autoboot_delay 0 autoboot_script console 0 plugins 1 plugin noplugin # # HTTP SERVER OPTIONS # http 0 http_port 8080 http_root web # # OSD KEYBOARD MAPPING OPTIONS # uimodekey auto # # OSD FONT OPTIONS # uifontprovider auto # # OSD OUTPUT OPTIONS # output auto # # OSD INPUT OPTIONS # keyboardprovider auto mouseprovider auto lightgunprovider auto joystickprovider auto # # OSD DEBUGGING OPTIONS # debugger auto debugger_port 23946 debugger_font auto debugger_font_size 0 watchdog 0 # # OSD PERFORMANCE OPTIONS # numprocessors auto bench 0 # # OSD VIDEO OPTIONS # video auto numscreens 1 window 0 maximize 1 waitvsync 0 syncrefresh 0 monitorprovider auto # # OSD PER-WINDOW VIDEO OPTIONS # screen auto aspect auto resolution auto view auto screen0 auto aspect0 auto resolution0 auto view0 auto screen1 auto aspect1 auto resolution1 auto view1 auto screen2 auto aspect2 auto resolution2 auto view2 auto screen3 auto aspect3 auto resolution3 auto view3 auto # # OSD FULL SCREEN OPTIONS # switchres 0 # # OSD ACCELERATED VIDEO OPTIONS # filter 1 prescale 1 # # OpenGL-SPECIFIC OPTIONS # gl_forcepow2texture 0 gl_notexturerect 0 gl_vbo 1 gl_pbo 1 gl_glsl 0 gl_glsl_filter 1 glsl_shader_mame0 none glsl_shader_mame1 none glsl_shader_mame2 none glsl_shader_mame3 none glsl_shader_mame4 none glsl_shader_mame5 none glsl_shader_mame6 none glsl_shader_mame7 none glsl_shader_mame8 none glsl_shader_mame9 none glsl_shader_screen0 none glsl_shader_screen1 none glsl_shader_screen2 none glsl_shader_screen3 none glsl_shader_screen4 none glsl_shader_screen5 none glsl_shader_screen6 none glsl_shader_screen7 none glsl_shader_screen8 none glsl_shader_screen9 none # # OSD SOUND OPTIONS # sound auto audio_latency 2 # # BGFX POST-PROCESSING OPTIONS # bgfx_path %%DATADIR%%/bgfx bgfx_backend auto bgfx_debug 0 bgfx_screen_chains default bgfx_shadow_mask slot-mask.png bgfx_lut lut-default.png bgfx_avi_name auto # # SDL PERFORMANCE OPTIONS # sdlvideofps 0 # # SDL VIDEO OPTIONS # centerh 1 centerv 1 scalemode none # # SDL FULL SCREEN OPTIONS # useallheads 0 attach_window # # SDL KEYBOARD MAPPING # keymap 0 keymap_file keymap.dat # # SDL JOYSTICK MAPPING # sixaxis 0 # # SDL LIGHTGUN MAPPING # lightgun_index1 auto lightgun_index2 auto lightgun_index3 auto lightgun_index4 auto lightgun_index5 auto lightgun_index6 auto lightgun_index7 auto lightgun_index8 auto # # SDL LOW-LEVEL DRIVER OPTIONS # videodriver auto renderdriver auto audiodriver auto gl_lib auto # # FRONTEND COMMAND OPTIONS # dtd 1