public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-emulation/pcsx2_patches/
Date: Sat, 24 Jun 2023 04:14:31 +0000 (UTC)	[thread overview]
Message-ID: <1687580039.d502302aee99b352e11fd6b8fa506b83fb324539.ionen@gentoo> (raw)

commit:     d502302aee99b352e11fd6b8fa506b83fb324539
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 02:44:35 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 04:13:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d502302a

games-emulation/pcsx2_patches: new package, add 0_p20230623 + 9999

This is distributed with PCSX2's appimage but tracked in a separate
repo. Simpler to handle as a separate package as bump may not be needed
at same time and updates tend to be non-urgent + game-specific (and
all patches are disabled by default).

PCSX2 newly gives a warning if patches.zip is missing (formerly
cheats_ws.zip, but now using its own patches interface), and will look
for it on the system's resources path. So this gives more reasons to
package this.

Provide 9999 as well given this does not get releases and users may
want fixes earlier than we do snapshots (albeit ~/.config/PCSX2/patches
or so should work afaik).

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-emulation/pcsx2_patches/Manifest             |  1 +
 games-emulation/pcsx2_patches/metadata.xml         | 12 +++++
 .../pcsx2_patches/pcsx2_patches-0_p20230623.ebuild | 54 ++++++++++++++++++++++
 .../pcsx2_patches/pcsx2_patches-9999.ebuild        | 54 ++++++++++++++++++++++
 4 files changed, 121 insertions(+)

diff --git a/games-emulation/pcsx2_patches/Manifest b/games-emulation/pcsx2_patches/Manifest
new file mode 100644
index 000000000000..471531cc9eba
--- /dev/null
+++ b/games-emulation/pcsx2_patches/Manifest
@@ -0,0 +1 @@
+DIST pcsx2_patches-0_p20230623.tar.gz 598611 BLAKE2B 5a2fb1b31f9448064d7ce46c11b1dadbf1960403c082c8cee5a4c897e9c7db334a70d1f088ad18893bad89e12ef4369e2a6cba3e493fe11846848180a755b0c4 SHA512 55b7221c8f5124a44f73aa552491d1ceac796e0c34179439ba2a599891691ece19ad35b16600fa3eea1031fdcf6f5f2ee2d9da9226656ade1413b83c983383a9

diff --git a/games-emulation/pcsx2_patches/metadata.xml b/games-emulation/pcsx2_patches/metadata.xml
new file mode 100644
index 000000000000..dadfc4f6e874
--- /dev/null
+++ b/games-emulation/pcsx2_patches/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>games@gentoo.org</email>
+		<name>Gentoo Games Project</name>
+	</maintainer>
+	<stabilize-allarches/>
+	<upstream>
+		<remote-id type="github">PCSX2/pcsx2_patches</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/games-emulation/pcsx2_patches/pcsx2_patches-0_p20230623.ebuild b/games-emulation/pcsx2_patches/pcsx2_patches-0_p20230623.ebuild
new file mode 100644
index 000000000000..97b5bf34a19b
--- /dev/null
+++ b/games-emulation/pcsx2_patches/pcsx2_patches-0_p20230623.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/PCSX2/pcsx2_patches.git"
+else
+	HASH_PCSX2_PATCHES=665e8779d10ef046da2a46118c2d1efc02d8cb2c
+	SRC_URI="
+		https://github.com/PCSX2/pcsx2_patches/archive/${HASH_PCSX2_PATCHES}.tar.gz
+			-> ${P}.tar.gz"
+	S=${WORKDIR}/${PN}-${HASH_PCSX2_PATCHES}
+	KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Collection of game patches for use with PCSX2 (e.g. widescreen hacks)"
+HOMEPAGE="https://github.com/PCSX2/pcsx2_patches/"
+
+# these are normally distributed by upstream with PCSX2 which is GPL-3+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="${PYTHON_DEPS}"
+
+src_compile() {
+	# upstream uses a constantly replaced "latest" patches.zip (currently no
+	# real releases), and github's .zip archives cannot be used either due to
+	# having the patches/ subdirectory -- so we use a snapshot and repack
+	# (could use app-arch/zip, but python is more likely to skip a dependency)
+	ebegin "Creating patches.zip"
+	"${PYTHON}" - <<-EOF
+		import pathlib
+		from zipfile import ZipFile, ZIP_DEFLATED
+
+		patches = pathlib.Path("patches/")
+
+		with ZipFile("patches.zip", "w", ZIP_DEFLATED, compresslevel=9) as archive:
+		    for file in patches.iterdir():
+		        archive.write(file, arcname=file.name)
+	EOF
+	eend ${?} || die
+}
+
+src_install() {
+	insinto /usr/share/pcsx2/resources
+	doins patches.zip
+
+	einstalldocs
+}

diff --git a/games-emulation/pcsx2_patches/pcsx2_patches-9999.ebuild b/games-emulation/pcsx2_patches/pcsx2_patches-9999.ebuild
new file mode 100644
index 000000000000..c843add3dbc2
--- /dev/null
+++ b/games-emulation/pcsx2_patches/pcsx2_patches-9999.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/PCSX2/pcsx2_patches.git"
+else
+	HASH_PCSX2_PATCHES=
+	SRC_URI="
+		https://github.com/PCSX2/pcsx2_patches/archive/${HASH_PCSX2_PATCHES}.tar.gz
+			-> ${P}.tar.gz"
+	S=${WORKDIR}/${PN}-${HASH_PCSX2_PATCHES}
+	KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Collection of game patches for use with PCSX2 (e.g. widescreen hacks)"
+HOMEPAGE="https://github.com/PCSX2/pcsx2_patches/"
+
+# these are normally distributed by upstream with PCSX2 which is GPL-3+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="${PYTHON_DEPS}"
+
+src_compile() {
+	# upstream uses a constantly replaced "latest" patches.zip (currently no
+	# real releases), and github's .zip archives cannot be used either due to
+	# having the patches/ subdirectory -- so we use a snapshot and repack
+	# (could use app-arch/zip, but python is more likely to skip a dependency)
+	ebegin "Creating patches.zip"
+	"${PYTHON}" - <<-EOF
+		import pathlib
+		from zipfile import ZipFile, ZIP_DEFLATED
+
+		patches = pathlib.Path("patches/")
+
+		with ZipFile("patches.zip", "w", ZIP_DEFLATED, compresslevel=9) as archive:
+		    for file in patches.iterdir():
+		        archive.write(file, arcname=file.name)
+	EOF
+	eend ${?} || die
+}
+
+src_install() {
+	insinto /usr/share/pcsx2/resources
+	doins patches.zip
+
+	einstalldocs
+}


             reply	other threads:[~2023-06-24  4:14 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-24  4:14 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-25  0:10 [gentoo-commits] repo/gentoo:master commit in: games-emulation/pcsx2_patches/ Ionen Wolkens
2023-08-06  4:32 Ionen Wolkens
2023-08-24  3:40 Ionen Wolkens
2023-09-12 16:15 Ionen Wolkens
2023-09-19 11:36 Ionen Wolkens
2023-09-19 11:36 Ionen Wolkens
2023-10-19 13:35 Ionen Wolkens
2023-10-19 13:35 Ionen Wolkens
2023-10-19 13:35 Ionen Wolkens
2023-10-25  7:58 Ionen Wolkens
2023-11-19  5:54 Ionen Wolkens
2023-12-19 11:44 Ionen Wolkens
2023-12-19 11:44 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2024-01-15  7:29 Ionen Wolkens
2024-01-17 14:45 Ionen Wolkens
2024-03-20  7:17 Ionen Wolkens
2024-04-22  7:26 Ionen Wolkens
2024-04-22  7:26 Ionen Wolkens
2024-04-22  7:26 Ionen Wolkens
2024-05-23  0:41 Ionen Wolkens
2024-05-23  0:41 Ionen Wolkens
2024-05-23  0:41 Ionen Wolkens
2024-06-11  7:16 Joonas Niilola
2024-06-22  9:34 Ionen Wolkens
2024-06-22  9:34 Ionen Wolkens
2024-07-12 18:14 Sam James
2024-07-22  7:01 Ionen Wolkens
2024-07-22  7:01 Ionen Wolkens
2024-07-22  7:01 Ionen Wolkens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1687580039.d502302aee99b352e11fd6b8fa506b83fb324539.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox