Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Mar 2014 03:32:38 +0900
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/187493: emulators/fceux: Support STRIP properly
Message-ID:  <20140313033238.7a0d2b88886a9b0b4e7abbc9@yahoo.com>
Resent-Message-ID: <201403121840.s2CIe0GW044670@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



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