ports/187493: emulators/fceux: Support STRIP properly
KATO Tsuguru
tkato432 at yahoo.com
Wed Mar 12 18:40:01 UTC 2014
>Number: 187493
>Category: ports
>Synopsis: emulators/fceux: Support STRIP properly
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Mar 12 18:40:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: KATO Tsuguru
>Release: FreeBSD 8.4-RELEASE-p7 i386
>Organization:
>Environment:
>Description:
- Support STRIP properly
- Support compiler USES macro
- Support COPYTREE_SHARE
- Fix pathname in desktop entry file
Remove file:
files/patch-SConstruct
files/patch-src-lua-engine
>How-To-Repeat:
>Fix:
diff -urN /usr/ports/emulators/fceux/Makefile emulators/fceux/Makefile
--- /usr/ports/emulators/fceux/Makefile 2014-03-11 06:22:51.000000000 +0900
+++ emulators/fceux/Makefile 2014-03-13 00:00:00.000000000 +0900
@@ -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 at 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 -urN /usr/ports/emulators/fceux/files/patch-SConstruct emulators/fceux/files/patch-SConstruct
--- /usr/ports/emulators/fceux/files/patch-SConstruct 2014-03-09 19:56:08.000000000 +0900
+++ emulators/fceux/files/patch-SConstruct 1970-01-01 09:00:00.000000000 +0900
@@ -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 -urN /usr/ports/emulators/fceux/files/patch-src-lua-engine emulators/fceux/files/patch-src-lua-engine
--- /usr/ports/emulators/fceux/files/patch-src-lua-engine 2014-03-09 19:56:22.000000000 +0900
+++ emulators/fceux/files/patch-src-lua-engine 1970-01-01 09:00:00.000000000 +0900
@@ -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 -urN /usr/ports/emulators/fceux/pkg-descr emulators/fceux/pkg-descr
--- /usr/ports/emulators/fceux/pkg-descr 2013-11-06 22:06:18.000000000 +0900
+++ emulators/fceux/pkg-descr 2014-03-13 00:00:00.000000000 +0900
@@ -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 -urN /usr/ports/emulators/fceux/pkg-plist emulators/fceux/pkg-plist
--- /usr/ports/emulators/fceux/pkg-plist 2014-03-09 19:56:04.000000000 +0900
+++ emulators/fceux/pkg-plist 2014-03-13 00:00:00.000000000 +0900
@@ -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 @@
%%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
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list