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