diff options
author | miwi <miwi@FreeBSD.org> | 2014-04-11 21:42:47 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2014-04-11 21:42:47 +0800 |
commit | 01fa91ec78dd4127b2eb842ba31408f79d28234d (patch) | |
tree | 5f43d69fbe8d19750c93d16acc4a9fe1315d12af /emulators | |
parent | 7142cfbb19662fc308e1ea3a791d38b174290ea8 (diff) | |
download | freebsd-ports-gnome-01fa91ec78dd4127b2eb842ba31408f79d28234d.tar.gz freebsd-ports-gnome-01fa91ec78dd4127b2eb842ba31408f79d28234d.tar.zst freebsd-ports-gnome-01fa91ec78dd4127b2eb842ba31408f79d28234d.zip |
- Support STRIP properly
- Support compiler USES macro
- Support COPYTREE_SHARE
- Fix pathname in desktop entry file
PR: 187493
Submitted by: ports fury
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/fceux/Makefile | 188 | ||||
-rw-r--r-- | emulators/fceux/files/patch-SConstruct | 38 | ||||
-rw-r--r-- | emulators/fceux/files/patch-src-lua-engine | 15 | ||||
-rw-r--r-- | emulators/fceux/pkg-descr | 15 | ||||
-rw-r--r-- | emulators/fceux/pkg-plist | 52 |
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 |