# Template file for 'mame' pkgname=mame version=0195 revision=1 wrksrc="mame-mame${version}" homepage="http://mamedev.org" distfiles="https://github.com/mamedev/mame/archive/mame${version}.tar.gz" short_desc="The Multiple Arcade Machine Emulator" maintainer="Jürgen Buchmüller " license="GPL-2" checksum=b18d0e23ecf6b218c43a6770213c850b3c605ead9d29301de34101ed14c28a57 hostmakedepends="perl pkg-config python automoc4" makedepends="libstdc++-devel SDL2_ttf-devel $(vopt_if qt qt5-devel) lua-devel libjpeg-turbo-devel libflac-devel libuv-devel sqlite-devel portaudio-devel portmidi-devel libutf8proc-devel glm rapidjson" depends="liberation-fonts-ttf" nocross=yes replaces="sdlmame>=0 sdlmess>=0" CXXFLAGS="-I${XBPS_CROSS_BASE}/usr/include/lua5.3 -I${XBPS_CROSS_BASE}/usr/include/libutf8proc" case "$XBPS_TARGET_MACHINE" in i686*) nodebug=yes ;; *-musl) CXXFLAGS+=" -DBX_CRT_MUSL=1" ;; esac build_options="qt" if [ -z "$CROSS_BUILD" ]; then build_options_default="qt" fi do_build() { local opts="REGENIE=1" opts+=" TARGETOS=linux" case "$XBPS_TARGET_MACHINE" in i686*) opts+=" SUBTARGET=arcade" ;; x86_64*|aarch64*) opts+=" PTR64=1" ;; esac opts+=" NOWERROR=1" opts+=" OPTIMIZE=3" opts+=" PRECOMPILE=0" opts+=" TOOLS=1" opts+=" USE_SYSTEM_LIB_EXPAT=1" opts+=" USE_SYSTEM_LIB_ZLIB=1" opts+=" USE_SYSTEM_LIB_JPEG=1" opts+=" USE_SYSTEM_LIB_FLAC=1" opts+=" USE_SYSTEM_LIB_LUA=1" opts+=" USE_SYSTEM_LIB_SQLITE3=1" opts+=" USE_SYSTEM_LIB_PORTMIDI=1" opts+=" USE_SYSTEM_LIB_PORTAUDIO=1" opts+=" USE_SYSTEM_LIB_UTF8PROC=1" opts+=" USE_SYSTEM_LIB_GLM=1" opts+=" USE_SYSTEM_LIB_RAPIDJSON=1" [ "$build_option_qt" ] && opts+=" USE_QTDEBUG=1" if [ "${CROSS_BUILD}" ]; then # Doesn't work yet opts+=" CROSS_BUILD=1 TOOLCHAIN=${XBPS_CROSS_TRIPLET}" opts+=" OVERRIDE_CC=gcc OVERRIDE_CXX=g++ OVERRIDE_LD=g++" fi case "$XBPS_TARGET_MACHINE" in i686*) # Overcome linker memory exhaustion opts+=" SYMBOLS=0" ;; esac make ${opts} ${makejobs} if [ "${XBPS_TARGET_MACHINE%-musl}" != "x86_64" ]; then opts=${opts/=arcade/=mess} make ${opts} ${makejobs} fi } do_install() { local f # Install the mame script vbin ${FILESDIR}/mame.sh mame # If mess is a separate binary, also install the mess script if [ "${XBPS_TARGET_MACHINE%-musl}" != "x86_64" ]; then vbin ${FILESDIR}/mess.sh mess fi # Install the main application(s) for f in mame mame64 mamearcade mamearcade64; do if [ -r ${f} ]; then vinstall ${f} 755 usr/share/${pkgname} mame fi done for f in mess mess64; do if [ -r ${f} ]; then vinstall ${f} 755 usr/share/${pkgname} mess fi done # Install the tools for f in chdman jedutil regrep pngcmp romcmp src2html srcclean \ ldverify ldresample unidasm castool floptool imgtool; do vinstall ${f} 755 usr/share/${pkgname} if [ -f docs/man/${f}.1 ]; then vman docs/man/${f}.1 fi done for f in mame mess; do if [ -r docs/man/${f}.6 ]; then vman docs/man/${f}.6 fi done # Install the extra bits for f in artwork bgfx docs hash hlsl keymaps plugins samples; do vcopy ${f} usr/share/${pkgname} done }