public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
@ 2015-08-14 22:27 Julian Ospald
  0 siblings, 0 replies; 5+ messages in thread
From: Julian Ospald @ 2015-08-14 22:27 UTC (permalink / raw
  To: gentoo-commits

commit:     a8a6e1f4b7ea0ba2eb265c0cccf9e049792146cf
Author:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 14 22:27:16 2015 +0000
Commit:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
CommitDate: Fri Aug 14 22:27:31 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8a6e1f4

games-engines/renpy: rm old 6.14 and 6.18.2

 games-engines/renpy/Manifest                       |   2 -
 .../files/renpy-6.14.1-av_close_input_stream.patch |  11 -
 .../renpy/files/renpy-6.14.1-freetype.patch        |  17 --
 .../renpy/files/renpy-6.14.1-multiple-abi.patch    | 230 -----------------
 .../renpy-6.14.1-remove-AVFormatParameters.patch   |  19 --
 .../renpy/files/renpy-6.18.2-multiple-abi.patch    | 271 ---------------------
 games-engines/renpy/renpy-6.14.1-r1.ebuild         | 112 ---------
 games-engines/renpy/renpy-6.18.2.ebuild            | 111 ---------
 8 files changed, 773 deletions(-)

diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
index 45adc4a..8587e1a 100644
--- a/games-engines/renpy/Manifest
+++ b/games-engines/renpy/Manifest
@@ -1,7 +1,5 @@
-DIST renpy-6.14.1-source.tar.bz2 9806538 SHA256 18be3630d1956131a1f010732d15292cdcec14a2391210af27dc342fafd8197f SHA512 a1f13a5f860e66054012eab29bbd37715bd9721e2dc30fdd9c8d4d8c58dc672c35b3c813e962ad6878cb741502af5a181dff8a05f359892b6b60d2e15bc5a7bc WHIRLPOOL 54018731e136106f328bf2d028841f09424d8ffd8303821eec995c55918b2c8ac7eb97d9ed24785e95ad3d878b794f5bcf96cc9f783955f8d1ace086a3ca9b61
 DIST renpy-6.15.7-source.tar.bz2 10421736 SHA256 b4280b62f7c8f730a37c7e567b16216b4578fc3640fbcdf5df7c65a73ae52e52 SHA512 d79b1d6b931f281ff208b8ece3889c116ceb05c58fe115e9f7f470788e74e63cfeb3df4f804b4a37a4f1da6ba194c883023808fafc8e8beddf864424958204e6 WHIRLPOOL 202ddb045f440f9abd06f5ac02ebd92a7b0300b14f4755271f1fc4e91bdea21cda19a432f45516f68ba3ad7ead98d7491382ad5c633da277a674f799458795f3
 DIST renpy-6.16.5-source.tar.bz2 14455622 SHA256 5ecb00fa84a048ff6e1f1d8a0114373425375e9c0b2a0596bf2d47e996b9d056 SHA512 1a718d86a689135e5a280f64cdc3c0340d712b7804af2169ed4cb4a12528e01088c919b87d36176b3fb8a05e8201f226146c46c4f4d5ebf1d89c3cebd1263c4d WHIRLPOOL b06638c284089ba79d12d95ba604c40fffe595d67e75551bbe8a08ddc57403f1644dd713c5eb15a39fcc34b92722589437935666d172379bb1164d2a02ef9433
 DIST renpy-6.17.7-source.tar.bz2 17932988 SHA256 fef01de9e482b73d9d409de7a43bada6dd3e2a0549b99dd487306371190ed038 SHA512 22b0e08b18ee35317b11451205233cbd8a29617d9c3d298bbdcfc5757f67c2f0e4c8a748aa83d5c8b43786c062ffca109d07e981efa750fcee26f45f08a33ea2 WHIRLPOOL fef82eb6c958a2525797e5d8bfae3488fba606b70eeed5c94f7afcab4fa46e7a7eb43d91b4bd55f553b65a72b12236e02ecdee55e8852c1fafc055332f9d131d
-DIST renpy-6.18.2-source.tar.bz2 19854257 SHA256 635c7495d5ced298183793cafbe8631981a5a75aec106b4ba145d3dd870a544c SHA512 239de63f7e015076aeb05d4f7da7caa676e151b0f3cbd710b0fe59a592f7af02cd8994ddb0d6225ccec337579eb2de1a5b83759a28572ead631fe3b5df515e8b WHIRLPOOL 85ac745891bf2ab729cb8ad44cab0cdd03399956455a4fbf73d638b87cf49d44c7395658e3882509dc0652492da931f7932297eb39974d7c890e772cfe1f13ff
 DIST renpy-6.18.3-source.tar.bz2 23244450 SHA256 c0c6af79ceb529e69cebfdb0e9849e50dc27e424dc2fd2b322c13d6ec938cba6 SHA512 7ea99adaf1fbea7a499790fb5b37349fc797f383fb633956a43955c80885b259e26570469c430f4c4c103e62444f60082690489ee6400809f5e9024693261e55 WHIRLPOOL 6e4e68228bc38c709af4387f209717e4644efccae47fb04b7071783b0c01d6fbe4ca65d7c712a32e159cd59c663873457e54c3851e9e4a84d3d4e4ed05271102
 DIST renpy-6.99.5-source.tar.bz2 27285400 SHA256 cec38c548a812331fe42b60882ba271ea10fb369f0ba67bad1facd8d556ae74d SHA512 0e9d3dca70924e587711effa34d5af45fcd1c1bc6ce0b38723b39e07593a85dc55645ad4cb002f43fe33f387ee58c92626004f655d0f2955c55d8d01b5453326 WHIRLPOOL f3db4a08b1216b69b2724668cb22ea3c720826a6bf82042d0783fb8048d07074fd473157132e27010570c485fc90d09cb0115accbb429aad48f62417245852a8

diff --git a/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch b/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch
deleted file mode 100644
index c2415a2..0000000
--- a/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- module/ffdecode.c
-+++ module/ffdecode.c
-@@ -1356,7 +1356,7 @@
-     if (is->video_stream >= 0)
-         stream_component_close(is, is->video_stream);
-     if (is->ic) {
--        av_close_input_stream(is->ic);
-+        av_close_input_file(is->ic);
-         is->ic = NULL;
-     }
-         

diff --git a/games-engines/renpy/files/renpy-6.14.1-freetype.patch b/games-engines/renpy/files/renpy-6.14.1-freetype.patch
deleted file mode 100644
index a818912..0000000
--- a/games-engines/renpy/files/renpy-6.14.1-freetype.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From: Julian Ospald <hasufell@gentoo.org>
-Date: Mon Apr 28 22:31:52 UTC 2014
-Subject: fix build
-
---- renpy-6.14.1-source/module/setup.py
-+++ renpy-6.14.1-source/module/setup.py
-@@ -24,8 +24,8 @@
- include("zlib.h")
- include("png.h")
- include("SDL.h", directory="SDL")
--include("ft2build.h")
--include("freetype/freetype.h", directory="freetype2")
-+include("ft2build.h") or include("ft2build.h", directory="freetype2")
-+include("freetype/freetype.h", directory="freetype2") or include("freetype.h", directory="freetype2")
- include("libavutil/avstring.h")
- include("libavformat/avformat.h")
- include("libavcodec/avcodec.h")

diff --git a/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch b/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch
deleted file mode 100644
index e200746..0000000
--- a/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-From: Julian Ospald <hasufell@gentoo.org>
-Date: Mon Feb 25 21:35:31 UTC 2013
-Subject: fix multiple abi support
-
---- /dev/null
-+++ renpy-6.14.1-source/renpy/common.py
-@@ -0,0 +1,83 @@
-+# Copyright 2004-2012 Tom Rothamel <pytom@bishoujo.us>
-+#
-+# Permission is hereby granted, free of charge, to any person
-+# obtaining a copy of this software and associated documentation files
-+# (the "Software"), to deal in the Software without restriction,
-+# including without limitation the rights to use, copy, modify, merge,
-+# publish, distribute, sublicense, and/or sell copies of the Software,
-+# and to permit persons to whom the Software is furnished to do so,
-+# subject to the following conditions:
-+#
-+# The above copyright notice and this permission notice shall be
-+# included in all copies or substantial portions of the Software.
-+#
-+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+
-+import os
-+import sys
-+import warnings
-+from distutils.sysconfig import get_python_lib
-+
-+# Functions to be customized by distributors. ################################
-+
-+# Given the Ren'Py base directory (usually the directory containing
-+# this file), this is expected to return the path to the common directory.
-+def path_to_common(renpy_base):
-+    return renpy_base + "/common"
-+
-+# Given a directory holding a Ren'Py game, this is expected to return
-+# the path to a directory that will hold save files.
-+def path_to_saves(gamedir):
-+    import renpy #@UnresolvedImport
-+    
-+    if not renpy.config.save_directory:
-+        return gamedir + "/saves"
-+
-+    # Search the path above Ren'Py for a directory named "Ren'Py Data".
-+    # If it exists, then use that for our save directory.
-+    path = renpy.config.renpy_base
-+
-+    while True:
-+        if os.path.isdir(path + "/Ren'Py Data"):
-+            return path + "/Ren'Py Data/" + renpy.config.save_directory
-+
-+        newpath = os.path.dirname(path)
-+        if path == newpath:
-+            break
-+        path = newpath
-+
-+    # Otherwise, put the saves in a platform-specific location.
-+    if renpy.android:
-+        return gamedir + "/saves"
-+
-+    elif renpy.macintosh:
-+        rv = "~/Library/RenPy/" + renpy.config.save_directory
-+        return os.path.expanduser(rv)
-+
-+    elif renpy.windows:
-+        if 'APPDATA' in os.environ:
-+            return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
-+        else:
-+            rv = "~/RenPy/" + renpy.config.save_directory
-+            return os.path.expanduser(rv)
-+
-+    else:
-+        rv = "~/.renpy/" + renpy.config.save_directory
-+        return os.path.expanduser(rv)
-+
-+        
-+# Returns the path to the Ren'Py base directory (containing common and
-+# the launcher, usually.)
-+def path_to_renpy_base():
-+    renpy_base = os.path.dirname(sys.argv[0])
-+    renpy_base = get_python_lib() + "/renpy@SLOT@"
-+    renpy_base = os.environ.get('RENPY_BASE', renpy_base)
-+    renpy_base = os.path.abspath(renpy_base)
-+
-+    return renpy_base
---- renpy-6.14.1-source/renpy.py
-+++ renpy-6.14.1-source/renpy.py
-@@ -24,65 +24,9 @@
- import os
- import sys
- import warnings
--
--# Functions to be customized by distributors. ################################
--
--# Given the Ren'Py base directory (usually the directory containing
--# this file), this is expected to return the path to the common directory.
--def path_to_common(renpy_base):
--    return renpy_base + "/common"
--
--# Given a directory holding a Ren'Py game, this is expected to return
--# the path to a directory that will hold save files.
--def path_to_saves(gamedir):
--    import renpy #@UnresolvedImport
--    
--    if not renpy.config.save_directory:
--        return gamedir + "/saves"
--
--    # Search the path above Ren'Py for a directory named "Ren'Py Data".
--    # If it exists, then use that for our save directory.
--    path = renpy.config.renpy_base
--
--    while True:
--        if os.path.isdir(path + "/Ren'Py Data"):
--            return path + "/Ren'Py Data/" + renpy.config.save_directory
--
--        newpath = os.path.dirname(path)
--        if path == newpath:
--            break
--        path = newpath
--
--    # Otherwise, put the saves in a platform-specific location.
--    if renpy.android:
--        return gamedir + "/saves"
--
--    elif renpy.macintosh:
--        rv = "~/Library/RenPy/" + renpy.config.save_directory
--        return os.path.expanduser(rv)
--
--    elif renpy.windows:
--        if 'APPDATA' in os.environ:
--            return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
--        else:
--            rv = "~/RenPy/" + renpy.config.save_directory
--            return os.path.expanduser(rv)
--
--    else:
--        rv = "~/.renpy/" + renpy.config.save_directory
--        return os.path.expanduser(rv)
--
--        
--# Returns the path to the Ren'Py base directory (containing common and
--# the launcher, usually.)
--def path_to_renpy_base():
--    renpy_base = os.path.dirname(sys.argv[0])
--    renpy_base = os.environ.get('RENPY_BASE', renpy_base)
--    renpy_base = os.path.abspath(renpy_base)
--
--    return renpy_base
--
--##############################################################################
-+from distutils.sysconfig import get_python_lib
-+sys.path.append(get_python_lib() + "/renpy@SLOT@")
-+import renpy.common as common
- 
- # The version of the Mac Launcher and py4renpy that we require.
- macos_version = (6, 14, 0)
-@@ -97,21 +41,9 @@
-     print "Ren'Py requires at least python 2.6."
-     sys.exit(0)
- 
--android = ("ANDROID_PRIVATE" in os.environ)
--
--# Android requires us to add code to the main module, and to command some
--# renderers.
--if android:
--    __main__ = sys.modules["__main__"]
--    __main__.path_to_renpy_base = path_to_renpy_base
--    __main__.path_to_common = path_to_common
--    __main__.path_to_saves = path_to_saves
--    os.environ["RENPY_RENDERER"] = "gl"
--    os.environ["RENPY_GL_ENVIRON"] = "limited"
--    
- def main():
-     
--    renpy_base = path_to_renpy_base()
-+    renpy_base = common.path_to_renpy_base()
- 
-     # Add paths.
-     if os.path.exists(renpy_base + "/module"):
-@@ -133,14 +65,9 @@
-         print >>sys.stderr, "Could not import renpy.bootstrap. Please ensure you decompressed Ren'Py"
-         print >>sys.stderr, "correctly, preserving the directory structure."
-         raise
--
--    if android:
--        renpy.linux = False
--        renpy.android = True
-     
-     renpy.bootstrap.bootstrap(renpy_base)
- 
--if __name__ == "__main__":
--    main()
- 
--    
-+if __name__ == "__main__":
-+    main()
---- renpy-6.14.1-source/renpy/main.py
-+++ renpy-6.14.1-source/renpy/main.py
-@@ -27,7 +27,7 @@
- import zipfile
- import subprocess
- from cPickle import loads, dumps
--import __main__
-+import renpy.common as common
- 
- 
- def save_persistent():
-@@ -172,7 +172,7 @@
-     renpy.config.searchpath = [ renpy.config.gamedir ]
- 
-     # Find the common directory.
--    commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
-+    commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
- 
-     if os.path.isdir(commondir):
-         renpy.config.searchpath.append(commondir)
-@@ -227,7 +227,7 @@
- 
-     # Find the save directory.
-     if renpy.config.savedir is None:
--        renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
-+        renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
- 
-     if renpy.game.args.savedir: #@UndefinedVariable
-         renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable

diff --git a/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch b/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch
deleted file mode 100644
index e66106c..0000000
--- a/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch
+++ /dev/null
@@ -1,19 +0,0 @@
----  module/ffdecode.c
-+++  module/ffdecode.c
-@@ -1152,7 +1152,6 @@
-     AVFormatContext *ic;
-     int err, i, ret, video_index, audio_index;
-     AVPacket pkt1, *pkt = &pkt1;
--    AVFormatParameters params, *ap = &params;
-     int codecs_locked = 0;
-     
-     // url_set_interrupt_cb(decode_interrupt_cb);
-@@ -1162,8 +1161,6 @@
-     is->video_stream = -1;
-     is->audio_stream = -1;
- 
--    memset(ap, 0, sizeof(*ap));
--
-     is->io_context = rwops_open(is->rwops);
- 
-     codecs_locked = 1;

diff --git a/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch b/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch
deleted file mode 100644
index a569fa4..0000000
--- a/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-Author: hasufell <hasufell@gentoo.org>
-Date:   Tue Jan 21 01:02:00 2014 +0100
-
-    fix multiple abi support
-
---- renpy.py
-+++ renpy.py
-@@ -29,92 +29,9 @@
- import sys
- import warnings
- 
--# Functions to be customized by distributors. ################################
--
--# Given the Ren'Py base directory (usually the directory containing
--# this file), this is expected to return the path to the common directory.
--def path_to_common(renpy_base):
--    return renpy_base + "/renpy/common"
--
--# Given a directory holding a Ren'Py game, this is expected to return
--# the path to a directory that will hold save files.
--def path_to_saves(gamedir):
--    import renpy #@UnresolvedImport
--
--    # Makes sure the permissions are right on the save directory.
--    def test_writable(d):
--        try:
--            fn = os.path.join(d, "test.txt")
--            open(fn, "w").close()
--            open(fn, "r").close()
--            os.unlink(fn)
--            return True
--        except:
--            return False
--
--
--    # Android.
--    if renpy.android:
--        paths = [
--            os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
--            os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
--            os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
--            ]
--
--        for rv in paths:
--            if os.path.isdir(rv) and test_writable(rv):
--                break
--
--        print "Using savedir", rv
--
--        # We return the last path as the default.
--
--        return rv
--
--
--    # No save directory given.
--    if not renpy.config.save_directory:
--        return gamedir + "/saves"
--
--    # Search the path above Ren'Py for a directory named "Ren'Py Data".
--    # If it exists, then use that for our save directory.
--    path = renpy.config.renpy_base
--
--    while True:
--        if os.path.isdir(path + "/Ren'Py Data"):
--            return path + "/Ren'Py Data/" + renpy.config.save_directory
--
--        newpath = os.path.dirname(path)
--        if path == newpath:
--            break
--        path = newpath
--
--    # Otherwise, put the saves in a platform-specific location.
--    if renpy.macintosh:
--        rv = "~/Library/RenPy/" + renpy.config.save_directory
--        return os.path.expanduser(rv)
--
--    elif renpy.windows:
--        if 'APPDATA' in os.environ:
--            return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
--        else:
--            rv = "~/RenPy/" + renpy.config.save_directory
--            return os.path.expanduser(rv)
--
--    else:
--        rv = "~/.renpy/" + renpy.config.save_directory
--        return os.path.expanduser(rv)
--
--
--# Returns the path to the Ren'Py base directory (containing common and
--# the launcher, usually.)
--def path_to_renpy_base():
--    renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
--    renpy_base = os.path.abspath(renpy_base)
--
--    return renpy_base
--
--##############################################################################
-+from distutils.sysconfig import get_python_lib
-+sys.path.append(get_python_lib() + "/renpy@SLOT@")
-+import renpy.common as common
- 
- # The version of the Mac Launcher and py4renpy that we require.
- macos_version = (6, 14, 0)
-@@ -142,7 +59,7 @@
- 
- def main():
- 
--    renpy_base = path_to_renpy_base()
-+    renpy_base = common.path_to_renpy_base()
- 
-     # Add paths.
-     if os.path.exists(renpy_base + "/module"):
---- /dev/null
-+++ renpy/common.py
-@@ -0,0 +1,127 @@
-+# This file is part of Ren'Py. The license below applies to Ren'Py only.
-+# Games and other projects that use Ren'Py may use a different license.
-+
-+# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
-+#
-+# Permission is hereby granted, free of charge, to any person
-+# obtaining a copy of this software and associated documentation files
-+# (the "Software"), to deal in the Software without restriction,
-+# including without limitation the rights to use, copy, modify, merge,
-+# publish, distribute, sublicense, and/or sell copies of the Software,
-+# and to permit persons to whom the Software is furnished to do so,
-+# subject to the following conditions:
-+#
-+# The above copyright notice and this permission notice shall be
-+# included in all copies or substantial portions of the Software.
-+#
-+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+
-+import os
-+import sys
-+import warnings
-+from distutils.sysconfig import get_python_lib
-+
-+# Functions to be customized by distributors. ################################
-+
-+# Given the Ren'Py base directory (usually the directory containing
-+# this file), this is expected to return the path to the common directory.
-+def path_to_common(renpy_base):
-+    return renpy_base + "/renpy/common"
-+
-+# Given a directory holding a Ren'Py game, this is expected to return
-+# the path to a directory that will hold save files.
-+def path_to_saves(gamedir):
-+    import renpy #@UnresolvedImport
-+
-+    # Makes sure the permissions are right on the save directory.
-+    def test_writable(d):
-+        try:
-+            fn = os.path.join(d, "test.txt")
-+            open(fn, "w").close()
-+            open(fn, "r").close()
-+            os.unlink(fn)
-+            return True
-+        except:
-+            return False
-+
-+
-+    # Makes sure the permissions are right on the save directory.
-+    def test_writable(d):
-+        try:
-+            fn = os.path.join(d, "test.txt")
-+            open(fn, "w").close()
-+            open(fn, "r").close()
-+            os.unlink(fn)
-+            return True
-+        except:
-+            return False
-+
-+
-+
-+    # Android.
-+    if renpy.android:
-+        paths = [
-+            os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
-+            os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
-+            os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
-+            ]
-+
-+        for rv in paths:
-+            if os.path.isdir(rv) and test_writable(rv):
-+                break
-+
-+        print "Using savedir", rv
-+
-+        # We return the last path as the default.
-+
-+        return rv
-+
-+
-+    # No save directory given.
-+    if not renpy.config.save_directory:
-+        return gamedir + "/saves"
-+
-+    # Search the path above Ren'Py for a directory named "Ren'Py Data".
-+    # If it exists, then use that for our save directory.
-+    path = renpy.config.renpy_base
-+
-+    while True:
-+        if os.path.isdir(path + "/Ren'Py Data"):
-+            return path + "/Ren'Py Data/" + renpy.config.save_directory
-+
-+        newpath = os.path.dirname(path)
-+        if path == newpath:
-+            break
-+        path = newpath
-+
-+    # Otherwise, put the saves in a platform-specific location.
-+    if renpy.macintosh:
-+        rv = "~/Library/RenPy/" + renpy.config.save_directory
-+        return os.path.expanduser(rv)
-+
-+    elif renpy.windows:
-+        if 'APPDATA' in os.environ:
-+            return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
-+        else:
-+            rv = "~/RenPy/" + renpy.config.save_directory
-+            return os.path.expanduser(rv)
-+
-+    else:
-+        rv = "~/.renpy/" + renpy.config.save_directory
-+        return os.path.expanduser(rv)
-+
-+
-+# Returns the path to the Ren'Py base directory (containing common and
-+# the launcher, usually.)
-+def path_to_renpy_base():
-+    renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
-+    renpy_base = get_python_lib() + "/renpy@SLOT@"
-+    renpy_base = os.path.abspath(renpy_base)
-+
-+    return renpy_base
---- renpy/main.py
-+++ renpy/main.py
-@@ -25,7 +25,7 @@ import os
- import sys
- import time
- import zipfile
--import __main__
-+import renpy.common as common
- 
- 
- def run(restart):
-@@ -167,7 +167,7 @@ def main():
-     renpy.config.searchpath = [ renpy.config.gamedir ]
- 
-     # Find the common directory.
--    commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
-+    commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
- 
-     if os.path.isdir(commondir):
-         renpy.config.searchpath.append(commondir)
-@@ -230,7 +230,7 @@ def main():
- 
-     # Find the save directory.
-     if renpy.config.savedir is None:
--        renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
-+        renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
- 
-     if renpy.game.args.savedir: #@UndefinedVariable
-         renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable

diff --git a/games-engines/renpy/renpy-6.14.1-r1.ebuild b/games-engines/renpy/renpy-6.14.1-r1.ebuild
deleted file mode 100644
index 7e47923..0000000
--- a/games-engines/renpy/renpy-6.14.1-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# 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 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.1
-	dev-libs/fribidi
-	dev-python/pygame[X,${PYTHON_USEDEP}]
-	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
-	media-libs/glew
-	media-libs/libpng:0
-	media-libs/libsdl[X,video]
-	media-libs/freetype:2
-	sys-libs/zlib
-	virtual/ffmpeg"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-S=${WORKDIR}/${P}-source
-
-pkg_setup() {
-	games_pkg_setup
-	export CFLAGS="${CFLAGS} $(pkg-config --cflags fribidi)"
-}
-
-python_prepare_all() {
-	# wooosh! this should fix multiple abi
-	epatch "${FILESDIR}"/${P}-multiple-abi.patch \
-		"${FILESDIR}"/${P}-{av_close_input_stream,remove-AVFormatParameters}.patch \
-		"${FILESDIR}"/${P}-freetype.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 common
-	if use development ; then
-		python_domodule launcher template
-	fi
-	if use examples ; then
-		python_domodule the_question tutorial
-	fi
-}
-
-python_install_all() {
-	if use development; then
-		newicon -s 32 launcher/game/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
-}

diff --git a/games-engines/renpy/renpy-6.18.2.ebuild b/games-engines/renpy/renpy-6.18.2.ebuild
deleted file mode 100644
index 0a552af..0000000
--- a/games-engines/renpy/renpy-6.18.2.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# 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.5
-	dev-libs/fribidi
-	dev-python/pygame[X,${PYTHON_USEDEP}]
-	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
-	media-libs/glew
-	media-libs/libpng:0
-	media-libs/libsdl[X,video]
-	media-libs/freetype:2
-	sys-libs/zlib
-	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
-
-	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 templates
-	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
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
@ 2017-07-15 23:25 Andrew Savchenko
  0 siblings, 0 replies; 5+ messages in thread
From: Andrew Savchenko @ 2017-07-15 23:25 UTC (permalink / raw
  To: gentoo-commits

commit:     9a1bcce1539cf2b1107865cb5b77eb189ac3344c
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 23:21:39 2017 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 23:22:21 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a1bcce1

games-engines/renpy: version bump

Fixes bugs 587872 and 575086.

Package-Manager: Portage-2.3.6, Repoman-2.3.2
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 games-engines/renpy/Manifest                       |   1 +
 .../renpy/files/renpy-6.99.12.4-multiple-abi.patch | 357 +++++++++++++++++++++
 games-engines/renpy/files/renpy.1                  | 163 ++++++++++
 games-engines/renpy/renpy-6.17.7.ebuild            |   4 +-
 ...{renpy-6.99.6.ebuild => renpy-6.99.12.4.ebuild} |  11 +-
 games-engines/renpy/renpy-6.99.6.ebuild            |   4 +-
 6 files changed, 532 insertions(+), 8 deletions(-)

diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
index 4d65ed544f0..cadcd3c3f46 100644
--- a/games-engines/renpy/Manifest
+++ b/games-engines/renpy/Manifest
@@ -1,2 +1,3 @@
 DIST renpy-6.17.7-source.tar.bz2 17932988 SHA256 fef01de9e482b73d9d409de7a43bada6dd3e2a0549b99dd487306371190ed038 SHA512 22b0e08b18ee35317b11451205233cbd8a29617d9c3d298bbdcfc5757f67c2f0e4c8a748aa83d5c8b43786c062ffca109d07e981efa750fcee26f45f08a33ea2 WHIRLPOOL fef82eb6c958a2525797e5d8bfae3488fba606b70eeed5c94f7afcab4fa46e7a7eb43d91b4bd55f553b65a72b12236e02ecdee55e8852c1fafc055332f9d131d
+DIST renpy-6.99.12.4-source.tar.bz2 18192453 SHA256 65d8c97acfce7a8025ad0f6a1a3d5ef88d4319ece02370f33cf7a791b320a30c SHA512 375b67e15630fc21915136e70bc93db6da7c2da192d39b1256822513ae44974124522c85f1976f2af62df27b5fa11493af488b02abcf0081eeae03e1a69dfca5 WHIRLPOOL 3044bcd5e241e95c8313a16da4049f71621def4669b9d76aa6892191443456e2c388f7a7aaa16a01e073311a83d1bde5452fc3e57f956571bfca2edc1db93ca9
 DIST renpy-6.99.6-source.tar.bz2 27289290 SHA256 31f3fc84bda7e4048a97539d6266b3fbb18a82fc38db83761dd4771f5ef98d04 SHA512 d018ac0827ee5a914c48479174eccbf3968ea22926638e09ee00ecea49dc0111b4f24810ad32d5a8bb8012ff18e5fb8981705ed0e2289ce3172a1629e095a651 WHIRLPOOL ba8102e11a09b70100d391c5b068c826db810486f2792c5b5214421b09344916888255a377ac26b2b21aaede315bb0470c7315c2581af9e64b545d68ee6f005c

diff --git a/games-engines/renpy/files/renpy-6.99.12.4-multiple-abi.patch b/games-engines/renpy/files/renpy-6.99.12.4-multiple-abi.patch
new file mode 100644
index 00000000000..3a7355e60be
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-multiple-abi.patch
@@ -0,0 +1,357 @@
+From 7aa51dae5eb2f2123fee9bca23a2ce2f1b1c3f10 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Thu, 20 Aug 2015 01:10:58 +0200
+Subject: [PATCH] Fix multiple abi support
+
+---
+ renpy.py        | 128 ++--------------------------------------------------
+ renpy/common.py | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ renpy/main.py   |   6 +--
+ 3 files changed, 144 insertions(+), 127 deletions(-)
+ create mode 100644 renpy/common.py
+
+diff --git a/renpy.py b/renpy.py
+index 7548cf6..8ec7353 100644
+--- a/renpy.py
++++ b/renpy.py
+@@ -28,122 +28,9 @@
+ import os
+ import sys
+ import warnings
+-
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-
+-
+-def path_to_common(renpy_base):
+-    return renpy_base + "/renpy/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-
+-
+-def path_to_saves(gamedir, save_directory=None):
+-    import renpy  # @UnresolvedImport
+-
+-    if save_directory is None:
+-        save_directory = renpy.config.save_directory
+-        save_directory = renpy.exports.fsencode(save_directory)
+-
+-    # Makes sure the permissions are right on the save directory.
+-    def test_writable(d):
+-        try:
+-            fn = os.path.join(d, "test.txt")
+-            open(fn, "w").close()
+-            open(fn, "r").close()
+-            os.unlink(fn)
+-            return True
+-        except:
+-            return False
+-
+-    # Android.
+-    if renpy.android:
+-        paths = [
+-            os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
+-            os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
+-            os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
+-            ]
+-
+-        for rv in paths:
+-            if os.path.isdir(rv) and test_writable(rv):
+-                break
+-
+-        print("Saving to", rv)
+-
+-        # We return the last path as the default.
+-
+-        return rv
+-
+-    if renpy.ios:
+-        from pyobjus import autoclass
+-        from pyobjus.objc_py_types import enum
+-
+-        NSSearchPathDirectory = enum("NSSearchPathDirectory", NSDocumentDirectory=9)
+-        NSSearchPathDomainMask = enum("NSSearchPathDomainMask", NSUserDomainMask=1)
+-
+-        NSFileManager = autoclass('NSFileManager')
+-        manager = NSFileManager.defaultManager()
+-        url = manager.URLsForDirectory_inDomains_(
+-            NSSearchPathDirectory.NSDocumentDirectory,
+-            NSSearchPathDomainMask.NSUserDomainMask,
+-            ).lastObject()
+-
+-        # url.path seems to change type based on iOS version, for some reason.
+-        try:
+-            rv = url.path().UTF8String().decode("utf-8")
+-        except:
+-            rv = url.path.UTF8String().decode("utf-8")
+-
+-        print("Saving to", rv)
+-        return rv
+-
+-    # No save directory given.
+-    if not save_directory:
+-        return gamedir + "/saves"
+-
+-    # Search the path above Ren'Py for a directory named "Ren'Py Data".
+-    # If it exists, then use that for our save directory.
+-    path = renpy.config.renpy_base
+-
+-    while True:
+-        if os.path.isdir(path + "/Ren'Py Data"):
+-            return path + "/Ren'Py Data/" + save_directory
+-
+-        newpath = os.path.dirname(path)
+-        if path == newpath:
+-            break
+-        path = newpath
+-
+-    # Otherwise, put the saves in a platform-specific location.
+-    if renpy.macintosh:
+-        rv = "~/Library/RenPy/" + save_directory
+-        return os.path.expanduser(rv)
+-
+-    elif renpy.windows:
+-        if 'APPDATA' in os.environ:
+-            return os.environ['APPDATA'] + "/RenPy/" + save_directory
+-        else:
+-            rv = "~/RenPy/" + renpy.config.save_directory
+-            return os.path.expanduser(rv)
+-
+-    else:
+-        rv = "~/.renpy/" + save_directory
+-        return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+-    renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
+-    renpy_base = os.path.abspath(renpy_base)
+-
+-    return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+ 
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -154,21 +45,9 @@ except:
+     print("Ren'Py requires at least python 2.6.")
+     sys.exit(0)
+ 
+-android = ("ANDROID_PRIVATE" in os.environ)
+-
+-# Android requires us to add code to the main module, and to command some
+-# renderers.
+-if android:
+-    __main__ = sys.modules["__main__"]
+-    __main__.path_to_renpy_base = path_to_renpy_base
+-    __main__.path_to_common = path_to_common
+-    __main__.path_to_saves = path_to_saves
+-    os.environ["RENPY_RENDERER"] = "gl"
+-
+-
+ def main():
+ 
+-    renpy_base = path_to_renpy_base()
++    renpy_base = common.path_to_renpy_base()
+ 
+     # Add paths.
+     if os.path.exists(renpy_base + "/module"):
+diff --git a/renpy/common.py b/renpy/common.py
+new file mode 100644
+index 0000000..0d60e36
+--- /dev/null
++++ b/renpy/common.py
+@@ -0,0 +1,137 @@
++# This file is part of Ren'Py. The license below applies to Ren'Py only.
++# Games and other projects that use Ren'Py may use a different license.
++
++# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++    return renpy_base + "/renpy/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir, save_directory=None):
++    import renpy #@UnresolvedImport
++
++    if save_directory is None:
++        save_directory = renpy.config.save_directory
++
++    # Makes sure the permissions are right on the save directory.
++    def test_writable(d):
++        try:
++            fn = os.path.join(d, "test.txt")
++            open(fn, "w").close()
++            open(fn, "r").close()
++            os.unlink(fn)
++            return True
++        except:
++            return False
++
++
++    # Android.
++    if renpy.android:
++        paths = [
++            os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
++            os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
++            os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
++            ]
++
++        for rv in paths:
++            if os.path.isdir(rv) and test_writable(rv):
++                break
++
++        print "Saving to", rv
++
++        # We return the last path as the default.
++
++        return rv
++
++    if renpy.ios:
++        from pyobjus import autoclass
++        from pyobjus.objc_py_types import enum
++
++        NSSearchPathDirectory = enum("NSSearchPathDirectory", NSDocumentDirectory=9)
++        NSSearchPathDomainMask = enum("NSSearchPathDomainMask", NSUserDomainMask=1)
++
++        NSFileManager = autoclass('NSFileManager')
++        manager = NSFileManager.defaultManager()
++        url = manager.URLsForDirectory_inDomains_(
++            NSSearchPathDirectory.NSDocumentDirectory,
++            NSSearchPathDomainMask.NSUserDomainMask,
++            ).lastObject()
++
++        # url.path seems to change type based on iOS version, for some reason.
++        try:
++            rv = url.path().UTF8String().decode("utf-8")
++        except:
++            rv = url.path.UTF8String().decode("utf-8")
++
++        print "Saving to", rv
++        return rv
++
++    # No save directory given.
++    if not save_directory:
++        return gamedir + "/saves"
++
++    # Search the path above Ren'Py for a directory named "Ren'Py Data".
++    # If it exists, then use that for our save directory.
++    path = renpy.config.renpy_base
++
++    while True:
++        if os.path.isdir(path + "/Ren'Py Data"):
++            return path + "/Ren'Py Data/" + save_directory
++
++        newpath = os.path.dirname(path)
++        if path == newpath:
++            break
++        path = newpath
++
++    # Otherwise, put the saves in a platform-specific location.
++    if renpy.macintosh:
++        rv = "~/Library/RenPy/" + save_directory
++        return os.path.expanduser(rv)
++
++    elif renpy.windows:
++        if 'APPDATA' in os.environ:
++            return os.environ['APPDATA'] + "/RenPy/" + save_directory
++        else:
++            rv = "~/RenPy/" + renpy.config.save_directory
++            return os.path.expanduser(rv)
++
++    else:
++        rv = "~/.renpy/" + save_directory
++        return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++    renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
++    renpy_base = get_python_lib() + "/renpy@SLOT@"
++    renpy_base = os.path.abspath(renpy_base)
++
++    return renpy_base
+diff --git a/renpy/main.py b/renpy/main.py
+index 73e7239..6807ba1 100644
+--- a/renpy/main.py
++++ b/renpy/main.py
+@@ -27,7 +27,7 @@ import os
+ import sys
+ import time
+ import zipfile
+-import __main__
++import renpy.common as common
+ 
+ 
+ last_clock = time.time()
+@@ -273,7 +273,7 @@ def main():
+     renpy.config.searchpath = [ renpy.config.gamedir ]
+ 
+     # Find the common directory.
+-    commondir = __main__.path_to_common(renpy.config.renpy_base)  # E1101 @UndefinedVariable
++    commondir = common.path_to_common(renpy.config.renpy_base)  # E1101 @UndefinedVariable
+ 
+     if os.path.isdir(commondir):
+         renpy.config.searchpath.append(commondir)
+@@ -371,7 +371,7 @@ def main():
+ 
+     # Find the save directory.
+     if renpy.config.savedir is None:
+-        renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir)  # E1101 @UndefinedVariable
++        renpy.config.savedir = common.path_to_saves(renpy.config.gamedir)  # E1101 @UndefinedVariable
+ 
+     if renpy.game.args.savedir:  # @UndefinedVariable
+         renpy.config.savedir = renpy.game.args.savedir  # @UndefinedVariable
+diff --git a/renpy/script.py b/renpy/script.py
+index 73e7239..6807ba1 100644
+--- a/renpy/script.py
++++ b/renpy/script.py
+@@ -150,8 +150,8 @@ import os
+            if renpy.loader.loadable(i):
+                return None
+
+-        import __main__
+-        backups = __main__.path_to_saves(renpy.config.gamedir, "backups")  # @UndefinedVariable
++        import renpy.common as common
++        backups = common.path_to_saves(renpy.config.gamedir, "backups")  # @UndefinedVariable
+
+        if backups is None:
+            return
+-- 
+2.5.0
+

diff --git a/games-engines/renpy/files/renpy.1 b/games-engines/renpy/files/renpy.1
new file mode 100644
index 00000000000..e8b7a2b6195
--- /dev/null
+++ b/games-engines/renpy/files/renpy.1
@@ -0,0 +1,163 @@
+.\" Copyright © 2015 Andrew Savchenko
+.\" Distributed under the terms of GNU FDL-1.3+ license,
+.\" based on original Ren'Py documentation licensed under MIT.
+.TH renpy 1 "31 May 2015" "Ren'Py" "Ren'Py Gentoo's manual"
+.SH NAME
+renpy \- a visual novel engine
+
+.SH SYNOPSIS
+.BI renpy " game_directory"
+.\" ****************************************************************
+.SH DESCRIPTION
+
+.B renpy
+(Ren'Py) is a visual novel engine \- used by hundreds of creators
+from around the world \- that helps you use words, images, and
+sounds to tell interactive stories that run on computers and mobile
+devices. These can be both visual novels and life simulation games.
+The easy to learn script language allows anyone to efficiently
+write large visual novels, while its 
+.BR python (1)
+scripting is enough for complex simulation games.
+.\" ****************************************************************
+.SH RUNNING A GAME
+
+In order to run a game, provide
+.I game_directory
+as an argument to
+.BR renpy .
+Exact directory name may vary depending or a game, but usually
+this path corresponds to
+.I */game
+wildcard and contains
+.I script_version.rpy*
+file within. Game directory usually contains other
+.IR *.rpy* " and  " *.rpa " files."
+
+One may use
+.BR find (1)
+tool to locate required directory within unpacked game top
+directory:
+.RS
+
+find -O3 
+.I top_directory
+-type f -iname "script_version.rpy*"
+
+.RE
+A directory one level above may be provided as an argument as well.
+.\" ****************************************************************
+.SH PORTABILITY
+
+All
+.B renpy
+games are written in
+.BR python (1),
+so one can run then on any platform and architecture.
+
+As you may have noticed, Ren'Py games are often distributed in
+different archives for different architectures. This happens due to
+bundling of
+.BR python (1)
+interpreter and required libraries in a game's tarball. Since you
+are using OS native
+.B renpy
+setup, you should be able to run any of these games.
+.\" ****************************************************************
+.SH GAMES CATALOGUE
+
+A large catalogue of Ren'Py powered games is available at
+.IR http://games.renpy.org/ .
+.\" ****************************************************************
+.SH TROUBLESHOOTING
+
+In some cases game may fail to run with current
+.B renpy
+version due to various errors.
+
+In such case please try to use the closest
+.B renpy
+version to one used by game developer. Most games contain
+.IR script_version.rpy " file in the " game " directory."
+This file actually contains
+.B renpy
+version used during a game build.
+You may install multiple slots of
+.B renpy
+in Gentoo and use
+.BI eselect " renpy"
+module to switch between various versions.
+
+If
+.I game
+directory contains both 
+.IR *.rpyc " (or " *.rpyo ") and " *.rpy " files, delete"
+.IR *.rpyc " (or " *.rpyo ") files, they will be regenerated by"
+the interpreter.
+Another solution will be to switch between version of
+.BR python (1)
+using
+.IR eselect (1)
+tool in order to find one suitable to interpret game's
+.IR *.rpyc " files."
+
+Some games may lack general media files, e.g.
+.I click.ogg
+sound, so you should create or download one and place in the
+.I game
+directory.
+
+Also please pay attention to
+.I problems.html
+page from
+.B renpy
+html documentation, see
+.B FURTHER READING
+section.
+.\" ****************************************************************
+.SH ENVIRONMENT VARIABLES
+
+.B renpy
+supports a number of environment variables to control its
+behaviour. Please refer to html docs for further details
+(see
+.B FURTHER READING
+section).
+.\" ****************************************************************
+.SH FURTHER READING
+
+.B renpy
+comes with extensive html documentation. To use it install
+.B renpy
+with
+.I USE="doc"
+and go to 
+.I /usr/share/doc/renpy-*/html/doc/index.html
+
+Alternatively one may refer to online documentation:
+.IR http://www.renpy.org/doc/html/ .
+Be warned that online docs maybe different from your current active
+version, so it recommended to use shipped documentation instead.
+.\" ****************************************************************
+.SH BUGS
+
+Any bugs related to Gentoo packaging (e.g. omitted dependencies)
+please report on bugzilla:
+.IR https://bugs.gentoo.org .
+
+For bugs in the Ren'Py engine itself, please contact upstream:
+.I https://github.com/renpy/renpy/issues
+and add a Gentoo bug if you feel it necessary.
+
+For issues with games themselves please contact corresponding
+authors.
+.\" ****************************************************************
+.SH SEE ALSO
+
+.BR python (1)
+\- an interpreter used by Ren'Py engine.
+
+.BR unrpa (1)
+\- a tool to unpack
+.I *.rpa
+data files (Ren'Py Archives).

diff --git a/games-engines/renpy/renpy-6.17.7.ebuild b/games-engines/renpy/renpy-6.17.7.ebuild
index cbec515c2df..adc56df5074 100644
--- a/games-engines/renpy/renpy-6.17.7.ebuild
+++ b/games-engines/renpy/renpy-6.17.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -22,7 +22,7 @@ RDEPEND="
 	dev-libs/fribidi
 	dev-python/pygame[X,${PYTHON_USEDEP}]
 	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
-	media-libs/glew
+	media-libs/glew:0
 	media-libs/libpng:0
 	media-libs/libsdl[X,video]
 	media-libs/freetype:2

diff --git a/games-engines/renpy/renpy-6.99.6.ebuild b/games-engines/renpy/renpy-6.99.12.4.ebuild
similarity index 90%
copy from games-engines/renpy/renpy-6.99.6.ebuild
copy to games-engines/renpy/renpy-6.99.12.4.ebuild
index f48dc71d912..4a72ef4cb2b 100644
--- a/games-engines/renpy/renpy-6.99.6.ebuild
+++ b/games-engines/renpy/renpy-6.99.12.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
 PYTHON_COMPAT=( python2_7 )
 DISTUTILS_IN_SOURCE_BUILD=1
-inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
+inherit eutils games gnome2-utils toolchain-funcs versionator distutils-r1
 
 DESCRIPTION="Visual novel engine written in python"
 HOMEPAGE="http://www.renpy.org"
@@ -22,7 +22,7 @@ RDEPEND="
 	dev-libs/fribidi
 	~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}]
 	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
-	media-libs/glew
+	media-libs/glew:0
 	media-libs/libpng:0
 	media-libs/libsdl2[video]
 	media-libs/freetype:2
@@ -77,14 +77,17 @@ python_install() {
 }
 
 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}-${SLOT} "Ren'Py ${PV}" ${P}
 	fi
 
 	if use doc; then
-		dohtml -r doc
+		insinto html
+		doins -r doc
 	fi
+	newman "${FILESDIR}/${PN}.1" "${P}.1"
 
 	prepgamesdirs
 }

diff --git a/games-engines/renpy/renpy-6.99.6.ebuild b/games-engines/renpy/renpy-6.99.6.ebuild
index f48dc71d912..063e7bf634c 100644
--- a/games-engines/renpy/renpy-6.99.6.ebuild
+++ b/games-engines/renpy/renpy-6.99.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -22,7 +22,7 @@ RDEPEND="
 	dev-libs/fribidi
 	~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}]
 	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
-	media-libs/glew
+	media-libs/glew:0
 	media-libs/libpng:0
 	media-libs/libsdl2[video]
 	media-libs/freetype:2


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
@ 2017-07-16 16:35 Andrew Savchenko
  0 siblings, 0 replies; 5+ messages in thread
From: Andrew Savchenko @ 2017-07-16 16:35 UTC (permalink / raw
  To: gentoo-commits

commit:     7976e453eea2bb1c0fb2a404a5b70b976594bb97
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 16 16:33:06 2017 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Sun Jul 16 16:33:06 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7976e453

games-engines/renpy: fix compat support for old games

- Katawa Shoujo, see bug 601200: check for window to be on list before removal
- Elven Relations: do not create removed style elements

Package-Manager: Portage-2.3.6, Repoman-2.3.2
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 .../renpy/files/renpy-6.99.12.4-compat-style.patch |  43 ++++++++
 .../files/renpy-6.99.12.4-compat-window.patch      |  51 +++++++++
 games-engines/renpy/renpy-6.99.12.4-r1.ebuild      | 116 +++++++++++++++++++++
 3 files changed, 210 insertions(+)

diff --git a/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch b/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch
new file mode 100644
index 00000000000..122ebf1e43e
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch
@@ -0,0 +1,43 @@
+commit 1d350d993d2b51df7880e92b48ed103e059ec385
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date:   Sun Jul 16 17:07:27 2017 +0300
+
+    Fix compatibility problem With ElvenRelations-1.2:
+    
+    When starting game:
+    
+    Full traceback:
+      File "/home/andrew/src/_compat/styles.rpymc", line 22, in script
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/ast.py", line 814, in execute
+        renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 1719, in py_exec_bytecode
+        exec bytecode in globals, locals
+      File "renpy/common/_compat/styles.rpym", line 374, in <module>
+        style.selected_button = _SelectedCompat('button')
+      File "renpy/common/_compat/styles.rpym", line 347, in __init__
+        self.target = target
+      File "renpy/style.pyx", line 378, in renpy.style.StyleCore.__setattr__ (gen/renpy.style.c:6236)
+        raise Exception("Style property {} is not known.".format(name))
+    Exception: Style property target is not known.
+    
+    "button*" properties are no longer present in RenPy, so relevant
+    code is removed.
+
+diff --git a/renpy/common/_compat/styles.rpym b/renpy/common/_compat/styles.rpym
+index d83eeb0..174f0b6 100644
+--- a/renpy/common/_compat/styles.rpym
++++ b/renpy/common/_compat/styles.rpym
+@@ -371,13 +371,6 @@ init python:
+             self.property_updates = [ ]
+ 
+ 
+-    style.selected_button = _SelectedCompat('button')
+-    style.selected_button_text = _SelectedCompat('button_text')
+-    style.gm_nav_selected_button = _SelectedCompat('gm_nav_button')
+-    style.gm_nav_selected_button_text = _SelectedCompat('gm_nav_button_text')
+-    style.prefs_selected_button = _SelectedCompat('prefs_button')
+-    style.prefs_selected_button_text = _SelectedCompat('prefs_button_text')
+-
+     def _apply_selected_compat():
+         for scs in _selected_compat:
+             scs.apply()

diff --git a/games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch b/games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch
new file mode 100644
index 00000000000..8c8bd21b4f6
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch
@@ -0,0 +1,51 @@
+commit cf3f7fd4cb69c154f43a5e00c7501463a6d63ff5
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date:   Sun Jul 16 16:59:14 2017 +0300
+
+    Fix compatibility problem with Katawa Shoujo 1.3.1
+    
+    The game fails to start with renpy-6.99.12.4:
+    
+    I'm sorry, but an uncaught exception occurred.
+    
+    While running game code:
+      File "game/ui_settings.rpy", line 21, in <module>
+      File "renpy/common/00compat.rpy", line 134, in _set_script_version
+        config.window_auto_hide.remove("call screen")
+    ValueError: list.remove(x): x not in list
+    
+    -- Full Traceback ------------------------------------------------------------
+    
+    Full traceback:
+      File "/home/rondo/ui_settings.rpyc", line 2, in script
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/ast.py", line 814, in execute
+        renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 1695, in py_exec_bytecode
+        exec bytecode in globals, locals
+      File "game/ui_settings.rpy", line 21, in <module>
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/defaultstore.py", line 92, in __setattr__
+        renpy.store._set_script_version(value)  # E1101 @UndefinedVariable
+      File "renpy/common/00compat.rpy", line 134, in _set_script_version
+        config.window_auto_hide.remove("call screen")
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 610, in do_mutation
+        return method(self, *args, **kwargs)
+    ValueError: list.remove(x): x not in list
+    
+    This happens because "call screen" element is being unconditionally
+    removed from config.window_auto_hide list, though it is not always
+    present there. A simple if check fixes this.
+
+diff --git a/renpy/common/00compat.rpy b/renpy/common/00compat.rpy
+index c16ad1d..eefb8e0 100644
+--- a/renpy/common/00compat.rpy
++++ b/renpy/common/00compat.rpy
+@@ -131,7 +131,8 @@ init -1900 python:
+         if version <= (6, 99, 10):
+             config.new_translate_order = False
+             config.old_say_args = True
+-            config.window_auto_hide.remove("call screen")
++            if "call screen" in config.window_auto_hide:
++                config.window_auto_hide.remove("call screen")
+             config.quit_action = ui.gamemenus("_quit_prompt")
+             config.enforce_window_max_size = False
+             config.splashscreen_suppress_overlay = False

diff --git a/games-engines/renpy/renpy-6.99.12.4-r1.ebuild b/games-engines/renpy/renpy-6.99.12.4-r1.ebuild
new file mode 100644
index 00000000000..8049f87073f
--- /dev/null
+++ b/games-engines/renpy/renpy-6.99.12.4-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils games gnome2-utils toolchain-funcs versionator 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:0
+	media-libs/libpng:0
+	media-libs/libsdl2[video]
+	media-libs/freetype:2
+	sys-libs/zlib
+	virtual/ffmpeg"
+DEPEND="${RDEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+PATCHES=(
+	"${FILESDIR}"/${P}-multiple-abi.patch
+	"${FILESDIR}"/${P}-compat-window.patch #601200
+	"${FILESDIR}"/${P}-compat-style.patch
+)
+
+pkg_setup() {
+	games_pkg_setup
+	export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+	distutils-r1_python_prepare_all
+
+	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!"
+}
+
+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 templates
+	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}-${SLOT} "Ren'Py ${PV}" ${P}
+	fi
+
+	if use doc; then
+		insinto html
+		doins -r doc
+	fi
+	newman "${FILESDIR}/${PN}.1" "${P}.1"
+
+	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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
@ 2017-07-17  5:28 Andrew Savchenko
  0 siblings, 0 replies; 5+ messages in thread
From: Andrew Savchenko @ 2017-07-17  5:28 UTC (permalink / raw
  To: gentoo-commits

commit:     41789d6be3c976bf3c6da66cc675adc912c1ea9b
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 05:26:49 2017 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 05:28:33 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41789d6b

games-engines/renpy: increase infinite loop hardcoded values

On many old hardware, e.g on my Atom netbook games hit this limit,
but otherwise work fine. Increasing the limit helps. People are
also reporting this issue in many cases (old laptops, stow tablets,
etc where games fail due to this issue and work otherwise):

https://translationprojectvisualnovels.blogspot.ru/2016/09/monster-girl-quest-android-15092016.html
https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=30521&start=90
https://steamcommunity.com/app/356530/discussions/0/365163686036650662/
(and many more, just google)

Package-Manager: Portage-2.3.6, Repoman-2.3.2
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 .../renpy-6.99.12.4-compat-infinite-loop.patch     |  42 ++++++++
 games-engines/renpy/renpy-6.99.12.4-r3.ebuild      | 108 +++++++++++++++++++++
 2 files changed, 150 insertions(+)

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
new file mode 100644
index 00000000000..3a2942cb04f
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-infinite-loop.patch
@@ -0,0 +1,42 @@
+Adapted from git HEAD:
+commit ff308191a190bf7c5c2118a31f3d8569a0904c04
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date:   Mon Jul 17 08:00:07 2017 +0300
+
+    Increase infinite loop hardcoded values
+    
+    On many old hardware, e.g on my Atom netbook games hit this limit,
+    but otherwise work fine. Increasing the limit helps. People are
+    also reporting this issue in many cases (old laptops, stow tablets,
+    etc where games fail due to this issue and work otherwise):
+    
+    https://translationprojectvisualnovels.blogspot.ru/2016/09/monster-girl-quest-android-15092016.html
+    https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=30521&start=90
+    https://steamcommunity.com/app/356530/discussions/0/365163686036650662/
+    (and many more, just google)
+
+index 00c7562..a7e361c 100644
+--- a/renpy/display/core.py
++++ b/renpy/display/core.py
+@@ -2845,7 +2845,7 @@ class Interface(object):
+ 
+             while rv is None:
+ 
+-                renpy.execution.not_infinite_loop(10)
++                renpy.execution.not_infinite_loop(50)
+ 
+                 # Check for a change in fullscreen preference.
+                 if ((self.fullscreen != renpy.game.preferences.fullscreen) or
+diff --git a/renpy/main.py b/renpy/main.py
+index 6f14d77..960d2fd 100644
+--- a/renpy/main.py
++++ b/renpy/main.py
+@@ -318,7 +318,7 @@ def main():
+     game.contexts = [ renpy.execution.Context(False) ]
+     game.contexts[0].init_phase = True
+ 
+-    renpy.execution.not_infinite_loop(60)
++    renpy.execution.not_infinite_loop(300)
+ 
+     # Load the script.
+     renpy.game.exception_info = 'While loading the script.'

diff --git a/games-engines/renpy/renpy-6.99.12.4-r3.ebuild b/games-engines/renpy/renpy-6.99.12.4-r3.ebuild
new file mode 100644
index 00000000000..ccf21fbcc9c
--- /dev/null
+++ b/games-engines/renpy/renpy-6.99.12.4-r3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils gnome2-utils toolchain-funcs versionator 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.7
+	dev-libs/fribidi
+	~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}]
+	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+	media-libs/glew:0
+	media-libs/libpng:0
+	media-libs/libsdl2[video]
+	media-libs/freetype:2
+	sys-libs/zlib
+	virtual/ffmpeg"
+DEPEND="${RDEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+PATCHES=(
+	"${FILESDIR}"/${P}-multiple-abi.patch
+	"${FILESDIR}"/${P}-compat-window.patch #601200
+	"${FILESDIR}"/${P}-compat-style.patch
+	"${FILESDIR}"/${P}-compat-infinite-loop.patch
+)
+
+python_prepare_all() {
+	export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+	distutils-r1_python_prepare_all
+
+	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!"
+}
+
+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_newscript renpy.py ${PN}-${SLOT}
+
+	python_moduleinto renpy${MYSLOT}
+	python_domodule renpy
+	if use development ; then
+		python_domodule launcher templates
+	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}-${SLOT} "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
+
+	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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
@ 2023-12-21 12:44 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-12-21 12:44 UTC (permalink / raw
  To: gentoo-commits

commit:     e75018a21019f09adfa3ae6e03aaf67bebbb8425
Author:     Haelwenn (lanodan) Monnier <contact <AT> hacktivis <DOT> me>
AuthorDate: Mon Aug  7 10:24:16 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 12:43:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e75018a2

games-engines/renpy: new package, add 8.1.3

Signed-off-by: Haelwenn (lanodan) Monnier <contact <AT> hacktivis.me>
Closes: https://github.com/gentoo/gentoo/pull/29795
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-engines/renpy/Manifest                       |   1 +
 .../renpy-6.99.12.4-compat-infinite-loop.patch     |  44 ++++++
 .../renpy/files/renpy-6.99.12.4-compat-style.patch |  45 ++++++
 .../files/renpy-8.1.0-ignore_rpyc_errors.patch     |  23 +++
 .../renpy/files/renpy-8.1.3-system-path.patch      |  19 +++
 games-engines/renpy/files/renpy.1                  | 163 +++++++++++++++++++++
 games-engines/renpy/metadata.xml                   |  33 +++++
 games-engines/renpy/renpy-8.1.3.ebuild             | 110 ++++++++++++++
 8 files changed, 438 insertions(+)

diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
new file mode 100644
index 000000000000..c68fa9f0242a
--- /dev/null
+++ b/games-engines/renpy/Manifest
@@ -0,0 +1 @@
+DIST renpy-8.1.3-source.tar.bz2 69220231 BLAKE2B fe9295da7081dda77c2a720138cdd63b744d40844ce5a0bb4164720cf34f828cbf25ac77e1aa57e95585ad6eab644cd0fff2a3a818e6b86482e589a28f40affa SHA512 22304cf8e7328c50ff897761ec0a504e8618d53484491f4196ad93015656dd08c2197c11adea83069682912a5b8d05d3223e3ad34fa68881abdad5f73e51884b

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
new file mode 100644
index 000000000000..81ed644363ac
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-infinite-loop.patch
@@ -0,0 +1,44 @@
+https://github.com/renpy/renpy/pull/1216
+https://github.com/bircoph/renpy/commit/ff308191a190bf7c5c2118a31f3d8569a0904c04
+
+commit ff308191a190bf7c5c2118a31f3d8569a0904c04
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date:   Mon Jul 17 08:00:07 2017 +0300
+
+    Increase infinite loop hardcoded values
+    
+    On many old hardware, e.g on my Atom netbook games hit this limit,
+    but otherwise work fine. Increasing the limit helps. People are
+    also reporting this issue in many cases (old laptops, stow tablets,
+    etc where games fail due to this issue and work otherwise):
+    
+    https://translationprojectvisualnovels.blogspot.ru/2016/09/monster-girl-quest-android-15092016.html
+    https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=30521&start=90
+    https://steamcommunity.com/app/356530/discussions/0/365163686036650662/
+    (and many more, just google)
+
+index 00c7562..a7e361c 100644
+--- a/renpy/display/core.py
++++ b/renpy/display/core.py
+@@ -2845,7 +2845,7 @@ class Interface(object):
+ 
+             while rv is None:
+ 
+-                renpy.execution.not_infinite_loop(10)
++                renpy.execution.not_infinite_loop(50)
+ 
+                 # Check for a change in fullscreen preference.
+                 if ((self.fullscreen != renpy.game.preferences.fullscreen) or
+diff --git a/renpy/main.py b/renpy/main.py
+index 6f14d77..960d2fd 100644
+--- a/renpy/main.py
++++ b/renpy/main.py
+@@ -318,7 +318,7 @@ def main():
+     game.contexts = [ renpy.execution.Context(False) ]
+     game.contexts[0].init_phase = True
+ 
+-    renpy.execution.not_infinite_loop(60)
++    renpy.execution.not_infinite_loop(300)
+ 
+     # Load the script.
+     renpy.game.exception_info = 'While loading the script.'

diff --git a/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch b/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch
new file mode 100644
index 000000000000..2c514027ea23
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch
@@ -0,0 +1,45 @@
+https://github.com/bircoph/renpy/commit/1d350d993d2b51df7880e92b48ed103e059ec385
+
+commit 1d350d993d2b51df7880e92b48ed103e059ec385
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date:   Sun Jul 16 17:07:27 2017 +0300
+
+    Fix compatibility problem With ElvenRelations-1.2:
+    
+    When starting game:
+    
+    Full traceback:
+      File "/home/andrew/src/_compat/styles.rpymc", line 22, in script
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/ast.py", line 814, in execute
+        renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
+      File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 1719, in py_exec_bytecode
+        exec bytecode in globals, locals
+      File "renpy/common/_compat/styles.rpym", line 374, in <module>
+        style.selected_button = _SelectedCompat('button')
+      File "renpy/common/_compat/styles.rpym", line 347, in __init__
+        self.target = target
+      File "renpy/style.pyx", line 378, in renpy.style.StyleCore.__setattr__ (gen/renpy.style.c:6236)
+        raise Exception("Style property {} is not known.".format(name))
+    Exception: Style property target is not known.
+    
+    "button*" properties are no longer present in RenPy, so relevant
+    code is removed.
+
+diff --git a/renpy/common/_compat/styles.rpym b/renpy/common/_compat/styles.rpym
+index d83eeb0..174f0b6 100644
+--- a/renpy/common/_compat/styles.rpym
++++ b/renpy/common/_compat/styles.rpym
+@@ -371,13 +371,6 @@ init python:
+             self.property_updates = [ ]
+ 
+ 
+-    style.selected_button = _SelectedCompat('button')
+-    style.selected_button_text = _SelectedCompat('button_text')
+-    style.gm_nav_selected_button = _SelectedCompat('gm_nav_button')
+-    style.gm_nav_selected_button_text = _SelectedCompat('gm_nav_button_text')
+-    style.prefs_selected_button = _SelectedCompat('prefs_button')
+-    style.prefs_selected_button_text = _SelectedCompat('prefs_button_text')
+-
+     def _apply_selected_compat():
+         for scs in _selected_compat:
+             scs.apply()

diff --git a/games-engines/renpy/files/renpy-8.1.0-ignore_rpyc_errors.patch b/games-engines/renpy/files/renpy-8.1.0-ignore_rpyc_errors.patch
new file mode 100644
index 000000000000..50c333ea4971
--- /dev/null
+++ b/games-engines/renpy/files/renpy-8.1.0-ignore_rpyc_errors.patch
@@ -0,0 +1,23 @@
+Better way would probably be to have renpy not even try to write to system paths in the first place.
+
+13: EACCES (no write permission)
+30: EROFS (read-only filesystem)
+
+diff --git a/renpy/script.py b/renpy/script.py
+index 3e5dae8..8f103c1 100644
+--- a/renpy/script.py
++++ b/renpy/script.py
+@@ -656,6 +656,10 @@ class Script(object):
+                                 rpydigest = hashlib.md5(fullf.read()).digest()
+ 
+                             self.write_rpyc_md5(f, rpydigest)
++                    except OSError as e:
++                        if e.errno not in [13, 30]:
++                            import traceback
++                            traceback.print_exc()
+                     except Exception:
+                         import traceback
+                         traceback.print_exc()
+-- 
+2.37.1
+

diff --git a/games-engines/renpy/files/renpy-8.1.3-system-path.patch b/games-engines/renpy/files/renpy-8.1.3-system-path.patch
new file mode 100644
index 000000000000..c3e3c9beccb8
--- /dev/null
+++ b/games-engines/renpy/files/renpy-8.1.3-system-path.patch
@@ -0,0 +1,19 @@
+--- a/renpy.py
++++ b/renpy.py
+@@ -30,6 +30,7 @@ from __future__ import print_function, absolute_import
+ import os
+ import sys
+ import warnings
++import sysconfig
+ 
+ # Functions to be customized by distributors. ################################
+ 
+@@ -209,7 +209,7 @@ def path_to_renpy_base():
+     Returns the absolute path to thew Ren'Py base directory.
+     """
+ 
+-    renpy_base = os.path.dirname(os.path.abspath(__file__))
++    renpy_base = sysconfig.get_path('platlib')
+     renpy_base = os.path.abspath(renpy_base)
+ 
+     return renpy_base

diff --git a/games-engines/renpy/files/renpy.1 b/games-engines/renpy/files/renpy.1
new file mode 100644
index 000000000000..e8b7a2b61958
--- /dev/null
+++ b/games-engines/renpy/files/renpy.1
@@ -0,0 +1,163 @@
+.\" Copyright © 2015 Andrew Savchenko
+.\" Distributed under the terms of GNU FDL-1.3+ license,
+.\" based on original Ren'Py documentation licensed under MIT.
+.TH renpy 1 "31 May 2015" "Ren'Py" "Ren'Py Gentoo's manual"
+.SH NAME
+renpy \- a visual novel engine
+
+.SH SYNOPSIS
+.BI renpy " game_directory"
+.\" ****************************************************************
+.SH DESCRIPTION
+
+.B renpy
+(Ren'Py) is a visual novel engine \- used by hundreds of creators
+from around the world \- that helps you use words, images, and
+sounds to tell interactive stories that run on computers and mobile
+devices. These can be both visual novels and life simulation games.
+The easy to learn script language allows anyone to efficiently
+write large visual novels, while its 
+.BR python (1)
+scripting is enough for complex simulation games.
+.\" ****************************************************************
+.SH RUNNING A GAME
+
+In order to run a game, provide
+.I game_directory
+as an argument to
+.BR renpy .
+Exact directory name may vary depending or a game, but usually
+this path corresponds to
+.I */game
+wildcard and contains
+.I script_version.rpy*
+file within. Game directory usually contains other
+.IR *.rpy* " and  " *.rpa " files."
+
+One may use
+.BR find (1)
+tool to locate required directory within unpacked game top
+directory:
+.RS
+
+find -O3 
+.I top_directory
+-type f -iname "script_version.rpy*"
+
+.RE
+A directory one level above may be provided as an argument as well.
+.\" ****************************************************************
+.SH PORTABILITY
+
+All
+.B renpy
+games are written in
+.BR python (1),
+so one can run then on any platform and architecture.
+
+As you may have noticed, Ren'Py games are often distributed in
+different archives for different architectures. This happens due to
+bundling of
+.BR python (1)
+interpreter and required libraries in a game's tarball. Since you
+are using OS native
+.B renpy
+setup, you should be able to run any of these games.
+.\" ****************************************************************
+.SH GAMES CATALOGUE
+
+A large catalogue of Ren'Py powered games is available at
+.IR http://games.renpy.org/ .
+.\" ****************************************************************
+.SH TROUBLESHOOTING
+
+In some cases game may fail to run with current
+.B renpy
+version due to various errors.
+
+In such case please try to use the closest
+.B renpy
+version to one used by game developer. Most games contain
+.IR script_version.rpy " file in the " game " directory."
+This file actually contains
+.B renpy
+version used during a game build.
+You may install multiple slots of
+.B renpy
+in Gentoo and use
+.BI eselect " renpy"
+module to switch between various versions.
+
+If
+.I game
+directory contains both 
+.IR *.rpyc " (or " *.rpyo ") and " *.rpy " files, delete"
+.IR *.rpyc " (or " *.rpyo ") files, they will be regenerated by"
+the interpreter.
+Another solution will be to switch between version of
+.BR python (1)
+using
+.IR eselect (1)
+tool in order to find one suitable to interpret game's
+.IR *.rpyc " files."
+
+Some games may lack general media files, e.g.
+.I click.ogg
+sound, so you should create or download one and place in the
+.I game
+directory.
+
+Also please pay attention to
+.I problems.html
+page from
+.B renpy
+html documentation, see
+.B FURTHER READING
+section.
+.\" ****************************************************************
+.SH ENVIRONMENT VARIABLES
+
+.B renpy
+supports a number of environment variables to control its
+behaviour. Please refer to html docs for further details
+(see
+.B FURTHER READING
+section).
+.\" ****************************************************************
+.SH FURTHER READING
+
+.B renpy
+comes with extensive html documentation. To use it install
+.B renpy
+with
+.I USE="doc"
+and go to 
+.I /usr/share/doc/renpy-*/html/doc/index.html
+
+Alternatively one may refer to online documentation:
+.IR http://www.renpy.org/doc/html/ .
+Be warned that online docs maybe different from your current active
+version, so it recommended to use shipped documentation instead.
+.\" ****************************************************************
+.SH BUGS
+
+Any bugs related to Gentoo packaging (e.g. omitted dependencies)
+please report on bugzilla:
+.IR https://bugs.gentoo.org .
+
+For bugs in the Ren'Py engine itself, please contact upstream:
+.I https://github.com/renpy/renpy/issues
+and add a Gentoo bug if you feel it necessary.
+
+For issues with games themselves please contact corresponding
+authors.
+.\" ****************************************************************
+.SH SEE ALSO
+
+.BR python (1)
+\- an interpreter used by Ren'Py engine.
+
+.BR unrpa (1)
+\- a tool to unpack
+.I *.rpa
+data files (Ren'Py Archives).

diff --git a/games-engines/renpy/metadata.xml b/games-engines/renpy/metadata.xml
new file mode 100644
index 000000000000..a3bdbf876916
--- /dev/null
+++ b/games-engines/renpy/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<longdescription>
+		Ren'Py is a free and cross-platform visual novel engine that
+		helps you use words,
+		pictures, and sounds to tell stories with the computer.
+		It`s easy and efficient script language makes it possible for
+		non-programmers to make visual novels,
+		while its Python support allows for complex simulation games.
+	</longdescription>
+	<use>
+		<flag name="development">Install IDE for game developers and an empty game template</flag>
+	</use>
+	<maintainer type="person" proxied="yes">
+		<email>contact@hacktivis.me</email>
+		<name>Haelwenn (lanodan) Monnier</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<upstream>
+		<maintainer status="active">
+			<email>pytom@bishoujo.us</email>
+			<name>Tom Rothamel</name>
+		</maintainer>
+		<changelog>http://www.renpy.org/latest.html</changelog>
+		<bugs-to>https://github.com/renpy/renpy/issues</bugs-to>
+		<doc>http://renpy.org/wiki/renpy/doc</doc>
+		<remote-id type="github">renpy/renpy</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/games-engines/renpy/renpy-8.1.3.ebuild b/games-engines/renpy/renpy-8.1.3.ebuild
new file mode 100644
index 000000000000..6877ee69d65f
--- /dev/null
+++ b/games-engines/renpy/renpy-8.1.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+inherit gnome2-utils 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 )"
+
+BDEPEND="
+	$(python_gen_cond_dep '<dev-python/cython-3[${PYTHON_USEDEP}]')
+	virtual/pkgconfig"
+DEPEND="
+	dev-libs/fribidi
+	$(python_gen_cond_dep '
+		>=dev-python/pygame_sdl2-8.1.1[${PYTHON_USEDEP}]
+		>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+		dev-python/ecdsa[${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}
+	!app-eselect/eselect-renpy"
+
+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.1.3-system-path.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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-12-21 12:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-14 22:27 [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/ Julian Ospald
  -- strict thread matches above, loose matches on Subject: below --
2017-07-15 23:25 Andrew Savchenko
2017-07-16 16:35 Andrew Savchenko
2017-07-17  5:28 Andrew Savchenko
2023-12-21 12:44 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox