Gentoo Archives: gentoo-commits

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/bircoph:master commit in: profiles/, games-engines/renpy/, games-engines/renpy/files/
Date: Sun, 31 May 2015 19:42:11
Message-Id: 1433101231.aaa7955f5bedee960d6313bed96ed7a9238048cf.bircoph@gentoo
1 commit: aaa7955f5bedee960d6313bed96ed7a9238048cf
2 Author: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 31 19:40:31 2015 +0000
4 Commit: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
5 CommitDate: Sun May 31 19:40:31 2015 +0000
6 URL: https://gitweb.gentoo.org/dev/bircoph.git/commit/?id=aaa7955f
7
8 renpy: fix bug 550854
9
10 Add renpy.1 manual page.
11
12 games-engines/renpy/ChangeLog | 276 +++++++++++++++++++++
13 games-engines/renpy/Manifest | 6 +
14 .../renpy/files/renpy-6.18.3-multiple-abi.patch | 271 ++++++++++++++++++++
15 games-engines/renpy/files/renpy.1 | 163 ++++++++++++
16 games-engines/renpy/metadata.xml | 39 +++
17 games-engines/renpy/renpy-6.18.3.ebuild | 112 +++++++++
18 profiles/categories | 1 +
19 7 files changed, 868 insertions(+)
20
21 diff --git a/games-engines/renpy/ChangeLog b/games-engines/renpy/ChangeLog
22 new file mode 100644
23 index 0000000..372d61d
24 --- /dev/null
25 +++ b/games-engines/renpy/ChangeLog
26 @@ -0,0 +1,276 @@
27 +# ChangeLog for games-engines/renpy
28 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
29 +# $Header: /var/cvsroot/gentoo-x86/games-engines/renpy/ChangeLog,v 1.54 2015/04/08 18:10:15 mgorny Exp $
30 +
31 + 08 Apr 2015; Michał Górny <mgorny@g.o> renpy-6.14.1-r1.ebuild,
32 + renpy-6.15.7.ebuild, renpy-6.16.5.ebuild:
33 + Drop old Python implementations
34 +
35 + 31 Mar 2015; Ulrich Müller <ulm@g.o> renpy-6.14.1-r1.ebuild,
36 + renpy-6.15.7.ebuild, renpy-6.16.5.ebuild, renpy-6.17.7.ebuild,
37 + renpy-6.18.2.ebuild, renpy-6.18.3.ebuild:
38 + Update dependency after package move of eselect modules to app-eselect.
39 +
40 + 25 Nov 2014; Agostino Sarubbo <ago@g.o> renpy-6.17.7.ebuild:
41 + Stable for x86, wrt bug #518182
42 +
43 +*renpy-6.18.3 (27 Oct 2014)
44 +
45 + 27 Oct 2014; Julian Ospald <hasufell@g.o>
46 + +files/renpy-6.18.3-multiple-abi.patch, +renpy-6.18.3.ebuild:
47 + version bump
48 +
49 + 10 Oct 2014; Julian Ospald <hasufell@g.o> -renpy-6.18.0-r1.ebuild,
50 + -renpy-6.18.1.ebuild, -files/renpy-6.18.0-multiple-abi.patch,
51 + -files/renpy-6.18.1-multiple-abi.patch:
52 + rm old
53 +
54 +*renpy-6.18.2 (10 Oct 2014)
55 +
56 + 10 Oct 2014; Julian Ospald <hasufell@g.o> +renpy-6.18.2.ebuild,
57 + +files/renpy-6.18.2-multiple-abi.patch:
58 + version bump
59 +
60 +*renpy-6.18.1 (23 Sep 2014)
61 +
62 + 23 Sep 2014; Julian Ospald <hasufell@g.o> +renpy-6.18.1.ebuild,
63 + +files/renpy-6.18.1-multiple-abi.patch:
64 + version bump
65 +
66 +*renpy-6.18.0-r1 (23 Aug 2014)
67 +
68 + 23 Aug 2014; Julian Ospald <hasufell@g.o> -renpy-6.18.0.ebuild,
69 + +renpy-6.18.0-r1.ebuild:
70 + fix dependencies
71 +
72 + 20 Aug 2014; Julian Ospald <hasufell@g.o> -renpy-6.17.4.ebuild,
73 + -renpy-6.17.6.ebuild, -files/renpy-6.17.4-multiple-abi.patch,
74 + -files/renpy-6.17.6-multiple-abi.patch:
75 + rm old
76 +
77 +*renpy-6.18.0 (20 Aug 2014)
78 +
79 + 20 Aug 2014; Julian Ospald <hasufell@g.o>
80 + +files/renpy-6.18.0-multiple-abi.patch, +renpy-6.18.0.ebuild:
81 + version bump
82 +
83 + 30 Jul 2014; Chema Alonso <nimiux@g.o> renpy-6.17.7.ebuild:
84 + Stable for amd64 wrt bug #518182
85 +
86 +*renpy-6.17.7 (11 Jul 2014)
87 +
88 + 11 Jul 2014; Julian Ospald <hasufell@g.o> +renpy-6.17.7.ebuild,
89 + +files/renpy-6.17.7-multiple-abi.patch:
90 + version bump
91 +
92 + 06 Jul 2014; Michał Górny <mgorny@g.o> renpy-6.14.1-r1.ebuild,
93 + renpy-6.15.7.ebuild, renpy-6.16.5.ebuild, renpy-6.17.4.ebuild,
94 + renpy-6.17.6.ebuild:
95 + Clean up obsolete dependencies on virtual/python-argparse and virtual/python-
96 + unittest2 (those packages were only required for <=python-2.6).
97 +
98 + 10 May 2014; Julian Ospald <hasufell@g.o>
99 + +files/renpy-6.17.6-multiple-abi.patch:
100 + add missing patch
101 +
102 +*renpy-6.17.6 (10 May 2014)
103 +
104 + 10 May 2014; Julian Ospald <hasufell@g.o> +renpy-6.17.6.ebuild:
105 + version bump
106 +
107 + 28 Apr 2014; Julian Ospald <hasufell@g.o> -renpy-6.17.3.ebuild,
108 + renpy-6.17.4.ebuild, -files/renpy-6.17.3-multiple-abi.patch:
109 + fix missing dep wrt #509012, remove old
110 +
111 + 28 Apr 2014; Julian Ospald <hasufell@g.o> renpy-6.15.7.ebuild,
112 + +files/renpy-6.15.7-freetype.patch:
113 + fix more freetype related breakage
114 +
115 + 28 Apr 2014; Julian Ospald <hasufell@g.o>
116 + files/renpy-6.14.1-freetype.patch:
117 + make this work on both stable and unstable arch
118 +
119 + 28 Apr 2014; Julian Ospald <hasufell@g.o> renpy-6.14.1-r1.ebuild,
120 + +files/renpy-6.14.1-freetype.patch:
121 + fix build
122 +
123 +*renpy-6.17.4 (22 Apr 2014)
124 +
125 + 22 Apr 2014; Julian Ospald <hasufell@g.o> +renpy-6.17.4.ebuild,
126 + +files/renpy-6.17.4-multiple-abi.patch:
127 + version bump
128 +
129 + 19 Mar 2014; Julian Ospald <hasufell@g.o> renpy-6.16.5.ebuild,
130 + renpy-6.17.3.ebuild:
131 + fix development USE flag wrt #505120
132 +
133 + 19 Mar 2014; Julian Ospald <hasufell@g.o> renpy-6.16.5.ebuild:
134 + amd64 stable wrt #499832
135 +
136 +*renpy-6.17.3 (05 Mar 2014)
137 +
138 + 05 Mar 2014; Julian Ospald <hasufell@g.o> -renpy-6.17.1.ebuild,
139 + -files/renpy-6.17.1-multiple-abi.patch, -renpy-6.17.2.ebuild,
140 + -files/renpy-6.17.2-multiple-abi.patch, +renpy-6.17.3.ebuild,
141 + +files/renpy-6.17.3-multiple-abi.patch:
142 + version bump, remove old
143 +
144 + 02 Mar 2014; Michał Górny <mgorny@g.o> renpy-6.16.5.ebuild,
145 + renpy-6.17.1.ebuild, renpy-6.17.2.ebuild:
146 + Update to use dev-lang/python-exec. Again.
147 +
148 +*renpy-6.17.2 (01 Mar 2014)
149 +
150 + 01 Mar 2014; Julian Ospald <hasufell@g.o> -renpy-6.17.0.ebuild,
151 + -files/renpy-6.17.0-multiple-abi.patch, +renpy-6.17.2.ebuild,
152 + +files/renpy-6.17.2-multiple-abi.patch:
153 + version bump, remove old
154 +
155 +*renpy-6.17.1 (25 Feb 2014)
156 +
157 + 25 Feb 2014; Julian Ospald <hasufell@g.o> +renpy-6.17.1.ebuild,
158 + +files/renpy-6.17.1-multiple-abi.patch:
159 + version bump
160 +
161 + 24 Feb 2014; Pawel Hajdan jr <phajdan.jr@g.o> renpy-6.16.5.ebuild:
162 + x86 stable wrt bug #499832
163 +
164 + 30 Jan 2014; Julian Ospald <hasufell@g.o> -renpy-6.15.4.ebuild,
165 + -files/renpy-6.15.4-multiple-abi.patch, -renpy-6.16.2.ebuild,
166 + -files/renpy-6.16.2-multiple-abi.patch, -renpy-6.16.3.ebuild,
167 + -files/renpy-6.16.3-multiple-abi.patch:
168 + cleanup old
169 +
170 +*renpy-6.17.0 (21 Jan 2014)
171 +
172 + 21 Jan 2014; Julian Ospald <hasufell@g.o> +renpy-6.17.0.ebuild,
173 + +files/renpy-6.17.0-multiple-abi.patch:
174 + version bump
175 +
176 +*renpy-6.16.5 (18 Dec 2013)
177 +
178 + 18 Dec 2013; Julian Ospald <hasufell@g.o> -renpy-6.16.4.ebuild,
179 + -files/renpy-6.16.4-multiple-abi.patch, +renpy-6.16.5.ebuild,
180 + +files/renpy-6.16.5-multiple-abi.patch:
181 + version bump
182 +
183 +*renpy-6.16.4 (17 Dec 2013)
184 +
185 + 17 Dec 2013; Julian Ospald <hasufell@g.o>
186 + +files/renpy-6.16.4-multiple-abi.patch, +renpy-6.16.4.ebuild:
187 + version bump
188 +
189 +*renpy-6.16.3 (02 Dec 2013)
190 +
191 + 02 Dec 2013; Julian Ospald <hasufell@g.o> -renpy-6.16.0.ebuild,
192 + -files/renpy-6.16.0-multiple-abi.patch, -renpy-6.16.1.ebuild,
193 + -files/renpy-6.16.1-multiple-abi.patch, +renpy-6.16.3.ebuild,
194 + +files/renpy-6.16.3-multiple-abi.patch:
195 + version bump, remove old
196 +
197 +*renpy-6.16.2 (22 Nov 2013)
198 +
199 + 22 Nov 2013; Julian Ospald <hasufell@g.o>
200 + +files/renpy-6.16.2-multiple-abi.patch, +renpy-6.16.2.ebuild:
201 + version bump
202 +
203 +*renpy-6.16.1 (10 Nov 2013)
204 +
205 + 10 Nov 2013; Julian Ospald <hasufell@g.o>
206 + +files/renpy-6.16.1-multiple-abi.patch, +renpy-6.16.1.ebuild:
207 + version bump
208 +
209 + 30 Oct 2013; Michał Górny <mgorny@g.o> renpy-6.14.1-r1.ebuild,
210 + renpy-6.15.4.ebuild, renpy-6.15.7.ebuild, renpy-6.16.0.ebuild:
211 + Update the dep to use dev-lang/python-exec.
212 +
213 +*renpy-6.16.0 (26 Oct 2013)
214 +
215 + 26 Oct 2013; Julian Ospald <hasufell@g.o> +renpy-6.16.0.ebuild,
216 + +files/renpy-6.16.0-multiple-abi.patch:
217 + version bump
218 +
219 + 28 Aug 2013; Agostino Sarubbo <ago@g.o> renpy-6.15.7.ebuild:
220 + Stable for x86, wrt bug #480786
221 +
222 + 13 Aug 2013; Agostino Sarubbo <ago@g.o> renpy-6.15.7.ebuild:
223 + Stable for amd64, wrt bug #480786
224 +
225 +*renpy-6.15.7 (27 Jun 2013)
226 +
227 + 27 Jun 2013; Julian Ospald <hasufell@g.o> -renpy-6.15.5.ebuild,
228 + -files/renpy-6.15.5-multiple-abi.patch, +renpy-6.15.7.ebuild,
229 + +files/renpy-6.15.7-multiple-abi.patch:
230 + version bump, remove old
231 +
232 +*renpy-6.15.5 (05 Jun 2013)
233 +
234 + 05 Jun 2013; Julian Ospald <hasufell@g.o> -renpy-6.15.3.ebuild,
235 + -files/renpy-6.15.3-multiple-abi.patch, +renpy-6.15.5.ebuild,
236 + +files/renpy-6.15.5-multiple-abi.patch:
237 + version bump, remove old
238 +
239 + 26 May 2013; Agostino Sarubbo <ago@g.o> renpy-6.14.1-r1.ebuild:
240 + Stable for x86, wrt bug #470726
241 +
242 + 23 May 2013; Agostino Sarubbo <ago@g.o> renpy-6.14.1-r1.ebuild:
243 + Stable for amd64, wrt bug #470726
244 +
245 + 20 May 2013; Agostino Sarubbo <ago@g.o> renpy-6.15.4.ebuild:
246 + Stable for x86, wrt bug #469952
247 +
248 + 17 May 2013; Agostino Sarubbo <ago@g.o> renpy-6.15.4.ebuild:
249 + Stable for amd64, wrt bug #469952
250 +
251 +*renpy-6.15.4 (19 Apr 2013)
252 +
253 + 19 Apr 2013; Julian Ospald <hasufell@g.o> +renpy-6.15.4.ebuild,
254 + +files/renpy-6.15.4-multiple-abi.patch:
255 + version bump
256 +
257 + 01 Apr 2013; Julian Ospald <hasufell@g.o> -renpy-6.15.2.ebuild,
258 + -files/renpy-6.15.2-multiple-abi.patch:
259 + remove old
260 +
261 +*renpy-6.15.3 (01 Apr 2013)
262 +
263 + 01 Apr 2013; Julian Ospald <hasufell@g.o> +renpy-6.15.3.ebuild,
264 + +files/renpy-6.15.3-multiple-abi.patch:
265 + version bump
266 +
267 +*renpy-6.15.2 (29 Mar 2013)
268 +
269 + 29 Mar 2013; Julian Ospald <hasufell@g.o> -renpy-6.15.0.ebuild,
270 + -files/renpy-6.15.0-multiple-abi.patch, +renpy-6.15.2.ebuild,
271 + +files/renpy-6.15.2-multiple-abi.patch:
272 + version bump
273 +
274 + 17 Mar 2013; Markos Chandras <hwoarang@g.o> metadata.xml:
275 + Add proxy-maintainers to metadata.xml
276 +
277 + 13 Mar 2013; Julian Ospald <hasufell@g.o> renpy-6.14.1-r1.ebuild,
278 + renpy-6.15.0.ebuild:
279 + fix eselect logic wrt #461518
280 +
281 +*renpy-6.15.0 (04 Mar 2013)
282 +
283 + 04 Mar 2013; Julian Ospald <hasufell@g.o> +renpy-6.15.0.ebuild,
284 + +files/renpy-6.15.0-multiple-abi.patch:
285 + version bump
286 +
287 + 27 Feb 2013; Julian Ospald <hasufell@g.o> metadata.xml:
288 + add proxy-maintainer
289 +
290 +*renpy-6.14.1-r1 (27 Feb 2013)
291 +
292 + 27 Feb 2013; Julian Ospald <hasufell@g.o> -renpy-6.14.1.ebuild,
293 + +renpy-6.14.1-r1.ebuild:
294 + update dependencies, update new eselect-module in pkg_postinst
295 +
296 +*renpy-6.14.1 (27 Feb 2013)
297 +
298 + 27 Feb 2013; Julian Ospald <hasufell@g.o> +renpy-6.14.1.ebuild,
299 + +files/renpy-6.14.1-av_close_input_stream.patch,
300 + +files/renpy-6.14.1-multiple-abi.patch,
301 + +files/renpy-6.14.1-remove-AVFormatParameters.patch, +metadata.xml:
302 + initial import wrt #301324
303
304 diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
305 new file mode 100644
306 index 0000000..a198b8e
307 --- /dev/null
308 +++ b/games-engines/renpy/Manifest
309 @@ -0,0 +1,6 @@
310 +AUX renpy-6.18.3-multiple-abi.patch 8880 SHA256 8b5c5131542685fca8e0df84daf651004cb50c78138f46da84715faab00b78f6 SHA512 5162aabbfd2ca6d9ddd56f2f78b7224833a729a9512785663f4782c9a4ff9993f70d56594bc416658353ce3bd02cac1105d9df540c0ac11ac1403ceb555d1b99 WHIRLPOOL 852fbb06cf8b268e9b1e0d87b8dc23ef03514830c9fb4b4f6725ae7f6405f4e1ff77eddfac3f54dc1df2c09dff1f091752d08dab34a1e512f873923bc39199c3
311 +AUX renpy.1 4642 SHA256 249fb33053da00de6a8156b33b8d29df2536238016e353f4e69d8eb5d8bf851b SHA512 2727a6ff9675a2b82a979faf5d75e7b3b96915f4c7382d22bba35d74674e613f45d4e8437e24edb410aac45cd8d219cc68e118387e538aafb32b0c312443b066 WHIRLPOOL 1319d4587c2cecb2563aeb198e9aa98bd31733899e275bce137e12e0e806c9bc396e9ac6f2180c993acb2174c4bfc221c79d568a4ba051f5e6558e3bfb042bb3
312 +DIST renpy-6.18.3-source.tar.bz2 23244450 SHA256 c0c6af79ceb529e69cebfdb0e9849e50dc27e424dc2fd2b322c13d6ec938cba6 SHA512 7ea99adaf1fbea7a499790fb5b37349fc797f383fb633956a43955c80885b259e26570469c430f4c4c103e62444f60082690489ee6400809f5e9024693261e55 WHIRLPOOL 6e4e68228bc38c709af4387f209717e4644efccae47fb04b7071783b0c01d6fbe4ca65d7c712a32e159cd59c663873457e54c3851e9e4a84d3d4e4ed05271102
313 +EBUILD renpy-6.18.3.ebuild 2671 SHA256 c4620715be017f2f61cab712c65819f44c9f5d775d1e86b2006ab2386084ffad SHA512 367fea0149d45b9407c63ba7aeab6f3712e53b1fd847da9b10771b29b334f4fd47397be3bf51e7b4191933be8294ab6ac7748dd0e6ce7ba2bab3141d76361f33 WHIRLPOOL bc8c1f7d866c9330f48d6563d9667aa842ba526265dbcc84c3207a6a950fede89fade60464faa1da88de50d1e6265c5adc9dbbb8394c56b584c62ae4ff6471fa
314 +MISC ChangeLog 9189 SHA256 acbb24bf21ff9bb29bc0f384d15d186cd60bb5fd0978642da75ebe178dcbbb14 SHA512 3ce6a44b3e5076ac4f320fbfcbd80705bb2911894978798220c2c3e135d714b2a16e52d3fa238ff6ba85ce0a85c2e9d14ccd4e25bd738212f7d778f9cbc1db7d WHIRLPOOL 0bc9a9b06b1b09100d02eeac293a522deb4dec1486a00d2c992b1ecbea7ffebf519d9e9743fa5f7b3a7beb5ce110e3bb01b2060645b1ad462fbf5ace08ed2877
315 +MISC metadata.xml 1320 SHA256 87e82c53eca026840f61ba025e6bc8fce59f30c42c12e0560acccf25b00229c8 SHA512 13c3728b2c8f65d8795163aa95bcfc3e7a7875e1a360c283f7ceeb29bda2ef7060323f31b34dd885820294e836fa255c1433d250b7828081b1b14074e2e1e786 WHIRLPOOL 0697e087d393802545ac1163aa96a387f90adf99975f57013f5f73553a61906f3ec87460584d4e66ea3c7864b0195222e190997618cd4babe20f0fd81327bfcb
316
317 diff --git a/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch b/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch
318 new file mode 100644
319 index 0000000..a569fa4
320 --- /dev/null
321 +++ b/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch
322 @@ -0,0 +1,271 @@
323 +Author: hasufell <hasufell@g.o>
324 +Date: Tue Jan 21 01:02:00 2014 +0100
325 +
326 + fix multiple abi support
327 +
328 +--- renpy.py
329 ++++ renpy.py
330 +@@ -29,92 +29,9 @@
331 + import sys
332 + import warnings
333 +
334 +-# Functions to be customized by distributors. ################################
335 +-
336 +-# Given the Ren'Py base directory (usually the directory containing
337 +-# this file), this is expected to return the path to the common directory.
338 +-def path_to_common(renpy_base):
339 +- return renpy_base + "/renpy/common"
340 +-
341 +-# Given a directory holding a Ren'Py game, this is expected to return
342 +-# the path to a directory that will hold save files.
343 +-def path_to_saves(gamedir):
344 +- import renpy #@UnresolvedImport
345 +-
346 +- # Makes sure the permissions are right on the save directory.
347 +- def test_writable(d):
348 +- try:
349 +- fn = os.path.join(d, "test.txt")
350 +- open(fn, "w").close()
351 +- open(fn, "r").close()
352 +- os.unlink(fn)
353 +- return True
354 +- except:
355 +- return False
356 +-
357 +-
358 +- # Android.
359 +- if renpy.android:
360 +- paths = [
361 +- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
362 +- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
363 +- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
364 +- ]
365 +-
366 +- for rv in paths:
367 +- if os.path.isdir(rv) and test_writable(rv):
368 +- break
369 +-
370 +- print "Using savedir", rv
371 +-
372 +- # We return the last path as the default.
373 +-
374 +- return rv
375 +-
376 +-
377 +- # No save directory given.
378 +- if not renpy.config.save_directory:
379 +- return gamedir + "/saves"
380 +-
381 +- # Search the path above Ren'Py for a directory named "Ren'Py Data".
382 +- # If it exists, then use that for our save directory.
383 +- path = renpy.config.renpy_base
384 +-
385 +- while True:
386 +- if os.path.isdir(path + "/Ren'Py Data"):
387 +- return path + "/Ren'Py Data/" + renpy.config.save_directory
388 +-
389 +- newpath = os.path.dirname(path)
390 +- if path == newpath:
391 +- break
392 +- path = newpath
393 +-
394 +- # Otherwise, put the saves in a platform-specific location.
395 +- if renpy.macintosh:
396 +- rv = "~/Library/RenPy/" + renpy.config.save_directory
397 +- return os.path.expanduser(rv)
398 +-
399 +- elif renpy.windows:
400 +- if 'APPDATA' in os.environ:
401 +- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
402 +- else:
403 +- rv = "~/RenPy/" + renpy.config.save_directory
404 +- return os.path.expanduser(rv)
405 +-
406 +- else:
407 +- rv = "~/.renpy/" + renpy.config.save_directory
408 +- return os.path.expanduser(rv)
409 +-
410 +-
411 +-# Returns the path to the Ren'Py base directory (containing common and
412 +-# the launcher, usually.)
413 +-def path_to_renpy_base():
414 +- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
415 +- renpy_base = os.path.abspath(renpy_base)
416 +-
417 +- return renpy_base
418 +-
419 +-##############################################################################
420 ++from distutils.sysconfig import get_python_lib
421 ++sys.path.append(get_python_lib() + "/renpy@SLOT@")
422 ++import renpy.common as common
423 +
424 + # The version of the Mac Launcher and py4renpy that we require.
425 + macos_version = (6, 14, 0)
426 +@@ -142,7 +59,7 @@
427 +
428 + def main():
429 +
430 +- renpy_base = path_to_renpy_base()
431 ++ renpy_base = common.path_to_renpy_base()
432 +
433 + # Add paths.
434 + if os.path.exists(renpy_base + "/module"):
435 +--- /dev/null
436 ++++ renpy/common.py
437 +@@ -0,0 +1,127 @@
438 ++# This file is part of Ren'Py. The license below applies to Ren'Py only.
439 ++# Games and other projects that use Ren'Py may use a different license.
440 ++
441 ++# Copyright 2004-2014 Tom Rothamel <pytom@××××××××.us>
442 ++#
443 ++# Permission is hereby granted, free of charge, to any person
444 ++# obtaining a copy of this software and associated documentation files
445 ++# (the "Software"), to deal in the Software without restriction,
446 ++# including without limitation the rights to use, copy, modify, merge,
447 ++# publish, distribute, sublicense, and/or sell copies of the Software,
448 ++# and to permit persons to whom the Software is furnished to do so,
449 ++# subject to the following conditions:
450 ++#
451 ++# The above copyright notice and this permission notice shall be
452 ++# included in all copies or substantial portions of the Software.
453 ++#
454 ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
455 ++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
456 ++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
457 ++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
458 ++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
459 ++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
460 ++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
461 ++
462 ++import os
463 ++import sys
464 ++import warnings
465 ++from distutils.sysconfig import get_python_lib
466 ++
467 ++# Functions to be customized by distributors. ################################
468 ++
469 ++# Given the Ren'Py base directory (usually the directory containing
470 ++# this file), this is expected to return the path to the common directory.
471 ++def path_to_common(renpy_base):
472 ++ return renpy_base + "/renpy/common"
473 ++
474 ++# Given a directory holding a Ren'Py game, this is expected to return
475 ++# the path to a directory that will hold save files.
476 ++def path_to_saves(gamedir):
477 ++ import renpy #@UnresolvedImport
478 ++
479 ++ # Makes sure the permissions are right on the save directory.
480 ++ def test_writable(d):
481 ++ try:
482 ++ fn = os.path.join(d, "test.txt")
483 ++ open(fn, "w").close()
484 ++ open(fn, "r").close()
485 ++ os.unlink(fn)
486 ++ return True
487 ++ except:
488 ++ return False
489 ++
490 ++
491 ++ # Makes sure the permissions are right on the save directory.
492 ++ def test_writable(d):
493 ++ try:
494 ++ fn = os.path.join(d, "test.txt")
495 ++ open(fn, "w").close()
496 ++ open(fn, "r").close()
497 ++ os.unlink(fn)
498 ++ return True
499 ++ except:
500 ++ return False
501 ++
502 ++
503 ++
504 ++ # Android.
505 ++ if renpy.android:
506 ++ paths = [
507 ++ os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
508 ++ os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
509 ++ os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
510 ++ ]
511 ++
512 ++ for rv in paths:
513 ++ if os.path.isdir(rv) and test_writable(rv):
514 ++ break
515 ++
516 ++ print "Using savedir", rv
517 ++
518 ++ # We return the last path as the default.
519 ++
520 ++ return rv
521 ++
522 ++
523 ++ # No save directory given.
524 ++ if not renpy.config.save_directory:
525 ++ return gamedir + "/saves"
526 ++
527 ++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
528 ++ # If it exists, then use that for our save directory.
529 ++ path = renpy.config.renpy_base
530 ++
531 ++ while True:
532 ++ if os.path.isdir(path + "/Ren'Py Data"):
533 ++ return path + "/Ren'Py Data/" + renpy.config.save_directory
534 ++
535 ++ newpath = os.path.dirname(path)
536 ++ if path == newpath:
537 ++ break
538 ++ path = newpath
539 ++
540 ++ # Otherwise, put the saves in a platform-specific location.
541 ++ if renpy.macintosh:
542 ++ rv = "~/Library/RenPy/" + renpy.config.save_directory
543 ++ return os.path.expanduser(rv)
544 ++
545 ++ elif renpy.windows:
546 ++ if 'APPDATA' in os.environ:
547 ++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
548 ++ else:
549 ++ rv = "~/RenPy/" + renpy.config.save_directory
550 ++ return os.path.expanduser(rv)
551 ++
552 ++ else:
553 ++ rv = "~/.renpy/" + renpy.config.save_directory
554 ++ return os.path.expanduser(rv)
555 ++
556 ++
557 ++# Returns the path to the Ren'Py base directory (containing common and
558 ++# the launcher, usually.)
559 ++def path_to_renpy_base():
560 ++ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
561 ++ renpy_base = get_python_lib() + "/renpy@SLOT@"
562 ++ renpy_base = os.path.abspath(renpy_base)
563 ++
564 ++ return renpy_base
565 +--- renpy/main.py
566 ++++ renpy/main.py
567 +@@ -25,7 +25,7 @@ import os
568 + import sys
569 + import time
570 + import zipfile
571 +-import __main__
572 ++import renpy.common as common
573 +
574 +
575 + def run(restart):
576 +@@ -167,7 +167,7 @@ def main():
577 + renpy.config.searchpath = [ renpy.config.gamedir ]
578 +
579 + # Find the common directory.
580 +- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
581 ++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
582 +
583 + if os.path.isdir(commondir):
584 + renpy.config.searchpath.append(commondir)
585 +@@ -230,7 +230,7 @@ def main():
586 +
587 + # Find the save directory.
588 + if renpy.config.savedir is None:
589 +- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
590 ++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
591 +
592 + if renpy.game.args.savedir: #@UndefinedVariable
593 + renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
594
595 diff --git a/games-engines/renpy/files/renpy.1 b/games-engines/renpy/files/renpy.1
596 new file mode 100644
597 index 0000000..e8b7a2b
598 --- /dev/null
599 +++ b/games-engines/renpy/files/renpy.1
600 @@ -0,0 +1,163 @@
601 +.\" Copyright © 2015 Andrew Savchenko
602 +.\" Distributed under the terms of GNU FDL-1.3+ license,
603 +.\" based on original Ren'Py documentation licensed under MIT.
604 +.TH renpy 1 "31 May 2015" "Ren'Py" "Ren'Py Gentoo's manual"
605 +.SH NAME
606 +renpy \- a visual novel engine
607 +
608 +.SH SYNOPSIS
609 +.BI renpy " game_directory"
610 +.\" ****************************************************************
611 +.SH DESCRIPTION
612 +
613 +.B renpy
614 +(Ren'Py) is a visual novel engine \- used by hundreds of creators
615 +from around the world \- that helps you use words, images, and
616 +sounds to tell interactive stories that run on computers and mobile
617 +devices. These can be both visual novels and life simulation games.
618 +The easy to learn script language allows anyone to efficiently
619 +write large visual novels, while its
620 +.BR python (1)
621 +scripting is enough for complex simulation games.
622 +.\" ****************************************************************
623 +.SH RUNNING A GAME
624 +
625 +In order to run a game, provide
626 +.I game_directory
627 +as an argument to
628 +.BR renpy .
629 +Exact directory name may vary depending or a game, but usually
630 +this path corresponds to
631 +.I */game
632 +wildcard and contains
633 +.I script_version.rpy*
634 +file within. Game directory usually contains other
635 +.IR *.rpy* " and " *.rpa " files."
636 +
637 +One may use
638 +.BR find (1)
639 +tool to locate required directory within unpacked game top
640 +directory:
641 +.RS
642 +
643 +find -O3
644 +.I top_directory
645 +-type f -iname "script_version.rpy*"
646 +
647 +.RE
648 +A directory one level above may be provided as an argument as well.
649 +.\" ****************************************************************
650 +.SH PORTABILITY
651 +
652 +All
653 +.B renpy
654 +games are written in
655 +.BR python (1),
656 +so one can run then on any platform and architecture.
657 +
658 +As you may have noticed, Ren'Py games are often distributed in
659 +different archives for different architectures. This happens due to
660 +bundling of
661 +.BR python (1)
662 +interpreter and required libraries in a game's tarball. Since you
663 +are using OS native
664 +.B renpy
665 +setup, you should be able to run any of these games.
666 +.\" ****************************************************************
667 +.SH GAMES CATALOGUE
668 +
669 +A large catalogue of Ren'Py powered games is available at
670 +.IR http://games.renpy.org/ .
671 +.\" ****************************************************************
672 +.SH TROUBLESHOOTING
673 +
674 +In some cases game may fail to run with current
675 +.B renpy
676 +version due to various errors.
677 +
678 +In such case please try to use the closest
679 +.B renpy
680 +version to one used by game developer. Most games contain
681 +.IR script_version.rpy " file in the " game " directory."
682 +This file actually contains
683 +.B renpy
684 +version used during a game build.
685 +You may install multiple slots of
686 +.B renpy
687 +in Gentoo and use
688 +.BI eselect " renpy"
689 +module to switch between various versions.
690 +
691 +If
692 +.I game
693 +directory contains both
694 +.IR *.rpyc " (or " *.rpyo ") and " *.rpy " files, delete"
695 +.IR *.rpyc " (or " *.rpyo ") files, they will be regenerated by"
696 +the interpreter.
697 +Another solution will be to switch between version of
698 +.BR python (1)
699 +using
700 +.IR eselect (1)
701 +tool in order to find one suitable to interpret game's
702 +.IR *.rpyc " files."
703 +
704 +Some games may lack general media files, e.g.
705 +.I click.ogg
706 +sound, so you should create or download one and place in the
707 +.I game
708 +directory.
709 +
710 +Also please pay attention to
711 +.I problems.html
712 +page from
713 +.B renpy
714 +html documentation, see
715 +.B FURTHER READING
716 +section.
717 +.\" ****************************************************************
718 +.SH ENVIRONMENT VARIABLES
719 +
720 +.B renpy
721 +supports a number of environment variables to control its
722 +behaviour. Please refer to html docs for further details
723 +(see
724 +.B FURTHER READING
725 +section).
726 +.\" ****************************************************************
727 +.SH FURTHER READING
728 +
729 +.B renpy
730 +comes with extensive html documentation. To use it install
731 +.B renpy
732 +with
733 +.I USE="doc"
734 +and go to
735 +.I /usr/share/doc/renpy-*/html/doc/index.html
736 +
737 +Alternatively one may refer to online documentation:
738 +.IR http://www.renpy.org/doc/html/ .
739 +Be warned that online docs maybe different from your current active
740 +version, so it recommended to use shipped documentation instead.
741 +.\" ****************************************************************
742 +.SH BUGS
743 +
744 +Any bugs related to Gentoo packaging (e.g. omitted dependencies)
745 +please report on bugzilla:
746 +.IR https://bugs.gentoo.org .
747 +
748 +For bugs in the Ren'Py engine itself, please contact upstream:
749 +.I https://github.com/renpy/renpy/issues
750 +and add a Gentoo bug if you feel it necessary.
751 +
752 +For issues with games themselves please contact corresponding
753 +authors.
754 +.\" ****************************************************************
755 +.SH SEE ALSO
756 +
757 +.BR python (1)
758 +\- an interpreter used by Ren'Py engine.
759 +
760 +.BR unrpa (1)
761 +\- a tool to unpack
762 +.I *.rpa
763 +data files (Ren'Py Archives).
764
765 diff --git a/games-engines/renpy/metadata.xml b/games-engines/renpy/metadata.xml
766 new file mode 100644
767 index 0000000..81a8e71
768 --- /dev/null
769 +++ b/games-engines/renpy/metadata.xml
770 @@ -0,0 +1,39 @@
771 +<?xml version="1.0" encoding="UTF-8"?>
772 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
773 +<pkgmetadata>
774 + <herd>games</herd>
775 + <herd>proxy-maintainers</herd>
776 + <maintainer>
777 + <email>hasufell@g.o</email>
778 + <name>Julian Ospald</name>
779 + <description>Maintainer. Assign bugs to him</description>
780 + </maintainer>
781 + <maintainer>
782 + <email>maksverver@×××××××××.com</email>
783 + <name>Maks Verver</name>
784 + <description>Proxy maintainer. CC him on bugs</description>
785 + </maintainer>
786 + <longdescription>
787 + Ren'Py is a free and cross-platform visual novel engine that
788 + helps you use words,
789 + pictures, and sounds to tell stories with the computer.
790 + It`s easy and efficient script language makes it possible for
791 + non-programmers to make visual novels,
792 + while its Python support allows for complex simulation games.
793 + </longdescription>
794 + <use>
795 + <flag name='development'>Install IDE for game developers and
796 + an empty game template</flag>
797 + </use>
798 + <upstream>
799 + <maintainer status='active'>
800 + <email>pytom@××××××××.us</email>
801 + <name>Tom Rothamel</name>
802 + </maintainer>
803 + <changelog>http://www.renpy.org/latest.html</changelog>
804 + <bugs-to>https://github.com/renpy/renpy/issues</bugs-to>
805 + <doc>http://renpy.org/wiki/renpy/doc</doc>
806 + <remote-id type='github'>renpy/renpy</remote-id>
807 + </upstream>
808 +</pkgmetadata>
809 +
810
811 diff --git a/games-engines/renpy/renpy-6.18.3.ebuild b/games-engines/renpy/renpy-6.18.3.ebuild
812 new file mode 100644
813 index 0000000..83cbf29
814 --- /dev/null
815 +++ b/games-engines/renpy/renpy-6.18.3.ebuild
816 @@ -0,0 +1,112 @@
817 +# Copyright 1999-2015 Gentoo Foundation
818 +# Distributed under the terms of the GNU General Public License v2
819 +# $Header: /var/cvsroot/gentoo-x86/games-engines/renpy/renpy-6.18.3.ebuild,v 1.2 2015/03/31 19:25:35 ulm Exp $
820 +
821 +EAPI=5
822 +PYTHON_COMPAT=( python2_7 )
823 +DISTUTILS_IN_SOURCE_BUILD=1
824 +inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
825 +
826 +DESCRIPTION="Visual novel engine written in python"
827 +HOMEPAGE="http://www.renpy.org"
828 +SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
829 +
830 +LICENSE="MIT"
831 +SLOT="$(get_version_component_range 1-2)"
832 +MYSLOT=$(delete_all_version_separators ${SLOT})
833 +KEYWORDS="~amd64 ~x86"
834 +IUSE="development doc examples"
835 +REQUIRED_USE="examples? ( development )"
836 +
837 +RDEPEND="
838 + >=app-eselect/eselect-renpy-0.5
839 + dev-libs/fribidi
840 + dev-python/pygame[X,${PYTHON_USEDEP}]
841 + >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
842 + media-libs/glew
843 + media-libs/libpng:0
844 + media-libs/libsdl[X,video]
845 + media-libs/freetype:2
846 + sys-libs/zlib
847 + virtual/ffmpeg"
848 +DEPEND="${RDEPEND}
849 + dev-python/cython[${PYTHON_USEDEP}]
850 + virtual/pkgconfig"
851 +
852 +S=${WORKDIR}/${P}-source
853 +
854 +pkg_setup() {
855 + games_pkg_setup
856 + export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
857 +}
858 +
859 +python_prepare_all() {
860 + # wooosh! this should fix multiple abi
861 + epatch "${FILESDIR}"/${P}-multiple-abi.patch
862 +
863 + einfo "Deleting precompiled python files"
864 + find . -name '*.py[co]' -print -delete || die
865 +
866 + sed -i \
867 + -e "s/@SLOT@/${MYSLOT}/" \
868 + renpy.py renpy/common.py || die "setting slot failed!"
869 +
870 + distutils-r1_python_prepare_all
871 +}
872 +
873 +python_compile() {
874 + cd "${S}"/module || die
875 + distutils-r1_python_compile
876 +}
877 +
878 +python_install() {
879 + cd "${S}"/module || die
880 + distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
881 +
882 + cd "${S}" || die
883 + python_scriptinto "${GAMES_BINDIR}"
884 + python_newscript renpy.py ${PN}-${SLOT}
885 +
886 + python_moduleinto renpy${MYSLOT}
887 + python_domodule renpy
888 + if use development ; then
889 + python_domodule launcher templates
890 + fi
891 + if use examples ; then
892 + python_domodule the_question tutorial
893 + fi
894 +}
895 +
896 +python_install_all() {
897 + if use development; then
898 + newicon -s 32 launcher/game/images/logo32.png ${P}.png
899 + make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
900 + fi
901 +
902 + if use doc; then
903 + dohtml -r doc
904 + fi
905 + newman "${FILESDIR}/${PN}.1" "${P}.1"
906 +
907 + prepgamesdirs
908 +}
909 +
910 +pkg_preinst() {
911 + games_pkg_preinst
912 + use development && gnome2_icon_savelist
913 +}
914 +
915 +pkg_postinst() {
916 + games_pkg_postinst
917 + use development && gnome2_icon_cache_update
918 +
919 + einfo "running: eselect renpy update --if-unset"
920 + eselect renpy update --if-unset
921 +}
922 +
923 +pkg_postrm() {
924 + use development && gnome2_icon_cache_update
925 +
926 + einfo "running: eselect renpy update --if-unset"
927 + eselect renpy update --if-unset
928 +}
929
930 diff --git a/profiles/categories b/profiles/categories
931 index 88194a1..9419142 100644
932 --- a/profiles/categories
933 +++ b/profiles/categories
934 @@ -6,6 +6,7 @@ app-vim
935 dev-libs
936 dev-python
937 dev-util
938 +games-engines
939 games-strategy
940 media-gfx
941 media-libs