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.mas...@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