summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2013-02-27 00:20:20 +0000
committerJulian Ospald <hasufell@gentoo.org>2013-02-27 00:20:20 +0000
commit95d20e3f9ad221128096d35419859ab784882b6b (patch)
tree3fec69efe68ed1d26a1c9f1516b069e57f00b6bf /games-engines/renpy
parentheader fix (diff)
downloadgentoo-2-95d20e3f9ad221128096d35419859ab784882b6b.tar.gz
gentoo-2-95d20e3f9ad221128096d35419859ab784882b6b.tar.bz2
gentoo-2-95d20e3f9ad221128096d35419859ab784882b6b.zip
initial import wrt #301324
(Portage version: 2.2.0_alpha163/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'games-engines/renpy')
-rw-r--r--games-engines/renpy/ChangeLog12
-rw-r--r--games-engines/renpy/Manifest7
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch11
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch230
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch19
-rw-r--r--games-engines/renpy/metadata.xml28
-rw-r--r--games-engines/renpy/renpy-6.14.1.ebuild104
7 files changed, 411 insertions, 0 deletions
diff --git a/games-engines/renpy/ChangeLog b/games-engines/renpy/ChangeLog
new file mode 100644
index 000000000000..7a2168bc3e24
--- /dev/null
+++ b/games-engines/renpy/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for games-engines/renpy
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-engines/renpy/ChangeLog,v 1.1 2013/02/27 00:20:19 hasufell Exp $
+
+*renpy-6.14.1 (27 Feb 2013)
+
+ 27 Feb 2013; Julian Ospald <hasufell@gentoo.org> +renpy-6.14.1.ebuild,
+ +files/renpy-6.14.1-av_close_input_stream.patch,
+ +files/renpy-6.14.1-multiple-abi.patch,
+ +files/renpy-6.14.1-remove-AVFormatParameters.patch, +metadata.xml:
+ initial import wrt #301324
+
diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
new file mode 100644
index 000000000000..bdca9f89ea49
--- /dev/null
+++ b/games-engines/renpy/Manifest
@@ -0,0 +1,7 @@
+AUX renpy-6.14.1-av_close_input_stream.patch 291 SHA256 da5d69dadb0c8559f20b205999580fa7b4bc9647c5eb5b3567dc198745b006ba SHA512 6c6dd700e8b11397089791179db4eea2da403671470b4500d0baa37d712be1e73676d4ac9997d869de19fe11b4625edcca91c074ad64e99ea463e630d4995991 WHIRLPOOL f937817ab4c21bdce3137b10f8d1b60900b76644c1cd0b02c11009fec4dd309d5fc3834d9dfa58475eab584de85bec931b7e57707d2b1dbd400cc8cb8cf3e420
+AUX renpy-6.14.1-multiple-abi.patch 7950 SHA256 7605357e2fb692acc0032380ebaff4d153d4cae139b8b6298cbcd347f8880838 SHA512 1673cb44bb168745b6eeb770ca4bc88ca0c72ded4e325bedb5fb5ea90147276bfe63bd5607441560e5aa1dbaf93820fe3e77f853716b24f5eaa80ad8ab2e9008 WHIRLPOOL 330aa2c6ed0a5f54f8523fffbc5f503d7497f756c776620d91981be89d90737f16114b331662ce300720039b847d34d3df13dd19c039e7dca851784a962d0722
+AUX renpy-6.14.1-remove-AVFormatParameters.patch 494 SHA256 3e67e752def86a848d6a9e4a7d20c8dd3bf4158a1288065ec1f21278a4c626e2 SHA512 6589c26dfb746aa23196ad0f5a74854ef7d7916fa48298794c9d6a146865cb124c9d1b22c922d57202de87c32487706c45d3a73c90fa9035afae6604a05de75e WHIRLPOOL 6fb36d076c891b2c2e8fa6b2af548de73a575e91037fa9b4cb4f77f74262e714f499a72a93c3d1756aabed80b336dd7bbd27a3b939eb83c76453ef52a41cbe68
+DIST renpy-6.14.1-source.tar.bz2 9806538 SHA256 18be3630d1956131a1f010732d15292cdcec14a2391210af27dc342fafd8197f SHA512 a1f13a5f860e66054012eab29bbd37715bd9721e2dc30fdd9c8d4d8c58dc672c35b3c813e962ad6878cb741502af5a181dff8a05f359892b6b60d2e15bc5a7bc WHIRLPOOL 54018731e136106f328bf2d028841f09424d8ffd8303821eec995c55918b2c8ac7eb97d9ed24785e95ad3d878b794f5bcf96cc9f783955f8d1ace086a3ca9b61
+EBUILD renpy-6.14.1.ebuild 2356 SHA256 1c0cdf2aa15c2e8687cb347cfb34b978a11807d44c6698413a12950a0bb610e7 SHA512 46293ae5926c2467b9fe925fb2788d5bb53e461bd418572d99d372fa452202da0cf065eca3574155a6ebefd4f7c177756fae586ed1c52c3e8e6bd8dfa8ed0fff WHIRLPOOL 335db0bf08a4874274e8d5619f269e7fdb136b8710cfef70603956d93325b345a26109864b679b02347669d8d78ea69e591cd0b17fc3552a7fd49b24b02009ac
+MISC ChangeLog 415 SHA256 e18a31dcc667ba481adacc25f7fc79535fb50bd945729c6ea3b979df04b566ea SHA512 378d7e94f780f1ca4cef8a462b11ba262dbe05d7fce96d5ce4c5261f8c03c43ff3708c9c5b68f1bf83be9f100ec0955b085653da1d713e9a463060a498f9de32 WHIRLPOOL 8e664ddcfa8d13dcc8d1c93ce865405333e3eb0ccbe4af0dd616ee0aeabfc3fae176846f3ef4c72981c826418cae3b4aca44471b09391a8ebe6f953dd35cad7d
+MISC metadata.xml 1004 SHA256 57eb550db84ed86cc4a35c4636b28e71a884d3c6504d651d323e16a12b4a187e SHA512 09b96f2b3224fc2a255653e7734f3b87cbe8280c6befcc5094b19203fb363a89d6db259d37a22f162c8a76e08241ccd31f092bef5cfa80e07f9fd9bd132590a5 WHIRLPOOL 1704ebd462b4a672fa2168268f82309b80dd9d62e91b817383af5a8685b1a7c8c137d9b78bf9dac9c5d4886692577a5a9bd52413b19e361eb98d022fde7617e9
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-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 = &params;
+ int codecs_locked = 0;
+
+ // url_set_interrupt_cb(decode_interrupt_cb);
+@@ -1162,8 +1161,6 @@
+ is->video_stream = -1;
+ is->audio_stream = -1;
+
+- memset(ap, 0, sizeof(*ap));
+-
+ is->io_context = rwops_open(is->rwops);
+
+ codecs_locked = 1;
diff --git a/games-engines/renpy/metadata.xml b/games-engines/renpy/metadata.xml
new file mode 100644
index 000000000000..92bf8de12766
--- /dev/null
+++ b/games-engines/renpy/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </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>PyTom</name>
+ </maintainer>
+ <changelog>https://launchpad.net/renpy/+announcements</changelog>
+ <doc>http://renpy.org/wiki/renpy/doc</doc>
+ <bugs-to>https://bugs.launchpad.net/renpy</bugs-to>
+ </upstream>
+</pkgmetadata>
+
diff --git a/games-engines/renpy/renpy-6.14.1.ebuild b/games-engines/renpy/renpy-6.14.1.ebuild
new file mode 100644
index 000000000000..25a32d22331b
--- /dev/null
+++ b/games-engines/renpy/renpy-6.14.1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-engines/renpy/renpy-6.14.1.ebuild,v 1.1 2013/02/27 00:20:19 hasufell Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python2_6 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="
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg
+ virtual/python-argparse[${PYTHON_USEDEP}]"
+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
+
+ 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
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+}