pkgsrc/emulators/mame/Makefile
wiz 21432a36e0 mame: update to 0.201.
It’s the end of another month, and time for your scheduled MAME
release, with more of everything we know you love. In a last-minute
update, we slipped in a major performance optimisation for bgfx
video output. It’s particularly noticeable when using cropped
artwork, and there’s no longer a big performance penalty for bringing
up the menu over the emulation on macOS. Another core improvement
is support for TAP/TUN networking on Windows, providing a big
performance improvement when connecting an emulated system to a
network on the host machine.

From the department of things considered lost to time, MAME 0.201
allows you to play as Chuby the octopus, in the incredibly elusive
Spanish game Night Mare. Unfortunately the sound ROMs were missing,
so you won’t be able to hear Chuby speak, and we still need to be
on the lookout for the export version known as Clean Octopus. And
speaking of rare games from Spain, two more Magnet System titles
have been dumped: A Day in Space and The Burning Cavern.

Newly dumped versions of supported arcade games include prototypes
of Halley’s Comet (Taito) and Dog Fight (Orca), a newer version of
the original Master Boy (Gaelco), and the Korean release of Raiden
II (Seibu Kaihatsu). A redumped ROM allowed Psychic Force EX to
run correctly. The vgmplay logged music player has had a big update
in this release, with support for several more sound chips and a
comprehensive software list.

And this brings us to audio improvements, which seem to have all
crowded their way into this release. We have fixes for long-standing
sound bugs in Twin Eagle, Targ and Spectar. Sound in Amazing Maze
is no longer cut off after thirty seconds or so. There are some
big changes for QSound and Taito Zoom ZSG-2 that should make things
sound nicer. There’s also preliminary support for the NEC PC-FX’s
HuC6230 SoundBox, but be aware it has a DC offset so you’ll hear
a big thud when you start or stop it.

Recent improvements in NEC PC-98 emulation have seen dozens of
titles promoted to working status, and we’ve added another batch
of dumps from Neo Kobe Collection. There are a number of fixes that
improve TI-99 floppy and cassette support in this release. InterPro
systems can now be used via a serial terminal in configurations
without a video card or keyboard. At long last, the Apple //c Plus
can boot from its internal floppy drive. Other improvements to
computer emulation include better keyboard support for Amiga systems,
and improved GPU emulation for the HP Integral PC.
2018-08-30 22:56:46 +00:00

132 lines
4.8 KiB
Makefile

# $NetBSD: Makefile,v 1.90 2018/08/30 22:56:46 wiz Exp $
DISTNAME= mame-0.201
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/}
GITHUB_TAG= ${DISTNAME:S/-//S/.//}
MAINTAINER= wiz@NetBSD.org
HOMEPAGE= http://www.mamedev.org/
COMMENT= Multiple Arcade Machine Emulator
LICENSE= modified-bsd AND gnu-gpl-v2
DOCDIR= share/doc/mame
SHAREDIR= share/mame
INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6
INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur
INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/chains/crt-geom ${SHAREDIR}/hash
DEPENDS+= liberation-ttf-[0-9]*:../../fonts/liberation-ttf
USE_LANGUAGES= c99 c++
GCC_REQD+= 5.3
USE_TOOLS+= bsdtar gmake pkg-config
UNLIMIT_RESOURCES+= datasize
MAKE_FILE= makefile
EXTRACT_USING= bsdtar
# 0.141 has too many conversion warnings
MAKE_ENV= NOWERROR=1
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
# needs kvm and I didn't find the right place to add it in the build system
MAKE_ENV+= LDOPTS="-Wl,-R${BUILDLINK_PREFIX.flac}/lib -L${BUILDLINK_PREFIX.flac}/lib -lkvm"
.else
MAKE_ENV+= LDOPTS="-Wl,-R${BUILDLINK_PREFIX.flac}/lib -L${BUILDLINK_PREFIX.flac}/lib"
.endif
# use pkgsrc packages for expat, zlib, jpeg, flac, lua, sqlite3
MAKE_ENV+= USE_SYSTEM_LIB_EXPAT=1
MAKE_ENV+= USE_SYSTEM_LIB_ZLIB=1
MAKE_ENV+= USE_SYSTEM_LIB_JPEG=1
MAKE_ENV+= USE_SYSTEM_LIB_FLAC=1
MAKE_ENV+= USE_SYSTEM_LIB_LUA=1
MAKE_ENV+= USE_SYSTEM_LIB_SQLITE3=1
# no portmidi package exists yet
#MAKE_ENV+= USE_SYSTEM_LIB_PORTMIDI=1
# find proper python binary
MAKE_ENV+= PYTHON_EXECUTABLE=${PYTHONBIN}
# don't depend on qt4
MAKE_ENV+= USE_QTDEBUG=0
# avoid midi for now
#MAKE_ENV+= NO_USE_MIDI=1
# build tools
MAKE_ENV+= TOOLS=1
.include "../../mk/compiler.mk"
.if !empty(PKGSRC_COMPILER:Mclang)
_WRAP_EXTRA_ARGS.CC+= -Wno-error=cast-align \
-Wno-error=constant-logical-operand \
-Wno-error=sometimes-uninitialized \
-Wno-error=shift-count-overflow \
-Wno-error=unused-private-field \
-Wno-error=tautological-constant-out-of-range-compare \
-Wno-error=tautological-compare \
-Wno-error=self-assign-field \
-Wno-error=unused-const-variable \
-Wno-error=unused-function
CWRAPPERS_APPEND.cc+= -Wno-error=cast-align \
-Wno-error=constant-logical-operand \
-Wno-error=sometimes-uninitialized \
-Wno-error=shift-count-overflow \
-Wno-error=unused-private-field \
-Wno-error=tautological-constant-out-of-range-compare \
-Wno-error=tautological-compare \
-Wno-error=self-assign-field \
-Wno-error=unused-const-variable \
-Wno-error=unused-function
MAKE_ENV+= OPTIMIZE=2
.endif
. include "../../mk/endian.mk"
.if ${MACHINE_ENDIAN:Mbig}
MAKE_ENV+= BIGENDIAN=1
.endif
PYTHON_FOR_BUILD_ONLY= yes
PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 37 # not yet ported as of 0.151
post-extract:
# will be chosen in preference to /usr/include/signal.h, but does not provide kill()
${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
# will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al.
${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd
pre-build:
# problems with mame-specific png.h
${RM} -f ${WRKDIR}/.buildlink/include/png*
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/mame64 ${DESTDIR}${PREFIX}/bin/mame
set -e; \
for prg in castool chdman floptool imgtool jedutil ldresample ldverify \
nltool nlwav pngcmp regrep romcmp split src2html srcclean unidasm; \
do \
${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \
done
${INSTALL_DATA} ${WRKSRC}/docs/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
${INSTALL_DATA} ${WRKSRC}/docs/man/*.6 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6
${INSTALL_DATA} ${WRKSRC}/artwork/LICENSE ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork
${INSTALL_DATA} ${WRKSRC}/artwork/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork
${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/border_blur/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/border_blur
${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains
${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/crt-geom/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains/crt-geom/
${INSTALL_DATA} ${WRKSRC}/docs/*.md ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/hash/* ${DESTDIR}${PREFIX}/${SHAREDIR}/hash
.include "../../lang/python/application.mk"
.include "../../audio/flac/buildlink3.mk"
.include "../../devel/GConf/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../databases/sqlite3/buildlink3.mk"
.include "../../fonts/SDL2_ttf/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../x11/libXinerama/buildlink3.mk"
.include "../../x11/gtk2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"