Gentoo Archives: gentoo-commits

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
Date: Mon, 17 Jul 2017 05:28:44
Message-Id: 1500269313.41789d6be3c976bf3c6da66cc675adc912c1ea9b.bircoph@gentoo
1 commit: 41789d6be3c976bf3c6da66cc675adc912c1ea9b
2 Author: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 17 05:26:49 2017 +0000
4 Commit: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 17 05:28:33 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41789d6b
7
8 games-engines/renpy: increase infinite loop hardcoded values
9
10 On many old hardware, e.g on my Atom netbook games hit this limit,
11 but otherwise work fine. Increasing the limit helps. People are
12 also reporting this issue in many cases (old laptops, stow tablets,
13 etc where games fail due to this issue and work otherwise):
14
15 https://translationprojectvisualnovels.blogspot.ru/2016/09/monster-girl-quest-android-15092016.html
16 https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=30521&start=90
17 https://steamcommunity.com/app/356530/discussions/0/365163686036650662/
18 (and many more, just google)
19
20 Package-Manager: Portage-2.3.6, Repoman-2.3.2
21 Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>
22
23 .../renpy-6.99.12.4-compat-infinite-loop.patch | 42 ++++++++
24 games-engines/renpy/renpy-6.99.12.4-r3.ebuild | 108 +++++++++++++++++++++
25 2 files changed, 150 insertions(+)
26
27 diff --git a/games-engines/renpy/files/renpy-6.99.12.4-compat-infinite-loop.patch b/games-engines/renpy/files/renpy-6.99.12.4-compat-infinite-loop.patch
28 new file mode 100644
29 index 00000000000..3a2942cb04f
30 --- /dev/null
31 +++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-infinite-loop.patch
32 @@ -0,0 +1,42 @@
33 +Adapted from git HEAD:
34 +commit ff308191a190bf7c5c2118a31f3d8569a0904c04
35 +Author: Andrew Savchenko <bircoph@×××××.com>
36 +Date: Mon Jul 17 08:00:07 2017 +0300
37 +
38 + Increase infinite loop hardcoded values
39 +
40 + On many old hardware, e.g on my Atom netbook games hit this limit,
41 + but otherwise work fine. Increasing the limit helps. People are
42 + also reporting this issue in many cases (old laptops, stow tablets,
43 + etc where games fail due to this issue and work otherwise):
44 +
45 + https://translationprojectvisualnovels.blogspot.ru/2016/09/monster-girl-quest-android-15092016.html
46 + https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=30521&start=90
47 + https://steamcommunity.com/app/356530/discussions/0/365163686036650662/
48 + (and many more, just google)
49 +
50 +index 00c7562..a7e361c 100644
51 +--- a/renpy/display/core.py
52 ++++ b/renpy/display/core.py
53 +@@ -2845,7 +2845,7 @@ class Interface(object):
54 +
55 + while rv is None:
56 +
57 +- renpy.execution.not_infinite_loop(10)
58 ++ renpy.execution.not_infinite_loop(50)
59 +
60 + # Check for a change in fullscreen preference.
61 + if ((self.fullscreen != renpy.game.preferences.fullscreen) or
62 +diff --git a/renpy/main.py b/renpy/main.py
63 +index 6f14d77..960d2fd 100644
64 +--- a/renpy/main.py
65 ++++ b/renpy/main.py
66 +@@ -318,7 +318,7 @@ def main():
67 + game.contexts = [ renpy.execution.Context(False) ]
68 + game.contexts[0].init_phase = True
69 +
70 +- renpy.execution.not_infinite_loop(60)
71 ++ renpy.execution.not_infinite_loop(300)
72 +
73 + # Load the script.
74 + renpy.game.exception_info = 'While loading the script.'
75
76 diff --git a/games-engines/renpy/renpy-6.99.12.4-r3.ebuild b/games-engines/renpy/renpy-6.99.12.4-r3.ebuild
77 new file mode 100644
78 index 00000000000..ccf21fbcc9c
79 --- /dev/null
80 +++ b/games-engines/renpy/renpy-6.99.12.4-r3.ebuild
81 @@ -0,0 +1,108 @@
82 +# Copyright 1999-2017 Gentoo Foundation
83 +# Distributed under the terms of the GNU General Public License v2
84 +
85 +EAPI=6
86 +PYTHON_COMPAT=( python2_7 )
87 +DISTUTILS_IN_SOURCE_BUILD=1
88 +inherit eutils gnome2-utils toolchain-funcs versionator distutils-r1
89 +
90 +DESCRIPTION="Visual novel engine written in python"
91 +HOMEPAGE="http://www.renpy.org"
92 +SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
93 +
94 +LICENSE="MIT"
95 +SLOT="$(get_version_component_range 1-2)"
96 +MYSLOT=$(delete_all_version_separators ${SLOT})
97 +KEYWORDS="~amd64 ~x86"
98 +IUSE="development doc examples"
99 +REQUIRED_USE="examples? ( development )"
100 +
101 +RDEPEND="
102 + >=app-eselect/eselect-renpy-0.7
103 + dev-libs/fribidi
104 + ~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}]
105 + >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
106 + media-libs/glew:0
107 + media-libs/libpng:0
108 + media-libs/libsdl2[video]
109 + media-libs/freetype:2
110 + sys-libs/zlib
111 + virtual/ffmpeg"
112 +DEPEND="${RDEPEND}
113 + dev-python/cython[${PYTHON_USEDEP}]
114 + virtual/pkgconfig"
115 +
116 +S=${WORKDIR}/${P}-source
117 +
118 +PATCHES=(
119 + "${FILESDIR}"/${P}-multiple-abi.patch
120 + "${FILESDIR}"/${P}-compat-window.patch #601200
121 + "${FILESDIR}"/${P}-compat-style.patch
122 + "${FILESDIR}"/${P}-compat-infinite-loop.patch
123 +)
124 +
125 +python_prepare_all() {
126 + export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
127 + distutils-r1_python_prepare_all
128 +
129 + einfo "Deleting precompiled python files"
130 + find . -name '*.py[co]' -print -delete || die
131 +
132 + sed -i \
133 + -e "s/@SLOT@/${MYSLOT}/" \
134 + renpy.py renpy/common.py || die "setting slot failed!"
135 +}
136 +
137 +python_compile() {
138 + cd "${S}"/module || die
139 + distutils-r1_python_compile
140 +}
141 +
142 +python_install() {
143 + cd "${S}"/module || die
144 + distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
145 +
146 + cd "${S}" || die
147 + python_newscript renpy.py ${PN}-${SLOT}
148 +
149 + python_moduleinto renpy${MYSLOT}
150 + python_domodule renpy
151 + if use development ; then
152 + python_domodule launcher templates
153 + fi
154 + if use examples ; then
155 + python_domodule the_question tutorial
156 + fi
157 +}
158 +
159 +python_install_all() {
160 + distutils-r1_python_install_all
161 + if use development; then
162 + newicon -s 32 launcher/game/images/logo32.png ${P}.png
163 + make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
164 + fi
165 +
166 + if use doc; then
167 + insinto "/usr/share/doc/${PF}/html"
168 + doins -r doc/*
169 + fi
170 + newman "${FILESDIR}/${PN}.1" "${P}.1"
171 +}
172 +
173 +pkg_preinst() {
174 + use development && gnome2_icon_savelist
175 +}
176 +
177 +pkg_postinst() {
178 + use development && gnome2_icon_cache_update
179 +
180 + einfo "running: eselect renpy update --if-unset"
181 + eselect renpy update --if-unset
182 +}
183 +
184 +pkg_postrm() {
185 + use development && gnome2_icon_cache_update
186 +
187 + einfo "running: eselect renpy update --if-unset"
188 + eselect renpy update --if-unset
189 +}