# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 PYTHON_COMPAT=( python2_7 ) DISTUTILS_IN_SOURCE_BUILD=1 inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1 DESCRIPTION="Visual novel engine written in python" HOMEPAGE="http://www.renpy.org" SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2" LICENSE="MIT" SLOT="$(get_version_component_range 1-2)" MYSLOT=$(delete_all_version_separators ${SLOT}) KEYWORDS="~amd64 ~x86" IUSE="development doc examples" REQUIRED_USE="examples? ( development )" RDEPEND=" >=app-eselect/eselect-renpy-0.6 dev-libs/fribidi ~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}] >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}] media-libs/glew media-libs/libpng:0 media-libs/libsdl2[video] media-libs/freetype:2 sys-libs/zlib >=dev-libs/fribidi-0.19.2 virtual/ffmpeg" DEPEND="${RDEPEND} dev-python/cython[${PYTHON_USEDEP}] virtual/pkgconfig" S=${WORKDIR}/${P}-source pkg_setup() { games_pkg_setup export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)" } python_prepare_all() { # wooosh! this should fix multiple abi epatch "${FILESDIR}"/${P}-multiple-abi.patch epatch "${FILESDIR}"/${P}-use-system-fribidi.patch einfo "Deleting precompiled python files" find . -name '*.py[co]' -print -delete || die sed -i \ -e "s/@SLOT@/${MYSLOT}/" \ renpy.py renpy/common.py || die "setting slot failed!" 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 --install-lib="$(python_get_sitedir)/renpy${MYSLOT}" cd "${S}" || die python_scriptinto "${GAMES_BINDIR}" python_newscript renpy.py ${PN}-${SLOT} python_moduleinto renpy${MYSLOT} python_domodule renpy if use development ; then python_domodule launcher fi if use examples ; then python_domodule the_question tutorial fi } python_install_all() { if use development; then newicon -s 32 launcher/game/images/logo32.png ${P}.png make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P} fi if use doc; then dohtml -r doc fi prepgamesdirs } pkg_preinst() { games_pkg_preinst use development && gnome2_icon_savelist } pkg_postinst() { games_pkg_postinst use development && gnome2_icon_cache_update einfo "running: eselect renpy update --if-unset" eselect renpy update --if-unset } pkg_postrm() { use development && gnome2_icon_cache_update einfo "running: eselect renpy update --if-unset" eselect renpy update --if-unset }