Fri Apr 26 09:04:32 2024 UTC (16d)
Import the standalone version of picodrive.


(nia)
diff -r1.12 -r1.13 pkgsrc/emulators/libretro-picodrive/Makefile
diff -r0 -r1.1 pkgsrc/emulators/picodrive/DESCR
diff -r0 -r1.1 pkgsrc/emulators/picodrive/Makefile
diff -r0 -r1.1 pkgsrc/emulators/picodrive/Makefile.common
diff -r0 -r1.1 pkgsrc/emulators/picodrive/PLIST
diff -r0 -r1.1 pkgsrc/emulators/picodrive/distinfo
diff -r0 -r1.1 pkgsrc/emulators/picodrive/options.mk
diff -r0 -r1.1 pkgsrc/emulators/picodrive/files/picodrive.desktop
diff -r0 -r1.1 pkgsrc/emulators/picodrive/patches/patch-Makefile
diff -r0 -r1.1 pkgsrc/emulators/picodrive/patches/patch-platform_libpicofe_linux_plat.c
diff -r0 -r1.1 pkgsrc/emulators/picodrive/patches/patch-platform_libpicofe_posix.h

cvs diff -r1.12 -r1.13 pkgsrc/emulators/libretro-picodrive/Makefile (expand / switch to unified diff)

--- pkgsrc/emulators/libretro-picodrive/Makefile 2021/01/29 09:17:27 1.12
+++ pkgsrc/emulators/libretro-picodrive/Makefile 2024/04/26 09:04:31 1.13
@@ -1,56 +1,21 @@ @@ -1,56 +1,21 @@
1# $NetBSD: Makefile,v 1.12 2021/01/29 09:17:27 nia Exp $ 1# $NetBSD: Makefile,v 1.13 2024/04/26 09:04:31 nia Exp $
2 2
3DISTNAME= libretro-picodrive-20200527 3DISTNAME= libretro-picodrive-20200527
4PKGREVISION= 2 4PKGREVISION= 2
5CATEGORIES= emulators 5CATEGORIES= emulators
6GITHUB_PROJECT= picodrive 6GITHUB_PROJECT= picodrive
7GITHUB_TAG= b8fb8f285317632f42ecbbd36cf4fe18ea9189f1 7GITHUB_TAG= b8fb8f285317632f42ecbbd36cf4fe18ea9189f1
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://docs.libretro.com/library/picodrive/ 10HOMEPAGE= https://docs.libretro.com/library/picodrive/
11COMMENT= Libretro core based on the Picodrive MegaDrive/MegaCD/32X emulator 11COMMENT= Libretro core based on the Picodrive MegaDrive/MegaCD/32X emulator
12LICENSE= mame-license 12LICENSE= mame-license
13 13
14MAKE_FILE= Makefile.libretro 14MAKE_FILE= Makefile.libretro
15 15
16.include "../../mk/bsd.prefs.mk" 
17 
18NOT_FOR_PLATFORM= ${BIGENDIANPLATFORMS} 
19 
20.if ${MACHINE_ARCH} == "earmv7hf" 
21# Avoid mixing in Thumb code with Picodrive's ARM asm. 
22CFLAGS+= -marm 
23MAKE_FLAGS+= ARCH=arm 
24MAKE_FLAGS+= ARM_ASM=1 
25MAKE_FLAGS+= use_cyclone=0 
26MAKE_FLAGS+= use_fame=1 
27MAKE_FLAGS+= use_drz80=0 
28MAKE_FLAGS+= use_cz80=1 
29MAKE_FLAGS+= use_sh2drc=1 
30MAKE_FLAGS+= use_svpdrc=1 
31.elif ${MACHINE_ARCH} == "earmv6hf" 
32CFLAGS+= -marm 
33MAKE_FLAGS+= ARCH=arm 
34MAKE_FLAGS+= ARM_ASM=1 
35MAKE_FLAGS+= asm_memory=1 
36MAKE_FLAGS+= asm_render=1 
37MAKE_FLAGS+= asm_ym2612=1 
38MAKE_FLAGS+= asm_misc=1 
39MAKE_FLAGS+= asm_cdpico=1 
40MAKE_FLAGS+= asm_cdmemory=1 
41MAKE_FLAGS+= asm_mix=1 
42MAKE_FLAGS+= use_cyclone=0 
43MAKE_FLAGS+= use_fame=0 
44MAKE_FLAGS+= use_drz80=1 
45MAKE_FLAGS+= use_cz80=0 
46MAKE_FLAGS+= use_sh2drc=1 
47MAKE_FLAGS+= use_svpdrc=1 
48.elif ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64" 
49MAKE_FLAGS+= use_sh2drc=0 
50.endif 
51 
52LIBRETRO_CORE= picodrive 16LIBRETRO_CORE= picodrive
53 17
 18.include "../../emulators/picodrive/Makefile.common"
54.include "../../emulators/retroarch/core.mk" 19.include "../../emulators/retroarch/core.mk"
55.include "../../devel/zlib/buildlink3.mk" 20.include "../../devel/zlib/buildlink3.mk"
56.include "../../mk/bsd.pkg.mk" 21.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/emulators/picodrive/DESCR
Picodrive is yet another Megadrive / Genesis / Sega CD / Mega CD / 32X / SMS
emulator, which was written with ARM-based handheld devices in mind
but also runs on non-ARM little-endian hardware too.

File Added: pkgsrc/emulators/picodrive/Makefile
# $NetBSD: Makefile,v 1.1 2024/04/26 09:04:31 nia Exp $

DISTNAME=	PicoDrive_1.93
PKGNAME=	${DISTNAME:tl:S/_/-/1}
CATEGORIES=	emulators
MASTER_SITES=	${MASTER_SITE_GITHUB:=notaz/}
GITHUB_RELEASE=	v${PKGVERSION_NOREV}

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://github.com/notaz/picodrive
COMMENT=	Fast Sega Mega Drive/MegaCD/32X emulator
LICENSE=	mame-license

WRKSRC=		${WRKDIR}/PicoDrive-${PKGVERSION_NOREV}

HAS_CONFIGURE=	yes
USE_TOOLS+=	gmake

CFLAGS+=	-DPICO_DATA_DIR="\"${PREFIX}/share/picodrive/\""

SOUND_DRIVERS+=	sdl

.include "Makefile.common"
.include "options.mk"

.include "../../mk/oss.buildlink3.mk"

.if ${OSS_TYPE} != "none"
SOUND_DRIVERS+=		oss
LDFLAGS+=		${LIBOSSAUDIO}
SUBST_CLASSES+=		oss
SUBST_STAGE.oss=	pre-configure
SUBST_MESSAGE.oss=	Correcting the path to the OSS device.
SUBST_FILES.oss+=	platform/libpicofe/linux/sndout_oss.c
SUBST_SED.oss+=		-e "s,/dev/dsp,${DEVOSSAUDIO},g"
.endif

CONFIGURE_ENV+=		SDL_CONFIG=${PREFIX}/bin/sdl-config

CONFIGURE_ARGS+=	--platform=generic
CONFIGURE_ARGS+=	--sound-drivers=${SOUND_DRIVERS:Q}

INSTALLATION_DIRS+=	bin
INSTALLATION_DIRS+=	share/applications
INSTALLATION_DIRS+=	share/picodrive/skin
INSTALLATION_DIRS+=	share/pixmaps

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/PicoDrive \
		${DESTDIR}${PREFIX}/bin/picodrive
	${INSTALL_DATA} ${FILESDIR}/picodrive.desktop \
		${DESTDIR}${PREFIX}/share/applications/picodrive.desktop
	${INSTALL_DATA} ${WRKSRC}/platform/opendingux/data/megadrive.png \
		${DESTDIR}${PREFIX}/share/pixmaps/picodrive.png
	${INSTALL_DATA} ${WRKSRC}/platform/gp2x/skin/*.png \
		${DESTDIR}${PREFIX}/share/picodrive/skin
	${INSTALL_DATA} ${WRKSRC}/platform/gp2x/skin/*.txt \
		${DESTDIR}${PREFIX}/share/picodrive/skin

.include "../../devel/SDL/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+=	opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/emulators/picodrive/Makefile.common
# $NetBSD: Makefile.common,v 1.1 2024/04/26 09:04:31 nia Exp $

.include "../../mk/bsd.fast.prefs.mk"

NOT_FOR_PLATFORM=	${BIGENDIANPLATFORMS}

.if ${MACHINE_ARCH} == "earmv7hf"
# Avoid mixing in Thumb code with Picodrive's ARM asm.
CFLAGS+=	-marm
MAKE_FLAGS+=	ARCH=arm
MAKE_FLAGS+=	ARM_ASM=1
MAKE_FLAGS+=	use_cyclone=0
MAKE_FLAGS+=	use_fame=1
MAKE_FLAGS+=	use_drz80=0
MAKE_FLAGS+=	use_cz80=1
MAKE_FLAGS+=	use_sh2drc=1
MAKE_FLAGS+=	use_svpdrc=1
.elif ${MACHINE_ARCH} == "earmv6hf"
CFLAGS+=	-marm
MAKE_FLAGS+=	ARCH=arm
MAKE_FLAGS+=	ARM_ASM=1
MAKE_FLAGS+=	asm_memory=1
MAKE_FLAGS+=	asm_render=1
MAKE_FLAGS+=	asm_ym2612=1
MAKE_FLAGS+=	asm_misc=1
MAKE_FLAGS+=	asm_cdpico=1
MAKE_FLAGS+=	asm_cdmemory=1
MAKE_FLAGS+=	asm_mix=1
MAKE_FLAGS+=	use_cyclone=0
MAKE_FLAGS+=	use_fame=0
MAKE_FLAGS+=	use_drz80=1
MAKE_FLAGS+=	use_cz80=0
MAKE_FLAGS+=	use_sh2drc=1
MAKE_FLAGS+=	use_svpdrc=1
.elif ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64"
MAKE_FLAGS+=	use_sh2drc=0
.endif

File Added: pkgsrc/emulators/picodrive/PLIST
@comment $NetBSD: PLIST,v 1.1 2024/04/26 09:04:31 nia Exp $
bin/picodrive
share/applications/picodrive.desktop
share/picodrive/skin/background.png
share/picodrive/skin/font.png
share/picodrive/skin/readme.txt
share/picodrive/skin/selector.png
share/picodrive/skin/skin.txt
share/pixmaps/picodrive.png

File Added: pkgsrc/emulators/picodrive/distinfo
$NetBSD: distinfo,v 1.1 2024/04/26 09:04:31 nia Exp $

BLAKE2s (PicoDrive_1.93.tar.gz) = ad4bce3706a88aba9ab5c3344885511f4a21f38581492ccad82da5dfa5c91578
SHA512 (PicoDrive_1.93.tar.gz) = d233d709caf3ced97545ac87f066d42e08c65553fec4769379413ca224cc724663e889cc9ae4cc243cbc67763d9bc7d0f0987d3dbf6beca247e5246b37ca76c1
Size (PicoDrive_1.93.tar.gz) = 1542062 bytes
SHA1 (patch-Makefile) = 7ac6cb7d997e370ec5ebbe58fd4c6afc3c5466ca
SHA1 (patch-platform_libpicofe_linux_plat.c) = 48e801656336caa2a21d42f4346c145595bacc9e
SHA1 (patch-platform_libpicofe_posix.h) = 31e30dc438b2404a676408336a53258a87563d60

File Added: pkgsrc/emulators/picodrive/options.mk
# $NetBSD: options.mk,v 1.1 2024/04/26 09:04:31 nia Exp $

PKG_OPTIONS_VAR=		PKG_OPTIONS.picodrive
PKG_SUPPORTED_OPTIONS=		alsa pulseaudio
PKG_SUGGESTED_OPTIONS.Linux=	alsa

.include "../../mk/bsd.options.mk"

.if !empty(PKG_OPTIONS:Malsa)
SOUND_DRIVERS+=		alsa
.  include "../../audio/alsa-lib/buildlink3.mk"
.endif

.if !empty(PKG_OPTIONS:Mpulseaudio)
SOUND_DRIVERS+=		pulseaudio
.  include "../../audio/pulseaudio/buildlink3.mk"
.endif

File Added: pkgsrc/emulators/picodrive/files/picodrive.desktop
[Desktop Entry]
Name=PicoDrive
Comment=A Mega Drive/Genesis emulator
Exec=picodrive %f
Icon=picodrive
Categories=Game;Emulator;
Terminal=false
Type=Application
StartupNotify=true

File Added: pkgsrc/emulators/picodrive/patches/patch-Makefile
$NetBSD: patch-Makefile,v 1.1 2024/04/26 09:04:31 nia Exp $

Don't build support for evdev by default on non-Linux.

--- Makefile.orig	2024-04-16 19:16:33.283380940 +0000
+++ Makefile
@@ -132,7 +132,7 @@ OBJS += platform/common/main.o platform/
 
 # libpicofe
 OBJS += platform/libpicofe/input.o platform/libpicofe/readpng.o \
-	platform/libpicofe/fonts.o platform/libpicofe/linux/in_evdev.o \
+	platform/libpicofe/fonts.o \
 	platform/libpicofe/linux/plat.o
 
 # libpicofe - sound

File Added: pkgsrc/emulators/picodrive/patches/patch-platform_libpicofe_linux_plat.c
$NetBSD: patch-platform_libpicofe_linux_plat.c,v 1.1 2024/04/26 09:04:31 nia Exp $

NetBSD support.

--- platform/libpicofe/linux/plat.c.orig	2024-04-16 19:15:52.544337311 +0000
+++ platform/libpicofe/linux/plat.c
@@ -215,7 +215,11 @@ void *plat_mremap(void *ptr, size_t olds
 {
 	void *ret;
 
+#ifdef __NetBSD__
+	ret = mremap(ptr, oldsize, NULL, newsize, 0);
+#else
 	ret = mremap(ptr, oldsize, newsize, MREMAP_MAYMOVE);
+#endif
 	if (ret == MAP_FAILED) {
 		fprintf(stderr, "mremap %p %zd %zd: ",
 			ptr, oldsize, newsize);

File Added: pkgsrc/emulators/picodrive/patches/patch-platform_libpicofe_posix.h
$NetBSD: patch-platform_libpicofe_posix.h,v 1.1 2024/04/26 09:04:31 nia Exp $

NetBSD support.

--- platform/libpicofe/posix.h.orig	2024-04-16 19:15:33.864037786 +0000
+++ platform/libpicofe/posix.h
@@ -2,7 +2,7 @@
 #define LIBPICOFE_POSIX_H
 
 /* define POSIX stuff: dirent, scandir, getcwd, mkdir */
-#if defined(__linux__) || defined(__MINGW32__)
+#if defined(__linux__) || defined(__MINGW32__) || defined(__unix__)
 
 #include <dirent.h>
 #include <unistd.h>