[arch-commits] Commit in ppsspp/repos (5 files)
Laurent Carlier
lcarlier at archlinux.org
Mon Mar 13 07:44:09 UTC 2017
Date: Monday, March 13, 2017 @ 07:44:09
Author: lcarlier
Revision: 216031
archrelease: copy trunk to community-testing-x86_64
Added:
ppsspp/repos/community-testing-x86_64/
ppsspp/repos/community-testing-x86_64/PKGBUILD
(from rev 216030, ppsspp/trunk/PKGBUILD)
ppsspp/repos/community-testing-x86_64/ppsspp-ffmpeg.patch
(from rev 216030, ppsspp/trunk/ppsspp-ffmpeg.patch)
ppsspp/repos/community-testing-x86_64/ppsspp-gcc5.1.patch
(from rev 216030, ppsspp/trunk/ppsspp-gcc5.1.patch)
ppsspp/repos/community-testing-x86_64/ppsspp.desktop
(from rev 216030, ppsspp/trunk/ppsspp.desktop)
---------------------+
PKGBUILD | 87 ++++++++++++++++++++++++
ppsspp-ffmpeg.patch | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++
ppsspp-gcc5.1.patch | 40 +++++++++++
ppsspp.desktop | 9 ++
4 files changed, 316 insertions(+)
Copied: ppsspp/repos/community-testing-x86_64/PKGBUILD (from rev 216030, ppsspp/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2017-03-13 07:44:09 UTC (rev 216031)
@@ -0,0 +1,87 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd at archlinux.org>
+# Contributor: BartÅomiej Piotrowski <bpiotrowski at archlinux.org>
+# Contributor: Ben Reedy <thebenj88 at gmail.com>
+# Contributor: Clement Guerin <geecko.dev at free.fr>
+# Contributor: Thiago Kenji Okada <thiago.mast3r at gmail.com>
+
+pkgbase=ppsspp
+pkgname=('ppsspp' 'ppsspp-qt')
+pkgver=1.3
+pkgrel=3
+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')
+source=("git+https://github.com/hrydgard/ppsspp.git#tag=v${pkgver}"
+ 'git+https://github.com/hrydgard/ppsspp-ffmpeg.git#commit=81379c5'
+ 'git+https://github.com/hrydgard/ppsspp-glslang.git#commit=4b3e84f'
+ 'git+https://github.com/hrydgard/ppsspp-lang.git#commit=cdf4a8d'
+ 'ppsspp-armips::git+https://github.com/Kingcom/armips.git#commit=1ffab37'
+ 'ppsspp.desktop')
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '1c332702d0aeced07df7e12ba8530bc3f19a52bc76c355f6c84c141becfd46d8')
+
+prepare() {
+ cd ppsspp
+
+ for submodule in ffmpeg lang ext/{armips,glslang}; do
+ git submodule init ${submodule}
+ git config submodule.${submodule}.url ../ppsspp-${submodule#*/}
+ git submodule update ${submodule}
+ done
+
+ for ui in sdl qt; do
+ if [[ -d build-$ui ]]; then
+ rm -rf build-$ui
+ fi
+ mkdir build-$ui
+ done
+}
+
+build() {
+ cd ppsspp/build-sdl
+
+ cmake .. \
+ -DCMAKE_BUILD_TYPE='Release' \
+ -DCMAKE_SKIP_RPATH='TRUE'
+ make
+
+ cd ../build-qt
+
+ qmake-qt5 CONFIG+='release' QMAKE_LFLAGS+='-lz' ../Qt/PPSSPPQt.pro
+ make
+}
+
+package_ppsspp() {
+ conflicts=('ppsspp-qt')
+
+ cd ppsspp/build-sdl
+
+ install -dm 755 "${pkgdir}"/usr/{bin,share/{applications,pixmaps,ppsspp}}
+ install -m 755 PPSSPPSDL "${pkgdir}"/usr/bin/ppsspp
+ cp -dr --no-preserve='ownership' assets "${pkgdir}"/usr/share/ppsspp/
+ install -m 644 ../assets/unix-icons/icon-512.svg "${pkgdir}"/usr/share/pixmaps/ppsspp.svg
+ install -m 644 ../../ppsspp.desktop "${pkgdir}"/usr/share/applications/
+}
+
+package_ppsspp-qt() {
+ depends+=('qt5-base')
+ provides=('ppsspp')
+ conflicts=('ppsspp')
+
+ cd ppsspp/build-qt
+
+ install -dm 755 "${pkgdir}"/usr/{bin,share/{applications,pixmaps}}
+ install -m 755 ppsspp "${pkgdir}"/usr/bin/
+ install -m 644 ../assets/unix-icons/icon-512.svg "${pkgdir}"/usr/share/pixmaps/ppsspp.svg
+ install -m 644 ../../ppsspp.desktop "${pkgdir}"/usr/share/applications/
+}
+
+# vim: ts=2 sw=2 et:
Copied: ppsspp/repos/community-testing-x86_64/ppsspp-ffmpeg.patch (from rev 216030, ppsspp/trunk/ppsspp-ffmpeg.patch)
===================================================================
--- community-testing-x86_64/ppsspp-ffmpeg.patch (rev 0)
+++ community-testing-x86_64/ppsspp-ffmpeg.patch 2017-03-13 07:44:09 UTC (rev 216031)
@@ -0,0 +1,180 @@
+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
+
Copied: ppsspp/repos/community-testing-x86_64/ppsspp-gcc5.1.patch (from rev 216030, ppsspp/trunk/ppsspp-gcc5.1.patch)
===================================================================
--- community-testing-x86_64/ppsspp-gcc5.1.patch (rev 0)
+++ community-testing-x86_64/ppsspp-gcc5.1.patch 2017-03-13 07:44:09 UTC (rev 216031)
@@ -0,0 +1,40 @@
+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
+
Copied: ppsspp/repos/community-testing-x86_64/ppsspp.desktop (from rev 216030, ppsspp/trunk/ppsspp.desktop)
===================================================================
--- community-testing-x86_64/ppsspp.desktop (rev 0)
+++ community-testing-x86_64/ppsspp.desktop 2017-03-13 07:44:09 UTC (rev 216031)
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=PPSSPP
+GenericName=PSP Emulator
+Comment=PlayStation Portable Simulator Suitable for Playing Portably (PPSSPP)
+Exec=ppsspp %f
+Icon=ppsspp
+Categories=Game
More information about the arch-commits
mailing list