CVE and update status of the FreeBSD ports tree3,295 unaddressed CVEs in 670 portsAll times are CET
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 · Report wrong data

Install

Package
# pkg install mame
installs 0.289 from latest; from quarterly (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 versionamd64aarch64i386
FreeBSD 160.2890.289–
FreeBSD 150.2890.289–
FreeBSD 140.2890.2890.289

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 150.2890.289–
FreeBSD 140.2890.2890.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)

Piotr Kubaj (pkubaj) · 0.226
emulators/mame: enable on powerpc
099ce8b59d
Mathieu Arnold (mat) · 0.226
Remove # $FreeBSD$ from Makefiles.
305f148f48
Piotr Kubaj (pkubaj) · 0.226
emulators/mame: add support for powerpc64le
7b94e58fa6
Piotr Kubaj (pkubaj) · 0.226
emulators/mame: fix build on powerpc64

Use on powerpc64 the same options that upstream uses on ppc64 (Linux name for our powerpc64).

MFH:		2021Q1
7d5c373ffa
Rene Ladan (rene) · 0.226
emulators/{mame,mess}: update to 0.226 and use Python 3.7 to build

This commit is earlier than the maintainer timeout but saves the
port from being removed because Python 2.7 expires today.

PR:		252158
Submitted by:	sdalu@sdalu.com
c29236271b
Emmanuel Vadot (manu) · 0.223
emulators/mame: Take maintainer ship

I'm working on patches that I will submit upstream so take maintainer ship.
9b7872b05f
Fernando Apesteguía (fernape) · 0.223
emulators/mame emulators/mess: update to 0.223

ChangeLog: https://www.mamedev.org/?p=484

Reported by:	portscout
d8baf47c56
Fernando Apesteguía (fernape) · 0.222
emulators/mame emulators/mess: update to 0.222

ChangeLog way to big to reproduce here:
https://github.com/mamedev/mame/releases/download/mame0222/whatsnew_0222.txt

While here

 * Add USES=localbase
 * Move multiple variables to their places

PR:	246698
Submitted by:	sdalu@sdalu.com
a324337731
Tijl Coosemans (tijl) · 0.212
Update devel/gmake to 4.3.

Some changes have been made in this release that break backwards
compatibility.  Let USES=gmake force users to upgrade to this version so
port maintainers don't have to support older versions.

PR:		245725
Exp-run by:	antoine
Approved by:	portmgr (antoine)
7d4723292c
Max Brazhnikov (makc) · 0.212
emulators/mame: - Update to 0.212 - Add dependency on libpugixml from ports instead of using bundled copy

PR:		239439
Submitted by:	checo1705@secmail.pro
8e971cfd86
Piotr Kubaj (pkubaj) · 0.209_1
emulators/mame: add MAKE_JOBS_UNSAFE=yes

There's a race condition when compiling with 18-core POWER9 (72 threads):
In file included from ../../../../../src/mame/drivers/konamigq.cpp:76:
../../../../../src/devices/cpu/tms57002/tms57002.h:208:10: fatal error: '../../emu/cpu/tms57002/tms57002.hxx' file not found
#include "../../emu/cpu/tms57002/tms57002.hxx"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d91caaeb00
Niclas Zeising (zeising) · 0.209_1
Add USES=xorg USES=gl, ports categories e

Add USES=xorg, USES=gl and in a few cases USES=gnome to ports in categories
starting with 'e'.
d52303ea80
Mathieu Arnold (mat) · 0.209_1
Convert to UCL & cleanup pkg-message (categories e-g)
79698c8457
Piotr Kubaj (pkubaj) · 0.209_1
emulators/mame: fix build on powerpc64

powerpc64 requires the same Makefile fix as amd64.

Additionally, https://github.com/bkaradzic/bx/commit/684f7ec5d6a8e0d9c396bdd2dfc1f19244800557 is necessary.

Approved by:	linimon (mentor)
Differential Revision:	https://reviews.freebsd.org/D21055
89d09c3e09
Gerald Pfeifer (gerald) · 0.209_1
Bump PORTREVISION for ports depending on the canonical version of GCC as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3 to GCC 9.1 under most circumstances now after revision 507371.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.

PR:		238330
ea8c8ec7da
Kurt Jaeger (pi) · 0.209
emulators/mame: upgrade 0.200 -> 0.209

- 2nd attempt, with additional patches

PR:  236621
Submitted by: sirdice@gmail.com
Relnotes: https://www.mamedev.org/releases/whatsnew_0209.txt
	https://mamedev.org/releases/whatsnew_0208.txt
	https://mamedev.org/releases/whatsnew_0207.txt
	...
5baa1fd697
Kurt Jaeger (pi) · 0.200_3
emulators/mame: revert r500456 and reapply with fixes

PR:		236621
Reported by:	Remko C. <sirdice@gmail.com>
Pointy hat to:	pi
1f583eca09
Kurt Jaeger (pi) · 0.209
emulators/mame: upgrade 0.200 -> 0.209 emulators/mess: upgrade slave port pkg-plist

PR:		236621
Submitted by:	sirdice@gmail.com
Relnotes:	https://www.mamedev.org/releases/whatsnew_0209.txt
		https://mamedev.org/releases/whatsnew_0208.txt
		https://mamedev.org/releases/whatsnew_0207.txt
		...
0bf701cd49
Tijl Coosemans (tijl) · 0.200_3
Fix Qt5 symbol version scripts to put the catch-all clause first.  When a symbol matches multiple clauses the last one takes precedence.  If the catch-all is last it captures everything.  In the case of Qt5 libraries this caused all symbols to have a Qt_5 label while some should have Qt_5_PRIVATE_API.  This only affects lld because GNU ld always gives the catch-all lowest priority.

Older versions of Qt5Webengine exported some memory allocation symbols from
the bundled Chromium.  Version 5.9 stopped exporting these [1] but the
symbols were kept as weak wrappers for the standard allocation functions to
maintain binary compatibility. [2][3]  The problem is that the call to the
standard function in these weak wrappers is only resolved to the standard
function if there's a call to this standard function in other parts of
Qt5Webengine, because only then is there a non-weak symbol that takes
precedence over the weak one.  If there's no such non-weak symbol the call
in the weak wrapper resolves to the weak wrapper itself creating an infinite
call loop that overflows the stack and causes a crash.  Some of the
allocation functions are variants of C++ new and delete and it probably
depends on the compiler whether these variants are used in other parts of
Qt5Webengine.

Remove the weak wrappers (make them Linux specific).  This isn't binary
compatible but we are already breaking that with the changes to the symbol
versions.

[1] https://github.com/qt/qtwebengine/commit/5c2cbfccf9aafb547b0b30914c4056abd25942a4
[2] https://github.com/qt/qtwebengine/commit/2ed5054e3a800fa97c2c9e920ba1e6ea4b6ef2a5
[3] https://github.com/qt/qtwebengine/commit/009f5ebb4bd6e50188671e0815a5dae6afe39db5

Bump all ports that depend on Qt5.

PR:		234070
Exp-run by:	antoine
Approved by:	kde (adridg)
1bf487d3e7
Gerald Pfeifer (gerald) · 0.200_2
Bump PORTREVISION for ports depending on the canonical version of GCC defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t GCC 8.2 under most circumstances.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.

PR:		231590
a9f015d155
Niclas Zeising (zeising) · 0.200_1
Change x11/xorgproto to become a build dep

Change x11/xorgproto to become a build time dependency when added to
USE_XORG.  Change the dependency to be on the port, rather than a file the
port installs.
Fix fallout.
Bump portrevision on depending ports.

PR:		230909
Reviewed by:	eadler
Approved by:	portmgr (antoine)
Obtained from:	https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/xorgproto
exp-run:	antoine
Differential Revision:	https://reviews.freebsd.org/D16906
0fae2e9e0e
Mathieu Arnold (mat) · 0.200
After an include, PLIST_SUB must be appended to, not overwritten.

If it is overwritten, many values will be clobbered, and
pain will ensue.

PR:		230864
Submitted by:	mat
exp-runs by:	antoine
f57bc4af66
Jan Beich (jbeich) · 0.200
emulators/mame: unbreak with libc++ 7

In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:21:
In file included from ../../../../../3rdparty/asio/include/asio/basic_datagram_socket.hpp:20:
In file included from ../../../../../3rdparty/asio/include/asio/basic_socket.hpp:40:
In file included from ../../../../../3rdparty/asio/include/asio/detail/reactive_socket_service.hpp:22:
In file included from ../../../../../3rdparty/asio/include/asio/buffer.hpp:27:
In file included from ../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:23:
/usr/include/c++/v1/experimental/string_view:11:2: error: "<experimental/string_view> has been removed. Use <string_view> instead."

PR:		230401
Reported by:	antoine (via exp-run)
2bb52e419f
Danilo Egea Gondolfo (danilo) · 0.200
- Update to 0.200
c8c4b8ed3e
Tobias C. Berner (tcberner) · 0.198
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk

From now on, ports that depend on Qt4 will have to set
	USES=		qt:4
	USE_QT=		foo bar
ports depending on Qt5 will use
	USES=		qt:5
	USE_QT=		foo bar

PR:		229225
Exp-run by:	antoine
Reviewed by:	mat
Approved by:	portmgr (antoine)
Differential Revision:	→https://reviews.freebsd.org/D15540
b1a1d38bf9
Danilo Egea Gondolfo (danilo) · 0.198
- Update to 0.198
566e591d9c
Danilo Egea Gondolfo (danilo) · 0.197
- Update to 0.197
6772a528ed
Danilo Egea Gondolfo (danilo) · 0.196
- Update emulators/{mame,mess} to 0.196
b38e0397ae
Danilo Egea Gondolfo (danilo) · 0.195
- Use compiler:c++14-lang instead of an if statement - Split USES to a separate block

Reported by:	jbeich, mat
2e9aa45045
Danilo Egea Gondolfo (danilo) · 0.195
- Unbreak emulator/mess - Use at least clang50 to build mame/mess. GCC is segfaulting during build on 10.4 and it doesn't build with clang. - Declare some dependencies explicitly to make Q/A happy
7420d45d10
Antoine Brodin (antoine) · 0.195
Fix PKGNAME collision with slave port emulators/mess (emulators/mess is probaly BROKEN now)
ab813ebdab
Steve Wills (swills) · 0.195
emulators/mame: update to 0.195

PR:		226687
Submitted by:	Ryo ONODERA <ryo@tetera.org>
998e20f344
Antoine Brodin (antoine) · 0.166_5
Reduce dependency on the python2 metaport

PR:		225752
Submitted by:	Yasuhiro KIMURA
f7455240e3
Jimmy Olgeni (olgeni) · 0.166_5
Fix whitespace issues (mixed tab/spaces, alignment) in a few ports.
258b5d44ad
Jan Beich (jbeich) · 0.166_5
emulators/{mame,mess}: unbreak after r450461

../../../../../src/osd/modules/render/drawbgfx.c:174:8: error: no member named 'sdlSetWindow' in namespace 'bgfx'
        bgfx::sdlSetWindow(window().sdl_window());
        ~~~~~~^

Reported by:	pkg-fallout
25873d2ca0
Gerald Pfeifer (gerald) · 0.166_5
Bump PORTREVISION for ports depending on the canonical version of GCC (via Mk/bsd.default-versions.mk and lang/gcc) which has moved from GCC 5.4 to GCC 6.4 under most circumstances.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
   c++14-lang, c++0x, c11, or gcc-c++11-lib.

PR:		219275
e59c88cece
Matthew Rezny (rezny) · 0.166_4
Revision bump of all ports with USE_GL after consolidation of mesa-libs

Approved by:	swills (mentor)
Differential Revision:	https://reviews.freebsd.org/D10845
b760897dde
Gerald Pfeifer (gerald) · 0.166_3
Bump PORTREVISIONs for ports depending on the canonical version of GCC and lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some circumstances such as versions of FreeBSD or platforms).

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using using Mk/bsd.octave.mk which in turn has USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
   c++11-lang, c++0x, c11, or gcc-c++11-lib.

PR:		216707
04d6f52202
Jan Beich (jbeich) · 0.166_2
emulators/mame: unbreak with clang 4.0

../../../../../src/emu/webengine.c:333:21: error: ordered comparison between pointer and zero
      ('int *' and 'int')
                if ((&data_length > 0) && (sizeof(file_name) > 0))
                     ~~~~~~~~~~~~ ^ ~

Reported by:	antoine (via exp-run)
d97eadd0f0
Gerald Pfeifer (gerald) · 0.166_1
Bump PORTREVISIONS for ports depending on the canonical version of GCC and lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some circumstances such as versions of FreeBSD or platforms).

In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
89f8b05214
Mark Linimon (linimon) · 0.166
Change from NOT_FOR to ONLY_FOR.  This fails to build on both armv6 and aarch64 and was never tried on most other architectures.
1e7d9be3cf
Dmitry Marakasov (amdmi3) · 0.166
- Remove always false condition
26f1832538
Mathieu Arnold (mat) · 0.166
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.

With hat:	portmgr
Sponsored by:	Absolight
4e1b79a0a6
John Marino (marino) · 0.166
emulators/(mame|mess): Avoid name pollution with <stdio.h>

At least on DragonFly's base compiler (gcc 5.2), the getc and ungetc
routines in mame/mess were getting clobbered by <stdio.h>.  Rename
getc and ungetc to mame_getc and mame_ungetc to fix.  For some reason,
macro definitions did not work so I had to patch every instance
individually.
82654c5094
Guido Falsi (madpilot) · 0.166
Update mame/mess to 0.166

PR:		203509, 203510
Submitted by:	Paul Boehmer <freebsd at never4evil.com>
44f13dd9ba
Antoine Brodin (antoine) · 0.161
Convert to USES=jpeg
6e5719ca80
John Marino (marino) · 0.161
emulators/(mame|mess): Upgrade version 0.154 => 0.161 (overhaul ports)

I completely reworked these unmaintained ports.  I turned mess into a
proper slave port as the differences from mame were few.  Some notes:

  * converted to GitHub (this saved messing with the double-zip /
    dos2unix per file arrangement, no more post-extract target)
  * got rid of patchlevel support accordingly
  * got rid of DIST_SUBDIR accordingly
  * Clang from FreeBSD 10 cannot build this!  It fails will some kind of
    signal.  I did not test on FreeBSD 11 yet.  For now, degrade the
    ports to use GCC always.  Note the makefiles were hardcoded to GCC.
    I fixed the hardcoding so it uses environment but perhaps it's known
    that mame/mess is now gcc-only
  * Some options are no longer optional, e.g. BUILTIN_DEBUGGER, SDL2
    These were made unconditional accordingly.
  * mess is now a minimal slave port.  There are some additions to mame
    Makefile to support the slave.
  * I used PORTDOCS and PORTEXAMPLE to simplify each pkg-plist
  * DragonFly support still pending.  This port discovered a bug in
    GCC 5.1 release which has been fixed recently, so the base compiler
    has to be upgraded before testing can resume.
9a7be0a622
Tijl Coosemans (tijl)
Replace USES=libtool:oldver with USES=libtool or USES=libtool:keepla in the 32 ports that still use it.  Bump PORTREVISION on their dependent ports except the ones that depend on these:

audio/libogg
audio/libvorbis
devel/pcre
ftp/curl
graphics/jpeg
graphics/libart_lgpl
graphics/tiff
textproc/expat2
textproc/libxslt

In these cases the same trick as in the recent gettext update is used.
The ports install a symlink with the old library version.  When enough
of their dependent ports have had regular updates the remaining ones can
get a PORTREVISION bump and the links can be removed.

Also remove the devel/pcre dependency from USE_GNOME=glib20.  It causes
over 2200 packages to depend on devel/pcre while less than 200 actually
link with it.  The glib20 package still depends on devel/pcre so this
should not make a difference for ports with USE_GNOME=glib20.  Also,
libdata/pkgconfig/glib-2.0.pc lists pcre as a private library so
USE_GNOME=glib20 should not propagate it.

PR:		195724
Exp-run by:	antoine
Approved by:	portmgr (antoine)
60945f0277
John Marino (marino)
emulators/mame: Remove redundant @dirrm, simplify an install command
15dffe014c
John Marino (marino)
emulators/mame: clean up, remove zip dependency, support DragonFly

This port has a post-extract target that wants to use native unzip
on an extracted file.  This is an issue for DragonFly, but tar can
handle the zip file just file on both platforms, so switch to that.

DragonFly still has the incomplete FILE that it inherited from FreeBSD,
which is really a pain when FILE is a parameter in c++ routines.  This
adds an extra patch for DragonFly to use an alternative default logging
callbacks to all mame to finally build on this platform.

While here:
  - remove use of ${PORTNAME} where "mame" is the only correct value
  - use ".zip" instead of extract variable
  - Unmask installation commands
  - Group mkdir commands into one
  - Use NOT_FOR_ARCHS instead of conditional BROKEN
  - Convert to USES=python
  - Remove unnecessary conversion of -lpthread => -pthread
638412fe35