diff options
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/mesen/Makefile | 89 | ||||
-rw-r--r-- | emulators/mesen/distinfo | 3 | ||||
-rw-r--r-- | emulators/mesen/files/launch.sh | 2 | ||||
-rw-r--r-- | emulators/mesen/pkg-descr | 3 | ||||
-rw-r--r-- | emulators/mesen/pkg-plist | 7 |
5 files changed, 104 insertions, 0 deletions
diff --git a/emulators/mesen/Makefile b/emulators/mesen/Makefile new file mode 100644 index 000000000000..436fd739be8e --- /dev/null +++ b/emulators/mesen/Makefile @@ -0,0 +1,89 @@ +# $FreeBSD$ + +PORTNAME= mesen +DISTVERSION= 0.9.8-4 +DISTVERSIONSUFFIX= -g4c701ad6 +CATEGORIES= emulators + +MAINTAINER= greg@unrelenting.technology +COMMENT= Cross-platform Nintendo Entertainment System (NES/Famicom) emulator + +LICENSE= GPLv3 + +# ARM/MIPS are only supported on Android +ONLY_FOR_ARCHS= amd64 i386 + +BUILD_DEPENDS= zip:archivers/zip \ + evdev-proto>0:devel/evdev-proto \ + msbuild:devel/msbuild +LIB_DEPENDS= libevdev.so:devel/libevdev \ + libgdiplus.so:x11-toolkits/libgdiplus + +USES= compiler:c++14-lang gmake pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= SourMesen +GH_PROJECT= Mesen +USE_SDL= sdl2 +MAKEFILE= makefile +MAKE_ARGS= MESENPLATFORM=${MESEN_ARCH} \ + CC="${CC}" CPPC="${CXX}" \ + SYSTEM_LIBEVDEV=true +MESEN_ARCH= ${ARCH:S/amd64/x64/:S/i386/x86/} + +.if exists(/usr/lib/libc++fs.a) +MAKE_ARGS+= FSLIB=-lc++fs +.elif exists(/usr/lib/libc++experimental.a) +# XXX Remove after FreeBSD 12.0 EOL +MAKE_ARGS+= FSLIB=-lc++experimental +.else +# XXX Remove after FreeBSD 11.2 EOL +USE_GCC= yes +.endif + +# XXX Always enable LTO after FreeBSD 11.2 and 12.0 EOL +.if defined(USE_GCC) || (${/usr/bin/ld:L:tA} == /usr/bin/ld.lld) +MAKE_ARGS+= LTO=true +.endif + +OPTIONS_MULTI= FRONTENDS +OPTIONS_MULTI_FRONTENDS= MONO LIBRETRO +OPTIONS_DEFAULT= MONO LIBRETRO +OPTIONS_SUB= yes + +MONO_DESC= Mono based GUI frontend +LIBRETRO_DESC= Libretro core + +MONO_ALL_TARGET= ui +MONO_BUILD_DEPENDS= mono:lang/mono +MONO_RUN_DEPENDS= mono:lang/mono +MONO_DESKTOP_ENTRIES= "Mesen" "NES/Famicom Emulator" \ + "${PORTNAME}" "${PORTNAME}" "Game;Emulator;" false + +LIBRETRO_ALL_TARGET= libretro + +do-install: # empty to avoid default + +do-install-MONO-on: + ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/mesen + ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/64x64/apps/ + ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/32x32/apps/ + ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/16x16/apps/ + ${INSTALL_LIB} ${WRKSRC}/bin/${MESEN_ARCH}/Release/Dependencies/libMesenCore.${MESEN_ARCH}.dll \ + ${STAGEDIR}${PREFIX}/libexec/mesen/libMesenCore.dll + ${INSTALL_DATA} ${WRKSRC}/bin/${MESEN_ARCH}/Release/Mesen.exe \ + ${STAGEDIR}${PREFIX}/libexec/mesen/ + ${INSTALL_DATA} ${WRKSRC}/GUI.NET/Resources/MesenIcon.png \ + ${STAGEDIR}${PREFIX}/share/icons/hicolor/64x64/apps/mesen.png + ${INSTALL_DATA} ${WRKSRC}/GUI.NET/Resources/MesenIconMedium.png \ + ${STAGEDIR}${PREFIX}/share/icons/hicolor/32x32/apps/mesen.png + ${INSTALL_DATA} ${WRKSRC}/GUI.NET/Resources/MesenIconSmall.png \ + ${STAGEDIR}${PREFIX}/share/icons/hicolor/16x16/apps/mesen.png + ${INSTALL_SCRIPT} ${FILESDIR}/launch.sh ${STAGEDIR}${PREFIX}/bin/mesen + ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' ${STAGEDIR}${PREFIX}/bin/mesen + +do-install-LIBRETRO-on: + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/libretro + ${INSTALL_LIB} ${WRKSRC}/bin/mesen_libretro.${MESEN_ARCH}.so \ + ${STAGEDIR}${PREFIX}/lib/libretro/mesen_libretro.so + +.include <bsd.port.mk> diff --git a/emulators/mesen/distinfo b/emulators/mesen/distinfo new file mode 100644 index 000000000000..b00cbb8176dc --- /dev/null +++ b/emulators/mesen/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1561506562 +SHA256 (SourMesen-Mesen-0.9.8-4-g4c701ad6_GH0.tar.gz) = 73bbffe6560ed355b2b51fbb1a0ca7b53b0b9ec58b89bf272aa29a972f78a97a +SIZE (SourMesen-Mesen-0.9.8-4-g4c701ad6_GH0.tar.gz) = 17628801 diff --git a/emulators/mesen/files/launch.sh b/emulators/mesen/files/launch.sh new file mode 100644 index 000000000000..0ab0b8aa3e85 --- /dev/null +++ b/emulators/mesen/files/launch.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec mono %%PREFIX%%/libexec/mesen/Mesen.exe $* diff --git a/emulators/mesen/pkg-descr b/emulators/mesen/pkg-descr new file mode 100644 index 000000000000..2d12a7317342 --- /dev/null +++ b/emulators/mesen/pkg-descr @@ -0,0 +1,3 @@ +Mesen is a high-accuracy NES and Famicom emulator and NSF player. + +WWW: https://www.mesen.ca/ diff --git a/emulators/mesen/pkg-plist b/emulators/mesen/pkg-plist new file mode 100644 index 000000000000..a2c44a11179e --- /dev/null +++ b/emulators/mesen/pkg-plist @@ -0,0 +1,7 @@ +%%LIBRETRO%%lib/libretro/mesen_libretro.so +%%MONO%%bin/mesen +%%MONO%%libexec/mesen/Mesen.exe +%%MONO%%libexec/mesen/libMesenCore.dll +%%MONO%%share/icons/hicolor/16x16/apps/mesen.png +%%MONO%%share/icons/hicolor/32x32/apps/mesen.png +%%MONO%%share/icons/hicolor/64x64/apps/mesen.png |