mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-18 15:12:02 +01:00
238 lines
6.1 KiB
Plaintext
238 lines
6.1 KiB
Plaintext
# Contributor: Taner Tas <taner76@gmail.com>
|
|
# Maintainer: Taner Tas <taner76@gmail.com>
|
|
pkgname=mame
|
|
pkgver=0.207
|
|
_pkgver=${pkgver/.}
|
|
pkgrel=0
|
|
pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset."
|
|
url="https://mamedev.org"
|
|
arch="all"
|
|
license="GPL-2.0-or-later"
|
|
depends="$pkgname-common"
|
|
makedepends="
|
|
alsa-lib-dev
|
|
asio-dev
|
|
clang-dev
|
|
coreutils
|
|
dos2unix
|
|
expat-dev
|
|
flac-dev
|
|
fontconfig-dev
|
|
glm-dev
|
|
libjpeg-turbo-dev
|
|
libxinerama-dev
|
|
libxrandr-dev
|
|
lua5.3-dev
|
|
mesa-dev
|
|
nasm
|
|
portaudio-dev
|
|
portmidi-dev
|
|
python2-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
|
|
"
|
|
_groovymame_patch=groovymame-$pkgver.diff
|
|
source="
|
|
https://github.com/mamedev/mame/archive/$pkgname$_pkgver.tar.gz
|
|
$_groovymame_patch::https://drive.google.com/uc?export=download&id=1_h5lcMQ3xMJlKcrh_u1CtCnQhrQgry7W
|
|
mame.ini
|
|
midi.conf
|
|
fix-musl.patch
|
|
m68000_archopts.patch
|
|
nonag.patch
|
|
fix-ppc64le-float.patch
|
|
revert-764f04c.patch
|
|
"
|
|
options="!check" # No test suite
|
|
builddir="$srcdir"/$pkgname-$pkgname${pkgver/.}
|
|
|
|
prepare() {
|
|
cd "$builddir"
|
|
default_prepare
|
|
cp "$srcdir"/$_groovymame_patch . && dos2unix $_groovymame_patch
|
|
patch -p0 < $_groovymame_patch
|
|
}
|
|
|
|
build() {
|
|
cd "$builddir"
|
|
|
|
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="-I/usr/include/lua5.3 -DBX_CRT_MUSL -Wno-everything"
|
|
export 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=
|
|
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=1"
|
|
|
|
[ -f mame ] || [ -f mame64 ] || $_build TOOLS=1 SUBTARGET=mame
|
|
[ -f mamearcade ] || [ -f mamearcade64 ] || $_build SUBTARGET=arcade
|
|
[ -f mess ] || [ -f mess64 ] || $_build SUBTARGET=mess
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"
|
|
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"/etc/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="098f4001fd7430f2c0230503b7c8a71adf15d02b8fb0a9c583e295e4b1688349181c6f02197f857103f39d0033f71fe32170772ab4c545adcc571babec74831e mame0207.tar.gz
|
|
b6f4d5b88b0fa07af77b0133cd4317e100e0ef652c2d2cf371cdcfba938bdeb52d52a547f509efa8f14210e8cc0df36f64944300cb7943f18737c7a45555fd09 groovymame-0.207.diff
|
|
dc008245cbea0b94f58d83e09bf5fd3fff04ac0e2f3a36b910a8b7633c5377419fc67a1fd366ef268e283f744d9a8d29928cfacf456b3edaa2d0b1a11d46a701 mame.ini
|
|
8f83ff5a916f4ff8e86c5afbdfe4475f7780bb36c20c78d6d029d0eb0dafd77b3471faa538aca384001d2049dc94c4df3429c67d743adde9fd6329c91e6d19a2 midi.conf
|
|
75bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch
|
|
a4d628d4648d28b9ae95f27ecba4a70b999ef11ffde31b31ca3ce2ed2fd4cfcab82ec78e2602309952518fac8c549d0b8b4294f6aa34c1acaa77f012ea13de9e m68000_archopts.patch
|
|
864816a55f35f9d485ccd143a1e0acd76d47239a6d5344be2a76b50fd4efbdfb4f3e45318d7dfda67faa63c0a52022f2e8313f058965a1eba60e6ca4677a519b nonag.patch
|
|
daa915d08b61e3828b28144f1934fd1fa9fe04da00b3536f86b984035f1a1bc81da498e1bc8632bc5f9c8b86533b70814a91318627fcafc3f05ebda59e303cc4 fix-ppc64le-float.patch
|
|
03f9f0f27b68034048866bc65734e421792ea7875bf9dbdf9696de5b2029db20578f7c13bfb45d4ff4c7c24a37492c205a1a0321b81ea1c321eb84aa8b4b978c revert-764f04c.patch"
|