PKGBUILDs/extra/mgba/PKGBUILD
2024-06-21 22:49:00 +00:00

74 lines
2.5 KiB
Bash

# Maintainer: Jonathan Steel <jsteel at archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Duck Hunt <vaporeon@tfwno.gf>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - disable LTO
pkgbase=mgba
pkgname=('libmgba' 'mgba-sdl' 'mgba-qt')
pkgver=0.10.3
pkgrel=2
arch=('x86_64')
url='http://mgba.io'
license=('custom:MPL2')
makedepends=('cmake' 'qt5-multimedia' 'sdl2' 'zlib' 'libpng' 'libzip' 'libedit'
'ffmpeg' 'desktop-file-utils' 'qt5-tools' 'lua')
optdepends=('lua: scripting support')
source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz
https://github.com/mgba-emu/mgba/commit/3a3ebb5d.patch)
sha256sums=('be2cda7de3da8819fdab0c659c5cd4c4b8ca89d9ecddeeeef522db6d31a64143'
'3fb63923547c42165dfd8bd47925cae3c711fec87f767bb5a94361dd022c8bd2')
prepare() {
cd mgba-$pkgver
patch -p1 -i ../3a3ebb5d.patch # Fix build with GCC 14
}
build() {
CFLAGS+=" -Wno-incompatible-pointer-types" \
cmake -B build -S mgba-$pkgver \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_LTO=OFF \
-Wno-dev
cmake --build build
}
package_libmgba() {
pkgdesc='Shared library of mGBA'
depends=('zlib' 'libpng' 'libzip' 'libedit' 'ffmpeg' 'sqlite')
cmake -DCOMPONENT=libmgba mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
-P build/cmake_install.cmake
cmake -DCOMPONENT=mgba-dev mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
-P build/cmake_install.cmake
install -Dm644 mgba-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_mgba-sdl() {
pkgdesc='A Nintendo Gameboy Advance Emulator focusing on both speed and accuracy'
depends=('libmgba' 'sdl2')
cmake -DCOMPONENT=mgba-sdl mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
-P build/cmake_install.cmake
install -d "$pkgdir"/usr/share/licenses/$pkgname
ln -s /usr/share/licenses/libmgba/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_mgba-qt() {
pkgdesc='A Nintendo Gameboy Advance Emulator focusing on both speed and accuracy. Qt5 UI.'
depends=('libmgba' 'qt5-multimedia' 'sdl2')
cmake -DCOMPONENT=mgba-qt mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
-P build/cmake_install.cmake
install -Dm644 mgba-$pkgver/res/mgba-256.png "$pkgdir"/usr/share/pixmaps/io.mgba.mGBA.png
install -d "$pkgdir"/usr/share/licenses/$pkgname
ln -s /usr/share/licenses/libmgba/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}