# Maintainer: jc_gargma # Maintainer (Arch): Jonathan Steel # Contributor (Arch): Bartłomiej Piotrowski # Contributor (Arch): Duck Hunt # # I maintain this because: # Arch version lacks additional optimization and hardening flags # Arch version is broken with lua 5.4 # Arch version does not list lua as a depends # Arch version does not disable discord pkgbase=mgba pkgname=( 'libmgba' 'mgba-sdl' 'mgba-qt' ) pkgver=0.10.4 pkgrel=2 pkgdesc='A Nintendo Gameboy Advance Emulator focusing on speed and accuracy' arch=('x86_64') url='http://mgba.io' license=('MPL-2.0') options=('lto') makedepends=( 'cmake' 'desktop-file-utils' 'ffmpeg' 'libedit' 'libpng' 'libzip' 'lua53' 'qt5-multimedia' 'qt5-tools' 'sdl2' 'zlib' ) optdepends=('lua53: scripting support') source=("$pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz") sha256sums=('f85eeb8f78f847f5217a87bd5e2d6c1214b461ffd4ec129cc656162ab707cb24') b2sums=('1f99fd1f79e1645f2de8c1fbd07bdc4996fbc12263fd14b3588e0dcccff910780be73ed92084e53ed873f5e55eef70a983afee2f3f0bd166c578a03bcf57ea0b') build() { # Workaround for gcc14 CFLAGS+=" -Wno-incompatible-pointer-types" # -fPIE and -pie break compilation export CFLAGS="$CFLAGS -O3 -fPIC" export CXXFLAGS="$CXXFLAGS -O3 -fPIC" cmake -B build -S mgba-$pkgver \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DUSE_MINIZIP=OFF \ -DUSE_DISCORD_RPC=OFF \ -DUSE_EPOXY=OFF \ -Wno-dev cmake --build build } package_libmgba() { pkgdesc+=' (shared library)' depends=( 'ffmpeg' 'glibc' 'libedit' 'libelf' 'libglvnd' 'libpng' 'libzip' 'sqlite' 'zlib' ) DESTDIR="$pkgdir" cmake --install build --component libmgba DESTDIR="$pkgdir" cmake --install build --component mgba-dev } package_mgba-sdl() { depends=( 'glibc' 'libmgba' 'sdl2' ) DESTDIR="$pkgdir" cmake --install build --component mgba-sdl } package_mgba-qt() { pkgdesc+=' (Qt5 UI)' depends=( 'ffmpeg' 'gcc-libs' 'glibc' 'libglvnd' 'libmgba' 'qt5-base' 'qt5-multimedia' 'sdl2' ) DESTDIR="$pkgdir" cmake --install build --component mgba-qt install -vDm644 mgba-$pkgver/res/mgba-256.png \ "$pkgdir/usr/share/pixmaps/io.mgba.mGBA.png" install -vDm644 mgba-$pkgver/res/mgba-256.png \ "$pkgdir/usr/share/icons/hicolor/256x256/apps/io.mgba.mGBA.png" }