aports/testing/mame/APKBUILD
2021-07-10 06:57:34 +00:00

226 lines
5.4 KiB
Plaintext

# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=mame
pkgver=0.224
_pkgver=${pkgver/.}
pkgrel=0
pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset."
url="https://mamedev.org/"
arch="all !mips !mips64"
license="GPL-2.0-or-later"
depends="$pkgname-common"
makedepends="
alsa-lib-dev
clang-dev
coreutils
expat-dev
flac-dev
fontconfig-dev
glm-dev
libjpeg-turbo-dev
libxi-dev
libxinerama-dev
libxrandr-dev
lua5.3-dev
mesa-dev
nasm
portaudio-dev
portmidi-dev
python3-dev
py3-sphinx
rapidjson-dev
sdl2-dev
sdl2_ttf-dev
sqlite-dev
zlib-dev
"
subpackages="
$pkgname-common::noarch
$pkgname-arcade
$pkgname-mess
$pkgname-data::noarch
$pkgname-doc
$pkgname-lang
$pkgname-tools
$pkgname-plugins::noarch
"
source="
https://github.com/mamedev/mame/archive/mame$_pkgver.tar.gz
mame.ini
midi.conf
fix-musl.patch
groovymame.patch
nonag.patch
"
options="!check" # No test suite
builddir="$srcdir"/$pkgname-$pkgname${pkgver/.}
# temp allow textrels on rv64
case $CARCH in
riscv64) options="$options textrels" ;;
esac
build() {
case "$CARCH" in
x86|armhf|armv7) _PTR64=0;;
*) _PTR64=1;;
esac
case "$CARCH" in
x86_64|x86) _NOASM=0 ;;
*) _NOASM=1 ;;
esac
case "$CARCH" in
s390x) _BIGENDIAN=1 ;;
*) _BIGENDIAN=0 ;;
esac
case "$CARCH" in
armhf)
# clang segfaults on armhf
true
;;
*)
# clang builds have better benchmark score and smaller size
export OVERRIDE_CC=clang
export OVERRIDE_CXX=clang++
# clang workaraound
sed -i -e 's/-flifetime-dse=1//g' scripts/genie.lua
;;
esac
export CFLAGS="$CFLAGS -I/usr/include/lua5.3 -DBX_CRT_MUSL -Wno-everything"
export CXXFLAGS="$CXXFLAGS $CFLAGS"
export LDFLAGS="$LDFLAGS -L/usr/lib/lua5.3"
_build="make
TARGETOS=linux
NOWERROR=1
DEBUG=0
USE_QTDEBUG=0
VERBOSE=1
REGENIE=1
OSD=sdl
SYMBOLS=0
FORCE_DRC_C_BACKEND=
PTR64=$_PTR64
NOASM=$_NOASM
BIGENDIAN=$_BIGENDIAN
TOOLS=
PYTHON_EXECUTABLE=python3
SDL_INI_PATH=/etc/mame
USE_SYSTEM_LIB_EXPAT=1
USE_SYSTEM_LIB_ZLIB=1
USE_SYSTEM_LIB_JPEG=1
USE_SYSTEM_LIB_FLAC=1
USE_SYSTEM_LIB_LUA=1
USE_SYSTEM_LIB_SQLITE3=1
USE_SYSTEM_LIB_PORTAUDIO=1
USE_SYSTEM_LIB_UV=1
USE_SYSTEM_LIB_GLM=1
USE_SYSTEM_LIB_RAPIDJSON=1
USE_SYSTEM_LIB_PORTMIDI=1
USE_SYSTEM_LIB_ASIO=0"
[ -f mame ] || [ -f mame64 ] || $_build TOOLS=1 SUBTARGET=mame
[ -f mamearcade ] || [ -f mamearcade64 ] || $_build SUBTARGET=arcade
[ -f mess ] || [ -f mess64 ] || $_build SUBTARGET=mess
}
package() {
install -D -m755 mame "$pkgdir"/usr/bin/mame || \
install -D -m755 mame64 "$pkgdir"/usr/bin/mame
install -D -m644 docs/man/mame.6 "$pkgdir"/usr/share/man/man6/mame.6
for i in castool.1 \
chdman.1 \
floptool.1 \
imgtool.1 \
jedutil.1 \
ldresample.1 \
ldverify.1 \
romcmp.1
do
install -D -m644 docs/man/"$i" "$pkgdir"/usr/share/man/man1/"$i"
done
}
common() {
cd "$builddir"
pkgdesc="MAME - Common configuration files"
install -D -m644 "$srcdir"/mame.ini "$subpkgdir"/etc/mame/mame.ini
install -D -m644 "$srcdir"/midi.conf "$subpkgdir"/usr/lib/modules-load.d/midi.conf
install -d -m755 "$subpkgdir"/usr/share/$pkgname/roms
}
arcade() {
pkgdesc="Multi Arcade Machine Emulator - Arcade specific build."
cd "$builddir"
install -D -m755 mamearcade "$subpkgdir"/usr/bin/mamearcade || \
install -D -m755 mamearcade64 "$subpkgdir"/usr/bin/mamearcade
ln -s mamearcade "$subpkgdir"/usr/bin/arcade
}
mess() {
pkgdesc="Multi Arcade Machine Emulator - Mess specific build."
cd "$builddir"
install -D -m755 mess "$subpkgdir"/usr/bin/mess || \
install -D -m755 mess64 "$subpkgdir"/usr/bin/mess
}
data() {
pkgdesc="Distribution data files for MAME"
cd "$builddir"
mkdir -p "$subpkgdir"/usr/share/$pkgname
for i in artwork \
bgfx \
hash \
hlsl \
ini \
keymaps \
samples
do
cp -r "$i" "$subpkgdir"/usr/share/$pkgname
done
rm -rf "$subpkgdir"/usr/share/$pkgname/bgfx/shaders/dx11
rm -rf "$subpkgdir"/usr/share/$pkgname/bgfx/shaders/dx9
rm -rf "$subpkgdir"/usr/share/$pkgname/bgfx/shaders/metal
}
plugins() {
pkgdesc="Distribution plugins for MAME"
cd "$builddir"
mkdir -p "$subpkgdir"/usr/share/$pkgname
cp -r plugins "$subpkgdir"/usr/share/$pkgname/
}
tools() {
pkgdesc="Tools for MAME"
cd "$builddir"
mkdir -p "$subpkgdir"/usr/bin
for i in castool \
chdman \
floptool \
imgtool \
jedutil \
ldresample \
ldverify \
romcmp
do
install -sm755 "$i" "$subpkgdir"/usr/bin
done
}
lang() {
pkgdesc="Localization files for MAME"
cd "$builddir"
mkdir -p "$subpkgdir"/usr/share/$pkgname
cp -r language "$subpkgdir"/usr/share/$pkgname/
}
sha512sums="a5e01dd017cb78a5aea56f48d7bc2375f2c2b8d4c30b47b1e3f543ee74fb9777c01d8e8305655034e28e6929ce8bd82e9b066333f15718b44ded3adcd6df9b5b mame0224.tar.gz
dc008245cbea0b94f58d83e09bf5fd3fff04ac0e2f3a36b910a8b7633c5377419fc67a1fd366ef268e283f744d9a8d29928cfacf456b3edaa2d0b1a11d46a701 mame.ini
8f83ff5a916f4ff8e86c5afbdfe4475f7780bb36c20c78d6d029d0eb0dafd77b3471faa538aca384001d2049dc94c4df3429c67d743adde9fd6329c91e6d19a2 midi.conf
75bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch
9107239ea2081cbc5c445559c4f0abf0f6833e6d9df16e4558a2375e5925f789ac749f24744c9d85150fe6822d9ebdafa437cf06419f6bd7beae343040dbf3b4 groovymame.patch
b9d0373472807b81f59be1c8c6a90e3c6774e864a3e73ca4336040bf032c04b270182f8f97bcced8b4f345bcde1f97e114568857a258f9ff010d9b575e61f97c nonag.patch"