aboutsummaryrefslogtreecommitdiff
path: root/emulators/fceux
diff options
context:
space:
mode:
authorAntoine Brodin <antoine@FreeBSD.org>2021-01-01 10:11:34 +0000
committerAntoine Brodin <antoine@FreeBSD.org>2021-01-01 10:11:34 +0000
commit26b4c8f71f91d22e081b27814782686edde0c90a (patch)
tree1c321c39372c25d8634e75b5c8e08edc676b296d /emulators/fceux
parent548f16bd1a2915f08878b716eed92ff3267e6de2 (diff)
Notes
Diffstat (limited to 'emulators/fceux')
-rw-r--r--emulators/fceux/Makefile93
-rw-r--r--emulators/fceux/distinfo3
-rw-r--r--emulators/fceux/files/patch-fceux-server_server.cpp11
-rw-r--r--emulators/fceux/files/patch-src_boards_mapinc.h8
-rw-r--r--emulators/fceux/files/patch-src_cheat.cpp11
-rw-r--r--emulators/fceux/pkg-descr11
-rw-r--r--emulators/fceux/pkg-plist106
7 files changed, 243 insertions, 0 deletions
diff --git a/emulators/fceux/Makefile b/emulators/fceux/Makefile
new file mode 100644
index 000000000000..119df2b80273
--- /dev/null
+++ b/emulators/fceux/Makefile
@@ -0,0 +1,93 @@
+# Created by: HIYAMA Takeshi <gibbon@cocoa.freemail.ne.jp>
+# $FreeBSD$
+
+PORTNAME= fceux
+PORTVERSION= 2.2.3
+PORTREVISION= 10
+CATEGORIES= emulators
+MASTER_SITES= SF/fceultra/Source%20Code/${PORTVERSION}%20src/
+DISTNAME= ${PORTNAME}-${PORTVERSION}.src
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Portable NES/Famicom emulator based on Bero's original FCE
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+RUN_DEPENDS= zenity:x11/zenity
+
+USES= compiler:c++0x desktop-file-utils dos2unix localbase:ldflags \
+ pkgconfig scons:python2 sdl xorg
+USE_SDL= sdl
+USE_XORG= x11
+USE_GNOME+= gdkpixbuf2
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+CXXFLAGS+= ${CXXFLAGS_${CHOSEN_COMPILER_TYPE}}
+CXXFLAGS_clang= -Wno-c++11-narrowing
+
+OPTIONS_DEFINE= CREATE_AVI DEBUG DOCS FRAMESKIP LOGO LUA OPENGL
+OPTIONS_SINGLE= GUI
+OPTIONS_SINGLE_GUI= GTK2 GTK3
+OPTIONS_DEFAULT= CREATE_AVI FRAMESKIP GTK2 LOGO LUA OPENGL
+
+CREATE_AVI_DESC= Enable avi creation support
+CREATE_AVI_MAKE_ARGS= CREATE_AVI=1
+CREATE_AVI_MAKE_ARGS_OFF= CREATE_AVI=0
+DEBUG_MAKE_ARGS= DEBUG=1
+DEBUG_MAKE_ARGS_OFF= DEBUG=0
+FRAMESKIP_DESC= Enable frameskipping
+FRAMESKIP_MAKE_ARGS= FRAMESKIP=1
+FRAMESKIP_MAKE_ARGS_OFF= FRAMESKIP=0
+GTK2_USES= gnome
+GTK2_USE= GNOME=gtk20
+GTK2_MAKE_ARGS= GTK=1
+GTK2_MAKE_ARGS_OFF= GTK=0
+GTK3_USES= gnome
+GTK3_USE= GNOME=gtk30
+GTK3_MAKE_ARGS= GTK3=1
+GTK3_MAKE_ARGS_OFF= GTK3=0
+LOGO_DESC= Enable a logoscreen when creating avis
+LOGO_LIB_DEPENDS= libgd.so:graphics/gd
+LOGO_MAKE_ARGS= LOGO=1
+LOGO_MAKE_ARGS_OFF= LOGO=0
+LOGO_IMPLIES= CREATE_AVI
+LUA_USES= lua:51
+LUA_MAKE_ARGS= LUA=1 SYSTEM_LUA=1
+LUA_MAKE_ARGS_OFF= LUA=0
+OPENGL_USES= gl
+OPENGL_USE= GL=gl
+OPENGL_MAKE_ARGS= OPENGL=1
+OPENGL_MAKE_ARGS_OFF= OPENGL=0
+
+post-patch:
+ @${REINPLACE_CMD} -e \
+ '/PUBLIC/s|^|#| ; \
+ /CheckLib/s|lua5.1|lua-${LUA_VER}| ; \
+ /LINKFLAGS/s|lua5.1|lua-${LUA_VER}| ; \
+ s|"-ldl"|| ; \
+ s|/usr/include/lua5.1|${LUA_INCDIR}| ; \
+ s|-O2||' ${WRKSRC}/SConstruct
+ @${REINPLACE_CMD} -e \
+ 's|/usr/bin/|| ; \
+ s|/usr/share/|${PREFIX}/share/|' ${WRKSRC}/fceux.desktop
+
+do-install:
+.for i in fceux fceux-net-server
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/${i} ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/documentation/${i}.6 ${STAGEDIR}${MANPREFIX}/man/man6
+.endfor
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/bin/*.lua ${STAGEDIR}${DATADIR}
+ @(cd ${WRKSRC}/output && ${COPYTREE_SHARE} "luaScripts palettes tools" \
+ ${STAGEDIR}${DATADIR})
+ ${INSTALL_DATA} ${WRKSRC}/*.desktop ${STAGEDIR}${DESKTOPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/*.png ${STAGEDIR}${PREFIX}/share/pixmaps
+
+do-install-DOCS-on:
+ @(cd ${WRKSRC}/documentation && ${COPYTREE_SHARE} "TODO-PROJECT Videolog.txt \
+ cheat.html faq fcs.txt fm2.txt protocol.txt snes9x-lua.html tech" \
+ ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
diff --git a/emulators/fceux/distinfo b/emulators/fceux/distinfo
new file mode 100644
index 000000000000..ce0d7bfe13c3
--- /dev/null
+++ b/emulators/fceux/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1488101003
+SHA256 (fceux-2.2.3.src.tar.gz) = 4be6dda9a347f941809a3c4a90d21815b502384adfdd596adaa7b2daf088823e
+SIZE (fceux-2.2.3.src.tar.gz) = 9292792
diff --git a/emulators/fceux/files/patch-fceux-server_server.cpp b/emulators/fceux/files/patch-fceux-server_server.cpp
new file mode 100644
index 000000000000..843c76927a89
--- /dev/null
+++ b/emulators/fceux/files/patch-fceux-server_server.cpp
@@ -0,0 +1,11 @@
+--- fceux-server/server.cpp.orig 2017-02-26 13:33:11 UTC
++++ fceux-server/server.cpp
+@@ -114,7 +114,7 @@ int LoadConfigFile(char *fn)
+ if(fp=fopen(fn,"rb"))
+ {
+ char buf[256];
+- while(fgets(buf, 256, fp) > 0)
++ while(fgets(buf, 256, fp))
+ {
+ if(!strncasecmp(buf,"maxclients",strlen("maxclients")))
+ sscanf(buf,"%*s %d",&ServerConfig.MaxClients);
diff --git a/emulators/fceux/files/patch-src_boards_mapinc.h b/emulators/fceux/files/patch-src_boards_mapinc.h
new file mode 100644
index 000000000000..dc59f0c4b9fb
--- /dev/null
+++ b/emulators/fceux/files/patch-src_boards_mapinc.h
@@ -0,0 +1,8 @@
+--- src/boards/mapinc.h.orig 2017-02-26 13:37:11 UTC
++++ src/boards/mapinc.h
+@@ -9,4 +9,5 @@
+ #include "../cheat.h"
+ #include "../unif.h"
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
diff --git a/emulators/fceux/files/patch-src_cheat.cpp b/emulators/fceux/files/patch-src_cheat.cpp
new file mode 100644
index 000000000000..e9e5393a17ae
--- /dev/null
+++ b/emulators/fceux/files/patch-src_cheat.cpp
@@ -0,0 +1,11 @@
+--- src/cheat.cpp.orig 2017-02-26 13:33:11 UTC
++++ src/cheat.cpp
+@@ -216,7 +216,7 @@ void FCEU_LoadGameCheats(FILE *override)
+ }
+
+ FCEU_DispMessage("Cheats file loaded.",0); //Tells user a cheats file was loaded.
+- while(fgets(linebuf,2048,fp)>0)
++ while(fgets(linebuf,2048,fp))
+ {
+ char *tbuf=linebuf;
+ int doc=0;
diff --git a/emulators/fceux/pkg-descr b/emulators/fceux/pkg-descr
new file mode 100644
index 000000000000..996dbda4721a
--- /dev/null
+++ b/emulators/fceux/pkg-descr
@@ -0,0 +1,11 @@
+FCE Ultra is an NTSC and PAL Famicom/NES emulator for various
+platforms. It is based upon Bero's original FCE source code. Current
+features include good PPU, CPU, pAPU, expansion chip, and joystick
+emulation. Also a feature unique to this emulator (at the current time)
+is authentic Game Genie emulation. Save states and snapshot features
+also have been implemented. The VS Unisystem is emulated as well.
+
+FCE Ultra supports iNES format ROM images, UNIF format ROM images,
+headerless and FWNES style FDS disk images, and NSF files.
+
+WWW: http://www.fceux.com/
diff --git a/emulators/fceux/pkg-plist b/emulators/fceux/pkg-plist
new file mode 100644
index 000000000000..e15fb8a55a27
--- /dev/null
+++ b/emulators/fceux/pkg-plist
@@ -0,0 +1,106 @@
+bin/fceux
+bin/fceux-net-server
+man/man6/fceux.6.gz
+man/man6/fceux-net-server.6.gz
+share/applications/fceux.desktop
+%%PORTDOCS%%%%DOCSDIR%%/TODO-PROJECT
+%%PORTDOCS%%%%DOCSDIR%%/Videolog.txt
+%%PORTDOCS%%%%DOCSDIR%%/cheat.html
+%%PORTDOCS%%%%DOCSDIR%%/faq
+%%PORTDOCS%%%%DOCSDIR%%/fcs.txt
+%%PORTDOCS%%%%DOCSDIR%%/fm2.txt
+%%PORTDOCS%%%%DOCSDIR%%/protocol.txt
+%%PORTDOCS%%%%DOCSDIR%%/snes9x-lua.html
+%%PORTDOCS%%%%DOCSDIR%%/tech/cpu/4017.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/cpu/dmc.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/cpu/nessound-4th.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/cpu/nessound.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/exp/mmc5-e.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/exp/smb2j.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/exp/tengen.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/exp/vrcvi.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/exp/vrcvii.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/nsfspec.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/ppu/2c02 technical operation.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/ppu/loopy1.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/ppu/loopy2.txt
+%%PORTDOCS%%%%DOCSDIR%%/tech/readme.now
+%%PORTDOCS%%%%DOCSDIR%%/tech/readme.sound
+%%DATADIR%%/auxlib.lua
+%%DATADIR%%/luaScripts/AVI-HeadsUpDisplay.lua
+%%DATADIR%%/luaScripts/BoulderDash_AmoebaAI.lua
+%%DATADIR%%/luaScripts/BugsBunnyBirthdayBlowout.lua
+%%DATADIR%%/luaScripts/ButtonCount.lua
+%%DATADIR%%/luaScripts/CustomLagIndicator_RvT.lua
+%%DATADIR%%/luaScripts/Excitingbike-speedometeronly.lua
+%%DATADIR%%/luaScripts/Excitingbike.lua
+%%DATADIR%%/luaScripts/FRKfunctions.lua
+%%DATADIR%%/luaScripts/GUI-iup_button.lua
+%%DATADIR%%/luaScripts/GUI-iup_example.lua
+%%DATADIR%%/luaScripts/Galaxian.lua
+%%DATADIR%%/luaScripts/Gradius-BulletHell.lua
+%%DATADIR%%/luaScripts/JumpingFCEUXWindow.lua
+%%DATADIR%%/luaScripts/Luabot.lua
+%%DATADIR%%/luaScripts/Machrider.lua
+%%DATADIR%%/luaScripts/MegamanII-LaserEyes.lua
+%%DATADIR%%/luaScripts/MemoryWatch.lua
+%%DATADIR%%/luaScripts/Multitrack.lua
+%%DATADIR%%/luaScripts/Multitrack2.lua
+%%DATADIR%%/luaScripts/NightmareElmStreet-4Player.lua
+%%DATADIR%%/luaScripts/PunchOutChallenge.lua
+%%DATADIR%%/luaScripts/PunchOutStats.lua
+%%DATADIR%%/luaScripts/PunchOutTraining.lua
+%%DATADIR%%/luaScripts/RBIBaseball.lua
+%%DATADIR%%/luaScripts/Registerfind(CheatSearch).lua
+%%DATADIR%%/luaScripts/Rewinder.lua
+%%DATADIR%%/luaScripts/SMB-AreaScrambler.lua
+%%DATADIR%%/luaScripts/SMB-CompetitionRecorder.lua
+%%DATADIR%%/luaScripts/SMB-HitBoxes.lua
+%%DATADIR%%/luaScripts/SMB-Jetpack.lua
+%%DATADIR%%/luaScripts/SMB-Lives&HPDisplay.lua
+%%DATADIR%%/luaScripts/SMB-Mouse.lua
+%%DATADIR%%/luaScripts/SMB-Snow.lua
+%%DATADIR%%/luaScripts/SMB2U.lua
+%%DATADIR%%/luaScripts/SMB3-RainbowRiding.lua
+%%DATADIR%%/luaScripts/ShowPalette.lua
+%%DATADIR%%/luaScripts/SoundDisplay.lua
+%%DATADIR%%/luaScripts/SoundDisplay2.lua
+%%DATADIR%%/luaScripts/Subtitler.lua
+%%DATADIR%%/luaScripts/TeenageMutantNinjaTurtles.lua
+%%DATADIR%%/luaScripts/UsingLuaBot-Documentation.txt
+%%DATADIR%%/luaScripts/UsingLuaScripting-Documentation.txt
+%%DATADIR%%/luaScripts/UsingLuaScripting-ListofFunctions.txt
+%%DATADIR%%/luaScripts/ZapperDisplay.lua
+%%DATADIR%%/luaScripts/ZapperFun.lua
+%%DATADIR%%/luaScripts/luabot_framework.lua
+%%DATADIR%%/luaScripts/m_utils.lua
+%%DATADIR%%/luaScripts/shapedefs.lua
+%%DATADIR%%/luaScripts/taseditor/InputDisplay_for_Selection.lua
+%%DATADIR%%/luaScripts/taseditor/InvertSelection.lua
+%%DATADIR%%/luaScripts/taseditor/RecordBackwards.lua
+%%DATADIR%%/luaScripts/taseditor/ShowNotes.lua
+%%DATADIR%%/luaScripts/taseditor/Swap1P2P.lua
+%%DATADIR%%/luaScripts/taseditor/TrackNoise.lua
+%%DATADIR%%/luaScripts/tetris.lua
+%%DATADIR%%/luaScripts/vnb.lua
+%%DATADIR%%/luaScripts/x_functions.lua
+%%DATADIR%%/luaScripts/x_interface.lua
+%%DATADIR%%/luaScripts/x_smb1enemylist.lua
+%%DATADIR%%/palettes/ASQ_realityA.pal
+%%DATADIR%%/palettes/ASQ_realityB.pal
+%%DATADIR%%/palettes/BMF_final2.pal
+%%DATADIR%%/palettes/BMF_final3.pal
+%%DATADIR%%/palettes/FCEU-13-default_nitsuja.pal
+%%DATADIR%%/palettes/FCEU-15-nitsuja_new.pal
+%%DATADIR%%/palettes/FCEUX.pal
+%%DATADIR%%/palettes/RP2C03.pal
+%%DATADIR%%/palettes/RP2C04_0001.pal
+%%DATADIR%%/palettes/RP2C04_0002.pal
+%%DATADIR%%/palettes/RP2C04_0003.pal
+%%DATADIR%%/palettes/RP2C04_0004.pal
+%%DATADIR%%/palettes/SONY_CXA2025AS_US.pal
+%%DATADIR%%/palettes/Unsaturated-V6.pal
+%%DATADIR%%/palettes/nestopia_rgb.pal
+%%DATADIR%%/palettes/nestopia_yuv.pal
+%%DATADIR%%/tools/taseditor_patterns.txt
+share/pixmaps/fceux.png