diff --git a/common/shlibs b/common/shlibs index 08bdcee8f2e..682c5ed64f5 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2317,3 +2317,4 @@ libfirm.so.1.22 libfirm-1.22.0_1 libaudiofile.so.1 audiofile-0.3.6_1 libbs2b.so.0 libbs2b-3.1.0_1 libmunge.so.2 munge-libs-0.5.11_1 +libmgba.so.0.3 libmgba-0.3.2_1 diff --git a/srcpkgs/libmgba b/srcpkgs/libmgba new file mode 120000 index 00000000000..f28581f3b33 --- /dev/null +++ b/srcpkgs/libmgba @@ -0,0 +1 @@ +mgba \ No newline at end of file diff --git a/srcpkgs/mgba-qt b/srcpkgs/mgba-qt new file mode 120000 index 00000000000..f28581f3b33 --- /dev/null +++ b/srcpkgs/mgba-qt @@ -0,0 +1 @@ +mgba \ No newline at end of file diff --git a/srcpkgs/mgba/patches/musl.patch b/srcpkgs/mgba/patches/musl.patch new file mode 100644 index 00000000000..83b7f87736f --- /dev/null +++ b/srcpkgs/mgba/patches/musl.patch @@ -0,0 +1,36 @@ +--- src/platform/posix/threading.h.orig 2016-01-10 11:13:20.599813607 +0100 ++++ src/platform/posix/threading.h 2016-01-10 11:14:20.503407791 +0100 +@@ -82,8 +82,10 @@ static inline int ThreadSetName(const ch + #elif defined(__FreeBSD__) || defined(__OpenBSD__) + pthread_set_name_np(pthread_self(), name); + return 0; +-#else ++#elif defined(__GLIBC__) + return pthread_setname_np(pthread_self(), name); ++#else ++ return 0; + #endif + } + +--- src/gba/interface.h.orig 2016-01-10 11:17:39.121353660 +0100 ++++ src/gba/interface.h 2016-01-10 11:17:50.208461559 +0100 +@@ -6,6 +6,8 @@ + #ifndef INTERFACE_H + #define INTERFACE_H + ++#include ++ + #include "util/common.h" + + enum GBALogLevel { +--- src/platform/qt/Window.cpp.orig 2016-01-10 11:19:45.761630495 +0100 ++++ src/platform/qt/Window.cpp 2016-01-10 11:20:09.408873356 +0100 +@@ -42,7 +42,7 @@ extern "C" { + + using namespace QGBA; + +-#if defined(__WIN32) || defined(__OpenBSD__) ++#if defined(__WIN32) || defined(__OpenBSD__) || defined(__linux__) && !defined(__GLIBC__) + // This is a macro everywhere except MinGW and OpenBSD, it seems + using std::isnan; + #endif diff --git a/srcpkgs/mgba/template b/srcpkgs/mgba/template new file mode 100644 index 00000000000..6c334f5ba42 --- /dev/null +++ b/srcpkgs/mgba/template @@ -0,0 +1,35 @@ +# Template file for 'mgba' +pkgname=mgba +version=0.3.2 +revision=1 +build_style=cmake +# USE_FFMPEG needs libavresample +configure_args="-DUSE_FFMPEG=0" +hostmakedepends="cmake pkg-config" +makedepends="SDL2-devel MesaLib-devel zlib-devel libpng-devel libzip-devel libedit-devel libmagick-devel libzip-devel" +short_desc="Game Boy Advance emulator written in C" +maintainer="Juan RP " +license="MPL-2" +homepage="https://ww.mgba.io/" +distfiles="https://github.com/mgba-emu/${pkgname}/archive/${version}.tar.gz" +checksum=119fae887df51b28adc807ffe264dfc0f4d872fdd75f60eb2855bd2662fd0b64 + +subpackages="libmgba" +if [ -z "$CROSS_BUILD" ]; then + makedepends+=" qt5-multimedia-devel" + subpackages+=" mgba-qt" +fi + +libmgba_package() { + short_desc+=" - shared library" + pkg_install() { + vmove usr/lib/libmgba.so* + } +} +mgba-qt_package() { + short_desc+=" - QT frontend" + pkg_install() { + vmove usr/bin/mgba-qt + vmove usr/share/man/man6/mgba-qt.6 + } +}