emulators/mame: enable on powerpc099ce8b59d
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 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)
Remove # $FreeBSD$ from Makefiles.305f148f48
emulators/mame: add support for powerpc64le7b94e58fa6
emulators/mame: fix build on powerpc64 Use on powerpc64 the same options that upstream uses on ppc64 (Linux name for our powerpc64). MFH: 2021Q17d5c373ffa
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.comc29236271bemulators/mame: Take maintainer ship I'm working on patches that I will submit upstream so take maintainer ship.9b7872b05f
emulators/mame emulators/mess: update to 0.223 ChangeLog: https://www.mamedev.org/?p=484 Reported by: portscoutd8baf47c56
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.coma324337731
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
emulators/mame: - Update to 0.212 - Add dependency on libpugixml from ports instead of using bundled copy PR: 239439 Submitted by: checo1705@secmail.pro8e971cfd86
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"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~d91caaeb00Add 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
Convert to UCL & cleanup pkg-message (categories e-g)79698c8457
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/D2105589d09c3e09
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: 238330ea8c8ec7da
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
emulators/mame: revert r500456 and reapply with fixes PR: 236621 Reported by: Remko C. <sirdice@gmail.com> Pointy hat to: pi1f583eca09
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
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
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: 231590a9f015d155
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/D169060fae2e9e0e
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: antoinef57bc4af66
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
- Update to 0.200c8c4b8ed3e
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/D15540b1a1d38bf9
- Update to 0.198566e591d9c
- Update to 0.1976772a528ed
- Update emulators/{mame,mess} to 0.196b38e0397ae- Use compiler:c++14-lang instead of an if statement - Split USES to a separate block Reported by: jbeich, mat2e9aa45045
- 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 happy7420d45d10
Fix PKGNAME collision with slave port emulators/mess (emulators/mess is probaly BROKEN now)ab813ebdab
emulators/mame: update to 0.195 PR: 226687 Submitted by: Ryo ONODERA <ryo@tetera.org>998e20f344
Reduce dependency on the python2 metaport PR: 225752 Submitted by: Yasuhiro KIMURAf7455240e3
Fix whitespace issues (mixed tab/spaces, alignment) in a few ports.258b5d44ad
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-fallout25873d2ca0Bump 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: 219275e59c88cece
Revision bump of all ports with USE_GL after consolidation of mesa-libs Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D10845b760897dde
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: 21670704d6f52202
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)d97eadd0f0Bump 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
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
- Remove always false condition26f1832538
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.
With hat: portmgr
Sponsored by: Absolight4e1b79a0a6emulators/(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
Update mame/mess to 0.166 PR: 203509, 203510 Submitted by: Paul Boehmer <freebsd at never4evil.com>44f13dd9ba
Convert to USES=jpeg6e5719ca80
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.9a7be0a622Replace 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
emulators/mame: Remove redundant @dirrm, simplify an install command15dffe014c
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 => -pthread638412fe35