MAME is a multi-purpose emulation framework, with the aim of documenting and
preserving vintage software and hardware from becoming lost. When used with
vintage firmware (or BIOS), and duplicated Read Only Memory (ROMs), on modern
hardware, users are able to play and explore systems and games from
approximately 1970 through to the modern era.
===> The following configuration options are available for mame-0.289:
DOCS=on: Install extensive online MAME documentation
====> Emulators
MAME=on: MAME
MAMENL=off: Netlist audio component solver
MAMEVIRTUAL=off: LaserDisk Player
NLS=on: Install language translations for use in the GUI
QTDEBUGGER=off: Build with Qt interactive low-level machine debugger
====> Tools
TOOLS=off: Tools for archiving, development, and multimedia
====> Build with hardware extensions
OPENMP=off: Parallel processing support via OpenMP
SSE2=on: Build with Streaming SIMD Extensions 2
====> Application production type: you can only select none or one of them
DEBUG=off: Produce profiling data, and symbols for debugging
SIZE_OPTIMIZED_CFLAGS=off: Optimize for smaller binaries (-Os)
SPEED_OPTIMIZED_CFLAGS=off: Optimize for faster binaries (-O3)
===> Use 'make config' to modify these settings
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)
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: 2026Q2
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;
| ^
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)
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: 285045
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 &>'
(Only the first 15 lines of the commit message are shown above )
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
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
(Only the first 15 lines of the commit message are shown above )
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: 2023Q4
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: 272786
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-zip
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.
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: 271374
emulators/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: 2023Q2
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)
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.
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/D36349
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)
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)
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.
(Only the first 15 lines of the commit message are shown above )
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)
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.
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/D30824
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
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)
emulators/mame:
- Update to 0.212
- Add dependency on libpugixml from ports instead of using bundled copy
PR: 239439
Submitted by: checo1705@secmail.pro
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"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
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
(Only the first 15 lines of the commit message are shown above )
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
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
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
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)
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
- 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
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
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
Revision bump of all ports with USE_GL after consolidation of mesa-libs
Approved by: swills (mentor)
Differential Revision: https://reviews.freebsd.org/D10845
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
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)
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.
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.
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.
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.
(Only the first 15 lines of the commit message are shown above )
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
Number of commits found: 130 (showing only 100 on this page)