aboutsummaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2016-10-10 20:15:36 +0000
committerJan Beich <jbeich@FreeBSD.org>2016-10-10 20:15:36 +0000
commit41265131e5a90e0cbfcbafd309b19f0e18dc0bf6 (patch)
treeac4c869f431a203c8457fa02ee23f877eb26c885 /emulators
parentc0653a7ac0a42589db2467addead5dd83258c005 (diff)
downloadports-41265131e5a90e0cbfcbafd309b19f0e18dc0bf6.tar.gz
ports-41265131e5a90e0cbfcbafd309b19f0e18dc0bf6.zip
emulators/citra: add new port
Citra is an experimental open-source Nintendo 3DS emulator/debugger written in C++. It is written with portability in mind, with builds actively maintained for Windows, Linux and OS X. Citra only emulates a subset of 3DS hardware, and therefore is generally only useful for running/debugging homebrew applications. At this time, Citra is even able to boot several commercial games! Most of these do not run to a playable state, but we are working every day to advance the project forward. https://citra-emu.org
Notes
Notes: svn path=/head/; revision=423700
Diffstat (limited to 'emulators')
-rw-r--r--emulators/Makefile2
-rw-r--r--emulators/citra-qt5/Makefile10
-rw-r--r--emulators/citra/Makefile58
-rw-r--r--emulators/citra/distinfo19
-rw-r--r--emulators/citra/pkg-descr10
5 files changed, 99 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index f4e00ad664c8..41b092b74a96 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -16,6 +16,8 @@
SUBDIR += catapult
SUBDIR += cinc
SUBDIR += cingb
+ SUBDIR += citra
+ SUBDIR += citra-qt5
SUBDIR += cpmemu
SUBDIR += cpmtools
SUBDIR += cpmtools2
diff --git a/emulators/citra-qt5/Makefile b/emulators/citra-qt5/Makefile
new file mode 100644
index 000000000000..690002e635c2
--- /dev/null
+++ b/emulators/citra-qt5/Makefile
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+PORTREVISION= 0
+PKGNAMESUFFIX= -qt5
+
+MASTERDIR= ${.CURDIR}/../citra
+
+OPTIONS_SLAVE= QT5
+
+.include "${MASTERDIR}/Makefile"
diff --git a/emulators/citra/Makefile b/emulators/citra/Makefile
new file mode 100644
index 000000000000..faa2b658be68
--- /dev/null
+++ b/emulators/citra/Makefile
@@ -0,0 +1,58 @@
+# $FreeBSD$
+
+PORTNAME= citra
+PORTVERSION= s20161007
+PORTREVISION?= 0
+CATEGORIES= emulators
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Nintendo 3DS emulator/debugger
+
+LICENSE= BSD2CLAUSE BSD3CLAUSE BSL GPLv2+
+LICENSE_COMB= multi
+LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/externals/dynarmic/externals/fmt/LICENSE.rst
+LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/externals/inih/inih/LICENSE.txt
+LICENSE_FILE_BSL= ${WRKSRC}/externals/catch/LICENSE_1_0.txt
+LICENSE_FILE_GPLv2+ = ${WRKSRC}/license.txt
+
+LIB_DEPENDS= libpng.so:graphics/png
+
+# backend_x64/hostloc.h:93:8: fatal error: no type named 'Reg64' in namespace 'Xbyak'
+BROKEN_i386= https://github.com/MerryMage/dynarmic/issues/35
+
+USE_GITHUB= yes
+# XXX Switch to system Boost after ports/199601
+GH_TUPLE= citra-emu:${PORTNAME}:136cbbe \
+ citra-emu:ext-boost:f005c95:boost/externals/boost \
+ citra-emu:ext-soundtouch:5274ec4:soundtouch/externals/soundtouch \
+ MerryMage:dynarmic:943487e:dynarmic/externals/dynarmic \
+ fmtlib:fmt:3.0.0-108-g2ae6bca:fmt/externals/dynarmic/externals/fmt \
+ herumi:xbyak:v3.71-424-g4cc35db:xbyak/externals/dynarmic/externals/xbyak \
+ neobrain:nihstro:26a0a04:nihstro/externals/nihstro \
+ philsquared:Catch:v1.4.0:catch/externals/catch \
+ svn2github:inih:603729d:inih/externals/inih/inih
+
+USES= cmake:outsource compiler:c++14-lang iconv localbase:ldflags
+FAVORITE_COMPILER= gcc # c++14-lib
+CXXFLAGS+= -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 \
+ -D_DECLARE_C99_LDBL_MATH # XXX ports/193528
+LDFLAGS+= -Wl,--as-needed # GL
+
+OPTIONS_MULTI= GUI
+OPTIONS_MULTI_GUI= QT5 SDL
+OPTIONS_SLAVE?= SDL
+OPTIONS_EXCLUDE:= ${OPTIONS_MULTI_GUI}
+
+SDL_USE= SDL=sdl2
+SDL_CMAKE_BOOL= ENABLE_SDL2
+SDL_PLIST_FILES=bin/${PORTNAME}
+
+QT5_USES= desktop-file-utils shared-mime-info
+QT5_USE= QT5=qmake_build,buildtools_build,core,gui,opengl,widgets
+QT5_CMAKE_BOOL= ENABLE_QT
+QT5_PLIST_FILES=bin/${PORTNAME}-qt \
+ share/applications/${PORTNAME}.desktop \
+ share/mime/packages/${PORTNAME}.xml \
+ share/pixmaps/${PORTNAME}.svg
+
+.include <bsd.port.mk>
diff --git a/emulators/citra/distinfo b/emulators/citra/distinfo
new file mode 100644
index 000000000000..45e439fc0387
--- /dev/null
+++ b/emulators/citra/distinfo
@@ -0,0 +1,19 @@
+TIMESTAMP = 1475696945
+SHA256 (citra-emu-citra-s20161007-136cbbe_GH0.tar.gz) = d2564c38fc0dd2ec9b24831504e529a08d10bf853f54685a9fa99988124acd48
+SIZE (citra-emu-citra-s20161007-136cbbe_GH0.tar.gz) = 2210597
+SHA256 (citra-emu-ext-boost-f005c95_GH0.tar.gz) = afa6769ba3bc8df30975150b164b09cc25f4cbab66b511fb3eccb59ac82a906e
+SIZE (citra-emu-ext-boost-f005c95_GH0.tar.gz) = 1139598
+SHA256 (citra-emu-ext-soundtouch-5274ec4_GH0.tar.gz) = de5e101818ba38b5ea30d8cde0b2b788b53bc7c0f5d77b380b8968569872c2cb
+SIZE (citra-emu-ext-soundtouch-5274ec4_GH0.tar.gz) = 34535
+SHA256 (MerryMage-dynarmic-943487e_GH0.tar.gz) = 50774e07f9e9896d0008431a65dd3215caaea8cbb39572418618ed903ccf6474
+SIZE (MerryMage-dynarmic-943487e_GH0.tar.gz) = 301535
+SHA256 (fmtlib-fmt-3.0.0-108-g2ae6bca_GH0.tar.gz) = 1201cf4d5638754f8955bb3ad4274c1176fb22e90a1ffdc3c2a875655538d38f
+SIZE (fmtlib-fmt-3.0.0-108-g2ae6bca_GH0.tar.gz) = 618843
+SHA256 (herumi-xbyak-v3.71-424-g4cc35db_GH0.tar.gz) = ada66b10880fd7241f71456aef08a13ceafc7c0ef37a55c6f519e6d2af14b893
+SIZE (herumi-xbyak-v3.71-424-g4cc35db_GH0.tar.gz) = 201227
+SHA256 (neobrain-nihstro-26a0a04_GH0.tar.gz) = 8d94e57f5a9aebf976e4df3c7a0c69d4a0c4a6f2c3d0e4d464a7f09a826b345f
+SIZE (neobrain-nihstro-26a0a04_GH0.tar.gz) = 110136
+SHA256 (philsquared-Catch-v1.4.0_GH0.tar.gz) = b225e9828291636745db75e42cd604b8d755dcad0c5235fc90d7c725c4b49fb1
+SIZE (philsquared-Catch-v1.4.0_GH0.tar.gz) = 311263
+SHA256 (svn2github-inih-603729d_GH0.tar.gz) = b4faa364c3e33261707d4b669e1c669ca3818d7b9515c15fe0befd9df3f1f00a
+SIZE (svn2github-inih-603729d_GH0.tar.gz) = 8342
diff --git a/emulators/citra/pkg-descr b/emulators/citra/pkg-descr
new file mode 100644
index 000000000000..cb4d2a6efa47
--- /dev/null
+++ b/emulators/citra/pkg-descr
@@ -0,0 +1,10 @@
+Citra is an experimental open-source Nintendo 3DS emulator/debugger
+written in C++. It is written with portability in mind, with builds
+actively maintained for Windows, Linux and OS X. Citra only emulates a
+subset of 3DS hardware, and therefore is generally only useful for
+running/debugging homebrew applications. At this time, Citra is even
+able to boot several commercial games! Most of these do not run to a
+playable state, but we are working every day to advance the project
+forward.
+
+WWW: https://citra-emu.org