From 68f2949b7c8295dc94f5c1a07980f92672f167be Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Mon, 14 Mar 2016 12:54:30 +0000 Subject: [PATCH] community/mgba fix --- community/mgba/PKGBUILD | 8 ++++++-- community/mgba/isnan.patch | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 community/mgba/isnan.patch diff --git a/community/mgba/PKGBUILD b/community/mgba/PKGBUILD index ff1f9a574..40a7fb55a 100644 --- a/community/mgba/PKGBUILD +++ b/community/mgba/PKGBUILD @@ -6,6 +6,7 @@ # ALARM: Kevin Mihelich # - disable LTO # - build for GLES on !aarch64 +# - upstream patch to remove NaN usage pkgbase=mgba pkgname=('libmgba' 'mgba-sdl' 'mgba-qt') @@ -17,11 +18,14 @@ license=('custom:MPL2') makedepends=('cmake' 'qt5-multimedia' 'sdl2' 'zlib' 'libpng' 'libzip' 'libedit' 'ffmpeg' 'imagemagick' 'desktop-file-utils') install=$pkgbase.install -source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz) -md5sums=('b37fcab5e7139b7c161d880576d2d1cc') +source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz + isnan.patch) +md5sums=('b37fcab5e7139b7c161d880576d2d1cc' + '030b38b18fb23e7f80bfb2e3e362b0da') prepare() { [[ ! -d build ]] && mkdir build || rm -rf build + patch -p1 -d mgba-$pkgver -i ../isnan.patch } build() { diff --git a/community/mgba/isnan.patch b/community/mgba/isnan.patch new file mode 100644 index 000000000..b1b8f08a6 --- /dev/null +++ b/community/mgba/isnan.patch @@ -0,0 +1,38 @@ +diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp +index ed6c5ed..f5916c5 100644 +--- a/src/platform/qt/Window.cpp ++++ b/src/platform/qt/Window.cpp +@@ -48,11 +48,6 @@ extern "C" { + + using namespace QGBA; + +-#if defined(__WIN32) || defined(__OpenBSD__) +-// This is a macro everywhere except MinGW and OpenBSD, it seems +-using std::isnan; +-#endif +- + Window::Window(ConfigController* config, int playerId, QWidget* parent) + : QMainWindow(parent) + , m_log(0) +@@ -774,7 +769,7 @@ void Window::updateTitle(float fps) { + m_controller->threadContinue(); + if (title.isNull()) { + setWindowTitle(tr("%1 - %2").arg(projectName).arg(projectVersion)); +- } else if (isnan(fps)) { ++ } else if (fps < 0) { + setWindowTitle(tr("%1 - %2 - %3").arg(projectName).arg(title).arg(projectVersion)); + } else { + setWindowTitle(tr("%1 - %2 (%3 fps) - %4").arg(projectName).arg(title).arg(fps).arg(projectVersion)); +diff --git a/src/platform/qt/Window.h b/src/platform/qt/Window.h +index 7d6ece7..5a244b9 100644 +--- a/src/platform/qt/Window.h ++++ b/src/platform/qt/Window.h +@@ -142,7 +142,7 @@ private slots: + QAction* addControlledAction(QMenu* menu, QAction* action, const QString& name); + QAction* addHiddenAction(QMenu* menu, QAction* action, const QString& name); + +- void updateTitle(float fps = NAN); ++ void updateTitle(float fps = -1); + + GameController* m_controller; + Display* m_display;