aboutsummaryrefslogtreecommitdiff
path: root/emulators/fceux
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2014-04-11 13:42:47 +0000
committerMartin Wilke <miwi@FreeBSD.org>2014-04-11 13:42:47 +0000
commit9933728907af9a8ae75e08219ea54e0625cfa23d (patch)
tree5f43d69fbe8d19750c93d16acc4a9fe1315d12af /emulators/fceux
parent8688884b7332f49150bb5c552bdefa2fbfbfab11 (diff)
downloadports-9933728907af9a8ae75e08219ea54e0625cfa23d.tar.gz
ports-9933728907af9a8ae75e08219ea54e0625cfa23d.zip
Notes
Diffstat (limited to 'emulators/fceux')
-rw-r--r--emulators/fceux/Makefile188
-rw-r--r--emulators/fceux/files/patch-SConstruct38
-rw-r--r--emulators/fceux/files/patch-src-lua-engine15
-rw-r--r--emulators/fceux/pkg-descr15
-rw-r--r--emulators/fceux/pkg-plist52
5 files changed, 103 insertions, 205 deletions
diff --git a/emulators/fceux/Makefile b/emulators/fceux/Makefile
index 3d1d16c96d56..cc949a47bf49 100644
--- a/emulators/fceux/Makefile
+++ b/emulators/fceux/Makefile
@@ -3,146 +3,98 @@
PORTNAME= fceux
PORTVERSION= 2.2.2
-PORTREVISION= 1
+PORTREVISION= 2
+DISTVERSIONSUFFIX= .src
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
-USES= dos2unix pkgconfig scons
-SCONS_BUILDENV= CC="${CC}" CXX="${CXX}" \
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
- CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
-SCONS_ARGS+= --prefix="${STAGEDIR}${PREFIX}"
-USE_SDL= yes
+RUN_DEPENDS= zenity:${PORTSDIR}/x11/zenity
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-RUN_DEPENDS+= zenity:${PORTSDIR}/x11/zenity
+USES= compiler:c++0x desktop-file-utils dos2unix pkgconfig scons
+USE_SDL= sdl
-OPTIONS_DEFINE= FRAMESKIP OPENGL DEBUG LUA CREATE_AVI LOGO
-OPTIONS_SINGLE= GUI
+LDFLAGS+= -L${LOCALBASE}/lib
+
+OPTIONS_DEFINE= CREATE_AVI DEBUG DOCS FRAMESKIP LOGO LUA OPENGL
+OPTIONS_SINGLE= GUI
OPTIONS_SINGLE_GUI= GTK2 GTK3
-OPTIONS_DEFAULT= FRAMESKIP OPENGL LUA NEWPPU CREATE_AVI LOGO GTK2
+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
-LUA_DESC= Enable Lua support
-CREATE_AVI_DESC= Enable avi creation support (SDL)
-LOGO_DESC= Enable a logoscreen when creating avis (SDL)
-GTK2_DESC= Enable GTK2 GUI (SDL)
-GTK3_DESC= Enable GTK3 GUI (SDL)
+FRAMESKIP_MAKE_ARGS= FRAMESKIP=1
+FRAMESKIP_MAKE_ARGS_OFF= FRAMESKIP=0
+GTK2_USE= GNOME=gtk20
+GTK2_MAKE_ARGS= GTK=1
+GTK2_MAKE_ARGS_OFF= GTK=0
+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:${PORTSDIR}/graphics/gd
+LOGO_MAKE_ARGS= LOGO=1
+LOGO_MAKE_ARG_OFF= LOGO=0
+LUA_USE= LUA=yes
+LUA_MAKE_ARGS= LUA=1 SYSTEM_LUA=1
+LUA_MAKE_ARGS_OFF= LUA=0
+OPENGL_USE= GL=gl
+OPENGL_MAKE_ARGS= OPENGL=1
+OPENGL_MAKE_ARGS_OFF= OPENGL=0
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MFRAMESKIP}
-SCONS_ARGS+= FRAMESKIP=1
-.else
-SCONS_ARGS+= FRAMESKIP=0
-.endif
-
-.if ${PORT_OPTIONS:MGTK2}
-SCONS_ARGS+= GTK=1
-USE_GNOME+= gtk20
-.else
-SCONS_ARGS+= GTK=0
-.endif
-
-.if ${PORT_OPTIONS:MGTK3}
-SCONS_ARGS+= GTK3=1
-USE_GNOME+= gtk30
-.else
-SCONS_ARGS+= GTK3=0
-.endif
-
-.if ${PORT_OPTIONS:MLUA}
-SCONS_ARGS+= LUA=1 SYSTEM_LUA=1
-USE_LUA= yes
-.else
-SCONS_ARGS+= LUA=0
-.endif
-
-.if ${PORT_OPTIONS:MLOGO}
-SCONS_ARGS+= LOGO=1 CREATE_AVI=1
-LIB_DEPENDS+= libgd.so:${PORTSDIR}/graphics/gd
-.else
-SCONS_ARG+= LOGO=0
+.if ${PORT_OPTIONS:MLOGO} && empty(PORT_OPTIONS:MCREATE_AVI)
+IGNORE= LOGO support requires CREATE_AVI support
.endif
-.if ${PORT_OPTIONS:MOPENGL}
-SCONS_ARGS+= OPENGL=1
-USE_GL= gl
-.else
-SCONS_ARGS+= OPENGL=0
-.endif
-
-.if ${PORT_OPTIONS:MCREATE_AVI}
-SCONS_ARGS+= CREATE_AVI=1
-.else
-SCONS_ARGS+= CREATE_AVI=0
-.endif
-
-.if ${PORT_OPTIONS:MDEBUG}
-SCONS_ARGS+= DEBUG=1
-.else
-SCONS_ARGS+= DEBUG=0
-.endif
-
-# Go find a better compiler, base cc does not support mm3dnow.h,
-# breaking the build:
-#
-# In file included from src/drivers/videolog/rgbtorgb.cpp:14:
-# src/drivers/videolog/simd.h:13:56: error: mm3dnow.h: No such file or directory
-#
-# Use clang if in /usr/bin, else set USE_GCC:
-#
-.if (empty(CC:T:Mgcc4*) && empty(CC:T:Mclang*)) || (empty(CXX:T:Mg??4*) && empty(CXX:T:Mclang++*))
-.if (${OSVERSION} >= 900014) && (exists(/usr/bin/clang++) && exists(/usr/bin/clang))
-CC= /usr/bin/clang
-CXX= /usr/bin/clang++
-CPP= /usr/bin/clang-cpp
-.else
-USE_GCC= yes
-.endif
-.endif
-
-post-extract:
- @${RM} ${WRKSRC}/output/*.dll ${WRKSRC}/output/*.chm
-
post-patch:
- ${REINPLACE_CMD} -e 's|pkg-config|%%PKGCONFIG%%|g' \
- ${WRKSRC}/SConstruct
- ${REINPLACE_CMD} -e 's|sdl-config|%%SDLCONFIG%%|g' \
- ${WRKSRC}/SConstruct
- ${REINPLACE_CMD} -e 's|%%PKGCONFIG%%|${LOCALBASE}/bin/pkgconf|g' \
- -e 's|%%SDLCONFIG%%|${LOCALBASE}/bin/sdl-config|g' \
- ${WRKSRC}/SConstruct
- ${REINPLACE_CMD} -e 's|usr|usr/local|g' ${WRKSRC}/fceux.desktop
- ${REINPLACE_CMD} -e '107 s|Exit(1)|#Exit(1)|g' \
- ${WRKSRC}/SConstruct
- ${REINPLACE_CMD} -e '194 s|/usr/local|${STAGEDIR}${PREFIX}|g' \
- ${WRKSRC}/SConstruct
-
-post-install:
-.if ${PORT_OPTIONS:MDOCS}
+ @${REINPLACE_CMD} -e \
+ '/PUBLIC/s|^|#| ; \
+ /CheckLib/s|lua5.1|lua-${LUA_VER}| ; \
+ /LINKFLAGS/s|"-ldl",|| ; \
+ /LINKFLAGS/s|lua5.1|lua-${LUA_VER}| ; \
+ 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
+ (cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} ${i} \
+ ${STAGEDIR}${PREFIX}/bin)
+ (cd ${WRKSRC}/documentation && ${INSTALL_MAN} ${i}.6 \
+ ${STAGEDIR}${MANPREFIX}/man/man6)
+.endfor
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ (cd ${WRKSRC}/bin && ${INSTALL_DATA} *.lua \
+ ${STAGEDIR}${DATADIR})
+.for i in luaScripts palettes tools
+ @(cd ${WRKSRC}/output && ${COPYTREE_SHARE} ${i} \
+ ${STAGEDIR}${DATADIR})
+.endfor
+ (cd ${WRKSRC} && ${INSTALL_DATA} *.desktop \
+ ${STAGEDIR}${DESKTOPDIR})
+ (cd ${WRKSRC} && ${INSTALL_DATA} *.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps)
@${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for file in TODO-PROJECT Videolog.txt cheat.html faq fcs.txt fm2.txt protocol.txt snes9x-lua.html
- @${CP} ${WRKSRC}/documentation/${file} ${STAGEDIR}${DOCSDIR}
+.for i in TODO-PROJECT Videolog.txt cheat.html faq fcs.txt fm2.txt \
+ protocol.txt snes9x-lua.html
+ (cd ${WRKSRC}/documentation && ${INSTALL_DATA} ${i} \
+ ${STAGEDIR}${DOCSDIR})
.endfor
- @${MV} ${WRKSRC}/documentation/tech ${STAGEDIR}${DOCSDIR}
-.endif
- ${MKDIR} ${STAGEDIR}${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKSRC}/fceux.desktop \
- ${STAGEDIR}${PREFIX}/share/applications/fceux.desktop
- @${INSTALL_DATA} ${WRKSRC}/fceux.png \
- ${STAGEDIR}${PREFIX}/share/pixmaps/fceux.png
- @${INSTALL_MAN} ${WRKSRC}/documentation/fceux-net-server.6 \
- ${STAGEDIR}${MAN6PREFIX}/man/man6
- @${INSTALL_MAN} ${WRKSRC}/documentation/fceux.6 \
- ${STAGEDIR}${MAN6PREFIX}/man/man6
+ @(cd ${WRKSRC}/documentation && ${COPYTREE_SHARE} tech \
+ ${STAGEDIR}${DOCSDIR})
.include <bsd.port.mk>
diff --git a/emulators/fceux/files/patch-SConstruct b/emulators/fceux/files/patch-SConstruct
deleted file mode 100644
index bc422d12c981..000000000000
--- a/emulators/fceux/files/patch-SConstruct
+++ /dev/null
@@ -1,38 +0,0 @@
---- SConstruct.bak 2013-12-28 05:22:18.356797171 -0600
-+++ SConstruct 2013-12-28 05:23:52.750132324 -0600
-@@ -138,8 +138,8 @@
- # Should work on any *nix
- env.Append(CCFLAGS = ["-DLUA_USE_LINUX"])
- lua_available = False
-- if conf.CheckLib('lua5.1'):
-- env.Append(LINKFLAGS = ["-ldl", "-llua5.1"])
-+ if conf.CheckLib('lua-5.1'):
-+ env.Append(LINKFLAGS = ["-llua-5.1"])
- env.Append(CCFLAGS = ["-I/usr/include/lua5.1"])
- lua_available = True
- elif conf.CheckLib('lua'):
-@@ -207,18 +207,18 @@
- auxlib_dst = 'bin/auxlib.lua'
- auxlib_inst_dst = prefix + '/share/fceux/auxlib.lua'
-
--fceux_h_src = 'output/fceux.chm'
--fceux_h_dst = 'bin/fceux.chm'
-+#fceux_h_src = 'output/fceux.chm'
-+#fceux_h_dst = 'bin/fceux.chm'
-
--env.Command(fceux_h_dst, fceux_h_src, [Copy(fceux_h_dst, fceux_h_src)])
--env.Command(fceux_dst, fceux_src, [Copy(fceux_dst, fceux_src)])
-+#env.Command(fceux_h_dst, fceux_h_src, [Copy(fceux_h_dst, fceux_h_src)])
-+#env.Command(fceux_dst, fceux_src, [Copy(fceux_dst, fceux_src)])
- env.Command(fceux_net_server_dst, fceux_net_server_src, [Copy(fceux_net_server_dst, fceux_net_server_src)])
- env.Command(auxlib_dst, auxlib_src, [Copy(auxlib_dst, auxlib_src)])
-
- man_src = 'documentation/fceux.6'
- man_net_src = 'documentation/fceux-net-server.6'
--man_dst = prefix + '/share/man/man6/fceux.6'
--man_net_dst = prefix + '/share/man/man6/fceux-net-server.6'
-+man_dst = prefix + '/man/man6/fceux.6'
-+man_net_dst = prefix + '/man/man6/fceux-net-server.6'
-
- share_src = 'output/'
- share_dst = prefix + '/share/fceux/'
diff --git a/emulators/fceux/files/patch-src-lua-engine b/emulators/fceux/files/patch-src-lua-engine
deleted file mode 100644
index bf0a00db4883..000000000000
--- a/emulators/fceux/files/patch-src-lua-engine
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/lua-engine.cpp.bak 2013-12-28 06:09:01.096799825 -0600
-+++ src/lua-engine.cpp 2013-12-28 06:10:59.276805867 -0600
-@@ -83,9 +83,9 @@
-
- extern "C"
- {
--#include <lua.h>
--#include <lauxlib.h>
--#include <lualib.h>
-+#include <lua51/lua.h>
-+#include <lua51/lauxlib.h>
-+#include <lua51/lualib.h>
- #ifdef WIN32
- #include <lstate.h>
- int iuplua_open(lua_State * L);
diff --git a/emulators/fceux/pkg-descr b/emulators/fceux/pkg-descr
index fcd65a88e11f..996dbda4721a 100644
--- a/emulators/fceux/pkg-descr
+++ b/emulators/fceux/pkg-descr
@@ -1,12 +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
+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.
+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 currently supports the following iNES mappers(many partially):
+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
index c5d011dc2b99..e85cc528c142 100644
--- a/emulators/fceux/pkg-plist
+++ b/emulators/fceux/pkg-plist
@@ -1,7 +1,31 @@
bin/fceux
bin/fceux-net-server
+man/man6/fceux.6.gz
+man/man6/fceux-net-server.6.gz
share/applications/fceux.desktop
-share/pixmaps/fceux.png
+%%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
@@ -72,31 +96,7 @@ share/pixmaps/fceux.png
%%DATADIR%%/palettes/nestopia_rgb.pal
%%DATADIR%%/palettes/nestopia_yuv.pal
%%DATADIR%%/tools/taseditor_patterns.txt
-%%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
-man/man6/fceux-net-server.6.gz
-man/man6/fceux.6.gz
+share/pixmaps/fceux.png
@dirrm %%DATADIR%%/tools
@dirrm %%DATADIR%%/palettes
@dirrm %%DATADIR%%/luaScripts/taseditor