about summary refs log tree commit diff
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)
downloadnixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.tar
nixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.tar.gz
nixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.tar.bz2
nixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.tar.lz
nixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.tar.xz
nixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.tar.zst
nixlib-f83cbf20292cfde64e2df49bf0bd84338749c49e.zip
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)