summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/renpy/Manifest1
-rw-r--r--games-engines/renpy/files/renpy-7.3.5-system-path.patch19
-rw-r--r--games-engines/renpy/files/renpy-7.3.5-use-system-fribidi.patch42
-rw-r--r--games-engines/renpy/renpy-7.3.5.ebuild108
4 files changed, 170 insertions, 0 deletions
diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
index 6a38ea82a5c7..2a93fb3d8cc1 100644
--- a/games-engines/renpy/Manifest
+++ b/games-engines/renpy/Manifest
@@ -1 +1,2 @@
DIST renpy-6.99.12.4-source.tar.bz2 18192453 BLAKE2B eb00db04fc6ed0aafa0428c3ba0ffe986634f8b536a7cd6c88c6082789554f6d9631f433baa3e34ab91d19509ccef5617e3fe8ec410b96f4b87d489656cc893b SHA512 375b67e15630fc21915136e70bc93db6da7c2da192d39b1256822513ae44974124522c85f1976f2af62df27b5fa11493af488b02abcf0081eeae03e1a69dfca5
+DIST renpy-7.3.5-source.tar.bz2 68211972 BLAKE2B 46d8e1c788398515005eba9b668020aa2c9527e4f9207c95661d8fe86f4bbb6bc1832fc3e6808023355e2ff67666bc6d3b03f89ef58afa77d5a3abc965192175 SHA512 5a34412379682628d0be9cbbca0dfc95d5e52f8ffa871cdab0c20d028c532233b0d94a7dfdec67fec5294a789e9ca16b61dc30ef138e303d476007eaffff0d2f
diff --git a/games-engines/renpy/files/renpy-7.3.5-system-path.patch b/games-engines/renpy/files/renpy-7.3.5-system-path.patch
new file mode 100644
index 000000000000..fc5d54aceea8
--- /dev/null
+++ b/games-engines/renpy/files/renpy-7.3.5-system-path.patch
@@ -0,0 +1,19 @@
+--- renpy-7.3.5-source/renpy.py.orig 2019-10-18 02:35:19.000000000 +0300
++++ renpy-7.3.5-source/renpy.py 2020-05-09 13:38:24.989131947 +0300
+@@ -32,6 +32,7 @@
+ import warnings
+
+ # Functions to be customized by distributors. ################################
++from distutils.sysconfig import get_python_lib
+
+ # Given the Ren'Py base directory (usually the directory containing
+ # this file), this is expected to return the path to the common directory.
+@@ -140,7 +141,7 @@
+ # 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_base = os.path.abspath(renpy_base)
+
+ return renpy_base
diff --git a/games-engines/renpy/files/renpy-7.3.5-use-system-fribidi.patch b/games-engines/renpy/files/renpy-7.3.5-use-system-fribidi.patch
new file mode 100644
index 000000000000..e4b0258f9844
--- /dev/null
+++ b/games-engines/renpy/files/renpy-7.3.5-use-system-fribidi.patch
@@ -0,0 +1,42 @@
+diff '--color=auto' -Naurd renpy-7.3.5-source.orig/module/renpybidicore.c renpy-7.3.5-source/module/renpybidicore.c
+--- renpy-7.3.5-source.orig/module/renpybidicore.c 2018-10-12 08:37:06.000000000 +0300
++++ renpy-7.3.5-source/module/renpybidicore.c 2020-05-09 12:46:30.811881811 +0300
+@@ -1,5 +1,5 @@
+ #include <Python.h>
+-#include <fribidi-src/lib/fribidi.h>
++#include <fribidi.h>
+ #include <stdlib.h>
+
+ #ifndef alloca
+--- renpy-7.3.5-source.orig/module/setup.py 2019-08-09 05:11:58.000000000 +0300
++++ renpy-7.3.5-source/module/setup.py 2020-05-09 12:46:46.463942266 +0300
+@@ -119,28 +119,13 @@
+ sdl + [ png, 'z', 'm' ])
+
+ FRIBIDI_SOURCES = """
+-fribidi-src/lib/fribidi.c
+-fribidi-src/lib/fribidi-arabic.c
+-fribidi-src/lib/fribidi-bidi.c
+-fribidi-src/lib/fribidi-bidi-types.c
+-fribidi-src/lib/fribidi-deprecated.c
+-fribidi-src/lib/fribidi-joining.c
+-fribidi-src/lib/fribidi-joining-types.c
+-fribidi-src/lib/fribidi-mem.c
+-fribidi-src/lib/fribidi-mirroring.c
+-fribidi-src/lib/fribidi-run.c
+-fribidi-src/lib/fribidi-shape.c
+ renpybidicore.c
+ """.split()
+ cython(
+ "_renpybidi",
+ FRIBIDI_SOURCES,
+- includes=[
+- BASE + "/fribidi-src/",
+- BASE + "/fribidi-src/lib/",
+- ],
++ libs=["fribidi"],
+ define_macros=[
+- ("FRIBIDI_ENTRY", ""),
+ ("HAVE_CONFIG_H", "1"),
+ ])
+
diff --git a/games-engines/renpy/renpy-7.3.5.ebuild b/games-engines/renpy/renpy-7.3.5.ebuild
new file mode 100644
index 000000000000..f408ea63475c
--- /dev/null
+++ b/games-engines/renpy/renpy-7.3.5.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+DISTUTILS_USE_SETUPTOOLS=no
+inherit gnome2-utils distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="https://www.renpy.org"
+SRC_URI="https://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT=0
+KEYWORDS="~amd64 ~x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+DEPEND="
+ 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
+ media-video/ffmpeg"
+RDEPEND="${DEPEND}
+ !app-eselect/eselect-renpy"
+
+S=${WORKDIR}/${P}-source
+
+PATCHES=(
+ "${FILESDIR}"/${P}-system-path.patch
+ "${FILESDIR}"/${PN}-6.99.12.4-compat-style.patch
+ "${FILESDIR}"/${PN}-6.99.12.4-compat-infinite-loop.patch
+ "${FILESDIR}"/${P}-use-system-fribidi.patch
+)
+
+python_prepare_all() {
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+ rm -r module/{gen,fribidi-src} || die
+
+ export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+ 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
+
+ cd "${S}" || die
+ python_newscript renpy.py ${PN}
+
+ python_domodule renpy
+ if use development ; then
+ python_domodule launcher
+ 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} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ insinto "/usr/share/doc/${PF}/html"
+ doins -r doc/*
+ fi
+ newman "${FILESDIR}/${PN}.1" "${P}.1"
+}
+
+pkg_preinst() {
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ use development && gnome2_icon_cache_update
+
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ ver_test "${v}" -ge 7 && continue
+ einfo "Starting from ${PN}-7 slots are dropped."
+ einfo "RenPy natively supports compatibility with games made for older versions."
+ einfo "Report bugs upstream on such problems, usually they are easy to fix."
+ break
+ done
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+}