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 |
+} |