public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andrew Savchenko" <bircoph@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-engines/renpy/files/, games-engines/renpy/
Date: Sun, 16 Jul 2017 16:35:46 +0000 (UTC)	[thread overview]
Message-ID: <1500222786.7976e453eea2bb1c0fb2a404a5b70b976594bb97.bircoph@gentoo> (raw)

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

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

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

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

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

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

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

diff --git a/games-engines/renpy/renpy-6.99.12.4-r1.ebuild b/games-engines/renpy/renpy-6.99.12.4-r1.ebuild
new file mode 100644
index 00000000000..8049f87073f
--- /dev/null
+++ b/games-engines/renpy/renpy-6.99.12.4-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils games gnome2-utils toolchain-funcs versionator distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="~amd64 ~x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+	>=app-eselect/eselect-renpy-0.6
+	dev-libs/fribidi
+	~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}]
+	>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+	media-libs/glew:0
+	media-libs/libpng:0
+	media-libs/libsdl2[video]
+	media-libs/freetype:2
+	sys-libs/zlib
+	virtual/ffmpeg"
+DEPEND="${RDEPEND}
+	dev-python/cython[${PYTHON_USEDEP}]
+	virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+PATCHES=(
+	"${FILESDIR}"/${P}-multiple-abi.patch
+	"${FILESDIR}"/${P}-compat-window.patch #601200
+	"${FILESDIR}"/${P}-compat-style.patch
+)
+
+pkg_setup() {
+	games_pkg_setup
+	export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+	distutils-r1_python_prepare_all
+
+	einfo "Deleting precompiled python files"
+	find . -name '*.py[co]' -print -delete || die
+
+	sed -i \
+		-e "s/@SLOT@/${MYSLOT}/" \
+		renpy.py renpy/common.py || die "setting slot failed!"
+}
+
+python_compile() {
+	cd "${S}"/module || die
+	distutils-r1_python_compile
+}
+
+python_install() {
+	cd "${S}"/module || die
+	distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+	cd "${S}" || die
+	python_scriptinto "${GAMES_BINDIR}"
+	python_newscript renpy.py ${PN}-${SLOT}
+
+	python_moduleinto renpy${MYSLOT}
+	python_domodule renpy
+	if use development ; then
+		python_domodule launcher templates
+	fi
+	if use examples ; then
+		python_domodule the_question tutorial
+	fi
+}
+
+python_install_all() {
+	distutils-r1_python_install_all
+	if use development; then
+		newicon -s 32 launcher/game/images/logo32.png ${P}.png
+		make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+	fi
+
+	if use doc; then
+		insinto html
+		doins -r doc
+	fi
+	newman "${FILESDIR}/${PN}.1" "${P}.1"
+
+	prepgamesdirs
+}
+
+pkg_preinst() {
+	games_pkg_preinst
+	use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	games_pkg_postinst
+	use development && gnome2_icon_cache_update
+
+	einfo "running: eselect renpy update --if-unset"
+	eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+	use development && gnome2_icon_cache_update
+
+	einfo "running: eselect renpy update --if-unset"
+	eselect renpy update --if-unset
+}


             reply	other threads:[~2017-07-16 16:35 UTC|newest]

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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1500222786.7976e453eea2bb1c0fb2a404a5b70b976594bb97.bircoph@gentoo \
    --to=bircoph@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox