# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_EXT=1 DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{11..13} ) inherit desktop distutils-r1 DESCRIPTION="Visual novel engine written in python" HOMEPAGE="https://www.renpy.org" SRC_URI="https://www.renpy.org/dl/${PV}/${P}-source.tar.bz2" S="${WORKDIR}/${P}-source" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="development doc examples" REQUIRED_USE="examples? ( development )" # too much of a pain RESTRICT="test" DEPEND=" dev-libs/fribidi $(python_gen_cond_dep ' >=dev-python/pygame_sdl2-8.2.0[${PYTHON_USEDEP}] >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}] dev-python/ecdsa[${PYTHON_USEDEP}] dev-python/six[${PYTHON_USEDEP}] ') media-libs/glew:0 media-libs/libpng:0 media-libs/libsdl2[video] media-libs/freetype:2 sys-libs/zlib media-video/ffmpeg:= " RDEPEND="${DEPEND}" BDEPEND=" $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]') virtual/pkgconfig " PATCHES=( "${FILESDIR}/renpy-6.99.12.4-compat-style.patch" "${FILESDIR}/renpy-6.99.12.4-compat-infinite-loop.patch" "${FILESDIR}/renpy-8.1.0-ignore_rpyc_errors.patch" "${FILESDIR}/renpy-8.3.2-cython-3.patch" "${FILESDIR}/renpy-8.3.2-six.patch" ) python_prepare_all() { einfo "Deleting precompiled python files" find . -name '*.py[co]' -print -delete || die distutils-r1_python_prepare_all } python_compile() { cd "${S}"/module || die distutils-r1_python_compile } python_install() { cd "${S}"/module || die distutils-r1_python_install cd "${S}" || die python_newscript renpy.py ${PN} python_domodule renpy if use development ; then python_domodule launcher fi if use examples ; then python_domodule the_question tutorial fi } python_install_all() { distutils-r1_python_install_all if use development; then newicon -s 32 launcher/game/images/logo32.png ${P}.png make_desktop_entry ${PN} "Ren'Py ${PV}" ${P} fi if use doc; then insinto "/usr/share/doc/${PF}/html" doins -r doc/* fi newman "${FILESDIR}/${PN}.1" "${P}.1" } pkg_preinst() { use development && gnome2_icon_savelist } pkg_postinst() { use development && gnome2_icon_cache_update local v for v in ${REPLACING_VERSIONS}; do ver_test "${v}" -ge 7 && continue einfo "Starting from ${PN}-7 slots are dropped." einfo "RenPy natively supports compatibility with games made for older versions." einfo "Report bugs upstream on such problems, usually they are easy to fix." break done } pkg_postrm() { use development && gnome2_icon_cache_update }