summaryrefslogtreecommitdiff
path: root/games-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-02 08:55:38 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-02 08:55:38 +0000
commit5a1e5a6812ca9c9555657cce48fe09d2ffa44401 (patch)
tree5c040bbee9184b24f26b05031a2448e62f6df38a /games-emulation
parent2c4066122b66fa1eb3e37846f9a6e14529a553d8 (diff)
gentoo auto-resync : 02:12:2022 - 08:55:37
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/Manifest.gzbin9545 -> 9541 bytes
-rw-r--r--games-emulation/mgba/Manifest3
-rw-r--r--games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch109
-rw-r--r--games-emulation/mgba/mgba-0.9.3-r2.ebuild92
-rw-r--r--games-emulation/pcsx2/Manifest2
-rw-r--r--games-emulation/pcsx2/pcsx2-1.7.3468.ebuild233
6 files changed, 0 insertions, 439 deletions
diff --git a/games-emulation/Manifest.gz b/games-emulation/Manifest.gz
index 0f72f96e265b..74080ba46d6e 100644
--- a/games-emulation/Manifest.gz
+++ b/games-emulation/Manifest.gz
Binary files differ
diff --git a/games-emulation/mgba/Manifest b/games-emulation/mgba/Manifest
index 199b4b1c77a6..4b8db6d1956b 100644
--- a/games-emulation/mgba/Manifest
+++ b/games-emulation/mgba/Manifest
@@ -1,8 +1,5 @@
AUX mgba-0.10.0-optional-updater.patch 206 BLAKE2B 199a4305212e1974aa79ee728ab7b685b4b52602fe6447dd1b29513b526e101a306558b9a912bbb3c1438ea6a70df1c9e6368e2ca2ba5b50e6a59200b2a11daf SHA512 3227908dca7a2973ae5c7ec311b683362adf16ae5d5c801943322962d181ad046f43383bdf86441d81284f4f567a8d8ae387f4c15bf25b3d4189882fecd79d6b
-AUX mgba-0.9.3-ffmpeg5.patch 4576 BLAKE2B ffce6592f2ff469a97831dd9ed8ede27bbe070ba0434545b4ff477f0f8652a15d320b205d227d3b21043127e60a4f7f326ea6c062d8bc04645b87d9af71cebdd SHA512 cce9ddd1d5bed70f1b996948afb31b5c827ccb0e2878fb032a65543551925e4a6d6a7f72a0380156b1f8a6e3720d3479d5e5e45026f7860c29fba022fd4df3d5
DIST mgba-0.10.0.tar.gz 14302653 BLAKE2B 0ebfa8a3de5db61452f070116fcf2d6312ce96f5d08b1b1e70ba8f7e50235fecff2a0f6a5a32860b7e95e55a6ab5bbf2227d483bad7eb25d6c7e471424bcf0dd SHA512 05939f94bc00906d999b955091e8e8059cc13a5b822048f6e002062c2e74069337d947d2cde2f8c1be96e3353a361743d752811c214fa9da31ed6a4893b4d7e8
-DIST mgba-0.9.3.tar.gz 12763090 BLAKE2B 7d9ff6fc7bdff5d734540b74893a888d400b4bb6e1ce5b3b2a856239db8798ac76b8535dc770330d0451e2568a6d402558eeef27d643c0d5d3454441f45cf09b SHA512 da65b3c7ec32d732163f129c4fd38949ae2da2980beb3257bf6def5e35534a27b6d30309bb3c9a8d651642f99e1a45db7a8577c8dbf5472153d4551167471b3a
EBUILD mgba-0.10.0.ebuild 2616 BLAKE2B 057e0e72f7bbacc6d9f4e37dbd5b60aef55527ab8bd0e44f1a16f117093f3657640be6139fa042a1f15cfbf9cfa991a6de02a4320d1cfb6d2ca409598a5c7e98 SHA512 514108085ecdf38a0ef5e9199d68a1db72b5e9f7137093249580b1e3cc492332271509d91150c6f855ccce1937120aa957ec6b452baecda7c49da8bf864394d8
-EBUILD mgba-0.9.3-r2.ebuild 2198 BLAKE2B 34575ef09aa8e06018aceb19670be2a18fe7a38ec64d52c86125e87ffc47473d47d21cc9fcf7e1cedc9fb7bdebb23a343096ffb13afb7c83be4d4930dfce57d0 SHA512 4988e0a060421a4f201a90ffc877c02252f45220ed9d8ba166bef8439cb6e10aa438ac1850bfe3927dc2b16ec9a5468e860206d7f6234dc4c08bc9518bb846c9
EBUILD mgba-9999.ebuild 2618 BLAKE2B 2a3cd7d8f3627e9bbc55d2b9cbb2311ff1110a0ec65a56b1d205577cf17fae84d494a8e8670fc58a2f6a6ef1a9485338a027c3427d34b94c6416e0790929f4c9 SHA512 1ae1336a426f6a3158143a1e73d143320fb3ec7873e9874819da697b7594b3fc17b67c8c1d43bd6a25660ade451cebc8035342aefdfa5558fdabcef322af72fb
MISC metadata.xml 686 BLAKE2B 14edb52fcb9e889ba151f05141d2f0b866a27ddb87943ee99a71223c747ae72423cbda0a8646b32ea175c13a67305bbba01c5062e3f73efba636f2d4a744de55 SHA512 3d671e43a9c0991131cce93bcc4b3c4da32fd67ebdbc57b404eafc4f235b3ad7af1417801bd84578d76553829b3ebfeb29d5a7f9871d11812e681759a2232698
diff --git a/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch b/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch
deleted file mode 100644
index 6b8d55c377ea..000000000000
--- a/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-https://bugs.gentoo.org/834374
-
-https://github.com/mgba-emu/mgba/commit/cdc753516798882a805db1d2042dbce8313382bf
-From: Ryan Tandy <ryan@nardis.ca>
-Date: Thu, 3 Feb 2022 19:02:52 -0800
-Subject: [PATCH] FFmpeg: Support FFmpeg 5.0
---- a/src/feature/ffmpeg/ffmpeg-decoder.c
-+++ b/src/feature/ffmpeg/ffmpeg-decoder.c
-@@ -5,6 +5,7 @@
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "ffmpeg-decoder.h"
-
-+#include <libavcodec/avcodec.h>
- #include <libswscale/swscale.h>
-
- void FFmpegDecoderInit(struct FFmpegDecoder* decoder) {
-@@ -38,7 +39,7 @@ bool FFmpegDecoderOpen(struct FFmpegDecoder* decoder, const char* infile) {
- #else
- enum AVMediaType type = decoder->context->streams[i]->codec->codec_type;
- #endif
-- struct AVCodec* codec;
-+ const struct AVCodec* codec;
- struct AVCodecContext* context = NULL;
- if (type == AVMEDIA_TYPE_VIDEO && decoder->videoStream < 0) {
- decoder->video = avcodec_alloc_context3(NULL);
---- a/src/feature/ffmpeg/ffmpeg-encoder.c
-+++ b/src/feature/ffmpeg/ffmpeg-encoder.c
-@@ -12,6 +12,9 @@
-
- #include <libavcodec/version.h>
- #include <libavcodec/avcodec.h>
-+#if LIBAVCODEC_VERSION_MAJOR >= 58
-+#include <libavcodec/bsf.h>
-+#endif
-
- #include <libavfilter/buffersink.h>
- #include <libavfilter/buffersrc.h>
-@@ -121,7 +124,7 @@ bool FFmpegEncoderSetAudio(struct FFmpegEncoder* encoder, const char* acodec, un
- return true;
- }
-
-- AVCodec* codec = avcodec_find_encoder_by_name(acodec);
-+ const AVCodec* codec = avcodec_find_encoder_by_name(acodec);
- if (!codec) {
- return false;
- }
-@@ -193,7 +196,7 @@ bool FFmpegEncoderSetVideo(struct FFmpegEncoder* encoder, const char* vcodec, in
- return true;
- }
-
-- AVCodec* codec = avcodec_find_encoder_by_name(vcodec);
-+ const AVCodec* codec = avcodec_find_encoder_by_name(vcodec);
- if (!codec) {
- return false;
- }
-@@ -213,7 +216,7 @@ bool FFmpegEncoderSetVideo(struct FFmpegEncoder* encoder, const char* vcodec, in
- if (encoder->pixFormat == AV_PIX_FMT_NONE) {
- return false;
- }
-- if (vbr < 0 && !av_opt_find(&codec->priv_class, "crf", NULL, 0, 0)) {
-+ if (vbr < 0 && !av_opt_find((void*) &codec->priv_class, "crf", NULL, 0, 0)) {
- return false;
- }
- encoder->videoCodec = vcodec;
-@@ -223,7 +226,7 @@ bool FFmpegEncoderSetVideo(struct FFmpegEncoder* encoder, const char* vcodec, in
- }
-
- bool FFmpegEncoderSetContainer(struct FFmpegEncoder* encoder, const char* container) {
-- AVOutputFormat* oformat = av_guess_format(container, 0, 0);
-+ const AVOutputFormat* oformat = av_guess_format(container, 0, 0);
- if (!oformat) {
- return false;
- }
-@@ -241,9 +244,9 @@ void FFmpegEncoderSetLooping(struct FFmpegEncoder* encoder, bool loop) {
- }
-
- bool FFmpegEncoderVerifyContainer(struct FFmpegEncoder* encoder) {
-- AVOutputFormat* oformat = av_guess_format(encoder->containerFormat, 0, 0);
-- AVCodec* acodec = avcodec_find_encoder_by_name(encoder->audioCodec);
-- AVCodec* vcodec = avcodec_find_encoder_by_name(encoder->videoCodec);
-+ const AVOutputFormat* oformat = av_guess_format(encoder->containerFormat, 0, 0);
-+ const AVCodec* acodec = avcodec_find_encoder_by_name(encoder->audioCodec);
-+ const AVCodec* vcodec = avcodec_find_encoder_by_name(encoder->videoCodec);
- if ((encoder->audioCodec && !acodec) || (encoder->videoCodec && !vcodec) || !oformat || (!acodec && !vcodec)) {
- return false;
- }
-@@ -257,8 +260,8 @@ bool FFmpegEncoderVerifyContainer(struct FFmpegEncoder* encoder) {
- }
-
- bool FFmpegEncoderOpen(struct FFmpegEncoder* encoder, const char* outfile) {
-- AVCodec* acodec = avcodec_find_encoder_by_name(encoder->audioCodec);
-- AVCodec* vcodec = avcodec_find_encoder_by_name(encoder->videoCodec);
-+ const AVCodec* acodec = avcodec_find_encoder_by_name(encoder->audioCodec);
-+ const AVCodec* vcodec = avcodec_find_encoder_by_name(encoder->videoCodec);
- if ((encoder->audioCodec && !acodec) || (encoder->videoCodec && !vcodec) || !FFmpegEncoderVerifyContainer(encoder)) {
- return false;
- }
-@@ -272,9 +275,9 @@ bool FFmpegEncoderOpen(struct FFmpegEncoder* encoder, const char* outfile) {
- encoder->currentVideoFrame = 0;
- encoder->skipResidue = 0;
-
-- AVOutputFormat* oformat = av_guess_format(encoder->containerFormat, 0, 0);
-+ const AVOutputFormat* oformat = av_guess_format(encoder->containerFormat, 0, 0);
- #ifndef USE_LIBAV
-- avformat_alloc_output_context2(&encoder->context, oformat, 0, outfile);
-+ avformat_alloc_output_context2(&encoder->context, (AVOutputFormat*) oformat, 0, outfile);
- #else
- encoder->context = avformat_alloc_context();
- strncpy(encoder->context->filename, outfile, sizeof(encoder->context->filename) - 1);
diff --git a/games-emulation/mgba/mgba-0.9.3-r2.ebuild b/games-emulation/mgba/mgba-0.9.3-r2.ebuild
deleted file mode 100644
index 82caf353a7fa..000000000000
--- a/games-emulation/mgba/mgba-0.9.3-r2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/mgba-emu/mgba.git"
-else
- SRC_URI="https://github.com/mgba-emu/mgba/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-fi
-
-DESCRIPTION="Game Boy Advance Emulator"
-HOMEPAGE="https://mgba.io/"
-
-LICENSE="MPL-2.0 BSD LGPL-2.1+ public-domain discord? ( MIT )"
-SLOT="0/9"
-IUSE="debug discord elf ffmpeg gles2 gles3 gui libretro opengl +sdl sqlite test"
-# gles2/gles3 opengl require can be lifted in next version (bug #835039)
-REQUIRED_USE="
- || ( gui sdl )
- gles2? ( opengl )
- gles3? ( opengl )
- gui? ( || ( gles2 opengl ) )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- media-libs/libpng:=
- sys-libs/zlib:=[minizip]
- debug? ( dev-libs/libedit )
- elf? ( dev-libs/elfutils )
- ffmpeg? ( media-video/ffmpeg:= )
- gles2? ( media-libs/libglvnd )
- gles3? ( media-libs/libglvnd )
- opengl? ( media-libs/libglvnd )
- gui? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- )
- sdl? ( media-libs/libsdl2[sound,joystick,opengl?,video] )
- sqlite? ( dev-db/sqlite:3 )"
-DEPEND="
- ${RDEPEND}
- test? ( dev-util/cmocka )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-ffmpeg5.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_CINEMA=$(usex test)
- -DBUILD_GL=$(usex opengl)
- -DBUILD_GLES2=$(usex gles2)
- -DBUILD_GLES3=$(usex gles3)
- -DBUILD_LIBRETRO=$(usex libretro)
- -DBUILD_QT=$(usex gui)
- -DBUILD_SDL=$(usex sdl)
- -DBUILD_SUITE=$(usex test)
- -DMARKDOWN=OFF #752048
- -DUSE_DEBUGGERS=$(usex debug)
- -DUSE_DISCORD_RPC=$(usex discord)
- -DUSE_EDITLINE=$(usex debug)
- -DUSE_ELF=$(usex elf)
- -DUSE_EPOXY=OFF
- -DUSE_FFMPEG=$(usex ffmpeg)
- -DUSE_GDB_STUB=$(usex debug)
- -DUSE_LIBZIP=OFF
- -DUSE_LZMA=ON
- -DUSE_MINIZIP=ON
- -DUSE_PNG=ON
- -DUSE_SQLITE3=$(usex sqlite)
- -DUSE_ZLIB=ON
- $(usev libretro -DLIBRETRO_LIBDIR="${EPREFIX}"/usr/$(get_libdir)/libretro)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- use !test || rm "${ED}"/usr/bin/mgba-cinema || die
-
- rm -r "${ED}"/usr/share/doc/${PF}/{LICENSE,licenses} || die
-}
diff --git a/games-emulation/pcsx2/Manifest b/games-emulation/pcsx2/Manifest
index df8d363f6617..8f66d688a349 100644
--- a/games-emulation/pcsx2/Manifest
+++ b/games-emulation/pcsx2/Manifest
@@ -7,14 +7,12 @@ AUX pcsx2-1.7.3329-qt6.patch 371 BLAKE2B 15a8e221ee4b6f19c5956269908e9d3bad6a8fb
AUX pcsx2-1.7.3351-unbundle.patch 1276 BLAKE2B 26af7e54f63bed99075f8155d237092d536b9ef420032d766ef4e41b7953c329f70d2040ae6a99142e0bc307fa9a534bd5db4e363e4e64a4291dc7a5760149b9 SHA512 7068a214cae03579e83ce14a5b953807a4f536be93946e15b58a33ede2497a128508ac2727fd1f602444906bc1497182a3740a1613d39300c403e387adbaa332
AUX pcsx2-1.7.3468-cubeb-automagic.patch 1635 BLAKE2B 90581edb3ed95fb011ecbd446e529b48544a0c8090e7e40b4aba6fb153a73e53f8399a61ee1d9fce180ac2ee44185cf7dac1972e62dc43648496774a7a8cfca9 SHA512 d2b92cc6530c706e0219b6eab5c8b52a3e93bcc16269400afbcbb3ca23edf07f511fd4116b02e77f89eb7083b9bb64f8bec85950d9d7e98ffdbbe351d4c70387
DIST pcsx2-1.6.0.tar.gz 17963332 BLAKE2B d1370fd089e1f8716a3365b9f499fef9418c4a9464e701cf0dbac8296cf59a2c6fc9b85ed680c514d8128da7b5c47aa8a067d48cac9eb0482ef2ba5f9234e60e SHA512 0a3e01a25384719fc72b636a1e9cf1cd966d0c978c1c3adfb46d6b3f76f43a25f90ef63d27a1d8092cdf444c5dc7560ce807ca81908d11ade9715e7eaaad6253
-DIST pcsx2-1.7.3468.tar.gz 19926257 BLAKE2B d276d7640c46c6fbad28c87b46e367c6dbfc8b3f6732f34dce49736772224dada6b4d5bc5947db2fe757b465e0d9fc0821eaf6f79987daf6df1734c8c9d34c52 SHA512 e96c1d8e733e3df8666e4eb7ebf3be47c7c65d948b4d4fc0818f90af60dfe15e928a5f93bfe0791444b3529f9b0a3789853c2b53845437507f97eda0c2bc2646
DIST pcsx2-1.7.3602.tar.gz 20035989 BLAKE2B bf28433b1df67b3b23655125b6cc6bdfa255468612081d2a64316cc335b97b43f66bc7ed683c19234df6136cb7f8fdf9dce3225865b2d404fc7c5b8b41733eea SHA512 cd5f5a4d347beb381fc13e969baa86887289f836a8b03ae6a926293a81699b3769cf23644a87cff41ec32355604bd735e59455fd13de5fc5aab121976626c16f
DIST pcsx2-fast_float-32d21dcecb.tar.gz 76108 BLAKE2B 7a4e8e3bb67387c03912e5f7035ba3fab1aeaa119b36ebdeb14c45069b3270270a8b87de2774ec325d8ed2ef0604a3d3762432d42f1e026a213990ac39341e10 SHA512 2cbdc5b05ab7c19e20b4e34959b90d1fa866d4ba239ec0a4c434cd33bddfb1cb6f1da467b0a525f5a4887c9b1860e975fe074aca0d9e211f0fc7bc6402d3601e
DIST pcsx2-glslang-c9706bdda0.tar.gz 3433325 BLAKE2B f2449a6c8b05e47367164d09036ae2302f0f28ec83c2e2f401426f52fbd4edf55f717f01eea2cbfe7554e1004b89ffdebc34ec21a95809fcbc719f69e65e8487 SHA512 5ff0902e95592525b2671788bf27717c85d0876b31e96374eff5128f9bf7caf93bb636e4d5e1916a5d641715a780172308403bd49305d9a07cf66358d7e6407c
DIST pcsx2-rcheevos-31f8788fe0.tar.gz 522855 BLAKE2B 39533199f6b1e0cd821d817ff57101ccad0049f5144b856f1e796c83d81fcee059caa944a0fb14a0e95e51da43a6bc003cd6891ca85c2b9a959b4c42d8ca0a84 SHA512 cb0e8bf4d222f3ef127d20a9d6738e6c39d7cff48a0da8fe19fcc43669433b7e53cc63ab332e8f0cd935b6a33eddef3e741ee862a82bd4f29a02df1d9a42ec45
DIST pcsx2-vulkan-headers-9f4c61a314.tar.gz 1554220 BLAKE2B 7f7fa093e8af30919dd743768e6d882fa40800fecedf1183a45568dbb81207ffdf9eed1beadba98160c61bac89a24182794a601a2dce0c91cf54e16d0080cb69 SHA512 8b5fa5bcf6bd8ae5fb44000e4b842d86c014e9d8dae9bff988f86ec359fc27db3f71dc96253ceb2f31da4db41a6585034bb185f68da5446e91293bb0c2bbf993
EBUILD pcsx2-1.6.0-r3.ebuild 2647 BLAKE2B 7d7a0e595d3d8297f3ae0049b3c376f404eeb5a6f477486076e5ac2b72dae6065c97b845f715f4e7e52af158b9dfbe6bbc5cf4f10d051838eafe44553f76efd3 SHA512 18b6131c6ff0b292f4dde4a54b4a5c698a403860ab332e01f181e18931e5ac14cc131ce140de563125f63eeb8b3523b51c6df4f4ecf2086a00e000d4e3d0289b
-EBUILD pcsx2-1.7.3468.ebuild 7180 BLAKE2B f8ea7f06b934f87f2ee869ae08167078e7eaca8b9601e34d7ed586aec4ab0ce10790db81b3c6d2620be7c9606f25eefed6505c51b9d8a5621639347c73d83d00 SHA512 2cf088951ea0f2f542c0ce158bccf462f2cdd7d2f8150e4135fffa8ecfaf1ee7895eb739cb6e283b058bded6de605b89bc9aabd8112965c0b73b1357e5c2e81a
EBUILD pcsx2-1.7.3602.ebuild 7200 BLAKE2B 5edd27101b1c0f5fec9e2363b1d9aea136686242a5bed068380ea12bbf3c5ea9a3b64853ca68c39b3b7f4e8707ac6f632d855eb73ebff941b1a32594fe54d891 SHA512 a81bb85f9ea75ee86d332ce1fa765a7b2689d822382ad1b45d518e1a2c5e6114a2d932ed4b5f1f70758b753bdcb079e8d2e9fac4dd659bb33585f7ab3b81c173
EBUILD pcsx2-9999.ebuild 7200 BLAKE2B 5edd27101b1c0f5fec9e2363b1d9aea136686242a5bed068380ea12bbf3c5ea9a3b64853ca68c39b3b7f4e8707ac6f632d855eb73ebff941b1a32594fe54d891 SHA512 a81bb85f9ea75ee86d332ce1fa765a7b2689d822382ad1b45d518e1a2c5e6114a2d932ed4b5f1f70758b753bdcb079e8d2e9fac4dd659bb33585f7ab3b81c173
MISC metadata.xml 805 BLAKE2B eb7ce944f7dc5b1889cc2b59f389eafabe9d5e44c4a730fa1352b0a00aec0f97d607204c440a9ce014e02f5b1a73c6ccd294074e7ce41f563c6c3643614ac9f6 SHA512 e8d939f76830204283557319961b4e3aab557e1c3e36fbfc98d4605b0728adb42d0731a05da998eb099f6b0df837eef7616cddb1e62b006979fb9262c172d961
diff --git a/games-emulation/pcsx2/pcsx2-1.7.3468.ebuild b/games-emulation/pcsx2/pcsx2-1.7.3468.ebuild
deleted file mode 100644
index 25b97c43ac32..000000000000
--- a/games-emulation/pcsx2/pcsx2-1.7.3468.ebuild
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-WX_GTK_VER="3.0-gtk3"
-inherit cmake fcaps flag-o-matic wxwidgets
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git"
-else
- HASH_FASTFLOAT=32d21dcecb404514f94fb58660b8029a4673c2c1
- HASH_RCHEEVOS=31f8788fe0e694e99db7ce138d45a655c556fa96
- HASH_GLSLANG=c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5
- HASH_VULKAN=9f4c61a31435a7a90a314fc68aeb386c92a09c0f
- SRC_URI="
- https://github.com/PCSX2/pcsx2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/fastfloat/fast_float/archive/${HASH_FASTFLOAT}.tar.gz -> ${PN}-fast_float-${HASH_FASTFLOAT::10}.tar.gz
- https://github.com/RetroAchievements/rcheevos/archive/${HASH_RCHEEVOS}.tar.gz -> ${PN}-rcheevos-${HASH_RCHEEVOS::10}.tar.gz
- vulkan? (
- https://github.com/KhronosGroup/glslang/archive/${HASH_GLSLANG}.tar.gz -> ${PN}-glslang-${HASH_GLSLANG::10}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
- )"
- KEYWORDS="-* ~amd64"
-fi
-
-DESCRIPTION="PlayStation 2 emulator"
-HOMEPAGE="https://pcsx2.net/"
-
-LICENSE="
- GPL-3+ Apache-2.0 BSD BSD-2 BSD-4 Boost-1.0 CC0-1.0 GPL-2+
- ISC LGPL-2.1+ LGPL-3+ MIT OFL-1.1 ZLIB public-domain"
-SLOT="0"
-IUSE="alsa cpu_flags_x86_sse4_1 jack pulseaudio qt6 sndio test vulkan wayland"
-REQUIRED_USE="cpu_flags_x86_sse4_1" # dies at runtime if no support
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- app-arch/xz-utils
- app-arch/zstd:=
- dev-cpp/rapidyaml:=
- dev-libs/libaio
- dev-libs/libchdr
- >=dev-libs/libfmt-7.1.3:=
- dev-libs/libzip:=[zstd]
- media-libs/harfbuzz
- media-libs/libglvnd
- media-libs/libpng:=
- >=media-libs/libsdl2-2.0.22[haptic,joystick]
- media-libs/libsoundtouch:=
- net-libs/libpcap
- sys-libs/zlib:=
- virtual/libudev:=
- x11-libs/libX11
- x11-libs/libXrandr
- alsa? ( media-libs/alsa-lib )
- jack? ( virtual/jack )
- pulseaudio? ( media-libs/libpulse )
- qt6? (
- dev-qt/qtbase:6[gui,network,widgets]
- dev-qt/qtsvg:6
- net-misc/curl
- )
- !qt6? (
- dev-libs/glib:2
- media-libs/libsamplerate
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[wayland?]
- x11-libs/wxGTK:${WX_GTK_VER}[X]
- )
- sndio? ( media-sound/sndio:= )
- vulkan? ( media-libs/vulkan-loader )
- wayland? ( dev-libs/wayland )"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
- test? ( dev-cpp/gtest )"
-BDEPEND="
- dev-lang/perl
- qt6? ( dev-qt/qttools[linguist] )
- !qt6? ( sys-devel/gettext )"
-
-FILECAPS=(
- -m 0755 "CAP_NET_RAW+eip CAP_NET_ADMIN+eip" usr/bin/pcsx2
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.7.0-crcs.patch
- "${FILESDIR}"/${PN}-1.7.3329-lto.patch
- "${FILESDIR}"/${PN}-1.7.3329-musl.patch
- "${FILESDIR}"/${PN}-1.7.3329-qt6.patch
- "${FILESDIR}"/${PN}-1.7.3351-unbundle.patch
- "${FILESDIR}"/${PN}-1.7.3468-cubeb-automagic.patch
-)
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- local EGIT_SUBMODULES=(
- # has no build system and is not really setup for unbundling
- 3rdparty/rcheevos/rcheevos
-
- # system rapidyaml is still used, but this uses another part
- # of the source directly (fast_float) and so allow the submodule
- # https://github.com/PCSX2/pcsx2/commit/af646e449
- 3rdparty/rapidyaml/rapidyaml
- 3rdparty/rapidyaml/rapidyaml/extern/c4core
- 3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float
-
- # uses glslang's StandAlone/ResourceLimits.h unavailable with
- # system's (also keep bundled vulkan-headers to be in sync)
- $(usev vulkan '
- 3rdparty/glslang/glslang
- 3rdparty/vulkan-headers')
- )
-
- git-r3_src_unpack
- else
- default
-
- mkdir -p "${S}"/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext || die
- mv fast_float-${HASH_FASTFLOAT} \
- "${S}"/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float || die
-
- rmdir "${S}"/3rdparty/rcheevos/rcheevos || die
- mv rcheevos-${HASH_RCHEEVOS} "${S}"/3rdparty/rcheevos/rcheevos || die
-
- if use vulkan; then
- rmdir "${S}"/3rdparty/{glslang/glslang,vulkan-headers} || die
- mv glslang-${HASH_GLSLANG} "${S}"/3rdparty/glslang/glslang || die
- mv Vulkan-Headers-${HASH_VULKAN} "${S}"/3rdparty/vulkan-headers || die
- fi
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # qt6 build doesn't support PACKAGE_MODE and need to set resources location
- sed -e "/EmuFolders::AppRoot =/s|=.*|= \"${EPREFIX}/usr/share/PCSX2\";|" \
- -i pcsx2/Frontend/CommonHost.cpp || die
-
- # non-cubeb pulseaudio is only used for usb-mic without qt6, not output
- use pulseaudio || :> cmake/FindPulseAudio.cmake || die
-
- if [[ ${PV} != 9999 ]]; then
- sed -e '/set(PCSX2_GIT_TAG "")/s/""/"v'${PV}'"/' \
- -i cmake/Pcsx2Utils.cmake || die
-
- # delete all 3rdparty/* except known-used ones in non-live
- local keep=(
- # TODO?: rapidjson and xbyak are packaged and could be unbundlable
- # w/ patch, and discord-rpc be optional w/ dependency on rapidjson
- cpuinfo cubeb discord-rpc glad imgui include jpgd lzma
- rapidjson rapidyaml rcheevos simpleini xbyak
- $(usev vulkan 'glslang vulkan-headers')
- )
- find 3rdparty -mindepth 1 -maxdepth 1 -type d \
- -not \( -false ${keep[*]/#/-o -name } \) -exec rm -r {} + || die
- fi
-}
-
-src_configure() {
- use qt6 || setup-wxwidgets
-
- # for bundled glslang (bug #858374)
- use vulkan && append-flags -fno-strict-aliasing
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=no
- -DDISABLE_BUILD_DATE=yes
- -DDISABLE_PCSX2_WRAPPER=yes
- -DDISABLE_SETCAP=yes
- -DENABLE_TESTS=$(usex test)
- -DPACKAGE_MODE=yes
- -DQT_BUILD=$(usex qt6)
- -DUSE_SYSTEM_LIBS=yes
- -DUSE_VTUNE=no
- -DUSE_VULKAN=$(usex vulkan)
- -DWAYLAND_API=$(usex wayland)
- -DXDG_STD=yes
-
- # sse4.1 is the bare minimum required, -m is required at build time
- # (see PCSX2Base.h) and it dies if no support at runtime (AppInit.cpp)
- # https://github.com/PCSX2/pcsx2/pull/4329
- -DARCH_FLAG=-msse4.1
-
- # bundled cubeb flags, see media-libs/cubeb and cubeb-automagic.patch
- -DCHECK_ALSA=$(usex alsa)
- -DCHECK_JACK=$(usex jack)
- -DCHECK_PULSE=$(usex pulseaudio)
- -DCHECK_SNDIO=$(usex sndio)
- -DLAZY_LOAD_LIBS=no
- )
-
- cmake_src_configure
-}
-
-src_test() {
- cmake_build unittests
-}
-
-src_install() {
- cmake_src_install
-
- use qt6 && newbin "${BUILD_DIR}"/pcsx2-qt/pcsx2-qt pcsx2
-}
-
-pkg_postinst() {
- fcaps_pkg_postinst
-
- local replacing_old
- if [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 1.6.1
- then
- replacing_old=
- elog ">=${PN}-1.7 has received several changes since <=${PN}-1.6.0, just-in-case"
- elog "it is recommended to backup your save states and memory cards before use."
- elog "Note that the executable was also renamed from 'PCSX2' to 'pcsx2'."
- fi
-
- if [[ ${PV} != 9999 && ( ! ${REPLACING_VERSIONS} || -v replacing_old ) ]]; then
- [[ -v replacing_old ]] && elog
- elog "${PN}-1.7.x is a development branch using a nightly release model"
- elog "(new 'release' every 1-2 days). Stable 1.6.0 is getting old and lacks"
- elog "many notable features (e.g. native 64bit builds). Given it may be a long"
- elog "time before there is a new stable, Gentoo will carry and update 1.7.x"
- elog "roughly every months."
- elog
- elog "Please report an issue if feel a picked nightly release needs to be"
- elog "updated ahead of time or masked (notably for handling regressions)."
- fi
-}