summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2019-09-13 10:12:07 +0000
committernia <nia@pkgsrc.org>2019-09-13 10:12:07 +0000
commit44afca6daf4472cd10225cf3c71fed0673f7caa2 (patch)
treee8cf3902d8e6c531787bd8773471d76353bb181c /emulators
parentf3970dfa1a0cd68fe14a00e22b00aa5637f407c1 (diff)
downloadpkgsrc-44afca6daf4472cd10225cf3c71fed0673f7caa2.tar.gz
Add emulators/melonds.
melonDS aims at providing fast and accurate Nintendo DS emulation. While it is still a work in progress, it has a pretty solid set of features: * Nearly complete core (CPU, video, audio, ...) * OpenGL renderer, 3D upscaling * RTC, microphone, lid close/open * Joystick support * Savestates * Various display position/sizing/rotation modes * (WIP) Wifi: local multiplayer, online connectivity * and more are planned!
Diffstat (limited to 'emulators')
-rw-r--r--emulators/Makefile3
-rw-r--r--emulators/melonds/DESCR11
-rw-r--r--emulators/melonds/MESSAGE.NetBSD7
-rw-r--r--emulators/melonds/Makefile41
-rw-r--r--emulators/melonds/PLIST9
-rw-r--r--emulators/melonds/distinfo7
-rw-r--r--emulators/melonds/patches/patch-src_libui__sdl_LAN__PCap.cpp33
7 files changed, 110 insertions, 1 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index 90582ba1109..2583112fd21 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.302 2019/09/08 11:04:04 nia Exp $
+# $NetBSD: Makefile,v 1.303 2019/09/13 10:12:07 nia Exp $
#
COMMENT= Emulators for other operating systems
@@ -138,6 +138,7 @@ SUBDIR+= makeppf
SUBDIR+= mame
SUBDIR+= mednafen
SUBDIR+= mednaffe
+SUBDIR+= melonds
SUBDIR+= mgba
SUBDIR+= minivmac
SUBDIR+= mmix
diff --git a/emulators/melonds/DESCR b/emulators/melonds/DESCR
new file mode 100644
index 00000000000..d50cffceabe
--- /dev/null
+++ b/emulators/melonds/DESCR
@@ -0,0 +1,11 @@
+melonDS aims at providing fast and accurate Nintendo DS emulation. While it
+is still a work in progress, it has a pretty solid set of features:
+
+* Nearly complete core (CPU, video, audio, ...)
+* OpenGL renderer, 3D upscaling
+* RTC, microphone, lid close/open
+* Joystick support
+* Savestates
+* Various display position/sizing/rotation modes
+* (WIP) Wifi: local multiplayer, online connectivity
+* and more are planned!
diff --git a/emulators/melonds/MESSAGE.NetBSD b/emulators/melonds/MESSAGE.NetBSD
new file mode 100644
index 00000000000..913f6fe37c0
--- /dev/null
+++ b/emulators/melonds/MESSAGE.NetBSD
@@ -0,0 +1,7 @@
+===========================================================================
+$NetBSD: MESSAGE.NetBSD,v 1.1 2019/09/13 10:12:07 nia Exp $
+
+Lowering the system audio latency (or blk_ms) with sysctl(8) may be
+required to achieve full performance and framerates.
+
+===========================================================================
diff --git a/emulators/melonds/Makefile b/emulators/melonds/Makefile
new file mode 100644
index 00000000000..e0babbe7db9
--- /dev/null
+++ b/emulators/melonds/Makefile
@@ -0,0 +1,41 @@
+# $NetBSD: Makefile,v 1.1 2019/09/13 10:12:07 nia Exp $
+
+DISTNAME= melonDS-0.8.3
+PKGNAME= ${DISTNAME:S/DS/ds/}
+CATEGORIES= emulators
+MASTER_SITES= ${MASTER_SITE_GITHUB:=Arisotura/}
+
+MAINTAINER= nia@NetBSD.org
+HOMEPAGE= http://melonds.kuribo64.net/
+COMMENT= Nintendo DS emulator, sorta
+LICENSE= gnu-gpl-v3
+
+USE_CMAKE= yes
+USE_TOOLS+= pkg-config
+USE_LANGUAGES= c c++11
+
+# C++11
+GCC_REQD+= 4.8
+
+CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release"
+CMAKE_ARGS+= -DENABLE_LTO=OFF
+
+ICON_SIZES= 16 32 48 64 128 256
+
+INSTALLATION_DIRS+= share/applications
+.for s in ${ICON_SIZES}
+INSTALLATION_DIRS+= share/icons/hicolor/${s}x${s}/apps
+.endfor
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/flatpak/net.kuribo64.melonds.desktop \
+ ${DESTDIR}${PREFIX}/share/applications
+.for s in ${ICON_SIZES}
+ ${INSTALL_DATA} ${WRKSRC}/icon/melon_${s}x${s}.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/net.kuribo64.melonds.png
+.endfor
+
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../x11/gtk3/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/melonds/PLIST b/emulators/melonds/PLIST
new file mode 100644
index 00000000000..4fdc0da2644
--- /dev/null
+++ b/emulators/melonds/PLIST
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.1 2019/09/13 10:12:07 nia Exp $
+bin/melonDS
+share/applications/net.kuribo64.melonds.desktop
+share/icons/hicolor/128x128/apps/net.kuribo64.melonds.png
+share/icons/hicolor/16x16/apps/net.kuribo64.melonds.png
+share/icons/hicolor/256x256/apps/net.kuribo64.melonds.png
+share/icons/hicolor/32x32/apps/net.kuribo64.melonds.png
+share/icons/hicolor/48x48/apps/net.kuribo64.melonds.png
+share/icons/hicolor/64x64/apps/net.kuribo64.melonds.png
diff --git a/emulators/melonds/distinfo b/emulators/melonds/distinfo
new file mode 100644
index 00000000000..b396f471fe4
--- /dev/null
+++ b/emulators/melonds/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2019/09/13 10:12:07 nia Exp $
+
+SHA1 (melonDS-0.8.3.tar.gz) = 9c1a71a05bfa041b727effe6180f6f7b590713a5
+RMD160 (melonDS-0.8.3.tar.gz) = d0753d1a8e959b76f77eac31babbc2b32b2940c4
+SHA512 (melonDS-0.8.3.tar.gz) = 4fed77abd231812d2f9ddb19a7fe6e808fb8e92035bb2fea220032b7c0a98671b4fd79ef0f7c7c559e92f3d1875ea119afaa581be2edacaa10f4437620eecd76
+Size (melonDS-0.8.3.tar.gz) = 965501 bytes
+SHA1 (patch-src_libui__sdl_LAN__PCap.cpp) = 1fd806b6b446622e5d214091e96aac3d6eec8490
diff --git a/emulators/melonds/patches/patch-src_libui__sdl_LAN__PCap.cpp b/emulators/melonds/patches/patch-src_libui__sdl_LAN__PCap.cpp
new file mode 100644
index 00000000000..0db4f30f7b1
--- /dev/null
+++ b/emulators/melonds/patches/patch-src_libui__sdl_LAN__PCap.cpp
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_libui__sdl_LAN__PCap.cpp,v 1.1 2019/09/13 10:12:07 nia Exp $
+
+Support non-Linux.
+
+--- src/libui_sdl/LAN_PCap.cpp.orig 2019-06-25 17:29:21.000000000 +0000
++++ src/libui_sdl/LAN_PCap.cpp
+@@ -33,8 +33,10 @@
+ #include <sys/types.h>
+ #include <ifaddrs.h>
+ #include <netinet/in.h>
++#ifdef __linux__
+ #include <linux/if_packet.h>
+ #endif
++#endif
+
+
+ // welp
+@@ -270,6 +272,7 @@ bool Init(bool open_adapter)
+ struct sockaddr_in* sa = (sockaddr_in*)curaddr->ifa_addr;
+ memcpy(adata->IP_v4, &sa->sin_addr, 4);
+ }
++#ifdef AF_PACKET
+ else if (af == AF_PACKET)
+ {
+ struct sockaddr_ll* sa = (sockaddr_ll*)curaddr->ifa_addr;
+@@ -278,6 +281,7 @@ bool Init(bool open_adapter)
+ else
+ memcpy(adata->MAC, sa->sll_addr, 6);
+ }
++#endif
+
+ curaddr = curaddr->ifa_next;
+ }