*/*: Bump copyright on files touched this year
[gentoo.git] / games-emulation / pcsx2 / pcsx2-1.4.0-r1.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=5
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"
6 MY_PV="${PV/_/-}"
7
8 inherit cmake-utils l10n multilib toolchain-funcs wxwidgets
9
10 DESCRIPTION="A PlayStation 2 emulator"
11 HOMEPAGE="https://www.pcsx2.net"
12 SRC_URI="https://github.com/PCSX2/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
13
14 LICENSE="GPL-3"
15 SLOT="0"
16 KEYWORDS="-* amd64 x86"
17 IUSE=""
18
19 RDEPEND="
20         app-arch/bzip2[abi_x86_32(-)]
21         app-arch/xz-utils[abi_x86_32(-)]
22         dev-libs/libaio[abi_x86_32(-)]
23         media-libs/alsa-lib[abi_x86_32(-)]
24         media-libs/libpng:=[abi_x86_32(-)]
25         media-libs/libsdl[abi_x86_32(-),joystick,sound]
26         media-libs/libsoundtouch[abi_x86_32(-)]
27         media-libs/portaudio[abi_x86_32(-)]
28         >=sys-libs/zlib-1.2.4[abi_x86_32(-)]
29         virtual/opengl[abi_x86_32(-)]
30         x11-libs/gtk+:2[abi_x86_32(-)]
31         x11-libs/libICE[abi_x86_32(-)]
32         x11-libs/libX11[abi_x86_32(-)]
33         x11-libs/libXext[abi_x86_32(-)]
34         x11-libs/wxGTK:3.0[abi_x86_32(-),X]
35 "
36 # Ensure no incompatible headers from eselect-opengl are installed, bug #510730
37 DEPEND="${RDEPEND}
38         >=app-eselect/eselect-opengl-1.3.1
39         dev-cpp/pngpp
40         >=dev-cpp/sparsehash-1.5
41 "
42
43 S="${WORKDIR}/${PN}-${MY_PV}"
44
45 PATCHES=(
46         "${FILESDIR}"/${P}-gcc5.patch
47         "${FILESDIR}"/${P}-xgetbv.patch
48 )
49
50 clean_locale() {
51         rm -R "${S}"/locales/"${1}" || die
52 }
53
54 pkg_setup() {
55         if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then
56                 if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 8 ]] ; then
57                         die "${PN} does not compile with gcc less than 4.8"
58                 fi
59         fi
60 }
61
62 src_prepare() {
63         cmake-utils_src_prepare
64         l10n_for_each_disabled_locale_do clean_locale
65 }
66
67 src_configure() {
68         multilib_toolchain_setup x86
69
70         # pcsx2 build scripts will force CMAKE_BUILD_TYPE=Devel
71         # if it something other than "Devel|Debug|Release"
72         local CMAKE_BUILD_TYPE="Release"
73
74         if use amd64; then
75                 # Passing correct CMAKE_TOOLCHAIN_FILE for amd64
76                 # https://github.com/PCSX2/pcsx2/pull/422
77                 local MYCMAKEARGS=(-DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake)
78         fi
79
80         local mycmakeargs=(
81                 -DARCH_FLAG=
82                 -DDISABLE_BUILD_DATE=TRUE
83                 -DDISABLE_PCSX2_WRAPPER=TRUE
84                 -DEXTRA_PLUGINS=FALSE
85                 -DOPTIMIZATION_FLAG=
86                 -DPACKAGE_MODE=TRUE
87                 -DXDG_STD=TRUE
88
89                 -DCMAKE_LIBRARY_PATH="/usr/$(get_libdir)/${PN}"
90                 -DDOC_DIR=/usr/share/doc/"${PF}"
91                 -DEGL_API=FALSE
92                 -DGTK3_API=FALSE
93                 -DPLUGIN_DIR="/usr/$(get_libdir)/${PN}"
94                 # wxGTK must be built against same sdl version
95                 -DSDL2_API=FALSE
96                 -DWX28_API=FALSE
97         )
98
99         WX_GTK_VER="3.0" need-wxwidgets unicode
100         cmake-utils_src_configure
101 }
102
103 src_install() {
104         # Upstream issue: https://github.com/PCSX2/pcsx2/issues/417
105         QA_TEXTRELS="usr/$(get_libdir)/pcsx2/*"
106
107         cmake-utils_src_install
108 }