summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2019-09-26 14:36:15 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2019-09-26 14:36:15 -0700
commitce73d7f0bf582433ee67a142d7ce478bb8f286a8 (patch)
tree1678eff5a5dbe8c4128bd5d60c8b24b3594efa41
downloadmgba-ce73d7f0bf582433ee67a142d7ce478bb8f286a8.tar.xz
Initial commit
-rw-r--r--PKGBUILD67
1 files changed, 67 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 0000000..60fdfd8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,67 @@
+# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
+# Maintainer (Arch): Jonathan Steel <jsteel at archlinux.org>
+# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor (Arch): Duck Hunt <vaporeon@tfwno.gf>
+
+# # I maintain this because:
+# Arch version lacks additional optimization and hardening flags
+
+pkgbase=mgba
+pkgname=('libmgba' 'mgba-sdl' 'mgba-qt')
+pkgver=0.7.2
+pkgrel=1.2
+arch=('x86_64')
+url='http://mgba.io'
+license=('custom:MPL2')
+makedepends=('cmake' 'qt5-multimedia' 'sdl2' 'zlib' 'libpng' 'libzip' 'libedit'
+ 'ffmpeg' 'libmagick' 'desktop-file-utils' 'qt5-tools')
+source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz)
+md5sums=('bbb924250c0929907945c5461c502790')
+
+prepare() {
+ [[ ! -d build ]] && mkdir build || rm -rf build
+}
+
+build() {
+ cd build
+ # -fPIE and -pie break compilation
+ export CFLAGS="$CFLAGS -O3 -flto=4 -fPIC"
+ export CXXFLAGS="$CXXFLAGS -O3 -flto=4 -fPIC"
+ cmake "$srcdir"/mgba-$pkgver -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ make
+}
+
+package_libmgba() {
+ pkgdesc='Shared library of mGBA'
+ depends=('zlib' 'libpng' 'libzip' 'libedit' 'ffmpeg' 'libmagick')
+
+ cmake -DCOMPONENT=libmgba 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
+
+ desktop-file-install mgba-$pkgver/res/mgba-qt.desktop --dir "$pkgdir"/usr/share/applications/
+ install -Dm644 mgba-$pkgver/res/mgba-256.png "$pkgdir"/usr/share/pixmaps/mgba.png
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -s /usr/share/licenses/libmgba/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}