diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-engines/renpy | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-engines/renpy')
18 files changed, 2299 insertions, 0 deletions
diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest new file mode 100644 index 000000000000..74e720f20a4a --- /dev/null +++ b/games-engines/renpy/Manifest @@ -0,0 +1,6 @@ +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 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 new file mode 100644 index 000000000000..c2415a2233a9 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch @@ -0,0 +1,11 @@ +--- 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 new file mode 100644 index 000000000000..a818912b8c2b --- /dev/null +++ b/games-engines/renpy/files/renpy-6.14.1-freetype.patch @@ -0,0 +1,17 @@ +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 new file mode 100644 index 000000000000..e200746d153a --- /dev/null +++ b/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch @@ -0,0 +1,230 @@ +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 new file mode 100644 index 000000000000..e66106c91fcd --- /dev/null +++ b/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch @@ -0,0 +1,19 @@ +--- 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 = ¶ms; + 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.15.7-freetype.patch b/games-engines/renpy/files/renpy-6.15.7-freetype.patch new file mode 100644 index 000000000000..7865f0c11a45 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.15.7-freetype.patch @@ -0,0 +1,29 @@ +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,9 @@ + 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("freetype/ftotval.h", directory="freetype2") or include("ftotval.h", directory="freetype2") + include("libavutil/avstring.h") + include("libavformat/avformat.h") + include("libavcodec/avcodec.h") +--- renpy-6.15.7-source/module/ttgsubtable.h ++++ renpy-6.15.7-source/module/ttgsubtable.h +@@ -3,7 +3,7 @@ + + #include <stdint.h> + #include <ft2build.h> +-#include <freetype/ftotval.h> ++#include FT_OPENTYPE_VALIDATE_H + + typedef struct + { diff --git a/games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch b/games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch new file mode 100644 index 000000000000..c6b87ac868d7 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch @@ -0,0 +1,250 @@ +commit ea0351d8bf6404f5e8db2ff872885a19bf8a3f92 +Author: hasufell <hasufell@gentoo.org> +Date: Thu Jun 27 02:01:17 2013 +0200 + + fix multiple abi support + +diff --git a/renpy.py b/renpy.py +index 4ec5324..d873750 100644 +--- a/renpy.py ++++ b/renpy.py +@@ -28,82 +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): +- import renpy #@UnresolvedImport +- +- # 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): +- 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.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) +@@ -118,20 +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"): +@@ -154,10 +70,6 @@ def main(): + 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__": +diff --git a/renpy/common.py b/renpy/common.py +new file mode 100644 +index 0000000..475b7e8 +--- /dev/null ++++ b/renpy/common.py +@@ -0,0 +1,84 @@ ++# 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-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 + "/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 ++ ++ # 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.environ.get('RENPY_BASE', renpy_base) ++ renpy_base = os.path.abspath(renpy_base) ++ ++ return renpy_base +diff --git a/renpy/main.py b/renpy/main.py +index 908e246..61027ec 100644 +--- a/renpy/main.py ++++ b/renpy/main.py +@@ -27,7 +27,7 @@ import time + import zipfile + import subprocess + from cPickle import loads, dumps +-import __main__ ++import renpy.common as common + + + def save_persistent(): +@@ -147,7 +147,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) +@@ -210,7 +210,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/files/renpy-6.16.5-multiple-abi.patch b/games-engines/renpy/files/renpy-6.16.5-multiple-abi.patch new file mode 100644 index 000000000000..a1c54901ac60 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.16.5-multiple-abi.patch @@ -0,0 +1,245 @@ +commit 23f67fe23d7b51e352a500a0e005ae3ef4dbc097 +Author: hasufell <hasufell@gentoo.org> +Date: Sat Oct 26 22:17:31 2013 +0200 + + fix multiple abi support + +diff --git a/renpy.py b/renpy.py +index 9f2977f..394e4e1 100644 +--- a/renpy.py ++++ b/renpy.py +@@ -28,82 +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): +- import renpy #@UnresolvedImport +- +- # 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): +- 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.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) +@@ -131,7 +58,7 @@ if android: + + 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..1f15b3c +--- /dev/null ++++ b/renpy/common.py +@@ -0,0 +1,103 @@ ++# 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-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 + "/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 ++ ++ # 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): ++ 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.environ.get('RENPY_BASE', renpy_base) ++ renpy_base = os.path.abspath(renpy_base) ++ ++ return renpy_base +diff --git a/renpy/main.py b/renpy/main.py +index d15eefc..b11bba9 100644 +--- a/renpy/main.py ++++ b/renpy/main.py +@@ -26,7 +26,7 @@ import sys + import time + import zipfile + import subprocess +-import __main__ ++import renpy.common as common + + + def run(restart): +@@ -166,7 +166,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) +@@ -229,7 +229,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/files/renpy-6.17.7-multiple-abi.patch b/games-engines/renpy/files/renpy-6.17.7-multiple-abi.patch new file mode 100644 index 000000000000..335af4e9b8d1 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.17.7-multiple-abi.patch @@ -0,0 +1,245 @@ +commit 7451ba936ca2f3358ca51ab562371774199c7052 +Author: hasufell <hasufell@gentoo.org> +Date: Tue Jan 21 01:02:00 2014 +0100 + + fix multiple abi support + +diff --git a/renpy.py b/renpy.py +index 9f2977f..394e4e1 100644 +--- a/renpy.py ++++ b/renpy.py +@@ -28,82 +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): +- import renpy #@UnresolvedImport +- +- # 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): +- 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.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) +@@ -131,7 +58,7 @@ if android: + + 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..1f15b3c +--- /dev/null ++++ b/renpy/common.py +@@ -0,0 +1,103 @@ ++# 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 ++ ++ # 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): ++ 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.environ.get('RENPY_BASE', renpy_base) ++ renpy_base = os.path.abspath(renpy_base) ++ ++ return renpy_base +diff --git a/renpy/main.py b/renpy/main.py +index 143007d..6c55bbc 100644 +--- a/renpy/main.py ++++ b/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/files/renpy-6.18.2-multiple-abi.patch b/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch new file mode 100644 index 000000000000..a569fa4e62d2 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch @@ -0,0 +1,271 @@ +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/files/renpy-6.18.3-multiple-abi.patch b/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch new file mode 100644 index 000000000000..a569fa4e62d2 --- /dev/null +++ b/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch @@ -0,0 +1,271 @@ +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/metadata.xml b/games-engines/renpy/metadata.xml new file mode 100644 index 000000000000..81a8e71705e5 --- /dev/null +++ b/games-engines/renpy/metadata.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>games</herd> + <herd>proxy-maintainers</herd> + <maintainer> + <email>hasufell@gentoo.org</email> + <name>Julian Ospald</name> + <description>Maintainer. Assign bugs to him</description> + </maintainer> + <maintainer> + <email>maksverver@geocities.com</email> + <name>Maks Verver</name> + <description>Proxy maintainer. CC him on bugs</description> + </maintainer> + <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> + <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-6.14.1-r1.ebuild b/games-engines/renpy/renpy-6.14.1-r1.ebuild new file mode 100644 index 000000000000..7e4792340f87 --- /dev/null +++ b/games-engines/renpy/renpy-6.14.1-r1.ebuild @@ -0,0 +1,112 @@ +# 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.15.7.ebuild b/games-engines/renpy/renpy-6.15.7.ebuild new file mode 100644 index 000000000000..d4f0e706dabd --- /dev/null +++ b/games-engines/renpy/renpy-6.15.7.ebuild @@ -0,0 +1,111 @@ +# 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.2 + 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} $($(tc-getPKG_CONFIG) --cflags fribidi)" +} + +python_prepare_all() { + # wooosh! this should fix multiple abi + epatch "${FILESDIR}"/${P}-multiple-abi.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 + 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.16.5.ebuild b/games-engines/renpy/renpy-6.16.5.ebuild new file mode 100644 index 000000000000..5cf268b0effc --- /dev/null +++ b/games-engines/renpy/renpy-6.16.5.ebuild @@ -0,0 +1,110 @@ +# 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.3 + 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} $($(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/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.17.7.ebuild b/games-engines/renpy/renpy-6.17.7.ebuild new file mode 100644 index 000000000000..a83385a252bb --- /dev/null +++ b/games-engines/renpy/renpy-6.17.7.ebuild @@ -0,0 +1,111 @@ +# 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.4 + 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 +} diff --git a/games-engines/renpy/renpy-6.18.2.ebuild b/games-engines/renpy/renpy-6.18.2.ebuild new file mode 100644 index 000000000000..0a552af0b280 --- /dev/null +++ b/games-engines/renpy/renpy-6.18.2.ebuild @@ -0,0 +1,111 @@ +# 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 +} diff --git a/games-engines/renpy/renpy-6.18.3.ebuild b/games-engines/renpy/renpy-6.18.3.ebuild new file mode 100644 index 000000000000..0a552af0b280 --- /dev/null +++ b/games-engines/renpy/renpy-6.18.3.ebuild @@ -0,0 +1,111 @@ +# 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 +} |