pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

emulators/fbneo-latest: Adapt emulators/fbneo to nightly releases, as suggested by upstream.



Module Name:	pkgsrc-wip
Committed By:	adr <adr%sdf.org@localhost>
Pushed By:	adr
Date:		Wed Feb 26 00:29:50 2025 +0000
Changeset:	934d620fd3ca3cd1b88259f59e870997aa29af1e

Modified Files:
	Makefile
Added Files:
	fbneo-latest/COMMIT_MSG
	fbneo-latest/DESCR
	fbneo-latest/Makefile
	fbneo-latest/PLIST
	fbneo-latest/distinfo
	fbneo-latest/files/fbneo.desktop
	fbneo-latest/patches/patch-makefile
	fbneo-latest/patches/patch-makefile.sdl2
	fbneo-latest/patches/patch-src_burn_burn__endian.h

Log Message:
emulators/fbneo-latest: Adapt emulators/fbneo to nightly releases,
as suggested by upstream.

The project uses now an included version of libspng (https://libspng.org).
Input is now completely configurable by the tab menu.
Fixed bugs, new emulation features, &c.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=934d620fd3ca3cd1b88259f59e870997aa29af1e

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |  1 +
 fbneo-latest/COMMIT_MSG                            | 14 +++++
 fbneo-latest/DESCR                                 |  3 ++
 fbneo-latest/Makefile                              | 62 ++++++++++++++++++++++
 fbneo-latest/PLIST                                 |  4 ++
 fbneo-latest/distinfo                              |  8 +++
 fbneo-latest/files/fbneo.desktop                   |  9 ++++
 fbneo-latest/patches/patch-makefile                | 24 +++++++++
 fbneo-latest/patches/patch-makefile.sdl2           | 52 ++++++++++++++++++
 fbneo-latest/patches/patch-src_burn_burn__endian.h | 20 +++++++
 10 files changed, 197 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 25e62f2096..c2247ddca1 100644
--- a/Makefile
+++ b/Makefile
@@ -927,6 +927,7 @@ SUBDIR+=	fastx-toolkit
 SUBDIR+=	fatsort
 SUBDIR+=	faun
 SUBDIR+=	fbida
+SUBDIR+=	fbneo-latest
 SUBDIR+=	fbpager
 SUBDIR+=	fbpanel
 SUBDIR+=	fbsd2pkg
diff --git a/fbneo-latest/COMMIT_MSG b/fbneo-latest/COMMIT_MSG
new file mode 100644
index 0000000000..193ad1e4bf
--- /dev/null
+++ b/fbneo-latest/COMMIT_MSG
@@ -0,0 +1,14 @@
+emulators/fbneo-latest: Add fbneo-latest version 0
+
+Packaged in wip by adr.
+
+This is an update of emulators/fbneo. I contacted mainstream
+asking for a new release so joysticks can be configured:
+
+"Nightlies are the recommended builds, and the only ones we provide
+support for. Anybody using an outdated version of FBNeo is strongly
+advised to update to the latest nightly.  Arguably, i've been
+considering bumping the version more regularily, but that would be
+for the sake of having easier versioning for romset management,
+not for the sake of having outdated versions available from 3rd
+party package managers."
diff --git a/fbneo-latest/DESCR b/fbneo-latest/DESCR
new file mode 100644
index 0000000000..267065dbcd
--- /dev/null
+++ b/fbneo-latest/DESCR
@@ -0,0 +1,3 @@
+FinalBurn Neo is an emulator for arcade games and select consoles.
+
+It is based on the emulators FinalBurn and old versions of MAME.
diff --git a/fbneo-latest/Makefile b/fbneo-latest/Makefile
new file mode 100644
index 0000000000..5b184fc85f
--- /dev/null
+++ b/fbneo-latest/Makefile
@@ -0,0 +1,62 @@
+# $NetBSD: Makefile,v 1.6 2025/02/22 19:37:36 rillig Exp $
+
+# Form upstream: nightlies are the recommended builds, and the only
+# ones we provide support for. Anybody using an outdated version of
+# FBNeo is strongly advised to update to the latest nightly.
+VERSION=	1.0.0.03 # Reported by the software
+DISTNAME=	fbneo_latest-${VERSION}
+CATEGORIES=	emulators
+MASTER_SITES=	${MASTER_SITE_GITHUB:=finalburnneo/}
+GITHUB_PROJECT=	FBNeo
+GITHUB_TAG=	8127c5e30a6d559ecc096e0ca510bf9cbe5dc92d
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/finalburnneo/FBNeo
+COMMENT=	FinalBurn Neo - the arcade game emulator (SDL2 version)
+LICENSE=	fbalpha-license
+
+USE_TOOLS+=	gmake perl
+MAKE_FILE=	makefile
+
+WRKSRC=		${WRKDIR}/${GITHUB_PROJECT}-${GITHUB_TAG}
+
+FORCE_CXX_STD+=	gnu++98
+
+BUILD_TARGET=	sdl2
+
+MAKE_FLAGS+=	RELEASEBUILD=1
+MAKE_FLAGS+=	INCLUDE_7Z_SUPPORT=1
+MAKE_FLAGS+=	PERL=1
+
+REPLACE_PERL+=	src/dep/scripts/*.pl
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+TOOL_DEPENDS+=	nasm-[0-9]*:../../devel/nasm
+.endif
+
+.include "../../mk/endian.mk"
+.if ${MACHINE_ENDIAN} == "little"
+MAKE_FLAGS+=	LSB_FIRST=1
+.endif
+
+LDFLAGS+=	-lz
+
+MAKE_JOBS_SAFE=	no
+
+INSTALLATION_DIRS+=	bin
+INSTALLATION_DIRS+=	share/applications
+INSTALLATION_DIRS+=	share/pixmaps
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/fbneo ${DESTDIR}${PREFIX}/bin
+	${INSTALL_DATA} ${FILESDIR}/fbneo.desktop ${DESTDIR}${PREFIX}/share/applications
+	${INSTALL_DATA} ${WRKSRC}/projectfiles/xcode/Emulator/Assets.xcassets/AppIcon.appiconset/icon_128.png \
+		${DESTDIR}${PREFIX}/share/pixmaps/fbneo.png
+
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/SDL2_image/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/fbneo-latest/PLIST b/fbneo-latest/PLIST
new file mode 100644
index 0000000000..e3fe5bddd8
--- /dev/null
+++ b/fbneo-latest/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1 2023/05/29 19:30:47 nia Exp $
+bin/fbneo
+share/applications/fbneo.desktop
+share/pixmaps/fbneo.png
diff --git a/fbneo-latest/distinfo b/fbneo-latest/distinfo
new file mode 100644
index 0000000000..8ba1550083
--- /dev/null
+++ b/fbneo-latest/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.2 2025/02/22 19:37:36 rillig Exp $
+
+BLAKE2s (fbneo_latest-1.0.0.03-8127c5e30a6d559ecc096e0ca510bf9cbe5dc92d.tar.gz) = 08c10c1f05719625a2c8c4188035c7b1af9e0f8e2eb8d79c132e0d9837321987
+SHA512 (fbneo_latest-1.0.0.03-8127c5e30a6d559ecc096e0ca510bf9cbe5dc92d.tar.gz) = 4df64f21eb38185ee977319503702fb3f6992ee7230aac7a333f8207c936c8e0d426a1e61c6a6eb30a02ff3af96d2413df00209dda07852512d289a03ebfd1db
+Size (fbneo_latest-1.0.0.03-8127c5e30a6d559ecc096e0ca510bf9cbe5dc92d.tar.gz) = 13842228 bytes
+SHA1 (patch-makefile) = 8cda282eb8560eedcbf94e5256dc2778743b1633
+SHA1 (patch-makefile.sdl2) = ae59085364d58dd5168a823d30c5253100a4d058
+SHA1 (patch-src_burn_burn__endian.h) = fc7d4a08ab0918304bde5eb1dee3166dc8875535
diff --git a/fbneo-latest/files/fbneo.desktop b/fbneo-latest/files/fbneo.desktop
new file mode 100644
index 0000000000..fe98f05a23
--- /dev/null
+++ b/fbneo-latest/files/fbneo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=FinalBurn Neo
+Comment=Arcade game emulator
+Icon=fbneo
+Exec=fbneo -menu -integerscale -joy
+Terminal=false
+Categories=Game;Emulator;
diff --git a/fbneo-latest/patches/patch-makefile b/fbneo-latest/patches/patch-makefile
new file mode 100644
index 0000000000..1efbcaa8d7
--- /dev/null
+++ b/fbneo-latest/patches/patch-makefile
@@ -0,0 +1,24 @@
+$NetBSD: patch-makefile,v 1.1 2023/05/29 19:30:48 nia Exp $
+
+Disable stuff we don't necessarily actually want to assume.
+
+--- makefile.orig	2025-02-25 14:10:51.000000000 +0000
++++ makefile
+@@ -21,7 +21,7 @@ UNICODE = 1
+ #BUILD_A68K = 1
+ 
+ # Include x86 Assembly routines
+-BUILD_X86_ASM = 1
++#BUILD_X86_ASM = 1
+ 
+ # Include GCC optmisations for your CPU e.g use -march=native. WARNING: This might mean that the generated binaries will not run on other peoples (older) machines!
+ #BUILD_NATIVE = 1
+@@ -65,7 +65,7 @@ FASTCALL = 1
+ PERL = 1
+ 
+ # Endianness
+-LSB_FIRST = 1
++#LSB_FIRST = 1
+ 
+ # Include png.h from burner.h
+ INCLUDE_LIB_PNGH = 1
diff --git a/fbneo-latest/patches/patch-makefile.sdl2 b/fbneo-latest/patches/patch-makefile.sdl2
new file mode 100644
index 0000000000..c094aeed87
--- /dev/null
+++ b/fbneo-latest/patches/patch-makefile.sdl2
@@ -0,0 +1,52 @@
+$NetBSD: patch-makefile.sdl2,v 1.1 2023/05/29 19:30:48 nia Exp $
+
+Honour CFLAGS. Disable partial linking (incompatible with PIE).
+
+Unbundle libpng and zlib.
+
+--- makefile.sdl2.orig	2025-02-25 14:10:51.000000000 +0000
++++ makefile.sdl2
+@@ -50,7 +50,7 @@ srcdir	= src/
+ include makefile.burn_rules
+ 
+ # Platform stuff
+-alldir	+= 	burner burner/sdl burner/sdl dep/libs/libspng dep/libs/lib7z dep/libs/zlib intf intf/video \
++alldir	+= 	burner burner/sdl burner/sdl dep/libs/libspng dep/libs/lib7z intf intf/video \
+ 			intf/video/scalers 	intf/video/sdl intf/audio intf/audio/sdl intf/input intf/input/sdl intf/cd intf/cd/sdl \
+ 			intf/perfcount intf/perfcount/sdl dep/generated
+ 
+@@ -58,9 +58,6 @@ depobj	+= 	neocdlist.o \
+ 			\
+ 			conc.o cong.o dat.o gamc.o gami.o image.o ioapi.o misc.o sshot.o state.o statec.o unzip.o zipfn.o \
+ 			\
+-			adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o \
+-			trees.o uncompr.o zutil.o \
+-			\
+ 			spng.o \
+ 			\
+ 			aud_dsp.o aud_interface.o cd_interface.o inp_interface.o interface.o lowpass2.o  vid_interface.o \
+@@ -191,13 +188,13 @@ endif
+ 
+ #LDFLAGS	= -static
+ 
+-CFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
++CFLAGS = -Wno-write-strings \
+ 	   -Wall -Wno-long-long -Wno-sign-compare -Wno-uninitialized -Wno-unused \
+ 	   -Wno-conversion -Wno-attributes \
+ 	   -Wno-unused-parameter -Wno-unused-value -std=c99 \
+ 	   $(PLATFLAGS) $(DEF) $(incdir)
+ 
+-CXXFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
++CXXFLAGS = -Wno-write-strings \
+ 	   -Wall -W -Wno-long-long -Wno-sign-compare \
+ 	   -Wunknown-pragmas -Wundef -Wconversion -Wno-missing-braces \
+ 	   -Wuninitialized -Wpointer-arith -Winline -Wno-multichar \
+@@ -371,7 +368,7 @@ $(NAME):	$(allobj) $(objdir)drivers.o
+ 
+ else
+ 
+-$(NAME):	$(allobj) $(objdir)drivers.o
++$(NAME):	$(allobj) $(autdrv)
+ 	@echo
+ 	@echo Linking executable... $(NAME)
+ 	@$(LD) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(lib)
diff --git a/fbneo-latest/patches/patch-src_burn_burn__endian.h b/fbneo-latest/patches/patch-src_burn_burn__endian.h
new file mode 100644
index 0000000000..fd1893975c
--- /dev/null
+++ b/fbneo-latest/patches/patch-src_burn_burn__endian.h
@@ -0,0 +1,20 @@
+$NetBSD$
+
+Add byte-order swapping functions for NetBSD big-endian platforms.
+
+--- src/burn/burn_endian.h.orig	2025-02-25 21:25:30.524933178 +0000
++++ src/burn/burn_endian.h
+@@ -57,6 +57,13 @@ typedef union
+ #define BURN_ENDIAN_SWAP_INT16(x)				({uint16_t tt; __sthbrx(&tt, x); tt;})
+ #define BURN_ENDIAN_SWAP_INT32(x)				({uint32_t tt; __stwbrx(&tt, x); tt;})
+ #define NO_64BIT_BYTESWAP
++// NetBSD
++#elif defined(__NetBSD__)
++#include <machine/endian.h>
++#define BURN_ENDIAN_SWAP_INT8(x)				(x^1)
++#define BURN_ENDIAN_SWAP_INT16(x)				(bswap16(x))
++#define BURN_ENDIAN_SWAP_INT32(x)				(bswap32(x))
++#define BURN_ENDIAN_SWAP_INT64(x)				(bswap64(x))
+ // GC/Wii/WiiU
+ //#elif defined(HW_RVL)
+ //#define BURN_ENDIAN_SWAP_INT8(x)				(x^1)


Home | Main Index | Thread Index | Old Index