Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 554968 Details for
Bug 671008
games-engines/renpy-7.3.5 and dev-python/pygame_sdl2-7.3.5 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Multiabi patch for renpy-7.1.1
renpy-7.1.1-multiple-abi.patch (text/plain), 11.65 KB, created by
Alex
on 2018-11-12 15:43:43 UTC
(
hide
)
Description:
Multiabi patch for renpy-7.1.1
Filename:
MIME Type:
Creator:
Alex
Created:
2018-11-12 15:43:43 UTC
Size:
11.65 KB
patch
obsolete
>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 zipfile > import gc > >-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 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 671008
:
554964
|
554966
|
554968
|
554970
|
611098
|
611100
|
611102
|
611104