pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
libretro-ppsspp: Import
Module Name: pkgsrc-wip
Committed By: Nia Alarie <nia.alarie%gmail.com@localhost>
Pushed By: nee
Date: Sun Jun 11 00:47:08 2017 +0100
Changeset: a34ed12309661b60184a7aefea8c86efd352f8b6
Modified Files:
Makefile
Added Files:
libretro-ppsspp/DESCR
libretro-ppsspp/MESSAGE
libretro-ppsspp/Makefile
libretro-ppsspp/PLIST
libretro-ppsspp/TODO
libretro-ppsspp/distinfo
libretro-ppsspp/options.mk
libretro-ppsspp/patches/patch-Makefile
Log Message:
libretro-ppsspp: Import
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a34ed12309661b60184a7aefea8c86efd352f8b6
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
libretro-ppsspp/DESCR | 8 +++++
libretro-ppsspp/MESSAGE | 17 ++++++++++
libretro-ppsspp/Makefile | 61 ++++++++++++++++++++++++++++++++++
libretro-ppsspp/PLIST | 2 ++
libretro-ppsspp/TODO | 2 ++
libretro-ppsspp/distinfo | 15 +++++++++
libretro-ppsspp/options.mk | 56 +++++++++++++++++++++++++++++++
libretro-ppsspp/patches/patch-Makefile | 33 ++++++++++++++++++
9 files changed, 195 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index c95289f02d..b47336c83f 100644
--- a/Makefile
+++ b/Makefile
@@ -1755,6 +1755,7 @@ SUBDIR+= libretro-o2em
SUBDIR+= libretro-parallel-n64
SUBDIR+= libretro-pcsx-rearmed
SUBDIR+= libretro-picodrive
+SUBDIR+= libretro-ppsspp
SUBDIR+= libretro-prboom
SUBDIR+= libretro-prosystem
SUBDIR+= libretro-snes9x2005
diff --git a/libretro-ppsspp/DESCR b/libretro-ppsspp/DESCR
new file mode 100644
index 0000000000..59ca2477e0
--- /dev/null
+++ b/libretro-ppsspp/DESCR
@@ -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 an PlayStation Portable video game system emulator that can be used
+as a libretro core.
diff --git a/libretro-ppsspp/MESSAGE b/libretro-ppsspp/MESSAGE
new file mode 100644
index 0000000000..c3ead96416
--- /dev/null
+++ b/libretro-ppsspp/MESSAGE
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD$
+
+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.
+
+-
+
+All of the required asset files can be downloaded or cloned with git:
+git clone https://github.com/orbea/libretro-ppsspp-assets PPSSPP
+
+They must be placed in the RetroArch system directory or content directory,
+in a subdirectory named "PPSSPP".
+
+===========================================================================
diff --git a/libretro-ppsspp/Makefile b/libretro-ppsspp/Makefile
new file mode 100644
index 0000000000..caf4a2a726
--- /dev/null
+++ b/libretro-ppsspp/Makefile
@@ -0,0 +1,61 @@
+# $NetBSD$
+
+PKGNAME= libretro-ppsspp-20161215
+CATEGORIES= emulators
+
+HOMEPAGE= https://wiki.libretro.com/index.php?title=PPSSPP
+COMMENT= Libretro core based on the PPSSPP PlayStation Portable emulator
+LICENSE= gnu-gpl-v2
+
+PPSSPP_TAG= 5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573
+NATIVE_TAG= 9baedbcc2a07b3bccc6d8b8d170498111b990adc
+ARMIPS_TAG= 8bd93be9ba715d2f5723857edacf936ae904d07c
+
+DISTFILES+= ${PPSSPP_TAG}.tar.gz
+SITES.${PPSSPP_TAG}.tar.gz= \
+ ${MASTER_SITE_GITHUB:=libretro/libretro-ppsspp/archive/}
+
+DISTFILES+= ${NATIVE_TAG}.tar.gz
+SITES.${NATIVE_TAG}.tar.gz= \
+ ${MASTER_SITE_GITHUB:=libretro/ppsspp-native/archive/}
+
+DISTFILES+= ${ARMIPS_TAG}.tar.gz
+SITES.${ARMIPS_TAG}.tar.gz= \
+ ${MASTER_SITE_GITHUB:=Kingcom/armips/archive/}
+
+WRKSRC= ${WRKDIR}/libretro-ppsspp-${PPSSPP_TAG}/libretro
+
+USE_TOOLS= gmake pkg-config
+USE_LANGUAGES= c c++
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if !empty(MACHINE_ARCH:M*arm*)
+CFLAGS+= -marm
+BUILD_MAKE_FLAGS+= ARCH=arm
+.elif !empty(MACHINE_ARCH:M*aarch64*)
+BUILD_MAKE_FLAGS+= ARCH=arm64
+.elif !empty(MACHINE_ARCH:M*x86_64*)
+BUILD_MAKE_FLAGS+= ARCH=x86_64
+.endif
+
+BUILD_MAKE_FLAGS+= FFMPEGLDFLAGS="`pkg-config --libs libavformat libavcodec libswresample libswscale`"
+
+INSTALLATION_DIRS+= ${PREFIX}/lib/libretro
+
+post-extract:
+ ${MV} ${WRKDIR}/ppsspp-native-${NATIVE_TAG}/* ${WRKSRC}/../native
+ ${MV} ${WRKDIR}/armips-${ARMIPS_TAG}/* ${WRKSRC}/../ext/armips
+
+do-install:
+ ${INSTALL_LIB} ${WRKSRC}/ppsspp_libretro.so \
+ ${DESTDIR}${PREFIX}/lib/libretro/ppsspp_libretro.so
+
+.include "options.mk"
+
+.include "../../mk/dlopen.buildlink3.mk"
+BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:M*}
+
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../multimedia/ffmpeg2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/libretro-ppsspp/PLIST b/libretro-ppsspp/PLIST
new file mode 100644
index 0000000000..eb0050c7ca
--- /dev/null
+++ b/libretro-ppsspp/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+lib/libretro/ppsspp_libretro.so
diff --git a/libretro-ppsspp/TODO b/libretro-ppsspp/TODO
new file mode 100644
index 0000000000..cf103030cf
--- /dev/null
+++ b/libretro-ppsspp/TODO
@@ -0,0 +1,2 @@
+fix ffmpeg-related segfaults
+testing on ARM
diff --git a/libretro-ppsspp/distinfo b/libretro-ppsspp/distinfo
new file mode 100644
index 0000000000..5ef140bd41
--- /dev/null
+++ b/libretro-ppsspp/distinfo
@@ -0,0 +1,15 @@
+$NetBSD$
+
+SHA1 (5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573.tar.gz) = 7d51bad84d9c498c9bf99d30b0afc460e4648b94
+RMD160 (5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573.tar.gz) = a485b679cbe8d8e96a7a282ffd9df6b7ff66eea7
+SHA512 (5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573.tar.gz) = 40af0f25592240bb2061e944254092d0ede470fcdb69b4009af2fb4e121d2301c18be91ddf7b07c25e7089da37924a230b1971204e5383066a418ad026c4cdbc
+Size (5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573.tar.gz) = 30315109 bytes
+SHA1 (8bd93be9ba715d2f5723857edacf936ae904d07c.tar.gz) = 07e39f413f82d39b5e5715a875b3f4ced829b231
+RMD160 (8bd93be9ba715d2f5723857edacf936ae904d07c.tar.gz) = 4485aba4079ef15a9a07916e64cebac71a70ee15
+SHA512 (8bd93be9ba715d2f5723857edacf936ae904d07c.tar.gz) = 650ddd5b598edcbd140716f54b00ac336e6e2d22837a15d95bb5021c9fbebecde161c13b9590fee62f939a15e0e34d706d9a4c3096b7ae178cc32a0f740cf67a
+Size (8bd93be9ba715d2f5723857edacf936ae904d07c.tar.gz) = 135369 bytes
+SHA1 (9baedbcc2a07b3bccc6d8b8d170498111b990adc.tar.gz) = c38a45e0baadf091c94541bfd0c7813d69026cd1
+RMD160 (9baedbcc2a07b3bccc6d8b8d170498111b990adc.tar.gz) = 98be3f020b673e84feb3237719e98e61a3aebecb
+SHA512 (9baedbcc2a07b3bccc6d8b8d170498111b990adc.tar.gz) = d15810f560805aae68b0dfeb50aa4f3ecf9faca0ea176ba00001aadca3aea12f29d8080f0baecf9e3c1d0f366b684b3edddc11c9f9f2bac2cec45d1a77d946a5
+Size (9baedbcc2a07b3bccc6d8b8d170498111b990adc.tar.gz) = 1400414 bytes
+SHA1 (patch-Makefile) = b9595dd3f7b790af9c1e298dcd86d5f15041332b
diff --git a/libretro-ppsspp/options.mk b/libretro-ppsspp/options.mk
new file mode 100644
index 0000000000..1eee180f4c
--- /dev/null
+++ b/libretro-ppsspp/options.mk
@@ -0,0 +1,56 @@
+# $NetBSD$
+
+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:M*arm*)
+PKG_OPTIONS_GROUP.graphics+= rpi
+PKG_SUPPORTED_OPTIONS+= simd
+.endif
+
+.if !empty(MACHINE_ARCH:M*armv6*) || !empty(MACHINE_ARCH:M*armv7*)
+PKG_SUGGESTED_OPTIONS+= simd
+.endif
+
+.if !empty(MACHINE_PLATFORM:MLinux-*-arm*)
+PKG_OPTIONS_GROUP.graphics+= sunxi-mali-fb
+.endif
+
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-arm*)
+PKG_SUGGESTED_OPTIONS+= rpi
+.else
+PKG_SUGGESTED_OPTIONS+= opengl
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+#
+# Enable use of the Linux binary Mali GPU driver (framebuffer version)
+#
+.if !empty(PKG_OPTIONS:Msunxi-mali-fb)
+.include "../../wip/sunxi-mali-fb/buildlink3.mk"
+BUILD_MAKE_FLAGS+= GLES=1
+BUILD_MAKE_FLAGS+= GL_LIB=-lGLESv2
+.endif
+
+.if !empty(PKG_OPTIONS:Mopengl)
+.include "../../graphics/MesaLib/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Msimd)
+CFLAGS+= -mfpu=neon -D__NEON_OPT
+BUILD_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"
+.endif
diff --git a/libretro-ppsspp/patches/patch-Makefile b/libretro-ppsspp/patches/patch-Makefile
new file mode 100644
index 0000000000..1bdf0fcd36
--- /dev/null
+++ b/libretro-ppsspp/patches/patch-Makefile
@@ -0,0 +1,33 @@
+$NetBSD$
+
+Allow using our own flags to link to pkgsrc ffmpeg.
+
+--- Makefile.orig 2016-12-15 00:13:17.000000000 +0000
++++ Makefile
+@@ -41,7 +41,6 @@ endif
+
+ # Dirs
+ CORE_DIR = ..
+-FFMPEGDIR = $(CORE_DIR)/ffmpeg
+ LIBRETRODIR = $(CORE_DIR)/libretro
+ COREDIR = $(CORE_DIR)/Core
+ COMMONDIR = $(CORE_DIR)/Common
+@@ -56,18 +55,12 @@ ifneq ($(GIT_VERSION)," unknown")
+ CXXFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
+ endif
+ CC_AS ?= $(CC)
+-FFMPEGINCFLAGS :=
+-FFMPEGLIBDIR :=
+-FFMPEGLIBS :=
+
+ # Unix
+ ifneq (,$(findstring unix,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ LDFLAGS += -shared -Wl,--version-script=link.T -Wl,--no-undefined
+
+- FFMPEGINCFLAGS += -I$(FFMPEGDIR)/linux/$(FFMPEG_ARCH)/include
+- FFMPEGLIBDIR := $(FFMPEGDIR)/linux/$(FFMPEG_ARCH)/lib
+- FFMPEGLDFLAGS += -L$(FFMPEGLIBDIR) -lavformat -lavcodec -lavutil -lswresample -lswscale
+ fpic = -fPIC
+ ifneq (,$(findstring gles,$(platform)))
+ GLES = 1
Home |
Main Index |
Thread Index |
Old Index