emulators/mame: Update to 0.289 - Refresh the plist and configuration templates. - Remove obsolete bx and SDL patches. - Regenerate the remaining patches for the new release. Changelog: https://www.mamedev.org/releases/whatsnew_0289.txt PR: 297222 Reviewed by: thierry (mentor) Approved by: thierry (mentor)17faab2ebe
Port details
emulators/mame 0.289
MAME: a multi-purpose emulation framework
Port info
- Maintainer
- laurent@FreeBSD.org
- Packages
- latest: 0.289
- Upstream
- up to date
- Last update
- to 0.289 · 17faab2ebe
- Quarterly
- 2026Q4: 0.289
- Formerly
- emulators/sdlmame until 2010-08-08
- WWW
- https://mamedev.org/
- Links
- cgit · VuXML
Install
- Package
# pkg install mameinstalls 0.289 fromlatest; fromquarterly(2026Q4) 0.289- Port
# cd /usr/ports/emulators/mame && make install clean# make -C /usr/ports/emulators/mame config # change options first
- Size
- 81 MiB download · 415 MiB installed
- Depends on
- archivers/zstd 1.5.7_2, audio/flac 1.5.0,1, audio/portmidi 2.0.8,1, databases/sqlite3 3.53.4,1, devel/gettext-runtime 1.0_1, devel/sdl20 2.32.10_2, graphics/jpeg-turbo 3.1.4.1, graphics/libglvnd 1.7.0, graphics/sdl2_ttf 2.24.0, print/freetype2 2.14.3, textproc/expat2 2.9.0, textproc/pugixml 1.16, textproc/utf8proc 2.12.0, x11-fonts/fontconfig 2.18.3,1, x11-fonts/liberation-fonts-ttf 2.1.5,2, x11/libX11 1.8.14,1, x11/libXext 1.3.7,1, x11/libXi 1.8.4,1, x11/libXinerama 1.1.6,1, x11/libXrender 0.9.13
- License
- BSD2CLAUSE and BSD3CLAUSE and CC0-1.0 and GPLv2 and LGPL21 and MIT and ZLIB
- Options
- 4 of 12 on in the package: DOCS MAME NLS SSE2
Show the 8 options that are off
DEBUG MAMENL MAMEVIRTUAL OPENMP QTDEBUGGER SIZE_OPTIMIZED_CFLAGS SPEED_OPTIMIZED_CFLAGS TOOLS - pkg-message
Shown after installing
MAME follows an interesting User Experience (UX) design pattern that is aimed for developers of MAME, as result of this, the expectation on file configuration management might appear counter-intuitive to Users of MAME. If MAME does not find configuration files, it expects to be able to read and write configuration data to the current working directory, this is counter to what users expect on their systems. Sample configuration files have been installed in: "/usr/local/etc/mame/" The samples can be copied to your "~/.mame" directory to avoid having MAME write configuration data elsewhere. To create clean copies of MAME's configuration files, execute: "mame -createconfig" the output from this can be stored in ~/.mame or a custom path. To run MAME with custom configuration path(s), execute: "mame -inipath /var/db/mame /usr/local/etc/mame" See mame(6) for more information.
Packages by version and architecture
latest
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 0.289 | 0.289 | – |
| FreeBSD 15 | 0.289 | 0.289 | – |
| FreeBSD 14 | 0.289 | 0.289 | 0.289 |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 0.289 | 0.289 | – |
| FreeBSD 14 | 0.289 | 0.289 | 0.289 |
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed and VuXML only (0)
No unaddressed CVE and nothing reported by
pkg audit for the packaged version 0.289.Fixed (0)
No VuXML entries for this package.
Problem reports (0) · open in Bugzilla, most recently changed first
None.
Commits (163)
emulators/mame: fix build on armv7 The bundled copy of the LZMA toolkit has been updated to a fairly recent version. As a result, while our patches still apply, they are largely obsolete or even defective. Remove the obsolete patches and add a missing compile option to fix the build on armv7 (-march=armv8-a enables AES intrinsics required by LZMA). Approved by: portmgr (build fix blanket) MFH: 2026Q2f55f8180ef
emulators/mame: Update to 0.288 - Drop obsolete Qt debugger patch - Refresh patches - Fix DEBUG option does not respect existing MAKE_ENV flags - Fix LOCALBASE substitution in pkg-message Changes: https://www.mamedev.org/releases/whatsnew_0288.txt PR: 295760 Reviewed by: thierry (mentor) Approved by: thierry (mentor)b2ecbc524f
emulators/mame: Update to 0.287 Changelog: https://www.mamedev.org/releases/whatsnew_0287.txt Reviewed by: thierry (mentor) Approved by: thierry (mentor) Differential Revision: https://reviews.freebsd.org/D56274355c6b1abb
emulators/mame: Update 0.284 => 0.286 Release Notes: https://www.mamedev.org/?p=560 Sort plist. PR: 2935081e8f856174
emulators/mame: Update 0.282 => 0.284 Commit logs: https://github.com/mamedev/mame/compare/mame0282...mame0284 - Simplify and improve portscout detection. - Remove upstreamed patch. PR: 291514 Approved by: Laurent Chardon <laurent.chardon@gmail.com> (maintainer) Co-authored-by: Laurent Chardon <laurent.chardon@gmail.com>e89b87df04
emulators/mame: fix build on powerpc*
../../../../../src/emu/video/rgbutil.cpp:365:16: error: out-of-line definition of 'bilinear_filter' does not match any declaration in 'rgbaint_t'
365 | u32 rgbaint_t::bilinear_filter(const u32 &rgb00, const u32 &rgb01, const u32 &rgb10, const u32 &rgb11, u8 u, u8 v)
| ^~~~~~~~~~~~~~~
In file included from ../../../../../src/emu/video/rgbutil.cpp:13:
../../../../../src/emu/video/rgbutil.h:429:29: note: type of 1st parameter of member declaration does not match definition ('u32' (aka 'unsigned int') vs 'const u32 &' (aka 'const unsigned int &'))
429 | static u32 bilinear_filter(u32 rgb00, u32 rgb01, u32 rgb10, u32 rgb11, u8 u, u8 v) noexcept;
| ^
Archiving libpce.a...
rm -f ../../../../freebsd/bin/x64/Release/mame_mame/libpce.a
../../../../../src/emu/video/rgbutil.cpp:408:17: error: out-of-line definition of 'bilinear_filter_rgbaint' does not match any declaration in 'rgbaint_t'
408 | void rgbaint_t::bilinear_filter_rgbaint(const u32 &rgb00, const u32 &rgb01, const u32 &rgb10, const u32 &rgb11, u8 u, u8 v)
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../../src/emu/video/rgbutil.cpp:13:
../../../../../src/emu/video/rgbutil.h:430:31: note: type of 1st parameter of member declaration does not match definition ('u32' (aka 'unsigned int') vs 'const u32 &' (aka 'const unsigned int &'))
430 | void bilinear_filter_rgbaint(u32 rgb00, u32 rgb01, u32 rgb10, u32 rgb11, u8 u, u8 v) noexcept;
| ^16c13c1415*/*: Bump PORTREVISION. audio/portmidi was updated to 2.0.85f452a6310
emulators/mame: Update 0.281 => 0.282 News: https://www.mamedev.org/?p=556 While here optimize do-install - reduce COPYTREE_SHARE and MKDIR calls. PR: 29078470d2be3aed
emulators/mame: update to 0.281 and take maintainership While here: - Update dependencies - Better handling of SSE2 option - Better handling of OPENMP option Changelog: https://www.mamedev.org/?p=555 PR: 289995 Reported by: Laurent Chardon <laurent.chardon@gmail.com> (new maintainer)048bbd9df9
*/*: Bump PORTREVISION. net/asio was updated to 1.34.2ddbc8a843e
*/*: Bump PORTREVISION. audio/portmidi was updated to 2.0.6ac8bee05db
*/*: Return to pool as per maintainer's request PR: 28745808f5ab84e1
emulators/mame: Update to 0.277
* Add FORCE_DRC_C_BACKEND to ${MAKE_ENV}, to workaround a linking issue
with DRC
* Retrieve upstream patch to address linking issue with asmjit
* Update .ini configuration files, mame, and plugin
Changelog: https://www.mamedev.org/?p=550
PR: 28504523c010b348*/*: bump PORTREVISION after audio/flac update153b006fd6
emulators/mame: Update to 0.274 Changelog: https://www.mamedev.org/?p=547 PR: 278572f37d83fda2
emulators/mame: fix build with clang 18 and 19
During the exp-run for bug 283013 ("update LLVM_DEFAULT to 18") it
turned out that emulators/mame fails to compile, with an error similar
to:
../../../../../3rdparty/sol2/sol/sol.hpp:19875:31: error: address of overloaded function 'call' does not match required type 'int (lua_State *)'
19875 | lua_CFunction freefunc = &function_detail::upvalue_this_member_variable<C, Fx>::template call<is_yielding, no_trampoline>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upstream fixed this with [1] and [2].
Similarly, compiling it with clang 19, we run into another error:
../../../../../3rdparty/sol2/sol/sol.hpp:6755:10: error: no member named 'construct' in 'optional<type-parameter-0-0 &>'
2191 | this->construct(std::forward<Args>(args)...);
| ~~~~ ^
Upstream fixed this with [3].
Apply these upstream fixes using PATCH_SITES and PATCHFILES.
[1] https://github.com/mamedev/mame/commit/4da99a13f5c
[2] https://github.com/mamedev/mame/commit/b7e0fa72b92
[3] https://github.com/mamedev/mame/commit/c75845b1ef0
PR: 283126
Approved by: agh@riseup.net (maintainer)
MFH: 2024Q4d76e4adce9emulators/mame: fix build on powerpc64*
Move ARM-specific patch to EXTRA_PATCHES to fix build:
../../../../../3rdparty/lzma/C/AesOpt.c:835:9: warning: AES HW_SW stub was used [-W#pragma-messages]
^
../../../../../3rdparty/lzma/C/AesOpt.c:848:1: error: variable has incomplete type 'void'
AES_COMPAT_STUB (AesCbc_Encode)
^
../../../../../3rdparty/lzma/C/AesOpt.c:844:5: note: expanded from macro 'AES_COMPAT_STUB'
AES_FUNC_START(name); \
^
../../../../../3rdparty/lzma/C/AesOpt.c:841:10: note: expanded from macro 'AES_FUNC_START'
void MY_FAST_CALL name(UInt32 *p, Byte *data, size_t numBlocks) \
^d110b34b93emulators/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: 27749332ad27c756emulators/mame: Fix build with python-3.11 PR: 276046 Reported by: wen@ Approved by: maintainerb2d2b35e2f
emulators/mame: Update to 0.261
* Make use of ${EXTRACT_AFTER_ARGS} for a number of files/dirs that are
not required for MAME on FreeBSD, this removes some post-patch work
from the Makefile
* Avoid extracting bgfx shaders for proprietary systems
* Avoid extracting the man page for ldplayer, as it is not built
* Update option TOOLS description
* Increase the default amount of information produced when built with
DEBUG
* Drop the conditional logic for powerpc, and use LLVM-16 for all
FreeBSD-14+ builds
* Move some NLS logic deleting .po files to ${COPYTREE_SHARE}, and
simple exclude copying those files to ${STAGEDIR}. This was originally
in the wrong Makefile target, port-build
* Add two more MAME ${SUBTARGETS} as tools; mamevirtual provides similar
ldplayer functionality thru the MAME GUI
* Remove hard-coded names from do-install-TOOLS-on Makefile target
* Remove local upstream patches that were required to build 0.259
* Reduce diff files/patch-makefile
* Use -O3 over -Ofast for speed focused compiler flags
* Drop some patches that are not required for unbundling GENie
* Add comments to some patches
* Move "${RM} -r ${WRKSRC}/docs/build/html/_sources" from do-build-DOCS-on, to "-not -regex ^./_sources.*" in do-install-DOCS-on
Changelog: https://www.mamedev.org/?p=532
PR: 2747839347c06ee7*/*: Treewide: Bump consumers of textproc/utf8proc ...after commit a71f6f1f41195fc156071640e2cd200541c21e52 Reported by: vvdb63a90c49c
emulators/mame: Update to 0.259
* Update to 0.259 (https://www.mamedev.org/?p=529)
* Some Makefile maintenance: remove blank lines from targets; opt for verbose build, remove @ from commands
* Add MAME keymaps
* Prefer ${PREFIX}/share over ${MANPREFIX}
* Pull in an upstream commit to patch LLVM builds for 0.259 on FreeBSD
Changelog: https://www.mamedev.org/?p=529
PR: 274227
MFH: 2023Q4494e182d59emulators/mame: Update the generated sample ini files PR: 273575f4750bfe2c
emulators/mame: Update to 0.258 Release note: https://www.mamedev.org/?p=528 PR: 2734441f089f5734
emulators/mame: update to 0.257 * Update to 0.257 (https://www.mamedev.org/?p=527) * Add a hopefully more meaningful description for option NLS * Fix description on option QTDEBUGGER, it is built as part of MAME, not installed separately as might be implied * Clean up pkg-message.in and hopefully clarify the mess with MAME configuration data. PR: 272786ffe69f8fb1
*/*: Bump jpeg-turbo users treewide New major version 3.0.0664a2fa1e5
emulators/mame: update to 0.256 ChangeLog: https://www.mamedev.org/releases/whatsnew_0256.txt PR: 272358 Reported by: agh@riseup.net (maintainer)75b71a6231
emulators/mame: fix build on armv7 and arm64 Port now bundles LZMA with known build issues. Import patch set from archivers/7-zip to fix the build on armv7 and arm64. PR: 271987 Approved by: portmgr (build fix blanket) Obtained from: archivers/7-zipcb40b0a439
emulators/mame: fix build on powerpc* CURRENT Use newer LLVM: Assertion failed: (ESI.Type != EST_Uninstantiated), function SubstExceptionSpec, file /usr/local/poudriere/jails/main-powerpc/usr/src/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp, line 2240.bce5435ffc
emulators/mame: Update to 0.255 ChangeLog: https://www.mamedev.org/?p=525 PR: 271774 Reported by: agh@riseup.net (maintainer)edb4bf214f
emulators/mame: fix build on 14-CURRENT
- explicitly declare more system libraries
- port-{clippy,fmt,lint} maintenance
- separate out Qt machine debugger via OPTIONS
- separate out tools via OPTIONS
- remove licenses from ${PORTDOCS} as they are catalogued thru various ${LICENSE}* definitions
- add conditional logic for when OS ≧ 14 then explicitly build with LLVM
- a lot of the work in the post-patch target is on static files, so move most of this to files/
- files/patch-scripts_genie.lua is a fix for GCC
- sort targets into the order they run in.
PR: 27137484c2e2313eemulators/mame: set PTR64=1 on aarch64 This seems to be required to build on aarch64 as per maintainer. Reported by: agh@riseup.net (via email) Approved by: agh@riseup.net (maintainer) MFH: 2023Q2d52e96a42a
emulators/mame: enable on arm64 Add a missing make target, permitting compilation on arm64. PR: 271468 MFH: 2023Q2 Approved by: agh@riseup.net (maintainer)16f071acba
emulators/mame: fix build on armv7 Mame fails to link on armv7 due to an address space exhaustion in lld. As a bandaid, tell lld to not generate symbols. This frees up enough address space to make mame link. PR: 271374 MFH: 2023Q2 Approved by: agh@riseup.net (maintainer)9fb2d7b2e7
Fix some more needless usages of UTF-8 where ASCII is sufficient While here, drop the quotes around <beat 'em up> added in commit fa4ecd821fadb6 as I have been convinced they are not needed here.0cff8bfa68
emulators/mame: Update to 0.254 emulators/mess has been merged to emulators/mame in the upstream. PR: 2686913841ad2f6e
emulators/{mame,mess}: Update to 0.250
- Don't use MAKE_JOBS_UNSAFE as no problems found in parallel building
ChangeLog: https://www.mamedev.org/releases/whatsnew_0250.txt
PR: 268089b720bd5404emulators/mame: Remove leftover garbage from previous patches PR: 267584f95a79458e
emulators/{mame,mess}: Update to 0.249
Release note: https://www.mamedev.org/releases/whatsnew_0249.txt
Also transfer maintainership.
PR: 252362
Reported by: Stéphane D'Alu <sdalu@sdalu.com> (initial patches)
Approved by: manu5fb3b275a3audio/flac: bump port revision of consumers after update to 1.4.11e5aaab3fc
Mk/Uses: always use colon for build/run suffix Most USES use a colon for build/run(/test) suffixes. Change kde.mk, qt.mk and pyqt.mk to do the same, and update all ports using that. Document in CHANGES. PR: 266034 Exp-run by: antoine Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D36349ddae4e92d8
Fix WWW in parent/child ports Many of the WWW are overwritten later which means the wrong value is used. This did not happen before where the children were either a) just using the pkg-descr from the parents b) or had their own separate pkg-descr with custom WWW Use WWW?= in parents when the child's WWW is different. Children that use the same WWW as the parent can just inherit it, i.e., the child WWW can be removed. Approved by: portmgr (implicit)e79fe1aabc
Remove WWW entries moved into port Makefiles Commit b7f05445c00f has added WWW entries to port Makefiles based on WWW: lines in pkg-descr files. This commit removes the WWW: lines of moved-over URLs from these pkg-descr files. Approved by: portmgr (tcberner)fb16dfecae
Add WWW entries to port Makefiles It has been common practice to have one or more URLs at the end of the ports' pkg-descr files, one per line and prefixed with "WWW:". These URLs should point at a project website or other relevant resources. Access to these URLs required processing of the pkg-descr files, and they have often become stale over time. If more than one such URL was present in a pkg-descr file, only the first one was tarnsfered into the port INDEX, but for many ports only the last line did contain the port specific URL to further information. There have been several proposals to make a project URL available as a macro in the ports' Makefiles, over time. This commit implements such a proposal and moves one of the WWW: entries of each pkg-descr file into the respective port's Makefile. A heuristic attempts to identify the most relevant URL in case there is more than one WWW: entry in some pkg-descr file. URLs that are not moved into the Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr files in order to preserve them. There are 1256 ports that had no WWW: entries in pkg-descr files. These ports will not be touched in this commit. The portlint port has been adjusted to expect a WWW entry in each port Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as deprecated. Approved by: portmgr (tcberner)b7f05445c0
emulators: remove 'Created by' lines A big Thank You to the original contributors of these ports: * Akinori MUSHA aka knu <knu@idaemons.org> * Alejandro Pulver <alejandro@varnet.biz> * Alexander Best <arundel@gmx.net> * Alexander Nedotsukov <bland@FreeBSD.org> * Alexey Dokuchaev <danfe@FreeBSD.org> * Alexey V. Antipovsky <kemm@in-line.ru> * Alonso Cardenas Marquez <acm@FreeBSD.org> * Brian Gaeke <brg@dgate.org> * Danilo Egea Gondolfo <danilo@FreeBSD.org> * David Naylor <naylor.b.david@gmail.com> * David O'Brien (obrien@cs.ucdavis.edu) * Edward Tomasz Napierala <trasz@FreeBSD.org> * Eric L. Hernes <erich@FreeBSD.org> * Felix Palmen <felix@palmen-it.de> * Ganael Laplanche <ganael.laplanche@martymac.org> * Gerald Pfeifer <gerald@FreeBSD.org> * Gunter Wambaugh <techgunter@yahoo.com> * Jacques Vidrine <nectar@FreeBSD.org> * Janni * Jeffrey H. Johnson <CPE1704TKS@bellsouth.net> * Jeremy Karlson * Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org> * Joel Sutton <jsutton@webnet.com.au> * Joerg Wunsch <joerg@FreeBSD.org> * Jonathan M. Bresler (jmb) * Jose Alonso Cardenas Marquez <acm@FreeBSD.org> * Juergen Lock <nox@jelal.kn-bremen.de> * Kaltashkin Eugene <zhecka@gmail.com> * Kevin Bowling <kbowling@FreeBSD.org> * Li-Lun Wang <llwang@infor.org> * Mario S F Ferreira <lioux@linf.unb.br> et al. * Martin Hinner * Maxim Sobolev <sobomax@FreeBSD.org> * Michael Neumann <mneumann@ntecs.de> * Miguel Mendez <flynn@energyhq.homeip.net> * Naram Qashat <cyberbotx@cyberbotx.com> * Nicole Reid <root@cooltrainer.org> * Nishika <nishika@cheerful.com> * Pavel I Volkov <pavelivolkov@googlemail.com> * Piotr Kubaj * Ruan Wei (iamayan@gmail.com) * Sebastian Schuetz <sschuetz@fhm.edu> * Seiichirou Hiraoka * Shaun Amott <shaun@FreeBSD.org> * Sheldon Hearn <axl@iafrica.com> * Simon Dick <simond@irrelevant.org> * Steven Kreuzer <skreuzer@FreeBSD.org> * Stijn Hoop <stijn@win.tue.nl> * Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> * Thomas Bernard <nanard@free.fr> * Timothy Beyer <beyert@cs.ucr.edu> * Tobias Reifenberger <tr@freebsd.mayn.de> * Tom Carrick <knyghtmare@knyghtmare.com> * Travis Poppe <tlp@liquidx.org> * Uffe Jakobsen <uffe@uffe.org> * Vladimir Kondratiev <wulf@mail.mipt.ru> * Yukihiro Nakai <Nakai@Mlab.t.u-tokyo.ac.jp> * Yukihiro Nakai <nakai@FreeBSD.org> * alepulver * alex * dchapes@ddm.on.ca * dk * elbarto * janek@gaja.ipan.lublin.pl * jhb * jmz * joerg * jraynard * krion * kstailey * mbr@FreeBSD.org * okeeblow <root@cooltrainer.org> * pixel * pjm * tenser@spitfire.ecsel.psu.edu * trasz * trasz <trasz@pin.if.uz.zgora.pl> * # Created by Timothy Beyer <beyert@cs.ucr.edu> With hat: portmgr27eb52ac6a
emulators/mame: use sqlite from ports This fixes runtime on powerpc64le since sqlite vanilla assumes big-endian on all powerpc*. PR: 257253 Approved by: manu (maintainer timeout)2990a0702e
Style: improve ONLY_FOR_ARCHS_REASON (grammar, markup, etc.) ONLY_FOR_ARCHS_REASON is used as part of the sentence and thus should start with lower-case letter and not end with a period which is added by the framework, similar to other knobs like BROKEN, IGNORE, et al. While here, remove needless quoting, add missing Oxford comma, expand contractions and jargonisms, use correct spelling for proper names.61b6613393
graphics/mesa-libs: Bump reverse deps for libglvnd Per discussion with bapt on helping pkg handle the changing of these deps and avoiding impossible upgrade senarios. PR: 246767 Reviewed by: manu, bapt Approved by: x11 Differential Revision: https://reviews.freebsd.org/D30824da3162c7c9
emulators/mame: enable on armv7 Builds fine.f4b7da4971