From bbbbee48dd5d0b60433f6daaef068ac8ed0b2f2f Mon Sep 17 00:00:00 2001 From: Tobias Kortkamp Date: Thu, 5 Oct 2017 16:35:17 +0000 Subject: [PATCH] New port: emulators/mgba A modern open source Game Boy Advance emulator, with support for Game Boy and Game Boy Color games as well. The project started in April 2013 with the goal of being fast enough to run on lower end hardware than other emulators support, without sacrificing accuracy or portability. Other goals include accurate enough emulation to provide a development environment for homebrew software, a good workflow for tool-assist runners, and a modern feature set for emulators that older emulators may not support. WWW: https://mgba.io PR: 222779 Submitted by: Greg V --- emulators/Makefile | 1 + emulators/mgba/Makefile | 65 ++++++++++++++++++++++++++++++++++++++++ emulators/mgba/distinfo | 3 ++ emulators/mgba/pkg-descr | 10 +++++++ emulators/mgba/pkg-plist | 50 +++++++++++++++++++++++++++++++ 5 files changed, 129 insertions(+) create mode 100644 emulators/mgba/Makefile create mode 100644 emulators/mgba/distinfo create mode 100644 emulators/mgba/pkg-descr create mode 100644 emulators/mgba/pkg-plist diff --git a/emulators/Makefile b/emulators/Makefile index 4e0c68342e72..552cf1a912f1 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -79,6 +79,7 @@ SUBDIR += mastergear SUBDIR += mednafen SUBDIR += mess + SUBDIR += mgba SUBDIR += mtools SUBDIR += mupen64plus SUBDIR += mupen64plus-audio-sdl diff --git a/emulators/mgba/Makefile b/emulators/mgba/Makefile new file mode 100644 index 000000000000..6c554441816f --- /dev/null +++ b/emulators/mgba/Makefile @@ -0,0 +1,65 @@ +# $FreeBSD$ + +PORTNAME= mgba +DISTVERSION= 0.6.1 +CATEGORIES= emulators + +MAINTAINER= greg@unrelenting.technology +COMMENT= Game Boy Advance (GBA) emulator/debugger + +LICENSE= MPL20 BSD3CLAUSE LGPL21+ +LICENSE_COMB= multi +LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/src/third-party/inih/LICENSE.txt +LICENSE_FILE_LGPL21+= ${WRKSRC}/src/third-party/blip_buf/license.txt +LICENSE_FILE_MPL20= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ + libpng16.so:graphics/png + +USES= cmake:outsource compiler:c++11-lang localbase:ldflags pkgconfig sqlite:3 + +USE_GITHUB= yes +GH_ACCOUNT= mgba-emu + +USE_GL= gl glu +USE_SDL= sdl2 + +CMAKE_ARGS= -DCMAKE_INSTALL_DOCDIR:STRING="${DOCSDIR}" \ + -DUSE_MINIZIP:BOOL=OFF \ + -DUSE_LIBZIP:BOOL=OFF \ + -DUSE_ZLIB:BOOL=ON \ + -DUSE_LZMA:BOOL=ON \ + -DUSE_SQLITE3:BOOL=ON \ + -DBUILD_GL:BOOL=ON \ + -DBUILD_GLES2:BOOL=OFF +LDFLAGS+= -Wl,--as-needed # glu + +OPTIONS_DEFINE= DEBUGGERS FFMPEG MAGICK QT5 +OPTIONS_DEFAULT= DEBUGGERS FFMPEG MAGICK QT5 +OPTIONS_SUB= yes + +DEBUGGERS_DESC= Debugging infrastructure (CLI debugger, GDB remote stub) +FFMPEG_DESC= FFmpeg video recording support +MAGICK_DESC= ImageMagick GIF recording support +QT5_DESC= Qt 5 frontend + +DEBUGGERS_CMAKE_BOOL= USE_DEBUGGERS USE_EDITLINE USE_GDB_STUB +DEBUGGERS_USES= libedit + +FFMPEG_CMAKE_BOOL= USE_FFMPEG +FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ + libavformat.so:multimedia/ffmpeg \ + libavresample.so:multimedia/ffmpeg \ + libavutil.so:multimedia/ffmpeg \ + libswscale.so:multimedia/ffmpeg + +MAGICK_CMAKE_BOOL= USE_MAGICK +MAGICK_LIB_DEPENDS= libMagickWand-6.so:graphics/ImageMagick \ + libMagickCore-6.so:graphics/ImageMagick + +QT5_CMAKE_BOOL= BUILD_QT +QT5_USE= qt5=qmake_build,buildtools_build,core,gui,widgets,network,opengl,multimedia +QT5_USES= desktop-file-utils +QT5_VARS= installs_icons=yes + +.include diff --git a/emulators/mgba/distinfo b/emulators/mgba/distinfo new file mode 100644 index 000000000000..6a991847c9b1 --- /dev/null +++ b/emulators/mgba/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1507126883 +SHA256 (mgba-emu-mgba-0.6.1_GH0.tar.gz) = 7c78feb0aa12930b993ca1b220d282ed178e306621559e48bb168623030eb876 +SIZE (mgba-emu-mgba-0.6.1_GH0.tar.gz) = 7437240 diff --git a/emulators/mgba/pkg-descr b/emulators/mgba/pkg-descr new file mode 100644 index 000000000000..e5863722d4ad --- /dev/null +++ b/emulators/mgba/pkg-descr @@ -0,0 +1,10 @@ +A modern open source Game Boy Advance emulator, with support for Game +Boy and Game Boy Color games as well. The project started in April +2013 with the goal of being fast enough to run on lower end hardware +than other emulators support, without sacrificing accuracy or +portability. Other goals include accurate enough emulation to provide +a development environment for homebrew software, a good workflow for +tool-assist runners, and a modern feature set for emulators that older +emulators may not support. + +WWW: https://mgba.io diff --git a/emulators/mgba/pkg-plist b/emulators/mgba/pkg-plist new file mode 100644 index 000000000000..34f73f534d78 --- /dev/null +++ b/emulators/mgba/pkg-plist @@ -0,0 +1,50 @@ +bin/mgba +%%QT5%%bin/mgba-qt +include/mgba/flags.h +lib/libmgba.so.0.6 +lib/libmgba.so.0.6.1 +%%QT5%%man/man6/mgba-qt.6.gz +man/man6/mgba.6.gz +%%PORTDOCS%%%%DOCSDIR%%/CHANGES +%%PORTDOCS%%%%DOCSDIR%%/README.md +%%QT5%%share/applications/mgba-qt.desktop +share/icons/hicolor/128x128/apps/mgba.png +share/icons/hicolor/16x16/apps/mgba.png +share/icons/hicolor/24x24/apps/mgba.png +share/icons/hicolor/256x256/apps/mgba.png +share/icons/hicolor/32x32/apps/mgba.png +share/icons/hicolor/48x48/apps/mgba.png +share/icons/hicolor/512x512/apps/mgba.png +share/icons/hicolor/64x64/apps/mgba.png +share/icons/hicolor/96x96/apps/mgba.png +%%QT5%%%%DATADIR%%/nointro.dat +%%QT5%%%%DATADIR%%/shaders/agb001.shader/agb001.fs +%%QT5%%%%DATADIR%%/shaders/agb001.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/ags001.shader/ags001-light.fs +%%QT5%%%%DATADIR%%/shaders/ags001.shader/ags001.fs +%%QT5%%%%DATADIR%%/shaders/ags001.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/fish.shader/fish.fs +%%QT5%%%%DATADIR%%/shaders/fish.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/gba-color.shader/gba-color.fs +%%QT5%%%%DATADIR%%/shaders/gba-color.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/lcd.shader/lcd.fs +%%QT5%%%%DATADIR%%/shaders/lcd.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/motion_blur.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/motion_blur.shader/motion_blur.fs +%%QT5%%%%DATADIR%%/shaders/pixelate.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/scanlines.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/scanlines.shader/scanlines.fs +%%QT5%%%%DATADIR%%/shaders/soften.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/soften.shader/soften.fs +%%QT5%%%%DATADIR%%/shaders/vba_pixelate.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/vba_pixelate.shader/vba_pixelate.fs +%%QT5%%%%DATADIR%%/shaders/vignette.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/vignette.shader/vignette.fs +%%QT5%%%%DATADIR%%/shaders/wiiu.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/wiiu.shader/wiiu.fs +%%QT5%%%%DATADIR%%/shaders/xbr-lv2.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/xbr-lv2.shader/xbr.fs +%%QT5%%%%DATADIR%%/shaders/xbr-lv2.shader/xbr.vs +%%QT5%%%%DATADIR%%/shaders/xbr-lv3.shader/manifest.ini +%%QT5%%%%DATADIR%%/shaders/xbr-lv3.shader/xbr.fs +%%QT5%%%%DATADIR%%/shaders/xbr-lv3.shader/xbr.vs