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
--- 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 | |
3 | DISTNAME= libretro-picodrive-20200527 | | 3 | DISTNAME= libretro-picodrive-20200527 |
4 | PKGREVISION= 2 | | 4 | PKGREVISION= 2 |
5 | CATEGORIES= emulators | | 5 | CATEGORIES= emulators |
6 | GITHUB_PROJECT= picodrive | | 6 | GITHUB_PROJECT= picodrive |
7 | GITHUB_TAG= b8fb8f285317632f42ecbbd36cf4fe18ea9189f1 | | 7 | GITHUB_TAG= b8fb8f285317632f42ecbbd36cf4fe18ea9189f1 |
8 | | | 8 | |
9 | MAINTAINER= pkgsrc-users@NetBSD.org | | 9 | MAINTAINER= pkgsrc-users@NetBSD.org |
10 | HOMEPAGE= https://docs.libretro.com/library/picodrive/ | | 10 | HOMEPAGE= https://docs.libretro.com/library/picodrive/ |
11 | COMMENT= Libretro core based on the Picodrive MegaDrive/MegaCD/32X emulator | | 11 | COMMENT= Libretro core based on the Picodrive MegaDrive/MegaCD/32X emulator |
12 | LICENSE= mame-license | | 12 | LICENSE= mame-license |
13 | | | 13 | |
14 | MAKE_FILE= Makefile.libretro | | 14 | MAKE_FILE= Makefile.libretro |
15 | | | 15 | |
16 | .include "../../mk/bsd.prefs.mk" | | | |
17 | | | | |
18 | NOT_FOR_PLATFORM= ${BIGENDIANPLATFORMS} | | | |
19 | | | | |
20 | .if ${MACHINE_ARCH} == "earmv7hf" | | | |
21 | # Avoid mixing in Thumb code with Picodrive's ARM asm. | | | |
22 | CFLAGS+= -marm | | | |
23 | MAKE_FLAGS+= ARCH=arm | | | |
24 | MAKE_FLAGS+= ARM_ASM=1 | | | |
25 | MAKE_FLAGS+= use_cyclone=0 | | | |
26 | MAKE_FLAGS+= use_fame=1 | | | |
27 | MAKE_FLAGS+= use_drz80=0 | | | |
28 | MAKE_FLAGS+= use_cz80=1 | | | |
29 | MAKE_FLAGS+= use_sh2drc=1 | | | |
30 | MAKE_FLAGS+= use_svpdrc=1 | | | |
31 | .elif ${MACHINE_ARCH} == "earmv6hf" | | | |
32 | CFLAGS+= -marm | | | |
33 | MAKE_FLAGS+= ARCH=arm | | | |
34 | MAKE_FLAGS+= ARM_ASM=1 | | | |
35 | MAKE_FLAGS+= asm_memory=1 | | | |
36 | MAKE_FLAGS+= asm_render=1 | | | |
37 | MAKE_FLAGS+= asm_ym2612=1 | | | |
38 | MAKE_FLAGS+= asm_misc=1 | | | |
39 | MAKE_FLAGS+= asm_cdpico=1 | | | |
40 | MAKE_FLAGS+= asm_cdmemory=1 | | | |
41 | MAKE_FLAGS+= asm_mix=1 | | | |
42 | MAKE_FLAGS+= use_cyclone=0 | | | |
43 | MAKE_FLAGS+= use_fame=0 | | | |
44 | MAKE_FLAGS+= use_drz80=1 | | | |
45 | MAKE_FLAGS+= use_cz80=0 | | | |
46 | MAKE_FLAGS+= use_sh2drc=1 | | | |
47 | MAKE_FLAGS+= use_svpdrc=1 | | | |
48 | .elif ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64" | | | |
49 | MAKE_FLAGS+= use_sh2drc=0 | | | |
50 | .endif | | | |
51 | | | | |
52 | LIBRETRO_CORE= picodrive | | 16 | LIBRETRO_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" |
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.
# $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"
# $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
@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
$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
# $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
[Desktop Entry]
Name=PicoDrive
Comment=A Mega Drive/Genesis emulator
Exec=picodrive %f
Icon=picodrive
Categories=Game;Emulator;
Terminal=false
Type=Application
StartupNotify=true
$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
$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);
$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>