Update to fceux-2.4.0.

From Omar Polo; thanks!
This commit is contained in:
bentley 2021-10-29 10:13:16 +00:00
parent ba11897a71
commit 7e8bdf43c0
13 changed files with 164 additions and 185 deletions

View File

@ -1,14 +1,12 @@
# $OpenBSD: Makefile,v 1.20 2019/07/12 20:46:08 sthen Exp $
# $OpenBSD: Makefile,v 1.21 2021/10/29 10:13:16 bentley Exp $
COMMENT = emulator for Nintendo Entertainment System
V = 2.2.3
DISTNAME = fceux-${V}.src
PKGNAME = fceux-${V}
V = 2.4.0
DISTNAME = fceux-${V}
CATEGORIES = emulators games
REVISION = 5
HOMEPAGE = http://fceux.com/
HOMEPAGE = https://fceux.com/web/home.html
MAINTAINER = Anthony J. Bentley <anthony@anjbe.name>
@ -18,52 +16,33 @@ PERMIT_PACKAGE = Yes
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=fceultra/}
WANTLIB += ${COMPILER_LIBCXX} ${MODLUA_WANTLIB}
WANTLIB += Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xi
WANTLIB += Xinerama Xrandr Xrender atk-1.0 cairo expat ffi fontconfig
WANTLIB += GL SDL X11 c gd gdk-x11-2.0 gdk_pixbuf-2.0 glib-2.0
WANTLIB += gobject-2.0 gtk-x11-2.0 lua5.1 m pthread z
WANTLIB += freetype fribidi gio-2.0 gmodule-2.0 graphite2 harfbuzz
WANTLIB += intl pango-1.0 pangocairo-1.0 pangoft2-1.0 pcre pixman-1
WANTLIB += png xcb xcb-render xcb-shm
WANTLIB += GL GLU Qt5Core Qt5Gui Qt5OpenGL Qt5Widgets
WANTLIB += SDL2 c m minizip x264 z
COMPILER = base-clang ports-gcc base-gcc
RUN_DEPENDS = devel/desktop-file-utils
LIB_DEPENDS = devel/sdl \
graphics/gd \
x11/gtk+2
LIB_DEPENDS = archivers/minizip \
devel/sdl2 \
multimedia/x264
MODULES = devel/scons \
lang/lua
MAKE_ENV = CC="${CC}" \
CXX="${CXX}" \
CXXFLAGS="${CXXFLAGS} -DIOAPI_NO_64" \
LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib -lpthread"
MODSCONS_FLAGS = SYSTEM_LUA=1
CONFIGURE_STYLE = scons
WRKDIST = ${WRKDIR}/fceux-${V}
MODULES = devel/cmake \
lang/lua \
x11/qt5
NO_TEST = Yes
SUBST_VARS += MODLUA_WANTLIB
SUBST_VARS += MODLUA_LIB
SUBST_VARS += HOMEPAGE V
FIX_CRLF_FILES = src/*.{lua,txt}
post-extract:
@perl -MExtUtils::Command -e dos2unix ${WRKSRC}
chmod +x ${WRKSRC}/scripts/genGitHdr.sh
pre-configure:
${SUBST_CMD} ${WRKDIST}/SConstruct ${WRKDIST}/fceux.desktop
${SUBST_CMD} ${WRKDIST}/fceux.desktop ${WRKDIST}/scripts/genGitHdr.sh
do-install:
${SETENV} ${MAKE_ENV} ${MODSCONS_BIN} -C ${WRKSRC} \
${MODSCONS_ENV} ${MODSCONS_FLAGS} \
--prefix=${PREFIX} ${INSTALL_TARGET}
#BROKEN = nojunk
# XXX scons picks up x264.h even though it's in an apparently unused ifdef block
DPB_PROPERTIES = nojunk
post-install:
rm ${PREFIX}/man/man6/fceux-net-server.6
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (fceux-2.2.3.src.tar.gz) = S+bdqaNH+UGAmjxKkNIYFbUCOErf3Vlq2qey2vCIgj4=
SIZE (fceux-2.2.3.src.tar.gz) = 9292792
SHA256 (fceux-2.4.0.tar.gz) = p4wm2EfCIlPRTSZO8DiWk3GIowL8GQtgiLAaYFYsLno=
SIZE (fceux-2.4.0.tar.gz) = 21807471

View File

@ -1,45 +0,0 @@
$OpenBSD: patch-SConstruct,v 1.5 2016/08/01 18:31:29 bentley Exp $
--- SConstruct.orig Sun Jul 31 20:35:51 2016
+++ SConstruct Sun Jul 31 20:36:16 2016
@@ -128,9 +128,6 @@ else:
env.Append(CPPDEFINES=["_GTK3"])
env.Append(CCFLAGS = ["-D_GTK"])
- ### Just make every configuration use -ldl, it may be needed for some reason.
- env.Append(LIBS = ["-ldl"])
-
### Lua platform defines
### Applies to all files even though only lua needs it, but should be ok
if env['LUA']:
@@ -144,9 +141,9 @@ else:
env.Append(CCFLAGS = ["-DLUA_USE_LINUX"])
lua_available = False
if env['SYSTEM_LUA']:
- if conf.CheckLib('lua5.1'):
- env.Append(LINKFLAGS = ["-llua5.1"])
- env.Append(CCFLAGS = ["-I/usr/include/lua5.1"])
+ if conf.CheckLib('${MODLUA_WANTLIB}'):
+ env.Append(LINKFLAGS = ["${MODLUA_LIB}"])
+ env.Append(CCFLAGS = ["-I${MODLUA_INCL_DIR}"])
lua_available = True
elif conf.CheckLib('lua'):
env.Append(LINKFLAGS = ["-llua"])
@@ -184,11 +181,6 @@ if env['FRAMESKIP']:
print "base CPPDEFINES:",env['CPPDEFINES']
print "base CCFLAGS:",env['CCFLAGS']
-if env['DEBUG']:
- env.Append(CPPDEFINES=["_DEBUG"], CCFLAGS = ['-g', '-O0'])
-else:
- env.Append(CCFLAGS = ['-O2'])
-
if env['PLATFORM'] != 'win32' and env['PLATFORM'] != 'cygwin' and env['CREATE_AVI']:
env.Append(CPPDEFINES=["CREATE_AVI"])
else:
@@ -237,5 +229,5 @@ env.InstallAs(prefix + '/share/fceux/', share_src)
env.Install(prefix + '/share/fceux/', auxlib_src)
env.Install(prefix + '/share/pixmaps/', image_src)
env.Install(prefix + '/share/applications/', desktop_src)
-env.Install(prefix + "/share/man/man6/", [man_src, man_net_src])
+env.Install(prefix + "/man/man6/", [man_src, man_net_src])
env.Alias('install', prefix)

View File

@ -1,22 +0,0 @@
$OpenBSD: patch-fceux-server_server_cpp,v 1.2 2017/04/18 22:00:34 espie Exp $
--- fceux-server/server.cpp.orig Tue Apr 18 21:10:50 2017
+++ fceux-server/server.cpp Tue Apr 18 23:55:53 2017
@@ -51,7 +51,9 @@
// MSG_NOSIGNAL and SOL_TCP have been depreciated on osx
#if defined (__APPLE__) || defined(BSD)
+#if !defined(__OpenBSD__)
#define MSG_NOSIGNAL SO_NOSIGPIPE
+#endif
#define SOL_TCP IPPROTO_TCP
#endif
@@ -114,7 +116,7 @@ int LoadConfigFile(char *fn)
if(fp=fopen(fn,"rb"))
{
char buf[256];
- while(fgets(buf, 256, fp) > 0)
+ while(fgets(buf, 256, fp) != NULL)
{
if(!strncasecmp(buf,"maxclients",strlen("maxclients")))
sscanf(buf,"%*s %d",&ServerConfig.MaxClients);

View File

@ -1,14 +1,16 @@
$OpenBSD: patch-fceux_desktop,v 1.3 2016/08/01 18:31:29 bentley Exp $
--- fceux.desktop.orig Sun Jul 31 20:26:29 2016
+++ fceux.desktop Sun Jul 31 20:31:12 2016
$OpenBSD: patch-fceux_desktop,v 1.4 2021/10/29 10:13:16 bentley Exp $
Index: fceux.desktop
--- fceux.desktop.orig
+++ fceux.desktop
@@ -5,8 +5,8 @@ Name=Fceux
GenericName=NES/Famicom emulator
NoDisplay=false
Comment=Emulate NES ROMs
-Exec=/usr/bin/fceux
-Icon=/usr/share/pixmaps/fceux.png
+Exec=${PREFIX}/bin/fceux
+Icon=${PREFIX}/share/pixmaps/fceux.png
-Exec=/usr/bin/fceux %f
-Icon=/usr/share/pixmaps/fceux1.png
+Exec=${PREFIX}/bin/fceux %f
+Icon=${PREFIX}/share/pixmaps/fceux1.png
Terminal=false
MimeType=application/x-nes-rom
Categories=Game;Emulator;

View File

@ -0,0 +1,42 @@
$OpenBSD: patch-scripts_genGitHdr_sh,v 1.1 2021/10/29 10:13:16 bentley Exp $
don't call git
Index: scripts/genGitHdr.sh
--- scripts/genGitHdr.sh.orig
+++ scripts/genGitHdr.sh
@@ -3,14 +3,14 @@
OUTPUT_DIR=$1;
FILE="fceux_git_info.cpp"
-TMP_FILE="/tmp/$FILE";
+TMP_FILE="$OUTPUT_DIR/$FILE";
echo "Output File: $OUTPUT_DIR/$FILE";
-GIT_URL=`git config --get remote.origin.url`;
-GIT_REV=`git rev-parse HEAD`;
+GIT_URL="${HOMEPAGE}"
+GIT_REV="${V}"
-echo "// fceux_git_info.cpp -- DO NOT EDIT: This file is auto-generated at build" >| $TMP_FILE;
+echo "// fceux_git_info.cpp -- DO NOT EDIT: This file is auto-generated at build" > $TMP_FILE;
echo "#include \"Qt/fceux_git_info.h\" " >> $TMP_FILE;
echo "#define FCEUX_GIT_URL \"$GIT_URL\" " >> $TMP_FILE;
echo "#define FCEUX_GIT_REV \"$GIT_REV\" " >> $TMP_FILE;
@@ -19,15 +19,3 @@ echo "const char *fceu_get_git_rev(void){ return FCEUX
echo "Git URL: $GIT_URL ";
echo "Git Rev: $GIT_REV ";
-if [ -e $OUTPUT_DIR/$FILE ]; then
-
- diff -q $TMP_FILE $OUTPUT_DIR/$FILE
-
- if [ $? != 0 ]; then
- mv -f $TMP_FILE $OUTPUT_DIR/$FILE;
- echo "Updated $OUTPUT_DIR/$FILE";
- fi
-else
- mv -f $TMP_FILE $OUTPUT_DIR/$FILE
- echo "Generated $OUTPUT_DIR/$FILE";
-fi

View File

@ -0,0 +1,33 @@
$OpenBSD: patch-src_CMakeLists_txt,v 1.1 2021/10/29 10:13:16 bentley Exp $
Index: src/CMakeLists.txt
--- src/CMakeLists.txt.orig
+++ src/CMakeLists.txt
@@ -98,7 +98,7 @@ else(WIN32)
endif()
# Check for LUA
- pkg_search_module( LUA lua5.1 lua-5.1 )
+ pkg_search_module( LUA lua51 lua-5.1 )
add_definitions( -DHAVE_ASPRINTF ) # What system wouldn't have this?
@@ -106,7 +106,7 @@ else(WIN32)
set( OPENGL_LDFLAGS "-framework OpenGL" )
else()
set( OPENGL_LDFLAGS ${OPENGL_LIBRARIES} )
- set( SYS_LIBS -lrt -lpthread )
+ set( SYS_LIBS -lpthread )
endif()
endif(WIN32)
@@ -581,7 +581,7 @@ install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/auxlib.
install( DIRECTORY ${CMAKE_SOURCE_DIR}/output/. DESTINATION share/fceux )
install( FILES ${CMAKE_SOURCE_DIR}/fceux1.png DESTINATION share/pixmaps )
install( FILES ${CMAKE_SOURCE_DIR}/fceux.desktop DESTINATION share/applications )
-install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux.6 DESTINATION share/man/man6 )
-install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux-net-server.6 DESTINATION share/man/man6 )
+install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux.6 DESTINATION man/man6 )
+install( FILES ${CMAKE_SOURCE_DIR}/documentation/fceux-net-server.6 DESTINATION man/man6 )
endif(APPLE)

View File

@ -1,20 +0,0 @@
$OpenBSD: patch-src_boards_rt-01_cpp,v 1.1 2017/04/18 22:00:34 espie Exp $
--- src/boards/rt-01.cpp.orig Tue Apr 18 23:51:15 2017
+++ src/boards/rt-01.cpp Tue Apr 18 23:52:16 2017
@@ -25,6 +25,7 @@
*/
#include "mapinc.h"
+#include <cstdlib>
static DECLFR(UNLRT01Read) {
// u16 i, prot_areas[2][2] = {
@@ -33,7 +34,7 @@ static DECLFR(UNLRT01Read) {
// };
if(((A >= 0xCE80) && (A < 0xCF00)) ||
((A >= 0xFE80) && (A < 0xFF00))) {
- return 0xF2 | (rand() & 0x0D);
+ return 0xF2 | (std::rand() & 0x0D);
} else
return CartBR(A);
}

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_cheat_cpp,v 1.1 2017/04/18 22:00:34 espie Exp $
--- src/cheat.cpp.orig Tue Apr 18 23:40:44 2017
+++ src/cheat.cpp Tue Apr 18 23:41:03 2017
@@ -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) != NULL)
{
char *tbuf=linebuf;
int doc=0;

View File

@ -0,0 +1,41 @@
$OpenBSD: patch-src_drivers_Qt_ConsoleWindow_cpp,v 1.1 2021/10/29 10:13:16 bentley Exp $
Index: src/drivers/Qt/ConsoleWindow.cpp
--- src/drivers/Qt/ConsoleWindow.cpp.orig
+++ src/drivers/Qt/ConsoleWindow.cpp
@@ -3817,7 +3817,7 @@ int consoleWin_t::getSchedParam( int &policy, int &pri
{
int ret = 0;
-#if defined(__linux__) || defined(__unix__)
+#if defined(__linux__)
struct sched_param p;
policy = sched_getscheduler( getpid() );
@@ -3833,7 +3833,7 @@ int consoleWin_t::getSchedParam( int &policy, int &pri
priority = p.sched_priority;
}
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__OpenBSD__)
struct sched_param p;
if ( pthread_getschedparam( pthread_self(), &policy, &p ) )
@@ -3853,7 +3853,7 @@ int consoleWin_t::getSchedParam( int &policy, int &pri
int consoleWin_t::setSchedParam( int policy, int priority )
{
int ret = 0;
-#if defined(__linux__) || defined(__unix__)
+#if defined(__linux__)
struct sched_param p;
int minPrio, maxPrio;
@@ -3875,7 +3875,7 @@ int consoleWin_t::setSchedParam( int policy, int prior
perror("GUI thread sched_setscheduler error");
ret = -1;
}
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__OpenBSD__)
struct sched_param p;
int minPrio, maxPrio;

View File

@ -1,29 +0,0 @@
$OpenBSD: patch-src_utils_xstring_cpp,v 1.1 2018/04/15 20:52:34 naddy Exp $
Index: src/utils/xstring.cpp
--- src/utils/xstring.cpp.orig
+++ src/utils/xstring.cpp
@@ -231,8 +231,8 @@ std::string BytesToString(const void* data, int len)
{
Base64Table[ input[0] >> 2 ],
Base64Table[ ((input[0] & 0x03) << 4) | (input[1] >> 4) ],
- n<2 ? '=' : Base64Table[ ((input[1] & 0x0F) << 2) | (input[2] >> 6) ],
- n<3 ? '=' : Base64Table[ input[2] & 0x3F ]
+ (unsigned char)(n<2 ? '=' : Base64Table[ ((input[1] & 0x0F) << 2) | (input[2] >> 6) ]),
+ (unsigned char)(n<3 ? '=' : Base64Table[ input[2] & 0x3F ])
};
ret.append(output, output+4);
}
@@ -296,9 +296,9 @@ bool StringToBytes(const std::string& str, void* data,
}
unsigned char outpacket[3] =
{
- (converted[0] << 2) | (converted[1] >> 4),
- (converted[1] << 4) | (converted[2] >> 2),
- (converted[2] << 6) | (converted[3])
+ (unsigned char)((converted[0] << 2) | (converted[1] >> 4)),
+ (unsigned char)((converted[1] << 4) | (converted[2] >> 2)),
+ (unsigned char)((converted[2] << 6) | (converted[3]))
};
int outlen = (input[2] == '=') ? 1 : (input[3] == '=' ? 2 : 3);
if(outlen > len) outlen = len;

View File

@ -3,5 +3,5 @@ emulator with excellent compatibility with almost every rom dump
available, supports both PAL and NTSC modes, save states, game genie
support, and networking. FCEUX also offers tools for debugging,
rom-hacking, map making, Tool-assisted movies, and Lua scripting.
Finally FCEUX includes a GTK2 GUI to assist in configuration and
gameplay.
Finally FCEUX includes a Qt5 GUI to assist in configuration and
gameplay.

View File

@ -1,13 +1,10 @@
@comment $OpenBSD: PLIST,v 1.5 2018/06/27 21:03:42 espie Exp $
@comment $OpenBSD: PLIST,v 1.6 2021/10/29 10:13:16 bentley Exp $
@bin bin/fceux
@bin bin/fceux-net-server
@man man/man6/fceux-net-server.6
@man man/man6/fceux.6
share/applications/fceux.desktop
share/fceux/
share/fceux/auxlib.lua
share/fceux/fceux.chm
share/fceux/${MODLUA_WANTLIB}.dll
share/fceux/lua${MODLUA_VERSION}.dll
share/fceux/${MODLUA_DEP}.dll
share/fceux/luaScripts/
share/fceux/luaScripts/AVI-HeadsUpDisplay.lua
@ -48,6 +45,8 @@ share/fceux/luaScripts/SMB3-RainbowRiding.lua
share/fceux/luaScripts/ShowPalette.lua
share/fceux/luaScripts/SoundDisplay.lua
share/fceux/luaScripts/SoundDisplay2.lua
share/fceux/luaScripts/Sprites.lua
share/fceux/luaScripts/SpritesSimple.lua
share/fceux/luaScripts/Subtitler.lua
share/fceux/luaScripts/TeenageMutantNinjaTurtles.lua
share/fceux/luaScripts/UsingLuaBot-Documentation.txt
@ -55,8 +54,10 @@ share/fceux/luaScripts/UsingLuaScripting-Documentation.txt
share/fceux/luaScripts/UsingLuaScripting-ListofFunctions.txt
share/fceux/luaScripts/ZapperDisplay.lua
share/fceux/luaScripts/ZapperFun.lua
share/fceux/luaScripts/auxlib.lua
share/fceux/luaScripts/luabot_framework.lua
share/fceux/luaScripts/m_utils.lua
share/fceux/luaScripts/scrolling-pitch-display.lua
share/fceux/luaScripts/shapedefs.lua
share/fceux/luaScripts/taseditor/
share/fceux/luaScripts/taseditor/InputDisplay_for_Selection.lua
@ -75,21 +76,30 @@ share/fceux/palettes/ASQ_realityA.pal
share/fceux/palettes/ASQ_realityB.pal
share/fceux/palettes/BMF_final2.pal
share/fceux/palettes/BMF_final3.pal
share/fceux/palettes/Composite_Direct_FBX.pal
share/fceux/palettes/FCEU-13-default_nitsuja.pal
share/fceux/palettes/FCEU-15-nitsuja_new.pal
share/fceux/palettes/FCEUX.pal
share/fceux/palettes/NES_Classic_FBX.pal
share/fceux/palettes/NRS_NTSC.pal
share/fceux/palettes/NRS_PAL.pal
share/fceux/palettes/PC-10.pal
share/fceux/palettes/PVM_Style_D93_FBX.pal
share/fceux/palettes/RP2C03.pal
share/fceux/palettes/RP2C04_0001.pal
share/fceux/palettes/RP2C04_0002.pal
share/fceux/palettes/RP2C04_0003.pal
share/fceux/palettes/RP2C04_0004.pal
share/fceux/palettes/SONY_CXA2025AS_US.pal
share/fceux/palettes/Smooth_FBX.pal
share/fceux/palettes/Unsaturated-V6.pal
share/fceux/palettes/Wavebeam.pal
share/fceux/palettes/nestopia_rgb.pal
share/fceux/palettes/nestopia_yuv.pal
share/fceux/palettes/r57shell_PAL.pal
share/fceux/taseditor.chm
share/fceux/tools/
share/fceux/tools/taseditor_patterns.txt
share/pixmaps/
share/pixmaps/fceux.png
@tag update-desktop-database
share/pixmaps/fceux1.png