pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/emulators libretro-ppsspp: add version 1.6.3.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/c7b8bd4dd081
branches:  trunk
changeset: 383934:c7b8bd4dd081
user:      nia <nia%pkgsrc.org@localhost>
date:      Tue Aug 14 12:55:41 2018 +0000

description:
libretro-ppsspp: add version 1.6.3.

Libretro is a simple but powerful development interface that allows for
the easy creation of emulators, games and multimedia applications that
can plug straight into any libretro-compatible frontend. This development
interface is open to others so that they can run these pluggable emulator
and game cores also in their own programs or devices.

PPSSPP is a PlayStation Portable (PSP) video game system emulator that
can be used as a libretro core.

diffstat:

 emulators/Makefile                                               |   3 +-
 emulators/libretro-ppsspp/DESCR                                  |   8 +
 emulators/libretro-ppsspp/MESSAGE                                |  16 ++
 emulators/libretro-ppsspp/Makefile                               |  70 ++++++++++
 emulators/libretro-ppsspp/PLIST                                  |   2 +
 emulators/libretro-ppsspp/distinfo                               |  20 ++
 emulators/libretro-ppsspp/options.mk                             |  41 +++++
 emulators/libretro-ppsspp/patches/patch-libretro_Makefile        |  25 +++
 emulators/libretro-ppsspp/patches/patch-libretro_Makefile.common |  16 ++
 9 files changed, 200 insertions(+), 1 deletions(-)

diffs (247 lines):

diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/Makefile
--- a/emulators/Makefile        Tue Aug 14 12:34:45 2018 +0000
+++ b/emulators/Makefile        Tue Aug 14 12:55:41 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.278 2018/08/13 18:35:14 nia Exp $
+# $NetBSD: Makefile,v 1.279 2018/08/14 12:55:41 nia Exp $
 #
 
 COMMENT=       Emulators for other operating systems
@@ -114,6 +114,7 @@
 SUBDIR+=       libretro-o2em
 SUBDIR+=       libretro-pcsx-rearmed
 SUBDIR+=       libretro-picodrive
+SUBDIR+=       libretro-ppsspp
 SUBDIR+=       libretro-prosystem
 SUBDIR+=       libretro-snes9x
 SUBDIR+=       libretro-snes9x2005
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/DESCR   Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,8 @@
+Libretro is a simple but powerful development interface that allows for
+the easy creation of emulators, games and multimedia applications that
+can plug straight into any libretro-compatible frontend. This development
+interface is open to others so that they can run these pluggable emulator
+and game cores also in their own programs or devices.
+
+PPSSPP is a PlayStation Portable (PSP) video game system emulator that
+can be used as a libretro core.
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/MESSAGE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/MESSAGE Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,16 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2018/08/14 12:55:41 nia Exp $
+
+This package is not PaX MPROTECT-safe, because of its just-in-time
+compiler.
+
+MPROTECT must be disabled for RetroArch for this core to be usable.
+
+Prior to using libretro-ppsspp:
+
+1. cd to RetroArch's System (where your BIOS files are) or RetroArch's
+Content directory (where your PSP ROMs are).
+2. git clone https://github.com/hrydgard/ppsspp ppsspp-master
+3. cp -R ppsspp-master/assets PPSSPP
+
+===========================================================================
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/Makefile        Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,70 @@
+# $NetBSD: Makefile,v 1.1 2018/08/14 12:55:41 nia Exp $
+
+PKGNAME=       libretro-ppsspp-1.6.3
+CATEGORIES=    emulators
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://docs.libretro.com/library/ppsspp/
+COMMENT=       Libretro core based on the PPSSPP PlayStation Portable emulator
+LICENSE=       gnu-gpl-v2
+
+DIST_SUBDIR=   ppsspp-${PKGVERSION_NOREV}
+DISTFILES+=    ppsspp.tar.gz
+DISTFILES+=    ppsspp-armips.tar.gz
+DISTFILES+=    ppsspp-glslang.tar.gz
+DISTFILES+=    ppsspp-spriv.tar.gz
+
+# Submodules
+ARMIPS_TAG=    8b4cadaf62d7de42d374056fc6aafc555f2bc7dc
+GLSLANG_TAG=   2edde6665d9a56ead5ea0e55b4e64d9a803e6164
+SPRIV_TAG=     90966d50f57608587bafd95b4e345b02b814754a
+
+SITES.ppsspp.tar.gz= \
+    -https://github.com/hrydgard/ppsspp/archive/v${PKGVERSION_NOREV}.tar.gz
+
+SITES.ppsspp-armips.tar.gz= \
+    -https://github.com/Kingcom/armips/archive/${ARMIPS_TAG}.tar.gz
+
+SITES.ppsspp-glslang.tar.gz= \
+    -https://github.com/hrydgard/glslang/archive/${GLSLANG_TAG}.tar.gz
+
+SITES.ppsspp-spriv.tar.gz= \
+    -https://github.com/KhronosGroup/SPIRV-Cross/archive/${SPRIV_TAG}.tar.gz
+
+EXTRACT_USING= bsdtar
+WRKSRC=                ${WRKDIR}/ppsspp-${PKGVERSION_NOREV}
+BUILD_DIRS=    libretro
+
+USE_TOOLS+=    gmake
+USE_LANGUAGES= c c++11
+
+.include "../../mk/bsd.prefs.mk"
+
+ONLY_FOR_PLATFORM=     *-*-*arm* *-*-x86_64 *-*-i386
+
+.if !empty(MACHINE_ARCH:M*arm*)
+CFLAGS+=               -marm
+MAKE_FLAGS+=           TARGET_ARCH=arm
+.elif ${MACHINE_ARCH} == "x86_64"
+MAKE_FLAGS+=           TARGET_ARCH=x86_64
+.elif ${MACHINE_ARCH} == "i386"
+MAKE_FLAGS+=           TARGET_ARCH=x86
+.endif
+
+INSTALLATION_DIRS+=    ${PREFIX}/lib/libretro
+
+post-extract:
+       ${MV} ${WRKDIR}/armips-${ARMIPS_TAG}/* ${WRKSRC}/ext/armips
+       ${MV} ${WRKDIR}/glslang-${GLSLANG_TAG}/* ${WRKSRC}/ext/glslang
+       ${MV} ${WRKDIR}/SPIRV-Cross-${SPRIV_TAG}/* ${WRKSRC}/ext/SPIRV-Cross
+
+do-install:
+       ${INSTALL_LIB} ${WRKSRC}/libretro/ppsspp_libretro.so \
+           ${DESTDIR}${PREFIX}/lib/libretro/ppsspp_libretro.so
+
+.include "options.mk"
+.include "../../multimedia/ffmpeg4/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+BUILDLINK_TRANSFORM+=   opt:-ldl:${BUILDLINK_LDADD.dl:Q}
+.include "../../mk/bsd.pkg.mk"
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/PLIST   Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST,v 1.1 2018/08/14 12:55:41 nia Exp $
+lib/libretro/ppsspp_libretro.so
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/distinfo        Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,20 @@
+$NetBSD: distinfo,v 1.1 2018/08/14 12:55:41 nia Exp $
+
+SHA1 (ppsspp-1.6.3/ppsspp-armips.tar.gz) = 51e8fcf70e64e64c9c3d04aa3c795dfe6f7f5f26
+RMD160 (ppsspp-1.6.3/ppsspp-armips.tar.gz) = d8c321256c9e58fbfcbf1529f61930274ecc6d15
+SHA512 (ppsspp-1.6.3/ppsspp-armips.tar.gz) = 9ab376b928fadcbff7256ff10d6581e4960e00e48a93f47f7e90b1998022a8d03cadef20880aa020fe6b62e4fa43cf28fc68dc5b10e93b1212fd6788ae493dba
+Size (ppsspp-1.6.3/ppsspp-armips.tar.gz) = 191245 bytes
+SHA1 (ppsspp-1.6.3/ppsspp-glslang.tar.gz) = bc70bf9850f187ecff189adf8d46a39930380928
+RMD160 (ppsspp-1.6.3/ppsspp-glslang.tar.gz) = d1c248f9f01f10b2f3d3bbbf6a5e6a431413702a
+SHA512 (ppsspp-1.6.3/ppsspp-glslang.tar.gz) = 333a93707e067ac1d98c69533c2d206675d75aa54195326accf33e8401ac2fb412d2e2525b0ee1313f141872aa6ea430ae5424e8712483c59f77dc3adbcb4f59
+Size (ppsspp-1.6.3/ppsspp-glslang.tar.gz) = 1944927 bytes
+SHA1 (ppsspp-1.6.3/ppsspp-spriv.tar.gz) = 729bff5fa8a51af90519fb51b64a5781acce03e2
+RMD160 (ppsspp-1.6.3/ppsspp-spriv.tar.gz) = 32346af6c24f9f30ae435381f7c30e6f427c0e39
+SHA512 (ppsspp-1.6.3/ppsspp-spriv.tar.gz) = 5fe2f772b571da0627fb9d9c424bea2b4ea1c0563e36ff455ddaf1b92ea3d5ee636e039a0619e0971478ce10e163b45258e9b03d2610c573f74d1cfd08549bb8
+Size (ppsspp-1.6.3/ppsspp-spriv.tar.gz) = 228943 bytes
+SHA1 (ppsspp-1.6.3/ppsspp.tar.gz) = 5a4ec3f99dcb50840d26a2c738ff1ce4a37e7433
+RMD160 (ppsspp-1.6.3/ppsspp.tar.gz) = 0b0ea6c86aad60a7d9d176332ea62a88d23411fa
+SHA512 (ppsspp-1.6.3/ppsspp.tar.gz) = fe592c81a3b22ba0fff3dbd403ad2f6b9639c39d036db31132147a91a25793acb8698174a1c139b7dced01a9101777b5c53a1e5db6b5da0b7727f480ef597b8e
+Size (ppsspp-1.6.3/ppsspp.tar.gz) = 19477643 bytes
+SHA1 (patch-libretro_Makefile) = ff14d98bb21d87b5a27f40b180d73beef7ab2f74
+SHA1 (patch-libretro_Makefile.common) = 5bce7657a4b6703903b71e7d33317dcb284e2759
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/options.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/options.mk      Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,41 @@
+# $NetBSD: options.mk,v 1.1 2018/08/14 12:55:41 nia Exp $
+
+PKG_OPTIONS_VAR=               PKG_OPTIONS.libretro-ppsspp
+PKG_OPTIONS_REQUIRED_GROUPS=   graphics
+PKG_OPTIONS_GROUP.graphics=    opengl
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if !empty(MACHINE_ARCH:Mearm*)
+PKG_OPTIONS_GROUP.graphics+=   rpi
+.endif
+
+.if !empty(MACHINE_ARCH:Mearm*) && ${OPSYS} == "NetBSD"
+PKG_SUGGESTED_OPTIONS+=                rpi
+.else
+PKG_SUGGESTED_OPTIONS+=                opengl
+.endif
+
+.if ${MACHINE_ARCH} == "earmv7hf" || ${MACHINE_ARCH} == "earmv7hfeb"
+PKG_SUPPORTED_OPTIONS+=                simd
+PKG_SUGGESTED_OPTIONS+=                simd
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Msimd)
+CFLAGS+=       -mfpu=neon -D__NEON_OPT
+MAKE_FLAGS+=   HAVE_NEON=1
+.endif
+
+.if !empty(PKG_OPTIONS:Mrpi)
+BUILD_MAKE_FLAGS+=     platform=rpi
+SUBST_CLASSES+=                vc
+SUBST_STAGE.vc=                pre-configure
+SUBST_MESSAGE.vc=      Fixing path to VideoCore libraries.
+SUBST_FILES.vc=                libretro/Makefile
+SUBST_SED.vc+=         -e 's;/opt/vc;${PREFIX};g'
+.include "../../misc/raspberrypi-userland/buildlink3.mk"
+.elif !empty(PKG_OPTIONS:Mopengl)
+.include "../../graphics/MesaLib/buildlink3.mk"
+.endif
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/patches/patch-libretro_Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/patches/patch-libretro_Makefile Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,25 @@
+$NetBSD: patch-libretro_Makefile,v 1.1 2018/08/14 12:55:41 nia Exp $
+
+Use ffmpeg from pkgsrc.
+
+--- libretro/Makefile.orig     2018-06-05 17:58:41.000000000 +0000
++++ libretro/Makefile
+@@ -40,7 +40,6 @@ endif
+ 
+ # Dirs
+ CORE_DIR                      = ..
+-FFMPEGDIR             = $(CORE_DIR)/ffmpeg
+ LIBRETRODIR           = $(CORE_DIR)/libretro
+ COREDIR                       = $(CORE_DIR)/Core
+ COMMONDIR             = $(CORE_DIR)/Common
+@@ -60,9 +59,7 @@ ifneq (,$(findstring unix,$(platform)))
+       TARGET := $(TARGET_NAME)_libretro.so
+       LDFLAGS += -shared -Wl,--version-script=link.T -Wl,--no-undefined
+ 
+-      FFMPEGINCFLAGS += -I$(FFMPEGDIR)/linux/$(TARGET_ARCH)/include
+-      FFMPEGLIBDIR := $(FFMPEGDIR)/linux/$(TARGET_ARCH)/lib
+-      FFMPEGLDFLAGS += -L$(FFMPEGLIBDIR) -lavformat -lavcodec -lavutil -lswresample -lswscale
++      FFMPEGLDFLAGS += -lavformat -lavcodec -lavutil -lswresample -lswscale
+       fpic = -fPIC
+       ifneq (,$(findstring gles,$(platform)))
+               GLES = 1
diff -r 55a1de3d6e2e -r c7b8bd4dd081 emulators/libretro-ppsspp/patches/patch-libretro_Makefile.common
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/libretro-ppsspp/patches/patch-libretro_Makefile.common  Tue Aug 14 12:55:41 2018 +0000
@@ -0,0 +1,16 @@
+$NetBSD: patch-libretro_Makefile.common,v 1.1 2018/08/14 12:55:41 nia Exp $
+
+Fix "Build error: undefined references".
+
+https://github.com/libretro/ppsspp/commit/68634705b9d6b5bc8db2232bc92b6ae06f0b31d8
+
+--- libretro/Makefile.common.orig      2018-05-30 17:47:20.000000000 +0000
++++ libretro/Makefile.common
+@@ -452,6 +452,7 @@ SOURCES_CXX += $(NATIVEDIR)/math/datacon
+              $(COREDIR)/MemMap.cpp \
+              $(COREDIR)/MemMapFunctions.cpp \
+              $(COREDIR)/PSPLoaders.cpp \
++             $(COREDIR)/Replay.cpp \
+              $(COREDIR)/Reporting.cpp \
+              $(COREDIR)/SaveState.cpp \
+              $(COREDIR)/Screenshot.cpp \



Home | Main Index | Thread Index | Old Index