PKGBUILDs/community/mame/PKGBUILD
2021-01-26 15:02:50 +00:00

94 lines
3.2 KiB
Bash

# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: robb_force <robb_force@holybuffalo.net>
# Contributor: JJDaNiMoTh <jjdanimoth@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - install 'mame' instead of 'mame64'
highmem=1
pkgname=mame
pkgver=0.228
pkgrel=1
pkgdesc='Port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support'
url="https://mamedev.org/"
license=(GPL2)
arch=(x86_64)
depends=(sdl2_ttf qt5-base lua53 libutf8proc pugixml portmidi portaudio flac)
makedepends=(nasm python asio rapidjson glm libxinerama)
conflicts=(sdlmame)
replaces=(sdlmame)
source=("https://github.com/mamedev/mame/archive/mame${pkgver/./}.tar.gz"
mame.sh mame.desktop mame.svg)
sha256sums=('1d8e6f20491492f8b15892ff958f9b067c48eb90cc2fc974b08bde297e657244'
'ee1c59bafc5e5441e99fa4c58108a3e18048e60672f34de865c8a5a976094dba'
'0e5e93f84673c2d17a1bf7a6b256cfa54ef89a086a828df19bc054c12776d821'
'17c442c933d764175e4ce1de50a80c0c2ddd5d733caf09c3cd5e6ba697ac43f4')
prepare() {
cd mame-mame${pkgver/./}
# Use system libraries
sed -e 's|\# USE_SYSTEM_LIB|USE_SYSTEM_LIB|g' -i makefile
# except for asio
sed -e 's|USE_SYSTEM_LIB_ASIO|\# USE_SYSTEM_LIB_ASIO|g' -i makefile
}
build() {
cd mame-mame${pkgver/./}
export CFLAGS+=" -I/usr/include/lua5.3/"
export CXXFLAGS+=" -I/usr/include/lua5.3/"
# Hack to force linking to lua5.3
mkdir lib
ln -s /usr/lib/liblua5.3.so lib/liblua.so
export LDFLAGS+=" -L${PWD}/lib"
make \
NOWERROR=1 \
OPTIMIZE=2 \
TOOLS=1 \
ARCHOPTS=-flifetime-dse=1
}
package() {
cd mame-mame${pkgver/./}
# Install the mame script
install -Dm755 "$srcdir"/$pkgname.sh "$pkgdir"/usr/bin/$pkgname
# Install the binaries
install -Dm755 mame "$pkgdir"/usr/lib/mame/mame
for _i in castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav pngcmp regrep romcmp \
split srcclean testkeys unidasm; do
install -m755 $_i -t "$pkgdir"/usr/lib/mame
ln -s /usr/lib/mame/$_i "$pkgdir"/usr/bin/mame-$_i
done
# Install the extra bits
install -Dm644 src/osd/modules/opengl/shader/glsl*.*h -t "$pkgdir"/usr/lib/$pkgname/shader/
cp -ar {artwork,bgfx,plugins,language,ctrlr,keymaps,hash} "$pkgdir"/usr/lib/$pkgname/
# Include the license
install -Dm644 docs/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
# FS#28203
sed -i 's|KEYCODE_2_PAD|KEYCODE_2PAD|' "$pkgdir"/usr/lib/mame/ctrlr/*.cfg
sed -i 's|KEYCODE_4_PAD|KEYCODE_4PAD|' "$pkgdir"/usr/lib/mame/ctrlr/*.cfg
sed -i 's|KEYCODE_6_PAD|KEYCODE_6PAD|' "$pkgdir"/usr/lib/mame/ctrlr/*.cfg
sed -i 's|KEYCODE_8_PAD|KEYCODE_8PAD|' "$pkgdir"/usr/lib/mame/ctrlr/*.cfg
# documentation
install -dm0755 "$pkgdir"/usr/share/doc
cp -a docs "$pkgdir"/usr/share/doc/$pkgname
rm -r "$pkgdir"/usr/share/doc/$pkgname/man
install -d "$pkgdir"/usr/share/man/man{1,6}
install -m644 docs/man/*.1* "$pkgdir"/usr/share/man/man1/
install -m644 docs/man/*.6* "$pkgdir"/usr/share/man/man6/
# install desktop file and icon
install -Dm644 "$srcdir"/mame.desktop -t "$pkgdir"/usr/share/applications
install -Dm644 "$srcdir"/mame.svg -t "$pkgdir"/usr/share/icons/hicolor/scalable/apps
}