summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Konotopov <ykonotopov@gmail.com>2015-08-13 19:34:44 +0300
committernE0sIghT <ykonotopov@gmail.com>2015-08-13 20:36:24 +0300
commit17cfc21d2b5e5ebd17a2134d7ede182fc43b2631 (patch)
treed32d890e28cefae7a659a1d9ed00178bac6a3b00 /games-emulation
parentmedia-plugins/hexter: version bump to 1.0.3, bug 545046 (diff)
downloadgentoo-17cfc21d2b5e5ebd17a2134d7ede182fc43b2631.tar.gz
gentoo-17cfc21d2b5e5ebd17a2134d7ede182fc43b2631.tar.bz2
gentoo-17cfc21d2b5e5ebd17a2134d7ede182fc43b2631.zip
games-emulation/pcsx2: new package
Fixes: https://bugs.gentoo.org/show_bug.cgi?id=141626 Fixes: https://bugs.gentoo.org/show_bug.cgi?id=510710
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/pcsx2/Manifest1
-rw-r--r--games-emulation/pcsx2/files/pcsx2-1.3.1-cflags.patch776
-rw-r--r--games-emulation/pcsx2/files/pcsx2-1.3.1-egl-optional.patch169
-rw-r--r--games-emulation/pcsx2/files/pcsx2-1.3.1-packaging.patch148
-rw-r--r--games-emulation/pcsx2/metadata.xml13
-rw-r--r--games-emulation/pcsx2/pcsx2-1.3.1.ebuild106
-rw-r--r--games-emulation/pcsx2/pcsx2-9999.ebuild106
7 files changed, 1319 insertions, 0 deletions
diff --git a/games-emulation/pcsx2/Manifest b/games-emulation/pcsx2/Manifest
new file mode 100644
index 000000000000..21e18f3514d0
--- /dev/null
+++ b/games-emulation/pcsx2/Manifest
@@ -0,0 +1 @@
+DIST pcsx2-1.3.1.tar.gz 20719203 SHA256 60ba9f7f85bf4337ca6962f9b437d549f16fc04ea0b6b261d7521e0416c2b8c9 SHA512 d09364841d8122abc33619b66c6a5bfac7c3979442a257fe6967e516289b6584546e5b512ab8987c04563beb68a587bd44ddc4fac122633598fe89447c4025c3 WHIRLPOOL ec97823c0642a5fa2e0829465b864c09c4596d0c8eebc477b4db463ff6a3af6493480fbce5586b0e085e7d96b6d2837a087f7ceea77b45ed5a2ddefa683c99ba
diff --git a/games-emulation/pcsx2/files/pcsx2-1.3.1-cflags.patch b/games-emulation/pcsx2/files/pcsx2-1.3.1-cflags.patch
new file mode 100644
index 000000000000..f041be5fa15a
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-1.3.1-cflags.patch
@@ -0,0 +1,776 @@
+From 683b871c320ec14b777ec3937dc609b69b3cf5a5 Mon Sep 17 00:00:00 2001
+From: nE0sIghT <ykonotopov@gmail.com>
+Date: Sat, 8 Aug 2015 19:12:37 +0300
+Subject: [PATCH 3/3] Use global compiler optimization flags instead of
+ defining them for every plugin/binary
+
+---
+ cmake/BuildParameters.cmake | 35 ++++++++++-------
+ common/src/Utilities/CMakeLists.txt | 45 +---------------------
+ common/src/x86emitter/CMakeLists.txt | 45 +---------------------
+ pcsx2/CMakeLists.txt | 45 +---------------------
+ plugins/CDVDiso/src/CMakeLists.txt | 16 +-------
+ plugins/CDVDlinuz/Src/CMakeLists.txt | 21 +---------
+ plugins/CDVDnull/CMakeLists.txt | 16 +-------
+ plugins/FWnull/CMakeLists.txt | 16 +-------
+ plugins/GSdx/CMakeLists.txt | 9 +----
+ plugins/GSnull/CMakeLists.txt | 16 +-------
+ plugins/PadNull/CMakeLists.txt | 16 +-------
+ plugins/SPU2null/CMakeLists.txt | 16 +-------
+ plugins/USBnull/CMakeLists.txt | 16 +-------
+ plugins/dev9null/CMakeLists.txt | 16 +-------
+ plugins/onepad/CMakeLists.txt | 16 +-------
+ plugins/spu2-x/src/CMakeLists.txt | 16 +-------
+ plugins/zerogs/opengl/CMakeLists.txt | 8 +---
+ plugins/zerospu2/CMakeLists.txt | 16 +-------
+ plugins/zzogl-pg/opengl/CMakeLists.txt | 8 +---
+ .../zzogl-pg/opengl/ZeroGSShaders/CMakeLists.txt | 8 +---
+ tools/bin2cpp/CMakeLists.txt | 6 +--
+ 21 files changed, 51 insertions(+), 355 deletions(-)
+
+diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake
+index 48b167c..82e4ded 100644
+--- a/cmake/BuildParameters.cmake
++++ b/cmake/BuildParameters.cmake
+@@ -117,14 +117,17 @@ if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386")
+ # - Only plugins. No package will link to them.
+ set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
+
+- if (DISABLE_ADVANCE_SIMD)
+- set(ARCH_FLAG "-msse -msse2 -march=i686")
+- else()
+- # AVX requires some fix of the ABI (mangling) (default 2)
+- # Note: V6 requires GCC 4.7
+- #set(ARCH_FLAG "-march=native -fabi-version=6")
+- set(ARCH_FLAG "-march=native")
++ if(NOT DEFINED ARCH_FLAG)
++ if (DISABLE_ADVANCE_SIMD)
++ set(ARCH_FLAG "-msse -msse2 -march=i686")
++ else()
++ # AVX requires some fix of the ABI (mangling) (default 2)
++ # Note: V6 requires GCC 4.7
++ #set(ARCH_FLAG "-march=native -fabi-version=6")
++ set(ARCH_FLAG "-march=native")
++ endif()
+ endif()
++
+ add_definitions(-D_ARCH_32=1 -D_M_X86=1 -D_M_X86_32=1)
+ set(_ARCH_32 1)
+ set(_M_X86 1)
+@@ -136,11 +139,13 @@ elseif(${PCSX2_TARGET_ARCHITECTURES} MATCHES "x86_64")
+ # SuperVU will not be ported
+ set(DISABLE_SVU TRUE)
+
+- if (DISABLE_ADVANCE_SIMD)
+- set(ARCH_FLAG "-msse -msse2")
+- else()
+- #set(ARCH_FLAG "-march=native -fabi-version=6")
+- set(ARCH_FLAG "-march=native")
++ if(NOT DEFINED ARCH_FLAG)
++ if (DISABLE_ADVANCE_SIMD)
++ set(ARCH_FLAG "-msse -msse2")
++ else()
++ #set(ARCH_FLAG "-march=native -fabi-version=6")
++ set(ARCH_FLAG "-march=native")
++ endif()
+ endif()
+ add_definitions(-D_ARCH_64=1 -D_M_X86=1 -D_M_X86_64=1)
+ set(_ARCH_64 1)
+@@ -256,8 +261,12 @@ else()
+ set(ASAN_FLAG "")
+ endif()
+
++if(NOT DEFINED OPTIMIZATION_FLAG)
++ set(OPTIMIZATION_FLAG -O2)
++endif()
++
+ # Note: -DGTK_DISABLE_DEPRECATED can be used to test a build without gtk deprecated feature. It could be useful to port to a newer API
+-set(DEFAULT_GCC_FLAG "${ARCH_FLAG} ${COMMON_FLAG} ${DEFAULT_WARNINGS} ${AGGRESSIVE_WARNING} ${HARDENING_FLAG} ${DEBUG_FLAG} ${ASAN_FLAG}")
++set(DEFAULT_GCC_FLAG "${ARCH_FLAG} ${COMMON_FLAG} ${DEFAULT_WARNINGS} ${AGGRESSIVE_WARNING} ${HARDENING_FLAG} ${DEBUG_FLAG} ${ASAN_FLAG} ${OPTIMIZATION_FLAG}")
+ # c++ only flags
+ set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof")
+
+diff --git a/common/src/Utilities/CMakeLists.txt b/common/src/Utilities/CMakeLists.txt
+index 8f97604..f4b6e27 100644
+--- a/common/src/Utilities/CMakeLists.txt
++++ b/common/src/Utilities/CMakeLists.txt
+@@ -14,47 +14,6 @@ set(CommonFlags
+ -fno-strict-aliasing
+ )
+
+-# set optimization flags
+-set(OptimizationFlags
+- -falign-functions
+- -falign-jumps
+- -falign-labels
+- -falign-loops
+- -fcaller-saves
+- -fcprop-registers
+- -fcrossjumping
+- -fcse-follow-jumps
+- -fcse-skip-blocks
+- -fdefer-pop
+- -fdelete-null-pointer-checks
+- -fgcse
+- -fgcse-lm
+- -fif-conversion
+- -fif-conversion2
+- -fmerge-constants
+- -foptimize-sibling-calls
+- -fpeephole2
+- -fregmove
+- -freorder-blocks
+- -freorder-functions
+- -frerun-cse-after-loop
+- -fsched-interblock
+- -fsched-spec
+- -fstrict-overflow
+- -fthread-jumps
+- -ftree-ccp
+- -ftree-ch
+- -ftree-copyrename
+- -ftree-dce
+- -ftree-dominator-opts
+- -ftree-fre
+- -ftree-lrs
+- -ftree-pre
+- -ftree-sra
+- -ftree-ter
+- -ftree-vrp
+- -funit-at-a-time)
+-
+ #Clang doesn't support a few common flags that GCC does.
+ if(NOT USE_CLANG)
+ set(UtilitiesFinalFlags
+@@ -79,7 +38,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Devel)
+ # add defines
+ set(UtilitiesFinalFlags
+ ${UtilitiesFinalFlags}
+- ${CommonFlags} ${OptimizationFlags} -DPCSX2_DEVBUILD
++ ${CommonFlags} -DPCSX2_DEVBUILD
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Devel)
+
+@@ -89,7 +48,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Release)
+ # add defines
+ set(UtilitiesFinalFlags
+ ${UtilitiesFinalFlags}
+- ${CommonFlags} ${OptimizationFlags}
++ ${CommonFlags}
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Release)
+
+diff --git a/common/src/x86emitter/CMakeLists.txt b/common/src/x86emitter/CMakeLists.txt
+index b37e22a..a8217fc 100644
+--- a/common/src/x86emitter/CMakeLists.txt
++++ b/common/src/x86emitter/CMakeLists.txt
+@@ -14,47 +14,6 @@ set(CommonFlags
+ -fno-strict-aliasing
+ )
+
+-# set optimization flags
+-set(OptimizationFlags
+- -falign-functions
+- -falign-jumps
+- -falign-labels
+- -falign-loops
+- -fcaller-saves
+- -fcprop-registers
+- -fcrossjumping
+- -fcse-follow-jumps
+- -fcse-skip-blocks
+- -fdefer-pop
+- -fdelete-null-pointer-checks
+- -fgcse
+- -fgcse-lm
+- -fif-conversion
+- -fif-conversion2
+- -fmerge-constants
+- -foptimize-sibling-calls
+- -fpeephole2
+- -fregmove
+- -freorder-blocks
+- -freorder-functions
+- -frerun-cse-after-loop
+- -fsched-interblock
+- -fsched-spec
+- -fstrict-overflow
+- -fthread-jumps
+- -ftree-ccp
+- -ftree-ch
+- -ftree-copyrename
+- -ftree-dce
+- -ftree-dominator-opts
+- -ftree-fre
+- -ftree-lrs
+- -ftree-pre
+- -ftree-sra
+- -ftree-ter
+- -ftree-vrp
+- -funit-at-a-time)
+-
+ #Clang doesn't support a few common flags that GCC does.
+ if(NOT USE_CLANG)
+ set(x86emitterFinalFlags
+@@ -77,7 +36,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Devel)
+ # add defines
+ set(x86emitterFinalFlags
+ ${x86emitterFinalFlags}
+- ${CommonFlags} ${OptimizationFlags} -DPCSX2_DEVBUILD
++ ${CommonFlags} -DPCSX2_DEVBUILD
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Devel)
+
+@@ -87,7 +46,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Release)
+ # add defines
+ set(x86emitterFinalFlags
+ ${x86emitterFinalFlags}
+- ${CommonFlags} ${OptimizationFlags}
++ ${CommonFlags}
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Release)
+
+diff --git a/pcsx2/CMakeLists.txt b/pcsx2/CMakeLists.txt
+index 871713e..a98843d 100644
+--- a/pcsx2/CMakeLists.txt
++++ b/pcsx2/CMakeLists.txt
+@@ -27,47 +27,6 @@ set(CommonFlags
+ -DWX_PRECOMP
+ )
+
+-# set optimization flags
+-set(OptimizationFlags
+- -falign-functions
+- -falign-jumps
+- -falign-labels
+- -falign-loops
+- -fcaller-saves
+- -fcprop-registers
+- -fcrossjumping
+- -fcse-follow-jumps
+- -fcse-skip-blocks
+- -fdefer-pop
+- -fdelete-null-pointer-checks
+- -fgcse
+- -fgcse-lm
+- -fif-conversion
+- -fif-conversion2
+- -fmerge-constants
+- -foptimize-sibling-calls
+- -fpeephole2
+- -fregmove
+- -freorder-blocks
+- -freorder-functions
+- -frerun-cse-after-loop
+- -fsched-interblock
+- -fsched-spec
+- -fstrict-overflow
+- -fthread-jumps
+- -ftree-ccp
+- -ftree-ch
+- -ftree-copyrename
+- -ftree-dce
+- -ftree-dominator-opts
+- -ftree-fre
+- -ftree-lrs
+- -ftree-pre
+- -ftree-sra
+- -ftree-ter
+- -ftree-vrp
+- -funit-at-a-time)
+-
+ #Clang doesn't support a few common flags that GCC does.
+ if(NOT USE_CLANG)
+ set(pcsx2FinalFlags ${CommonFlags} -fno-guess-branch-probability -fno-dse -fno-tree-dse)
+@@ -80,11 +39,11 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+
+ elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+ set(Output pcsx2-dev)
+- set(pcsx2FinalFlags ${pcsx2FinalFlags} ${CommonFlags} ${OptimizationFlags} -DPCSX2_DEVBUILD)
++ set(pcsx2FinalFlags ${pcsx2FinalFlags} ${CommonFlags} -DPCSX2_DEVBUILD)
+
+ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+ set(Output pcsx2)
+- set(pcsx2FinalFlags ${pcsx2FinalFlags} ${CommonFlags} ${OptimizationFlags})
++ set(pcsx2FinalFlags ${pcsx2FinalFlags} ${CommonFlags})
+
+ endif()
+
+diff --git a/plugins/CDVDiso/src/CMakeLists.txt b/plugins/CDVDiso/src/CMakeLists.txt
+index 519c92a..97cb832 100644
+--- a/plugins/CDVDiso/src/CMakeLists.txt
++++ b/plugins/CDVDiso/src/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output CDVDiso)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(CDVDisoFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(CDVDisoFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(CDVDisoFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(CDVDisoFinalFlags "")
+
+ # CDVDiso sources
+ set(CDVDisoSources
+diff --git a/plugins/CDVDlinuz/Src/CMakeLists.txt b/plugins/CDVDlinuz/Src/CMakeLists.txt
+index 943780f..f02198d 100644
+--- a/plugins/CDVDlinuz/Src/CMakeLists.txt
++++ b/plugins/CDVDlinuz/Src/CMakeLists.txt
+@@ -2,26 +2,7 @@
+
+ # plugin name
+ set(Output CDVDlinuz)
+-
+-set(CommonFlags
+- -D_LARGEFILE64_SOURCE
+- )
+-
+-set(OptimizationFlags
+- -O2
+- -fomit-frame-pointer
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(CDVDlinuzFinalFlags ${CommonFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(CDVDlinuzFinalFlags ${CommonFlags} ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(CDVDlinuzFinalFlags ${CommonFlags} ${OptimizationFlags})
+-
+-endif()
++set(CDVDlinuzFinalFlags -D_LARGEFILE64_SOURCE)
+
+ # CDVDlinuz sources
+ set(CDVDlinuzSources
+diff --git a/plugins/CDVDnull/CMakeLists.txt b/plugins/CDVDnull/CMakeLists.txt
+index 4fde2f7..5c84959 100644
+--- a/plugins/CDVDnull/CMakeLists.txt
++++ b/plugins/CDVDnull/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output CDVDnull)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(CDVDnullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(CDVDnullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(CDVDnullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(CDVDnullFinalFlags "")
+
+ # CDVDnull sources
+ set(CDVDnullSources
+diff --git a/plugins/FWnull/CMakeLists.txt b/plugins/FWnull/CMakeLists.txt
+index fd5a45e..aaf9e4e 100644
+--- a/plugins/FWnull/CMakeLists.txt
++++ b/plugins/FWnull/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output FWnull-0.7.0)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(FWnullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(FWnullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(FWnullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(FWnullFinalFlags "")
+
+ # FWnull sources
+ set(FWnullSources
+diff --git a/plugins/GSdx/CMakeLists.txt b/plugins/GSdx/CMakeLists.txt
+index 13b30c7..6fd6253 100644
+--- a/plugins/GSdx/CMakeLists.txt
++++ b/plugins/GSdx/CMakeLists.txt
+@@ -18,19 +18,14 @@ set(CommonFlags
+ -Wunused-variable # __dummy variable need to be investigated
+ )
+
+-set(OptimizationFlags
+- -O2
+- )
+-
+-
+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ set(GSdxFinalFlags ${GSdxFinalFlags} ${CommonFlags} -D_DEBUG)
+
+ elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(GSdxFinalFlags ${GSdxFinalFlags} ${CommonFlags} ${OptimizationFlags} -D_DEVEL)
++ set(GSdxFinalFlags ${GSdxFinalFlags} ${CommonFlags} -D_DEVEL)
+
+ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(GSdxFinalFlags ${GSdxFinalFlags} ${CommonFlags} ${OptimizationFlags} -W)
++ set(GSdxFinalFlags ${GSdxFinalFlags} ${CommonFlags} -W)
+
+ endif()
+
+diff --git a/plugins/GSnull/CMakeLists.txt b/plugins/GSnull/CMakeLists.txt
+index 2216e17..3bde988 100644
+--- a/plugins/GSnull/CMakeLists.txt
++++ b/plugins/GSnull/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output GSnull)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(GSnullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(GSnullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(GSnullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(GSnullFinalFlags "")
+
+ # GSnull sources
+ set(GSnullSources
+diff --git a/plugins/PadNull/CMakeLists.txt b/plugins/PadNull/CMakeLists.txt
+index acbe758..18b1b6c 100644
+--- a/plugins/PadNull/CMakeLists.txt
++++ b/plugins/PadNull/CMakeLists.txt
+@@ -7,21 +7,7 @@ endif()
+
+ # plugin name
+ set(Output PADnull)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(PadNullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(PadNullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(PadNullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(PadNullFinalFlags "")
+
+ # PadNull sources
+ set(PadNullSources
+diff --git a/plugins/SPU2null/CMakeLists.txt b/plugins/SPU2null/CMakeLists.txt
+index 5409543..620a521 100644
+--- a/plugins/SPU2null/CMakeLists.txt
++++ b/plugins/SPU2null/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output SPU2null)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(SPU2nullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(SPU2nullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(SPU2nullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(SPU2nullFinalFlags "")
+
+ # SPU2null sources
+ set(SPU2nullSources
+diff --git a/plugins/USBnull/CMakeLists.txt b/plugins/USBnull/CMakeLists.txt
+index c84890e..7892d03 100644
+--- a/plugins/USBnull/CMakeLists.txt
++++ b/plugins/USBnull/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output USBnull-0.7.0)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(USBnullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(USBnullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(USBnullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(USBnullFinalFlags "")
+
+ # USBnull sources
+ set(USBnullSources
+diff --git a/plugins/dev9null/CMakeLists.txt b/plugins/dev9null/CMakeLists.txt
+index 09d8bee..b819985 100644
+--- a/plugins/dev9null/CMakeLists.txt
++++ b/plugins/dev9null/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output dev9null-0.5.0)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(dev9nullFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(dev9nullFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(dev9nullFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(dev9nullFinalFlags "")
+
+ # dev9null sources
+ set(dev9nullSources
+diff --git a/plugins/onepad/CMakeLists.txt b/plugins/onepad/CMakeLists.txt
+index 6a12cd7..68ffb82 100644
+--- a/plugins/onepad/CMakeLists.txt
++++ b/plugins/onepad/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output onepad-1.1.0)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(onepadFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(onepadFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(onepadFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(onepadFinalFlags "")
+
+ # onepad sources
+ set(onepadSources
+diff --git a/plugins/spu2-x/src/CMakeLists.txt b/plugins/spu2-x/src/CMakeLists.txt
+index 720c4ac..0180704 100644
+--- a/plugins/spu2-x/src/CMakeLists.txt
++++ b/plugins/spu2-x/src/CMakeLists.txt
+@@ -14,21 +14,7 @@ endif()
+
+ # plugin name
+ set(Output spu2x-2.0.0)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(spu2xFinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(spu2xFinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(spu2xFinalFlags ${OptimizationFlags})
+-
+-endif()
++set(spu2xFinalFlags "")
+
+ # spu2x sources
+ set(spu2xSources
+diff --git a/plugins/zerogs/opengl/CMakeLists.txt b/plugins/zerogs/opengl/CMakeLists.txt
+index fd33949..79716c6 100644
+--- a/plugins/zerogs/opengl/CMakeLists.txt
++++ b/plugins/zerogs/opengl/CMakeLists.txt
+@@ -7,10 +7,6 @@ set(CommonFlags
+ -Wall
+ )
+
+-set(OptimizationFlags
+- -O2
+- )
+-
+ # Debug - Build
+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ # add defines
+@@ -20,13 +16,13 @@ endif(CMAKE_BUILD_TYPE STREQUAL Debug)
+ # Devel - Build
+ if(CMAKE_BUILD_TYPE STREQUAL Devel)
+ # add defines
+- add_definitions(${CommonFlags} ${OptimizationFlags})
++ add_definitions(${CommonFlags})
+ endif(CMAKE_BUILD_TYPE STREQUAL Devel)
+
+ # Release - Build
+ if(CMAKE_BUILD_TYPE STREQUAL Release)
+ # add defines
+- add_definitions(${CommonFlags} ${OptimizationFlags})
++ add_definitions(${CommonFlags})
+ endif(CMAKE_BUILD_TYPE STREQUAL Release)
+
+ # zerogs sources
+diff --git a/plugins/zerospu2/CMakeLists.txt b/plugins/zerospu2/CMakeLists.txt
+index c3e3243..9291706 100644
+--- a/plugins/zerospu2/CMakeLists.txt
++++ b/plugins/zerospu2/CMakeLists.txt
+@@ -8,21 +8,7 @@ endif()
+
+ # plugin name
+ set(Output zerospu2)
+-
+-set(OptimizationFlags
+- -O2
+- )
+-
+-if(CMAKE_BUILD_TYPE STREQUAL Debug)
+- set(zerospu2FinalFlags "")
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+- set(zerospu2FinalFlags ${OptimizationFlags})
+-
+-elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+- set(zerospu2FinalFlags ${OptimizationFlags})
+-
+-endif(CMAKE_BUILD_TYPE STREQUAL Release)
++set(zerospu2FinalFlags "")
+
+ # zerospu2 sources
+ set(zerospu2Sources
+diff --git a/plugins/zzogl-pg/opengl/CMakeLists.txt b/plugins/zzogl-pg/opengl/CMakeLists.txt
+index fe93246..4798097 100644
+--- a/plugins/zzogl-pg/opengl/CMakeLists.txt
++++ b/plugins/zzogl-pg/opengl/CMakeLists.txt
+@@ -26,10 +26,6 @@ set(CommonFlags
+ -Wunused-variable
+ )
+
+-set(OptimizationFlags
+- -O2
+- )
+-
+ #Clang doesn't support a few common flags that GCC does.
+ if(NOT USE_CLANG)
+ set(zzoglFinalFlags
+@@ -46,12 +42,12 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+ set(zzoglFinalFlags
+ ${zzoglFinalFlags}
+- ${CommonFlags} ${OptimizationFlags} -g -W -DZEROGS_DEVBUILD
++ ${CommonFlags} -g -W -DZEROGS_DEVBUILD
+ )
+ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+ set(zzoglFinalFlags
+ ${zzoglFinalFlags}
+- ${CommonFlags} ${OptimizationFlags} -W
++ ${CommonFlags} -W
+ )
+ endif()
+
+diff --git a/plugins/zzogl-pg/opengl/ZeroGSShaders/CMakeLists.txt b/plugins/zzogl-pg/opengl/ZeroGSShaders/CMakeLists.txt
+index 156189c..ad1eb49 100644
+--- a/plugins/zzogl-pg/opengl/ZeroGSShaders/CMakeLists.txt
++++ b/plugins/zzogl-pg/opengl/ZeroGSShaders/CMakeLists.txt
+@@ -17,21 +17,17 @@ set(CommonFlags
+ -DNVIDIA_CG_API
+ )
+
+-set(OptimizationFlags
+- -O2
+- )
+-
+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ set(zerogsshadersFinalFlags
+ ${CommonFlags} -D_DEBUG
+ )
+ elseif(CMAKE_BUILD_TYPE STREQUAL Devel)
+ set(zerogsshadersFinalFlags
+- ${CommonFlags} ${OptimizationFlags} -g -W -DZEROGS_DEVBUILD
++ ${CommonFlags} -g -W -DZEROGS_DEVBUILD
+ )
+ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+ set(zerogsshadersFinalFlags
+- ${CommonFlags} ${OptimizationFlags} -W
++ ${CommonFlags} -W
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Release)
+
+diff --git a/tools/bin2cpp/CMakeLists.txt b/tools/bin2cpp/CMakeLists.txt
+index 1689620..1e3e45c 100644
+--- a/tools/bin2cpp/CMakeLists.txt
++++ b/tools/bin2cpp/CMakeLists.txt
+@@ -7,7 +7,7 @@ set(bin2cppName bin2cpp)
+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ # add defines
+ set(bin2cppFinalFlags
+- -O2 -s -Wall -fexceptions
++ -s -Wall -fexceptions
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Debug)
+
+@@ -15,7 +15,7 @@ endif(CMAKE_BUILD_TYPE STREQUAL Debug)
+ if(CMAKE_BUILD_TYPE STREQUAL Devel)
+ # add defines
+ set(bin2cppFinalFlags
+- -O2 -s -Wall -fexceptions
++ -s -Wall -fexceptions
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Devel)
+
+@@ -23,7 +23,7 @@ endif(CMAKE_BUILD_TYPE STREQUAL Devel)
+ if(CMAKE_BUILD_TYPE STREQUAL Release)
+ # add defines
+ set(bin2cppFinalFlags
+- -O2 -s -Wall -fexceptions
++ -s -Wall -fexceptions
+ )
+ endif(CMAKE_BUILD_TYPE STREQUAL Release)
+
+--
+2.4.6
+
diff --git a/games-emulation/pcsx2/files/pcsx2-1.3.1-egl-optional.patch b/games-emulation/pcsx2/files/pcsx2-1.3.1-egl-optional.patch
new file mode 100644
index 000000000000..9bdf231c3f0b
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-1.3.1-egl-optional.patch
@@ -0,0 +1,169 @@
+From 9cd13ca5b5a6a90c21abf1f41725e52efe4774c0 Mon Sep 17 00:00:00 2001
+From: nE0sIghT <ykonotopov@gmail.com>
+Date: Mon, 10 Aug 2015 19:11:00 +0300
+Subject: [PATCH 1/3] gsdx-linux: Don't enable EGL by default
+
+I was hoping that EGL become a standard much more faster. Currently it is an useless dep
+so let's disable it by default.
+
+Only check for EGL if using EGL_API.
+---
+ cmake/SearchForStuff.cmake | 5 +++--
+ cmake/SelectPcsx2Plugins.cmake | 2 +-
+ plugins/GSdx/CMakeLists.txt | 27 ++++++++++-----------------
+ plugins/GSdx/GS.cpp | 8 ++++----
+ plugins/GSdx/GSWndEGL.cpp | 2 +-
+ plugins/GSdx/GSWndEGL.h | 21 +--------------------
+ 6 files changed, 20 insertions(+), 45 deletions(-)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index 8c8918e..b43a547 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -69,8 +69,9 @@ include(CheckLib)
+ if(Linux)
+ check_lib(AIO aio libaio.h)
+ endif()
+-check_lib(EGL EGL EGL/egl.h)
+-check_lib(GLESV2 GLESv2 GLES3/gl3ext.h) # NOTE: looking for GLESv3, not GLESv2
++if(EGL_API)
++ check_lib(EGL EGL EGL/egl.h)
++endif()
+ check_lib(PORTAUDIO portaudio portaudio.h pa_linux_alsa.h)
+ check_lib(SOUNDTOUCH SoundTouch soundtouch/SoundTouch.h)
+
+diff --git a/cmake/SelectPcsx2Plugins.cmake b/cmake/SelectPcsx2Plugins.cmake
+index 726dc2d..ee8138b 100644
+--- a/cmake/SelectPcsx2Plugins.cmake
++++ b/cmake/SelectPcsx2Plugins.cmake
+@@ -144,7 +144,7 @@ endif()
+ # requires: -OpenGL
+ # -X11
+ #---------------------------------------
+-if(OPENGL_FOUND AND X11_FOUND AND EGL_FOUND AND GTKn_FOUND)
++if(OPENGL_FOUND AND X11_FOUND AND GTKn_FOUND AND (EGL_FOUND OR NOT EGL_API))
+ set(GSdx TRUE)
+ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/plugins/GSdx")
+ set(GSdx FALSE)
+diff --git a/plugins/GSdx/CMakeLists.txt b/plugins/GSdx/CMakeLists.txt
+index 8859044..13b30c7 100644
+--- a/plugins/GSdx/CMakeLists.txt
++++ b/plugins/GSdx/CMakeLists.txt
+@@ -38,8 +38,8 @@ if(XDG_STD)
+ set(GSdxFinalFlags ${GSdxFinalFlags} -DXDG_STD)
+ endif()
+
+-if(GLES_API AND GLESV2_FOUND)
+- set(GSdxFinalFlags ${GSdxFinalFlags} -DENABLE_GLES)
++if(EGL_API AND EGL_FOUND)
++ set(GSdxFinalFlags ${GSdxFinalFlags} -DEGL_SUPPORTED)
+ endif()
+
+ #Clang doesn't support a few common flags that GCC does.
+@@ -198,25 +198,18 @@ set(GSdxFinalLibs
+ ${X11_LIBRARIES}
+ )
+
+-if(GLES_API AND GLESV2_FOUND)
+- set(GSdxFinalLibs
+- ${GSdxFinalLibs}
+- ${GLESV2_LIBRARIES}
+- )
+-else()
+- set(GSdxFinalLibs
+- ${GSdxFinalLibs}
+- ${OPENGL_LIBRARIES}
+- )
+-endif()
+-
+-set(GSdxFinalLibs
+- ${GSdxFinalLibs}
+- ${EGL_LIBRARIES}
++set(GSdxFinalLibs ${GSdxFinalLibs}
++ ${OPENGL_LIBRARIES}
+ ${GTK2_LIBRARIES}
+ ${LIBC_LIBRARIES}
+ )
+
++if(EGL_API AND EGL_FOUND)
++ set(GSdxFinalLibs ${GSdxFinalLibs}
++ ${EGL_LIBRARIES}
++ )
++endif()
++
+ # Generate Glsl header file. Protect with REBUILD_SHADER to avoid build-dependency on PERL
+ if (REBUILD_SHADER)
+ add_custom_command(OUTPUT res/glsl_source.h COMMAND perl ${CMAKE_SOURCE_DIR}/linux_various/glsl2h.pl)
+diff --git a/plugins/GSdx/GS.cpp b/plugins/GSdx/GS.cpp
+index 3ffb5e8..4836192 100644
+--- a/plugins/GSdx/GS.cpp
++++ b/plugins/GSdx/GS.cpp
+@@ -291,12 +291,12 @@ static int _GSopen(void** dsp, char* title, int renderer, int threads = -1)
+ break;
+ }
+ #else
+-#ifdef ENABLE_GLES
+- wnd[0] = NULL;
+-#else
+ wnd[0] = new GSWndOGL();
+-#endif
++#ifdef EGL_SUPPORTED
+ wnd[1] = new GSWndEGL();
++#else
++ wnd[1] = NULL;
++#endif
+ #endif
+ }
+ }
+diff --git a/plugins/GSdx/GSWndEGL.cpp b/plugins/GSdx/GSWndEGL.cpp
+index 491f34f..f69ff0c 100644
+--- a/plugins/GSdx/GSWndEGL.cpp
++++ b/plugins/GSdx/GSWndEGL.cpp
+@@ -22,7 +22,7 @@
+ #include "stdafx.h"
+ #include "GSWndEGL.h"
+
+-#if defined(__linux__)
++#if defined(__linux__) && defined(EGL_SUPPORTED)
+
+ GSWndEGL::GSWndEGL()
+ : m_NativeWindow(0), m_NativeDisplay(NULL)
+diff --git a/plugins/GSdx/GSWndEGL.h b/plugins/GSdx/GSWndEGL.h
+index c5a2573..17804bb 100644
+--- a/plugins/GSdx/GSWndEGL.h
++++ b/plugins/GSdx/GSWndEGL.h
+@@ -21,30 +21,11 @@
+
+ #include "GSWnd.h"
+
+-#if defined(__linux__)
++#if defined(__linux__) && defined(EGL_SUPPORTED)
+ #include <X11/Xlib.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
+
+-// Need at least MESA 9.0 (plan for october/november 2012)
+-// So force the destiny to at least check the compilation
+-#ifndef EGL_KHR_create_context
+-#define EGL_KHR_create_context 1
+-#define EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION
+-#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
+-#define EGL_CONTEXT_FLAGS_KHR 0x30FC
+-#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
+-#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
+-#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
+-#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
+-#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
+-#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
+-#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
+-#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
+-#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
+-#endif
+-
+-
+ class GSWndEGL : public GSWndGL
+ {
+ EGLNativeWindowType m_NativeWindow;
+--
+2.4.6
+
diff --git a/games-emulation/pcsx2/files/pcsx2-1.3.1-packaging.patch b/games-emulation/pcsx2/files/pcsx2-1.3.1-packaging.patch
new file mode 100644
index 000000000000..6c009e6cbab2
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-1.3.1-packaging.patch
@@ -0,0 +1,148 @@
+From 8e625d61b0a895074d35d6d227008664360e8458 Mon Sep 17 00:00:00 2001
+From: nE0sIghT <ykonotopov@gmail.com>
+Date: Mon, 10 Aug 2015 19:15:40 +0300
+Subject: [PATCH 2/3] cmake: fatal error if miss dependencies in package mode
+ Moved zzogl to extra plugins
+
+---
+ cmake/SelectPcsx2Plugins.cmake | 56 +++++++++++++++++++++---------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+diff --git a/cmake/SelectPcsx2Plugins.cmake b/cmake/SelectPcsx2Plugins.cmake
+index ee8138b..bb7307e 100644
+--- a/cmake/SelectPcsx2Plugins.cmake
++++ b/cmake/SelectPcsx2Plugins.cmake
+@@ -15,6 +15,14 @@ else(GLSL_API)
+ set(msg_dep_zzogl "check these libraries -> glew (>=1.6), jpeg (>=6.2), opengl, X11, nvidia-cg-toolkit (>=2.1), pcsx2 common libs")
+ endif()
+
++macro(print_dep str dep)
++ if (PACKAGE_MODE)
++ message(FATAL_ERROR "${str}:${dep}")
++ else()
++ message(STATUS "${str}:${dep}")
++ endif()
++endmacro(print_dep)
++
+ #-------------------------------------------------------------------------------
+ # Pcsx2 core & common libs
+ #-------------------------------------------------------------------------------
+@@ -43,8 +51,7 @@ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/common/src")
+ set(common_libs FALSE)
+ else()
+ set(common_libs FALSE)
+- message(STATUS "Skip build of common libraries: miss some dependencies")
+- message(STATUS "${msg_dep_common_libs}")
++ print_dep("Skip build of common libraries: miss some dependencies" "${msg_dep_common_libs}")
+ endif()
+
+ #---------------------------------------
+@@ -62,14 +69,12 @@ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/pcsx2")
+ set(pcsx2_core FALSE)
+ else()
+ set(pcsx2_core FALSE)
+- message(STATUS "Skip build of pcsx2 core: miss some dependencies")
+- message(STATUS "${msg_dep_pcsx2}")
++ print_dep("Skip build of pcsx2 core: miss some dependencies" "${msg_dep_pcsx2}")
+ endif()
+ # Linux need also gtk2
+ if(UNIX AND pcsx2_core AND NOT GTKn_FOUND)
+ set(pcsx2_core FALSE)
+- message(STATUS "Skip build of pcsx2 core: miss some dependencies")
+- message(STATUS "${msg_dep_pcsx2}")
++ print_dep("Skip build of pcsx2 core: miss some dependencies" "${msg_dep_pcsx2}")
+ endif()
+
+
+@@ -102,8 +107,7 @@ if(EXTRA_PLUGINS)
+ set(CDVDiso FALSE)
+ else()
+ set(CDVDiso FALSE)
+- message(STATUS "Skip build of CDVDiso: miss some dependencies")
+- message(STATUS "${msg_dep_cdvdiso}")
++ print_dep("Skip build of CDVDiso: miss some dependencies" "${msg_dep_cdvdiso}")
+ endif()
+ endif()
+
+@@ -147,11 +151,10 @@ endif()
+ if(OPENGL_FOUND AND X11_FOUND AND GTKn_FOUND AND (EGL_FOUND OR NOT EGL_API))
+ set(GSdx TRUE)
+ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/plugins/GSdx")
+- set(GSdx FALSE)
++ set(GSdx FALSE)
+ else()
+- set(GSdx FALSE)
+- message(STATUS "Skip build of GSdx: miss some dependencies")
+- message(STATUS "${msg_dep_gsdx}")
++ set(GSdx FALSE)
++ print_dep("Skip build of GSdx: miss some dependencies" "${msg_dep_gsdx}")
+ endif()
+ #---------------------------------------
+
+@@ -170,8 +173,7 @@ if(EXTRA_PLUGINS)
+ set(zerogs FALSE)
+ else()
+ set(zerogs FALSE)
+- message(STATUS "Skip build of zerogs: miss some dependencies")
+- message(STATUS "${msg_dep_zerogs}")
++ print_dep("Skip build of zerogs: miss some dependencies" "${msg_dep_zerogs}")
+ endif()
+ endif()
+ #---------------------------------------
+@@ -186,14 +188,15 @@ endif()
+ # -JPEG
+ # -common_libs
+ #---------------------------------------
+-if((GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND JPEG_FOUND AND common_libs AND GTKn_FOUND) AND (CG_FOUND OR GLSL_API))
+- set(zzogl TRUE)
+-elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/plugins/zzogl-pg")
+- set(zzogl FALSE)
+-else()
+- set(zzogl FALSE)
+- message(STATUS "Skip build of zzogl: miss some dependencies")
+- message(STATUS "${msg_dep_zzogl}")
++if(EXTRA_PLUGINS)
++ if((GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND JPEG_FOUND AND common_libs AND GTKn_FOUND) AND (CG_FOUND OR GLSL_API))
++ set(zzogl TRUE)
++ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/plugins/zzogl-pg")
++ set(zzogl FALSE)
++ else()
++ set(zzogl FALSE)
++ print_dep("Skip build of zzogl: miss some dependencies" "${msg_dep_zzogl}")
++ endif()
+ endif()
+ #---------------------------------------
+
+@@ -216,8 +219,7 @@ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/plugins/onepad")
+ set(onepad FALSE)
+ else()
+ set(onepad FALSE)
+- message(STATUS "Skip build of onepad: miss some dependencies")
+- message(STATUS "${msg_dep_onepad}")
++ print_dep("Skip build of onepad: miss some dependencies" "${msg_dep_onepad}")
+ endif()
+ #---------------------------------------
+
+@@ -244,8 +246,7 @@ elseif(NOT EXISTS "${CMAKE_SOURCE_DIR}/plugins/spu2-x")
+ set(spu2-x FALSE)
+ else()
+ set(spu2-x FALSE)
+- message(STATUS "Skip build of spu2-x: miss some dependencies")
+- message(STATUS "${msg_dep_spu2x}")
++ print_dep("Skip build of spu2-x: miss some dependencies" "${msg_dep_spu2x}")
+ endif()
+ #---------------------------------------
+
+@@ -266,8 +267,7 @@ if(EXTRA_PLUGINS)
+ set(zerospu2 FALSE)
+ else()
+ set(zerospu2 FALSE)
+- message(STATUS "Skip build of zerospu2: miss some dependencies")
+- message(STATUS "${msg_dep_zerospu2}")
++ print_dep("Skip build of zerospu2: miss some dependencies" "${msg_dep_zerospu2}")
+ endif()
+ endif()
+ #---------------------------------------
+--
+2.4.6
+
diff --git a/games-emulation/pcsx2/metadata.xml b/games-emulation/pcsx2/metadata.xml
new file mode 100644
index 000000000000..dc49038581b3
--- /dev/null
+++ b/games-emulation/pcsx2/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ykonotopov@gmail.com</email>
+ <name>Yuri Konotopov</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/PCSX2/pcsx2/issues</bugs-to>
+ <remote-id type="github">PCSX2/pcsx2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/pcsx2/pcsx2-1.3.1.ebuild b/games-emulation/pcsx2/pcsx2-1.3.1.ebuild
new file mode 100644
index 000000000000..e839ef2e2675
--- /dev/null
+++ b/games-emulation/pcsx2/pcsx2-1.3.1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PLOCALES="ar_SA ca_ES cs_CZ de_DE es_ES fi_FI fr_FR hr_HR hu_HU id_ID it_IT ja_JP ko_KR ms_MY nb_NO pl_PL pt_BR ru_RU sv_SE th_TH tr_TR zh_CN zh_TW"
+
+inherit cmake-utils l10n multilib toolchain-funcs wxwidgets
+
+DESCRIPTION="A PlayStation 2 emulator"
+HOMEPAGE="http://www.pcsx2.net"
+SRC_URI="https://github.com/PCSX2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ app-arch/bzip2[abi_x86_32(-)]
+ dev-libs/libaio[abi_x86_32(-)]
+ media-libs/alsa-lib[abi_x86_32(-)]
+ media-libs/libsdl[abi_x86_32(-),joystick,sound]
+ media-libs/portaudio[abi_x86_32(-)]
+ media-libs/libsoundtouch[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.4[abi_x86_32(-)]
+ virtual/jpeg:62[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]
+ x11-libs/libICE[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/wxGTK:3.0[abi_x86_32(-),X]
+"
+# Ensure no incompatible headers from eselect-opengl are installed, bug #510730
+DEPEND="${RDEPEND}
+ >=app-eselect/eselect-opengl-1.3.1
+ >=dev-cpp/sparsehash-1.5
+"
+
+PATCHES=(
+ "${FILESDIR}"/"${P}-egl-optional.patch"
+ "${FILESDIR}"/"${P}-packaging.patch"
+ "${FILESDIR}"/"${P}-cflags.patch"
+)
+
+clean_locale() {
+ rm -R "${S}"/locales/"${1}" || die
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then
+ if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 7 ]] ; then
+ die "${PN} does not compile with gcc less than 4.7"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ l10n_for_each_disabled_locale_do clean_locale
+}
+
+src_configure() {
+ multilib_toolchain_setup x86
+
+ # pcsx2 build scripts will force CMAKE_BUILD_TYPE=Devel
+ # if it something other than "Devel|Debug|Release"
+ local CMAKE_BUILD_TYPE="Release"
+
+ if use amd64; then
+ # Passing correct CMAKE_TOOLCHAIN_FILE for amd64
+ # https://github.com/PCSX2/pcsx2/pull/422
+ local MYCMAKEARGS=(-DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake)
+ fi
+
+ local mycmakeargs=(
+ -DARCH_FLAG=
+ -DEGL_API=FALSE
+ -DEXTRA_PLUGINS=FALSE
+ -DGLES_API=FALSE
+ -DGLSL_API=FALSE
+ -DGTK3_API=FALSE
+ -DPACKAGE_MODE=TRUE
+ -DOPTIMIZATION_FLAG=
+ -DXDG_STD=TRUE
+
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_LIBRARY_PATH="/usr/$(get_libdir)/${PN}"
+ -DDOC_DIR=/usr/share/doc/"${PF}"
+ -DPLUGIN_DIR="/usr/$(get_libdir)/${PN}"
+ # wxGTK must be built against same sdl version
+ -DSDL2_API=FALSE
+ -DWX28_API=FALSE
+ )
+
+ WX_GTK_VER="3.0" need-wxwidgets unicode
+ cmake-utils_src_configure
+}
+
+src_install() {
+ # Upstream issue: https://github.com/PCSX2/pcsx2/issues/417
+ QA_TEXTRELS="usr/$(get_libdir)/pcsx2/*"
+
+ cmake-utils_src_install
+}
diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild
new file mode 100644
index 000000000000..1427f558301c
--- /dev/null
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PLOCALES="ar_SA ca_ES cs_CZ de_DE es_ES fi_FI fr_FR hr_HR hu_HU id_ID it_IT ja_JP ko_KR ms_MY nb_NO pl_PL pt_BR ru_RU sv_SE th_TH tr_TR zh_CN zh_TW"
+
+inherit cmake-utils git-r3 l10n multilib toolchain-funcs wxwidgets
+
+DESCRIPTION="A PlayStation 2 emulator"
+HOMEPAGE="http://www.pcsx2.net"
+EGIT_REPO_URI=(
+ "https://github.com/PCSX2/pcsx2.git"
+ "git://github.com/PCSX2/pcsx2.git"
+)
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="
+ app-arch/bzip2[abi_x86_32(-)]
+ app-arch/xz-utils[abi_x86_32(-)]
+ dev-libs/libaio[abi_x86_32(-)]
+ media-libs/alsa-lib[abi_x86_32(-)]
+ media-libs/libpng:=[abi_x86_32(-)]
+ media-libs/libsdl[abi_x86_32(-),joystick,sound]
+ media-libs/libsoundtouch[abi_x86_32(-)]
+ media-libs/portaudio[abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.4[abi_x86_32(-)]
+ virtual/jpeg:62[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]
+ x11-libs/libICE[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/wxGTK:3.0[abi_x86_32(-),X]
+"
+# Ensure no incompatible headers from eselect-opengl are installed, bug #510730
+DEPEND="${RDEPEND}
+ >=app-eselect/eselect-opengl-1.3.1
+ dev-cpp/pngpp
+ >=dev-cpp/sparsehash-1.5
+"
+
+clean_locale() {
+ rm -R "${S}"/locales/"${1}" || die
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then
+ if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 8 ]] ; then
+ die "${PN} does not compile with gcc less than 4.8"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ l10n_for_each_disabled_locale_do clean_locale
+}
+
+src_configure() {
+ multilib_toolchain_setup x86
+
+ # pcsx2 build scripts will force CMAKE_BUILD_TYPE=Devel
+ # if it something other than "Devel|Debug|Release"
+ local CMAKE_BUILD_TYPE="Release"
+
+ if use amd64; then
+ # Passing correct CMAKE_TOOLCHAIN_FILE for amd64
+ # https://github.com/PCSX2/pcsx2/pull/422
+ local MYCMAKEARGS=(-DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake)
+ fi
+
+ local mycmakeargs=(
+ -DARCH_FLAG=
+ -DDISABLE_BUILD_DATE=TRUE
+ -DDISABLE_PCSX2_WRAPPER=TRUE
+ -DEXTRA_PLUGINS=FALSE
+ -DOPTIMIZATION_FLAG=
+ -DPACKAGE_MODE=TRUE
+ -DXDG_STD=TRUE
+
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_LIBRARY_PATH="/usr/$(get_libdir)/${PN}"
+ -DDOC_DIR=/usr/share/doc/"${PF}"
+ -DEGL_API=FALSE
+ -DGTK3_API=FALSE
+ -DPLUGIN_DIR="/usr/$(get_libdir)/${PN}"
+ # wxGTK must be built against same sdl version
+ -DSDL2_API=FALSE
+ -DWX28_API=FALSE
+ )
+
+ WX_GTK_VER="3.0" need-wxwidgets unicode
+ cmake-utils_src_configure
+}
+
+src_install() {
+ # Upstream issue: https://github.com/PCSX2/pcsx2/issues/417
+ QA_TEXTRELS="usr/$(get_libdir)/pcsx2/*"
+
+ cmake-utils_src_install
+}