diff options
author | Julian Ospald <hasufell@gentoo.org> | 2015-08-11 13:29:18 +0200 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2015-08-11 13:29:43 +0200 |
commit | 13d3e0764b30e7ea53e41ca534fbd026d2acc560 (patch) | |
tree | 53d761a4b56e85bd33282024088d6581514f2831 /games-engines/renpy | |
parent | x11-plugins/purple-facebook: New releases 27833e4fcb1f (July 31) & 9e3520d6ec... (diff) | |
download | gentoo-13d3e0764b30e7ea53e41ca534fbd026d2acc560.tar.gz gentoo-13d3e0764b30e7ea53e41ca534fbd026d2acc560.tar.bz2 gentoo-13d3e0764b30e7ea53e41ca534fbd026d2acc560.zip |
games-engines/renpy: add missing patch file
Gentoo-Bug: 557270
Diffstat (limited to 'games-engines/renpy')
-rw-r--r-- | games-engines/renpy/files/renpy-6.99.5-multiple-abi.patch | 302 |
1 files changed, 302 insertions, 0 deletions
diff --git a/games-engines/renpy/files/renpy-6.99.5-multiple-abi.patch b/games-engines/renpy/files/renpy-6.99.5-multiple-abi.patch new file mode 100644 index 000000000000..74177fbfccaa --- /dev/null +++ b/games-engines/renpy/files/renpy-6.99.5-multiple-abi.patch @@ -0,0 +1,302 @@ +From 9f318ab1a173bc3527c72f2ce9073d4b711559f4 Mon Sep 17 00:00:00 2001 +From: hasufell <hasufell@gentoo.org> +Date: Sat, 4 Apr 2015 13:13:18 +0200 +Subject: [PATCH] fix multiple abi support + +--- + renpy.py | 124 ++------------------------------------------------------ + renpy/common.py | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ + renpy/main.py | 6 +-- + 3 files changed, 113 insertions(+), 123 deletions(-) + create mode 100644 renpy/common.py + +diff --git a/renpy.py b/renpy.py +index b7bc67d..82ea492 100644 +--- a/renpy.py ++++ b/renpy.py +@@ -29,114 +29,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): +- 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 "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 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) +@@ -151,20 +46,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..598b16c +--- /dev/null ++++ b/renpy/common.py +@@ -0,0 +1,106 @@ ++# 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 ++ ++# 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 ++ ++ # 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 +diff --git a/renpy/main.py b/renpy/main.py +index 70372d1..937dd21 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 + + + def run(restart): +@@ -204,7 +204,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) +@@ -272,7 +272,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 +-- +2.3.1 + |