From 85768b538447beb53eef6497ee52975d3e4852ad Mon Sep 17 00:00:00 2001 From: Elaine Gibson Date: Mon, 1 Apr 2024 10:03:54 +0100 Subject: [PATCH] mame: update to 0264. --- srcpkgs/mame/patches/musl-netlist.patch | 11 -- srcpkgs/mame/patches/pulse-sound.patch | 12 -- srcpkgs/mame/template | 149 +++++++++--------------- 3 files changed, 56 insertions(+), 116 deletions(-) delete mode 100644 srcpkgs/mame/patches/musl-netlist.patch delete mode 100644 srcpkgs/mame/patches/pulse-sound.patch diff --git a/srcpkgs/mame/patches/musl-netlist.patch b/srcpkgs/mame/patches/musl-netlist.patch deleted file mode 100644 index d02c1bb63cd7a7..00000000000000 --- a/srcpkgs/mame/patches/musl-netlist.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/lib/netlist/plib/pexception.cpp 2017-01-24 23:44:30.000000000 +0100 -+++ b/src/lib/netlist/plib/pexception.cpp 2017-01-25 06:48:09.658604647 +0100 -@@ -8,7 +8,7 @@ - #include - #include - --#if (defined(__x86_64__) || defined(__i386__)) && defined(__linux__) -+#if (defined(__x86_64__) || defined(__i386__)) && defined(__linux__) && defined(__GLIBC__) - #define HAS_FEENABLE_EXCEPT (1) - #else - #define HAS_FEENABLE_EXCEPT (0) diff --git a/srcpkgs/mame/patches/pulse-sound.patch b/srcpkgs/mame/patches/pulse-sound.patch deleted file mode 100644 index f4774fefa5d366..00000000000000 --- a/srcpkgs/mame/patches/pulse-sound.patch +++ /dev/null @@ -1,12 +0,0 @@ -https://git.alpinelinux.org/aports/commit/testing/mame/fix-musl.patch?id=0ca943c72056e9ce2cc8f26d9ca7797cf5d04575 - ---- a/src/osd/modules/sound/pulse_sound.cpp -+++ b/src/osd/modules/sound/pulse_sound.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - #include - #include diff --git a/srcpkgs/mame/template b/srcpkgs/mame/template index c7903502c94691..0f62e7c3ddca98 100644 --- a/srcpkgs/mame/template +++ b/srcpkgs/mame/template @@ -1,78 +1,26 @@ # Template file for 'mame' pkgname=mame -version=0262 -revision=2 -hostmakedepends="pkg-config python3 qt5-host-tools tar xz which" -makedepends="SDL2_ttf-devel fontconfig-devel glm libgomp-devel libjpeg-turbo-devel - libutf8proc-devel libuv-devel portaudio-devel portmidi-devel - pugixml-devel rapidjson libXinerama-devel $(vopt_if qt 'qt5-devel')" +version=0264 +revision=1 +hostmakedepends="pkg-config python3 qt6-base" +makedepends="qt6-base-devel SDL2_ttf-devel asio libutf8proc-devel libgomp-devel + rapidjson glm pugixml-devel portmidi-devel portaudio-devel" depends="liberation-fonts-ttf" short_desc="Multiple Arcade Machine Emulator" maintainer="Orphaned " license="GPL-2.0-or-later" -homepage="http://mamedev.org" +homepage="https://mamedev.org" distfiles="https://github.com/mamedev/mame/archive/mame${version}.tar.gz" -checksum=64e482f3dd13be4e91c5dfa076fb7a71f450f2879118c6ae452b0037b661aaae +checksum=3d9f69ed3ef7c1628d5714c8ae2695ea77b1a652a93347b2703f7c862299376e nodebug=yes replaces="sdlmame>=0 sdlmess>=0" -[ "$XBPS_TARGET_LIBC" = "musl" ] && CXXFLAGS+=" -DBX_CRT_MUSL=1" - -case "$XBPS_TARGET_MACHINE" in - ppc*) - CFLAGS+=" -mlong-double-64" - CXXFLAGS+=" -mlong-double-64" - ;; - armv[67]*) - LDFLAGS+=" -Wl,--long-plt" - ;; -esac - -build_options="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_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" - if [ "${XBPS_TARGET_MACHINE%-musl}" = "aarch64" ]; then - # Help to reduce impact on our aarch64 builders - LDFLAGS+=" -Wl,--no-keep-memory" - fi -fi -if [ "$build_option_qt" ]; then - _options+=" USE_QTDEBUG=1" -fi - -# To test flags with a tiny build remove hash (#) on the following line -#_options+=" TARGET=mame SUBTARGET=tiny VERBOSE=1" +post_extract() { + vsed -i scripts/toolchain.lua -i 3rdparty/genie/src/host/scripts.c -e 's/-m32//' -e 's/-m64//' +} do_configure() { if [ "${CROSS_BUILD}" ]; then - 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 CC="$CC_host" CXX="$CXX_host" LD="$CXX_host" @@ -80,53 +28,68 @@ do_configure() { CXXFLAGS="$CXXFLAGS_host" LDFLAGS="$LDFLAGS_host" fi - make CC="$CC" CXX="$CXX" LD="$CXX" \ - CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ - ${makejobs} ${_options} genie + + make $makejobs genie } do_build() { - # The build sometimes fails due to parallelism and generated files - # not being ready but the 2nd try then passes. - make OVERRIDE_CC="$CC" OVERRIDE_CXX="$CXX" OVERRIDE_LD="$CXX" ${makejobs} ${_options} || \ - make OVERRIDE_CC="$CC" OVERRIDE_CXX="$CXX" OVERRIDE_LD="$CXX" ${makejobs} ${_options} + case "$XBPS_TARGET_MACHINE" in + ppc*) + CFLAGS+=" -mlong-double-64" + CXXFLAGS+=" -mlong-double-64" + ;; + armv*) + LDFLAGS+=" -Wl,--long-plt" + ;; + aarch64*) + # Help to reduce impact on our aarch64 builders + LDFLAGS+=" -Wl,--no-keep-memory" + ;; + esac + + CXXFLAGS+=" -I$XBPS_CROSS_BASE/include/qt6" + [ "$XBPS_TARGET_LIBC" = "musl" ] && CXXFLAGS+=" -DBX_CRT_MUSL=1" + + if [ "$XBPS_TARGET_WORDSIZE" = 32 ]; then + ptr64=0 + # Overcome linker memory exhaustion + LDFLAGS+=" -Wl,--no-keep-memory" + else + ptr64=1 + fi + + if [ "$XBPS_TARGET_ENDIAN" = be ]; then + bigendian=1 + else + bigendian=0 + fi + + make $makejobs TOOLS=1 NOWERROR=1 OPENMP=1 SYMBOLS=0 \ + OVERRIDE_CC="$CC" OVERRIDE_CXX="$CXX" OVERRIDE_LD="$CXX" \ + PTR64=$ptr64 BIGENDIAN=$bigendian QT_HOME=/usr/lib/qt6 \ + USE_SYSTEM_LIB_ASIO=1 USE_SYSTEM_LIB_EXPAT=1 \ + USE_SYSTEM_LIB_ZLIB=1 USE_SYSTEM_LIB_ZSTD=1 \ + USE_SYSTEM_LIB_JPEG=1 USE_SYSTEM_LIB_FLAC=1 \ + 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 } do_install() { - local f - - # Install the mame script vbin ${FILESDIR}/mame.sh mame - # Install the main application(s) - for f in mame mame64 mamearcade mamearcade64; do - if [ -r ${f} ]; then - vinstall ${f} 755 usr/libexec/${pkgname} mame - break - fi - done - for f in mess mess64; do - if [ -r ${f} ]; then - vinstall ${f} 755 usr/libexec/${pkgname} mess - break - fi - done + vinstall mame 755 usr/libexec/mame mame + vman docs/man/mame.6 - # Install the tools for f in chdman jedutil regrep pngcmp romcmp srcclean \ - ldverify ldresample unidasm castool floptool imgtool; do + ldverify ldresample unidasm castool floptool imgtool; do vbin ${f} 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