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