[arch-commits] Commit in ppsspp/trunk (8 files)

Maxime Gauduin alucryd at archlinux.org
Wed Apr 5 21:22:39 UTC 2017


    Date: Wednesday, April 5, 2017 @ 21:22:38
  Author: alucryd
Revision: 220764

upgpkg: ppsspp 1.4-2

Added:
  ppsspp/trunk/ppsspp-flags.patch
  ppsspp/trunk/ppsspp-headless.sh
  ppsspp/trunk/ppsspp-qt.desktop
  ppsspp/trunk/ppsspp-qt.sh
  ppsspp/trunk/ppsspp.sh
Modified:
  ppsspp/trunk/PKGBUILD
Deleted:
  ppsspp/trunk/ppsspp-ffmpeg.patch
  ppsspp/trunk/ppsspp-gcc5.1.patch

---------------------+
 PKGBUILD            |   54 ++++++++++-----
 ppsspp-ffmpeg.patch |  180 --------------------------------------------------
 ppsspp-flags.patch  |   33 +++++++++
 ppsspp-gcc5.1.patch |   40 -----------
 ppsspp-headless.sh  |    4 +
 ppsspp-qt.desktop   |    9 ++
 ppsspp-qt.sh        |    4 +
 ppsspp.sh           |    4 +
 8 files changed, 93 insertions(+), 235 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-04-05 21:15:01 UTC (rev 220763)
+++ PKGBUILD	2017-04-05 21:22:38 UTC (rev 220764)
@@ -6,15 +6,15 @@
 # Contributor: Thiago Kenji Okada <thiago.mast3r at gmail.com>
 
 pkgbase=ppsspp
-pkgname=('ppsspp' 'ppsspp-qt')
+pkgname=('ppsspp' 'ppsspp-headless' 'ppsspp-qt')
 pkgver=1.4
-pkgrel=1
+pkgrel=2
 pkgdesc='A PSP emulator written in C++'
 arch=('x86_64')
 url='http://www.ppsspp.org/'
 license=('GPL2')
-depends=('glew' 'libzip' 'sdl2')
-makedepends=('cmake' 'git' 'glu' 'qt5-tools')
+depends=('glew' 'sdl2')
+makedepends=('cmake' 'git' 'glu' 'libzip' 'qt5-tools')
 _commit='186d471305cad6fe83d8716d6b328f0e8b32b38c'
 source=("git+https://github.com/hrydgard/ppsspp.git#commit=${_commit}"
         'git+https://github.com/hrydgard/ppsspp-ffmpeg.git#commit=a2e98d7ba4c7c5cac08608732c3058cb46e3e0ef'
@@ -23,7 +23,12 @@
         'git+https://github.com/Kingcom/armips.git#commit=770365d44df35d6e675c58bb2a774ca412278ef5'
         'armips-tinyformat::git+https://github.com/Kingcom/tinyformat.git#commit=b7f5a22753c81d834ab5133d655f1fd525280765'
         'git+https://github.com/KhronosGroup/SPIRV-Cross.git#commit=6381b2ff9c0d975af8fd2974c97aa12a69ab6cc6'
-        'ppsspp.desktop')
+        'ppsspp.sh'
+        'ppsspp-headless.sh'
+        'ppsspp-qt.sh'
+        'ppsspp.desktop'
+        'ppsspp-qt.desktop'
+        'ppsspp-flags.patch')
 sha256sums=('SKIP'
             'SKIP'
             'SKIP'
@@ -31,11 +36,18 @@
             'SKIP'
             'SKIP'
             'SKIP'
-            '1c332702d0aeced07df7e12ba8530bc3f19a52bc76c355f6c84c141becfd46d8')
+            'e479cc5f6b998807ecea1793551cd9f080fe136243cd1d5212eb70e389e48eb0'
+            '86b1748137d7c05f7e6da11f148b36aa2c64e25f432de1220b47cf17baa53175'
+            'b9c1c638f13c41c9ddaf818fea3349cf14841aade2287d086f1e2c96584e99ea'
+            '1c332702d0aeced07df7e12ba8530bc3f19a52bc76c355f6c84c141becfd46d8'
+            'b3b1fb9e0ecd3c4472b51f27d028a69514b1a3823c26e33da6ffaebfb1522b7f'
+            '6694643d96dae673f01555637139468eb277f3379afbcceccad3f7e0ae670278')
 
 prepare() {
   cd ppsspp
 
+  patch -Np1 -i ../ppsspp-flags.patch
+
   for submodule in ffmpeg assets/lang ext/glslang; do
     git submodule init ${submodule}
     git config submodule.${submodule}.url ../ppsspp-${submodule#*/}
@@ -70,7 +82,8 @@
 
   cmake .. \
     -DCMAKE_BUILD_TYPE='Release' \
-    -DCMAKE_SKIP_RPATH='ON'
+    -DCMAKE_SKIP_RPATH='ON' \
+    -DHEADLESS='ON'
   make
 
   cd ../build-qt
@@ -84,29 +97,40 @@
 
 package_ppsspp() {
   conflicts=('ppsspp-qt')
+  depends+=('hicolor-icon-theme' 'libzip')
 
   cd ppsspp/build-sdl
 
-  install -dm 755 "${pkgdir}"/usr/{bin,share/{applications,icons,man/man1,pixmaps,ppsspp}}
-  install -m 755 PPSSPPSDL "${pkgdir}"/usr/bin/ppsspp
-  cp -dr --no-preserve='ownership' assets "${pkgdir}"/usr/share/ppsspp/
+  install -dm 755 "${pkgdir}"/{opt/ppsspp,usr/{bin,share/{applications,icons,pixmaps}}}
+  install -m 755 PPSSPPSDL "${pkgdir}"/opt/ppsspp/
+  cp -dr --no-preserve='ownership' assets "${pkgdir}"/opt/ppsspp/
   cp -dr --no-preserve='ownership' ../icons/hicolor "${pkgdir}"/usr/share/icons/
   install -m 644 ../icons/icon-512.svg "${pkgdir}"/usr/share/pixmaps/ppsspp.svg
+  install -m 755 ../../ppsspp.sh "${pkgdir}"/usr/bin/ppsspp
   install -m 644 ../../ppsspp.desktop "${pkgdir}"/usr/share/applications/
 }
 
+package_ppsspp-headless() {
+  cd ppsspp/build-sdl
+
+  install -dm 755 "${pkgdir}"/{opt/ppsspp,usr/bin}
+  install -m 755 PPSSPPHeadless "${pkgdir}"/opt/ppsspp/
+  install -m 755 ../../ppsspp-headless.sh "${pkgdir}"/usr/bin/ppsspp-headless
+}
+
 package_ppsspp-qt() {
-  depends+=('qt5-base' 'qt5-multimedia')
   conflicts=('ppsspp')
+  depends+=('hicolor-icon-theme' 'libzip' 'qt5-base')
 
   cd ppsspp/build-qt
 
-  install -dm 755 "${pkgdir}"/usr/{bin,share/{applications,man/man1,pixmaps}}
-  install -m 755 PPSSPPQt "${pkgdir}"/usr/bin/ppsspp
-  cp -dr --no-preserve='ownership' assets "${pkgdir}"/usr/share/ppsspp/
+  install -dm 755 "${pkgdir}"/{opt/ppsspp,usr/{bin,share/{applications,icons,pixmaps}}}
+  install -m 755 PPSSPPQt "${pkgdir}"/opt/ppsspp/
+  cp -dr --no-preserve='ownership' assets "${pkgdir}"/opt/ppsspp/
   cp -dr --no-preserve='ownership' ../icons/hicolor "${pkgdir}"/usr/share/icons/
   install -m 644 ../icons/icon-512.svg "${pkgdir}"/usr/share/pixmaps/ppsspp.svg
-  install -m 644 ../../ppsspp.desktop "${pkgdir}"/usr/share/applications/
+  install -m 755 ../../ppsspp-qt.sh "${pkgdir}"/usr/bin/ppsspp-qt
+  install -m 644 ../../ppsspp-qt.desktop "${pkgdir}"/usr/share/applications/
 }
 
 # vim: ts=2 sw=2 et:

Deleted: ppsspp-ffmpeg.patch
===================================================================
--- ppsspp-ffmpeg.patch	2017-04-05 21:15:01 UTC (rev 220763)
+++ ppsspp-ffmpeg.patch	2017-04-05 21:22:38 UTC (rev 220764)
@@ -1,180 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a1a2543..4d19fa4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -394,145 +394,20 @@ add_library(stb_vorbis STATIC
- 	native/ext/stb_vorbis/stb_vorbis.h)
- include_directories(native/ext/stb_vorbis)
- 
--if(USE_FFMPEG AND NOT DEFINED FFMPEG_BUILDDIR)
--	if(ANDROID)
--		if(ARMV7)
--			set(PLATFORM_ARCH "android/armv7")
--		elseif(ARM)
--			set(PLATFORM_ARCH "android/arm")
--		elseif(X86)
--			set(PLATFORM_ARCH "android/x86")
--		endif()
--	elseif(BLACKBERRY)
--		set(PLATFORM_ARCH "blackberry/armv7")
--	elseif(IOS)
--		set(PLATFORM_ARCH "ios/universal")
--	elseif(MACOSX)
--		set(PLATFORM_ARCH "macosx/x86_64")
--	elseif(LINUX)
--		if(ARMV7)
--			set(PLATFORM_ARCH "linux/armv7")
--		elseif(ARM)
--			set(PLATFORM_ARCH "linux/arm")
--		elseif(MIPS)
--			set(PLATFORM_ARCH "linux/mips32")
--		elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
--			set(PLATFORM_ARCH "linux/x86_64")
--		else()
--			set(PLATFORM_ARCH "linux/x86")
--		endif()
--	endif()
--	# Using static libraries
--	if (DEFINED PLATFORM_ARCH)
--		include_directories(ffmpeg/${PLATFORM_ARCH}/include)
--		link_directories(ffmpeg/${PLATFORM_ARCH}/lib)
--		set(FFMPEG_LIBRARIES libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a)
--	else()
--		# Manual definition of system library locations by the user.
--		if (DEFINED FFMPEG_INCLUDE_PATH)
--			include_directories(ffmpeg ${FFMPEG_INCLUDE_PATH})
--		endif()
--		if (DEFINED AVFORMAT_PATH)
--			add_library(libavformat STATIC IMPORTED)
--			set_target_properties(libavformat PROPERTIES IMPORTED_LOCATION ${AVFORMAT_PATH})
--			SET (FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} libavformat)
--		endif()
--		if (DEFINED AVCODEC_PATH)
--			add_library(libavcodec STATIC IMPORTED)
--			set_target_properties(libavcodec PROPERTIES IMPORTED_LOCATION ${AVCODEC_PATH})
--			SET (FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} libavcodec)
--		endif()
--		if (DEFINED AVUTIL_PATH)
--			add_library(libavutil STATIC IMPORTED)
--			set_target_properties(libavutil PROPERTIES IMPORTED_LOCATION ${AVUTIL_PATH})
--			SET (FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} libavutil)
--		endif()
--		if (DEFINED SWRESAMPLE_PATH)
--			add_library(libswresample STATIC IMPORTED)
--			set_target_properties(libswresample PROPERTIES IMPORTED_LOCATION ${SWRESAMPLE_PATH})
--			SET (FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} libswresample)
--		endif()
--		if (DEFINED SWSCALE_PATH)
--			add_library(libswscale STATIC IMPORTED)
--			set_target_properties(libswscale PROPERTIES IMPORTED_LOCATION ${SWSCALE_PATH})
--			SET (FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} libswscale)
--		endif()
--	endif(DEFINED PLATFORM_ARCH)
--endif(USE_FFMPEG AND NOT DEFINED FFMPEG_BUILDDIR)
--
- if(USE_FFMPEG)
--	# Using shared libraries
--	if(DEFINED FFMPEG_BUILDDIR)
--		include_directories(ffmpeg ${FFMPEG_BUILDDIR})
--
--		add_library(libavformat STATIC IMPORTED)
--		set_target_properties(libavformat PROPERTIES IMPORTED_LOCATION ${FFMPEG_BUILDDIR}/libavformat/libavformat.a)
--		add_library(libavcodec STATIC IMPORTED)
--		set_target_properties(libavcodec PROPERTIES IMPORTED_LOCATION ${FFMPEG_BUILDDIR}/libavcodec/libavcodec.a)
--		add_library(libavutil STATIC IMPORTED)
--		set_target_properties(libavutil PROPERTIES IMPORTED_LOCATION ${FFMPEG_BUILDDIR}/libavutil/libavutil.a)
--		add_library(libswresample STATIC IMPORTED)
--		set_target_properties(libswresample PROPERTIES IMPORTED_LOCATION ${FFMPEG_BUILDDIR}/libswresample/libswresample.a)
--		add_library(libswscale STATIC IMPORTED)
--		set_target_properties(libswscale PROPERTIES IMPORTED_LOCATION ${FFMPEG_BUILDDIR}/libswscale/libswscale.a)
--
--		SET (FFMPEG_LIBRARIES
--			libavformat
--			libavcodec
--			libavutil
--			libswresample
--			libswscale
--		)
--	endif()
--
--	find_library(ICONV_LIBRARY NAMES iconv)
--	if (ICONV_LIBRARY)
--		set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${ICONV_LIBRARY})
--	endif()
--
--	if(APPLE)
--		set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} bz2 "-framework CoreVideo")
--		if (NOT IOS)
--			set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} "-framework VideoDecodeAcceleration")
--		endif()
--	endif(APPLE)
-+	SET (FFMPEG_LIBRARIES
-+		avformat
-+		avcodec
-+		avutil
-+		swresample
-+		swscale
-+	)
- 
--	set(LinkCommon ${LinkCommon} ${FFMPEG_LIBRARIES})
-+	set(nativeExtraLibs ${nativeExtraLibs} ${FFMPEG_LIBRARIES})
-+	target_link_libraries(Common ${FFMPEG_LIBRARIES})
- 	add_definitions(-DUSE_FFMPEG)
- endif(USE_FFMPEG)
- 
--# Modification to show where we are pulling the ffmpeg libraries from.
--if(USE_FFMPEG AND DEFINED FFMPEG_LIBRARIES)
--	target_link_libraries(Common ${FFMPEG_LIBRARIES})
--	message(STATUS "FFMPEG library locations:")
--	if(DEFINED PLATFORM_ARCH)
--		set(TEMP ${CMAKE_SOURCE_DIR}/ffmpeg/${PLATFORM_ARCH}/lib)
--		message(STATUS "libavcodec location: ${TEMP}/libavcodec.a")
--		message(STATUS "libavformat location: ${TEMP}/libavformat.a")
--		message(STATUS "libavutil location: ${TEMP}/libavutil.a")
--		message(STATUS "libswresample location: ${TEMP}/libswresample.a")
--		message(STATUS "libswscale location: ${TEMP}/libswscale.a")
--	else()
--		get_target_property(TEMP libavcodec IMPORTED_LOCATION)
--		message(STATUS "libavcodec location: ${TEMP}")
--		get_target_property(TEMP libavformat IMPORTED_LOCATION)
--		message(STATUS "libavformat location: ${TEMP}")
--		get_target_property(TEMP libavutil IMPORTED_LOCATION)
--		message(STATUS "libavutil location: ${TEMP}")
--		get_target_property(TEMP libswresample IMPORTED_LOCATION)
--		message(STATUS "libswresample location: ${TEMP}")
--		get_target_property(TEMP libswscale IMPORTED_LOCATION)
--		message(STATUS "libswscale location: ${TEMP}")
--	endif(DEFINED PLATFORM_ARCH)
--else()
--	message(STATUS "ERROR: No FFMPEG library locations")
--endif()
--
--if(USE_FFMPEG AND NOT DEFINED FFMPEG_LIBRARIES)
--	message(WARNING "FFMPEG_BUILDDIR variable or manual path definition is required to enable FFmpeg. Disabling it.")
--	unset(USE_FFMPEG)
--endif()
--
- find_package(ZLIB)
- if(ZLIB_FOUND)
- 	include_directories(${ZLIB_INCLUDE_DIR})
-diff --git a/Core/HW/MediaEngine.h b/Core/HW/MediaEngine.h
-index c384faf..d38993d 100644
---- a/Core/HW/MediaEngine.h
-+++ b/Core/HW/MediaEngine.h
-@@ -34,9 +34,14 @@ class PointerWrap;
- class SimpleAudio;
- 
- #ifdef USE_FFMPEG
-+extern "C" {
-+#include <libavformat/avformat.h>
-+#include <libavutil/old_pix_fmts.h>
-+}
-+
- struct SwsContext;
- struct AVFrame;
--struct AVIOContext;
-+//struct AVIOContext;
- struct AVFormatContext;
- struct AVCodecContext;
- #endif
-

Added: ppsspp-flags.patch
===================================================================
--- ppsspp-flags.patch	                        (rev 0)
+++ ppsspp-flags.patch	2017-04-05 21:22:38 UTC (rev 220764)
@@ -0,0 +1,33 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 19038c88a436..bf50f5cf52fb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -195,11 +195,11 @@ if(NOT MSVC)
+ 
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_DEBUG")
+ 	set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Os -D_NDEBUG")
+-	set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -D_NDEBUG")
++	set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -D_NDEBUG")
+ 	set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
+ 	set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -D_DEBUG")
+ 	set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -D_NDEBUG")
+-	set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -D_NDEBUG")
++	set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -D_NDEBUG")
+ 	set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
+ 	#TODO: Remove this and include the file properly everywhere it makes sense
+ 	# First step is too use the macros everywhere
+@@ -509,10 +509,10 @@ include_directories(ext/cityhash)
+ 
+ if (NOT MSVC)
+ 	# These can be fast even for debug.
+-	set_target_properties(udis86 PROPERTIES COMPILE_FLAGS "-O3")
+-	set_target_properties(cityhash PROPERTIES COMPILE_FLAGS "-O3")
++	set_target_properties(udis86 PROPERTIES COMPILE_FLAGS "-O2")
++	set_target_properties(cityhash PROPERTIES COMPILE_FLAGS "-O2")
+ 	if(NOT ZLIB_FOUND)
+-		set_target_properties(zlib PROPERTIES COMPILE_FLAGS "-O3")
++		set_target_properties(zlib PROPERTIES COMPILE_FLAGS "-O2")
+ 	endif()
+ endif()
+ 
+

Deleted: ppsspp-gcc5.1.patch
===================================================================
--- ppsspp-gcc5.1.patch	2017-04-05 21:15:01 UTC (rev 220763)
+++ ppsspp-gcc5.1.patch	2017-04-05 21:22:38 UTC (rev 220764)
@@ -1,40 +0,0 @@
-diff -rupN ppsspp.orig/ext/xbrz/xbrz.cpp ppsspp/ext/xbrz/xbrz.cpp
---- ppsspp.orig/ext/xbrz/xbrz.cpp	2015-06-01 10:48:46.841998475 +0200
-+++ ppsspp/ext/xbrz/xbrz.cpp	2015-06-01 10:50:31.379058513 +0200
-@@ -616,23 +616,21 @@ void scalePixel(const Kernel_3x3& ker,
- 		auto eq   = [&](uint32_t col1, uint32_t col2) { return ColorDistance::dist(col1, col2, cfg.luminanceWeight_) < cfg.equalColorTolerance_; };
- 		auto dist = [&](uint32_t col1, uint32_t col2) { return ColorDistance::dist(col1, col2, cfg.luminanceWeight_); };
- 
--		const bool doLineBlend = [&]() -> bool
--		{
--			if (getBottomR(blend) >= BLEND_DOMINANT)
--				return true;
-+	bool doLineBlend;
- 
--			//make sure there is no second blending in an adjacent rotation for this pixel: handles insular pixels, mario eyes
--			if (getTopR(blend) != BLEND_NONE && !eq(e, g)) //but support double-blending for 90° corners
--				return false;
--			if (getBottomL(blend) != BLEND_NONE && !eq(e, c))
--				return false;
-+	if (getBottomR(blend) >= BLEND_DOMINANT)
-+		doLineBlend = true;
- 
--			//no full blending for L-shapes; blend corner only (handles "mario mushroom eyes")
--			if (eq(g, h) &&  eq(h , i) && eq(i, f) && eq(f, c) && !eq(e, i))
--				return false;
--
--			return true;
--		}();
-+	//make sure there is no second blending in an adjacent rotation for this pixel: handles insular pixels, mario eyes
-+	else if (getTopR(blend) != BLEND_NONE && !eq(e, g)) //but support double-blending for 90° corners
-+		doLineBlend = false;
-+	else if (getBottomL(blend) != BLEND_NONE && !eq(e, c))
-+	doLineBlend = false;
-+	//no full blending for L-shapes; blend corner only (handles "mario mushroom eyes")
-+	else if (!eq(e, i) && eq(g, h) && eq(h , i) && eq(i, f) && eq(f, c))
-+		doLineBlend = false;
-+	else
-+		doLineBlend = true;
- 
- 		const uint32_t px = dist(e, f) <= dist(e, h) ? f : h; //choose most similar color
- 

Added: ppsspp-headless.sh
===================================================================
--- ppsspp-headless.sh	                        (rev 0)
+++ ppsspp-headless.sh	2017-04-05 21:22:38 UTC (rev 220764)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd /opt/ppsspp
+exec ./PPSSPPHeadless

Added: ppsspp-qt.desktop
===================================================================
--- ppsspp-qt.desktop	                        (rev 0)
+++ ppsspp-qt.desktop	2017-04-05 21:22:38 UTC (rev 220764)
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=PPSSPP (Qt)
+GenericName=PSP Emulator
+Comment=PlayStation Portable Simulator Suitable for Playing Portably (PPSSPP)
+Exec=ppsspp-qt %f
+Icon=ppsspp
+Categories=Game

Added: ppsspp-qt.sh
===================================================================
--- ppsspp-qt.sh	                        (rev 0)
+++ ppsspp-qt.sh	2017-04-05 21:22:38 UTC (rev 220764)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd /opt/ppsspp
+exec ./PPSSPPQt

Added: ppsspp.sh
===================================================================
--- ppsspp.sh	                        (rev 0)
+++ ppsspp.sh	2017-04-05 21:22:38 UTC (rev 220764)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd /opt/ppsspp
+exec ./PPSSPPSDL



More information about the arch-commits mailing list