summaryrefslogtreecommitdiffstats
path: root/pkgs/development/interpreters/renpy
diff options
context:
space:
mode:
authorrardiol <ricardo.ardissone@gmail.com>2018-03-21 23:26:29 -0300
committerMatthew Justin Bauer <mjbauer95@gmail.com>2018-03-21 21:26:29 -0500
commitf83cbf20292cfde64e2df49bf0bd84338749c49e (patch)
treed9aef5047121dd1463ebe6bc5a3a708822a353c5 /pkgs/development/interpreters/renpy
parente5a854e740ba2963af85a242229a8a8f3c250136 (diff)
Renpy and pygame_sdl2 update - 6.99.14 (#33943)
* pygame_sdl2: 6.99.10.1227 -> 2.1.0-6.99.14 * renpy: 6.99.12.4 -> 6.99.14
Diffstat (limited to 'pkgs/development/interpreters/renpy')
-rw-r--r--pkgs/development/interpreters/renpy/default.nix34
-rw-r--r--pkgs/development/interpreters/renpy/launcherenv.patch14
2 files changed, 35 insertions, 13 deletions
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 658c5aebe5cb..da271db2ff0e 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -5,31 +5,37 @@
with pythonPackages;
-stdenv.mkDerivation {
- name = "renpy-6.99.12.4";
+stdenv.mkDerivation rec {
+ name = "renpy-${version}";
+ version = "6.99.14";
- meta = {
+ meta = with stdenv.lib; {
description = "Ren'Py Visual Novel Engine";
homepage = http://renpy.org/;
- license = stdenv.lib.licenses.mit;
- platforms = stdenv.lib.platforms.linux;
- # This is an ancient version, last updated in 2014 (3d59f42ce); it fails to
- # build with the most recent pygame version, and fails to run with 1.9.1.
- broken = true;
+ license = licenses.mit;
+ platforms = platforms.linux;
};
src = fetchurl {
- url = "http://www.renpy.org/dl/6.99.12.4/renpy-6.99.12.4-source.tar.bz2";
- sha256 = "035342rr39zp7krp08z0xhcl73gqbqyilshgmljq0ynfrxxckn35";
+ url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
+ sha256 = "00r1l9rd9wj8zfh279n7sak894xxhxqp3rcwg41g0md8yfiysc4h";
};
+ patches = [
+ ./launcherenv.patch
+ ];
+
+ postPatch = ''
+ substituteInPlace launcher/game/choose_directory.rpy --replace /usr/bin/python ${python.interpreter}
+ '';
+
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
- python cython wrapPython
+ python cython wrapPython tkinter
SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib
];
- pythonPath = [ pygame_sdl2 ];
+ pythonPath = [ pygame_sdl2 tkinter ];
RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: "${path}") [
SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib
@@ -41,7 +47,9 @@ stdenv.mkDerivation {
installPhase = ''
mkdir -p $out/share/renpy
- cp -r renpy renpy.py $out/share/renpy
+ cp -vr * $out/share/renpy
+ rm -rf $out/share/renpy/module
+
python module/setup.py install --prefix=$out --install-lib=$out/share/renpy/module
makeWrapper ${python}/bin/python $out/bin/renpy \
diff --git a/pkgs/development/interpreters/renpy/launcherenv.patch b/pkgs/development/interpreters/renpy/launcherenv.patch
new file mode 100644
index 000000000000..85a6c6439b9c
--- /dev/null
+++ b/pkgs/development/interpreters/renpy/launcherenv.patch
@@ -0,0 +1,14 @@
+# The launcher game starts projects in a separate python process
+# with the -E flag, which prevents the nix set PYTHONPATH envvar
+# from taking effect, preventing the loading of pygame_sdl2
+--- a/launcher/game/project.rpy
++++ b/launcher/game/project.rpy
+@@ -239,7 +239,7 @@
+ raise Exception("Python interpreter not found: %r", executables)
+
+ # Put together the basic command line.
+- cmd = [ executable, "-EO", sys.argv[0] ]
++ cmd = [ executable, "-O", sys.argv[0] ]
+
+ cmd.append(self.path)
+ cmd.extend(args)