Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jul 2019 02:05:08 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r505721 - in head/emulators/mesen: . files
Message-ID:  <201907030205.x63258bw014834@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Wed Jul  3 02:05:07 2019
New Revision: 505721
URL: https://svnweb.freebsd.org/changeset/ports/505721

Log:
  emulators/mesen: add new port
  
  PR:		227351
  Submitted by:	Greg V <greg@unrelenting.technology>

Added:
  head/emulators/mesen/
  head/emulators/mesen/Makefile   (contents, props changed)
  head/emulators/mesen/distinfo   (contents, props changed)
  head/emulators/mesen/files/
  head/emulators/mesen/files/launch.sh   (contents, props changed)
  head/emulators/mesen/pkg-descr   (contents, props changed)
  head/emulators/mesen/pkg-plist   (contents, props changed)

Added: head/emulators/mesen/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/mesen/Makefile	Wed Jul  3 02:05:07 2019	(r505721)
@@ -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>

Added: head/emulators/mesen/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/mesen/distinfo	Wed Jul  3 02:05:07 2019	(r505721)
@@ -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

Added: head/emulators/mesen/files/launch.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/mesen/files/launch.sh	Wed Jul  3 02:05:07 2019	(r505721)
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec mono %%PREFIX%%/libexec/mesen/Mesen.exe $*

Added: head/emulators/mesen/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/mesen/pkg-descr	Wed Jul  3 02:05:07 2019	(r505721)
@@ -0,0 +1,3 @@
+Mesen is a high-accuracy NES and Famicom emulator and NSF player.
+
+WWW: https://www.mesen.ca/

Added: head/emulators/mesen/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/mesen/pkg-plist	Wed Jul  3 02:05:07 2019	(r505721)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907030205.x63258bw014834>