You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-emulation/pcsx2_patches/pcsx2_patches-9999.ebuild

56 lines
1.4 KiB

# 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/lib/pcsx2/resources
doins patches.zip
einstalldocs
}