mame: update to 0.225; enable cross

Also switch to python3. Remove obsolete files/mess.sh and
install check. When cross compiling build genie for the
host and in do_build() now override the CC, CXX, LD with
the target compilers.
This commit is contained in:
Jürgen Buchmüller 2020-10-01 22:27:37 +02:00
parent 93d88be939
commit 08d6a68a44
2 changed files with 65 additions and 101 deletions

View file

@ -1,45 +0,0 @@
#!/bin/sh
exec_mess() {
/usr/libexec/mame/mess \
-artpath "$HOME/.mess/artwork;artwork" \
-ctrlrpath "$HOME/.mess/ctrlr;ctrlr" \
-inipath $HOME/.mess/ini \
-rompath $HOME/.mess/roms \
-samplepath "$HOME/.mess/samples;samples" \
-cfg_directory $HOME/.mess/cfg \
-comment_directory $HOME/.mess/comments \
-diff_directory $HOME/.mess/diff \
-input_directory $HOME/.mess/inp \
-nvram_directory $HOME/.mess/nvram \
-snapshot_directory $HOME/.mess/snap \
-state_directory $HOME/.mess/sta \
-video opengl \
-createconfig
}
if [ "$1" = "--newini" ]; then
echo "Rebuilding the ini file at $HOME/.mess/mame.ini"
echo "Modify this file for permanent changes to your MESS"
echo "options and paths before running MESS again."
cd $HOME/.mess
if [ -e mame.ini ]; then
echo "Your old ini file has been renamed to mame.ini.bak"
mv mame.ini mame.ini.bak
fi
exec_mess
elif [ ! -e $HOME/.mess ]; then
echo "Running MESS for the first time..."
echo "Creating an ini file for MESS at $HOME/.mess/mame.ini"
echo "Modify this file for permanent changes to your MAME"
echo "options and paths before running MAME again."
mkdir $HOME/.mess
for f in artwork cfg comments ctrlr diff ini ip nvram \
samples snap sta roms; do
mkdir $HOME/.mess/${f}
done
cd $HOME/.mess && exec_mess
else
cd /usr/share/mame
/usr/libexec/mame/mess "$@"
fi

View file

@ -1,73 +1,85 @@
# Template file for 'mame'
pkgname=mame
version=0224
version=0225
revision=1
wrksrc="mame-mame${version}"
hostmakedepends="pkg-config python3 qt5-host-tools tar xz which"
makedepends="SDL2_ttf-devel fontconfig-devel glm libgomp-devel libjpeg-turbo-devel
lua-devel libutf8proc-devel libuv-devel portaudio-devel portmidi-devel
pugixml-devel rapidjson $(vopt_if qt 'qt5-devel')"
depends="liberation-fonts-ttf"
short_desc="Multiple Arcade Machine Emulator"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="GPL-2.0-or-later"
homepage="http://mamedev.org"
distfiles="https://github.com/mamedev/mame/archive/mame${version}.tar.gz"
checksum=3518e71ec20fbeac8ebe93f8ec856078b8288e19f0d7cb38959d4bde30cd2810
hostmakedepends="pkg-config python tar xz which"
makedepends="SDL2_ttf-devel glm libgomp-devel libjpeg-turbo-devel
libutf8proc-devel libuv-devel lua53-devel portaudio-devel portmidi-devel
pugixml-devel rapidjson $(vopt_if qt 'qt5-devel')"
depends="liberation-fonts-ttf"
nocross=yes
checksum=ca4d5a429d72b30fd2bdf60350e490c7de4ac64b1e0dafcf38450f8ba84a1a95
nodebug=yes
replaces="sdlmame>=0 sdlmess>=0"
CFLAGS="-I${XBPS_CROSS_BASE}/usr/include/lua5.3 -I${XBPS_CROSS_BASE}/usr/include/libutf8proc"
CXXFLAGS="${CFLAGS}"
case "$XBPS_TARGET_MACHINE" in
*-musl) CXXFLAGS+=" -DBX_CRT_MUSL=1" ;;
esac
CXXFLAGS="$CFLAGS"
[ "$XBPS_TARGET_LIBC" = musl ] && CXXFLAGS+=" -DBX_CRT_MUSL=1"
build_options="qt"
if [ -z "$CROSS_BUILD" ]; then
build_options_default="qt"
build_options_default="qt"
_options="REGENIE=1 TARGETOS=linux NOWERROR=1 OPENMP=1 OPTIMIZE=3
TOOLS=1 LTO=0 USE_SYSTEM_LIB_ASIO=0 USE_SYSTEM_LIB_EXPAT=1
USE_SYSTEM_LIB_ZLIB=1 USE_SYSTEM_LIB_JPEG=1 USE_SYSTEM_LIB_FLAC=1
USE_SYSTEM_LIB_LUA=0 USE_SYSTEM_LIB_SQLITE3=1
USE_SYSTEM_LIB_PORTMIDI=1 USE_SYSTEM_LIB_PORTAUDIO=1
USE_SYSTEM_LIB_UTF8PROC=1 USE_SYSTEM_LIB_GLM=1
USE_SYSTEM_LIB_RAPIDJSON=1 USE_SYSTEM_LIB_PUGIXML=1"
if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
_options+=" BIGENDIAN=1"
else
_options+=" BIGENDIAN=0"
fi
if [ "${CROSS_BUILD}" ]; then
_options+=" NOASM=1"
fi
if [ "$XBPS_TARGET_WORDSIZE" = 32 ]; then
# Overcome linker memory exhaustion
_options+=" SYMBOLS=0"
LDFLAGS+=" -Wl,--no-keep-memory"
else
_options+=" PTR64=1"
fi
if [ "$build_option_qt" ]; then
_options+=" USE_QTDEBUG=1"
fi
do_build() {
local opts="REGENIE=1"
opts+=" TARGETOS=linux"
opts+=" NOWERROR=1"
opts+=" OPENMP=1"
opts+=" OPTIMIZE=3"
opts+=" TOOLS=1"
opts+=" LTO=0"
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"
opts+=" USE_SYSTEM_LIB_PUGIXML=1"
[ "$build_option_qt" ] && opts+=" USE_QTDEBUG=1"
case "$XBPS_TARGET_MACHINE" in
i686*) # Overcome linker memory exhaustion
opts+=" SYMBOLS=0"
;;
x86_64*|aarch64*|ppc64*)
opts+=" PTR64=1"
;;
esac
# To test flags with a tiny build remove hash (#) on the following line
#_options+=" TARGET=mame SUBTARGET=tiny VERBOSE=1"
do_configure() {
# When linking mame expects liblua.so but we have liblua5.3.so
ln -sf liblua5.3.so ${XBPS_CROSS_BASE}/usr/lib/liblua.so
if [ "${CROSS_BUILD}" ]; then
# Doesn't work yet
opts+=" TOOLCHAIN=${XBPS_CROSS_TRIPLET}"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) ;;
*) # Cross compilers don't need/use -m32 or -m64
grep -rlw -- -m32 | xargs sed -i "s;-m32;;"
grep -rlw -- -m64 | xargs sed -i "s;-m64;;"
;;
esac
make ${makejobs} ${_options} \
CC="$CC_host" \
CXX="$CXX_host" \
LD="$CXX_host" \
CFLAGS="$CFLAGS_host" \
CXXFLAGS="$CXXFLAGS_host" \
LDFLAGS="$LDFLAGS_host" \
genie
else
make ${makejobs} ${_options} genie
fi
make ${opts} genie
cd 3rdparty/genie
bin/linux/genie embed
cd ${wrksrc}
make ${opts} ${makejobs}
}
do_build() {
make OVERRIDE_CC="$CC" OVERRIDE_CXX="$CXX" OVERRIDE_LD="$CXX" \
${makejobs} ${_options}
}
do_install() {
@ -76,11 +88,6 @@ do_install() {
# 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
@ -113,4 +120,6 @@ do_install() {
for f in artwork bgfx docs hash hlsl keymaps plugins samples; do
vcopy ${f} usr/share/${pkgname}
done
# Remove temporary liblua.so symlink
rm -f ${XBPS_CROSS_BASE}/usr/lib/liblua.so
}