forked from mirrors/nixpkgs
Merge pull request #604 from iyzsong/renpy
Add Ren'Py visual novel engine
This commit is contained in:
commit
cc6dc84603
49
pkgs/development/interpreters/renpy/default.nix
Normal file
49
pkgs/development/interpreters/renpy/default.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ stdenv, fetchurl, python, pkgconfig, wrapPython
|
||||
, pygame, SDL, libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "renpy-6.15.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.renpy.org/dl/6.15.5/renpy-6.15.5-source.tar.bz2";
|
||||
sha256 = "1k57dak1yk5iyxripqn2syhwwkh70y00pnnb9i1qf19lmiirxa60";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
python pkgconfig wrapPython
|
||||
SDL libpng ffmpeg freetype glew mesa fribidi zlib pygame
|
||||
];
|
||||
|
||||
pythonPath = [ pygame ];
|
||||
|
||||
RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: "${path}") [
|
||||
SDL libpng ffmpeg freetype glew mesa fribidi zlib
|
||||
]);
|
||||
|
||||
buildPhase = ''
|
||||
python module/setup.py build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/renpy
|
||||
cp -r renpy renpy.py $out/share/renpy
|
||||
python module/setup.py install --prefix=$out --install-lib=$out/share/renpy/module
|
||||
|
||||
wrapPythonPrograms
|
||||
makeWrapper ${python}/bin/python $out/bin/renpy \
|
||||
--set PYTHONPATH $program_PYTHONPATH \
|
||||
--set RENPY_BASE $out/share/renpy \
|
||||
--set RENPY_LESS_UPDATES 1 \
|
||||
--add-flags "-O $out/share/renpy/renpy.py"
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${pygame}/include/${python.libPrefix}";
|
||||
|
||||
meta = {
|
||||
description = "Ren'Py Visual Novel Engine";
|
||||
homepage = "http://renpy.org/";
|
||||
licence = "MIT";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -10,6 +10,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ mesa x11 libXmu libXi ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i 's|lib64|lib|' config/Makefile.linux
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
GLEW_DEST=$out make install
|
||||
mkdir -pv $out/share/doc/glew
|
||||
|
|
|
@ -1,46 +1,37 @@
|
|||
{ fetchurl, stdenv, python, pkgconfig, SDL, SDL_image, SDL_mixer, SDL_ttf
|
||||
, numeric }:
|
||||
{ stdenv, fetchurl, python, pkgconfig
|
||||
, SDL, SDL_image, SDL_mixer, SDL_ttf, libpng, libjpeg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "pygame-1.7";
|
||||
name = "pygame-1.9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.pygame.org/ftp/pygame-1.7.1release.tar.gz ;
|
||||
sha256 = "0hl0rmgjcqj217fibwyilz7w9jpg0kh7hsa7vyzd4cgqyliskpqi";
|
||||
url = "http://www.pygame.org/ftp/pygame-1.9.1release.tar.gz";
|
||||
sha256 = "0cyl0ww4fjlf289pjxa53q4klyn55ajvkgymw0qrdgp4593raq52";
|
||||
};
|
||||
|
||||
buildInputs = [python pkgconfig SDL SDL_image SDL_ttf numeric];
|
||||
buildInputs = [
|
||||
python pkgconfig SDL SDL_image SDL_mixer SDL_ttf libpng libjpeg
|
||||
];
|
||||
|
||||
patches = [ ./pygame-v4l.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
export LOCALBASE=///
|
||||
sed -e "/origincdirs =/a'${SDL_image}/include/SDL','${SDL_image}/include'," -i config_unix.py
|
||||
sed -e "/origlibdirs =/aoriglibdirs += '${SDL_image}/lib'," -i config_unix.py
|
||||
sed -e "/origincdirs =/a'${SDL_mixer}/include/SDL','${SDL_mixer}/include'," -i config_unix.py
|
||||
sed -e "/origlibdirs =/aoriglibdirs += '${SDL_mixer}/lib'," -i config_unix.py
|
||||
sed -e "/origincdirs =/a'${SDL_ttf}/include/SDL','${SDL_ttf}/include'," -i config_unix.py
|
||||
sed -e "/origlibdirs =/aoriglibdirs += '${SDL_ttf}/lib'," -i config_unix.py
|
||||
sed -e "/origincdirs =/a'${numeric}/include/python2.5'," -i config_unix.py
|
||||
for i in ${SDL_image} ${SDL_mixer} ${SDL_ttf} ${libpng} ${libjpeg}; do
|
||||
sed -e "/origincdirs =/a'$i/include'," -i config_unix.py
|
||||
sed -e "/origlibdirs =/aoriglibdirs += '$i/lib'," -i config_unix.py
|
||||
done
|
||||
|
||||
sed -e "s|get_python_inc(0)|\"${numeric}/include/python2.5\"|g" -i config_unix.py
|
||||
|
||||
# XXX: `Numeric.pth' should be found by Python but it's not, hence the
|
||||
# $PYTHONPATH setting below. Gobolinux has the same problem:
|
||||
# http://bugs.python.org/issue1431 .
|
||||
yes Y | \
|
||||
PYTHONPATH="${numeric}/lib/python2.5/site-packages/Numeric:$PYTHONPATH" \
|
||||
python config.py
|
||||
|
||||
# That `config.py' is really deeply broken.
|
||||
sed -i Setup \
|
||||
-e "s|^NUMERIC *=.*$|NUMERIC = -I${numeric}/include/python2.5|g ;
|
||||
s|^MIXER *=.*$|MIXER = -I${SDL_mixer}/include -L${SDL_mixer}/lib -lSDL_mixer|g"
|
||||
yes Y | LOCALBASE=/ python config.py
|
||||
'';
|
||||
|
||||
buildPhase = "yes Y | python setup.py build";
|
||||
buildPhase = "python setup.py build";
|
||||
|
||||
installPhase = "yes Y | python setup.py install --prefix=\${out} ";
|
||||
installPhase = "python setup.py install --prefix=$out";
|
||||
|
||||
meta = {
|
||||
description = "Python library for games";
|
||||
homepage = "http://www.pygame.org/";
|
||||
licences = "LGPLv2.1+";
|
||||
};
|
||||
}
|
||||
|
|
88
pkgs/development/python-modules/pygame/pygame-v4l.patch
Normal file
88
pkgs/development/python-modules/pygame/pygame-v4l.patch
Normal file
|
@ -0,0 +1,88 @@
|
|||
diff -crB pygame-1.9.1release/Setup.in pygame-1.9.1release-v4lpatch//Setup.in
|
||||
*** pygame-1.9.1release/Setup.in Thu Jul 2 06:41:56 2009
|
||||
--- pygame-1.9.1release-v4lpatch//Setup.in Thu Mar 24 17:31:22 2011
|
||||
***************
|
||||
*** 34,40 ****
|
||||
_numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
|
||||
movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
|
||||
scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
|
||||
! _camera src/_camera.c src/camera_v4l2.c src/camera_v4l.c $(SDL) $(DEBUG)
|
||||
pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
|
||||
|
||||
GFX = src/SDL_gfx/SDL_gfxPrimitives.c
|
||||
--- 34,40 ----
|
||||
_numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
|
||||
movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
|
||||
scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
|
||||
! _camera src/_camera.c src/camera_v4l2.c $(SDL) $(DEBUG)
|
||||
pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
|
||||
|
||||
GFX = src/SDL_gfx/SDL_gfxPrimitives.c
|
||||
diff -crB pygame-1.9.1release/src/_camera.c pygame-1.9.1release-v4lpatch//src/_camera.c
|
||||
*** pygame-1.9.1release/src/_camera.c Sun Mar 15 20:30:41 2009
|
||||
--- pygame-1.9.1release-v4lpatch//src/_camera.c Thu Mar 24 16:58:18 2011
|
||||
***************
|
||||
*** 160,179 ****
|
||||
{
|
||||
#if defined(__unix__)
|
||||
if (v4l2_open_device(self) == 0) {
|
||||
! if (v4l_open_device(self) == 0) {
|
||||
! v4l2_close_device(self);
|
||||
! return NULL;
|
||||
! } else {
|
||||
! self->camera_type = CAM_V4L;
|
||||
! if (v4l_init_device(self) == 0) {
|
||||
! v4l2_close_device(self);
|
||||
! return NULL;
|
||||
! }
|
||||
! if (v4l_start_capturing(self) == 0) {
|
||||
! v4l2_close_device(self);
|
||||
! return NULL;
|
||||
! }
|
||||
! }
|
||||
} else {
|
||||
self->camera_type = CAM_V4L2;
|
||||
if (v4l2_init_device(self) == 0) {
|
||||
--- 160,167 ----
|
||||
{
|
||||
#if defined(__unix__)
|
||||
if (v4l2_open_device(self) == 0) {
|
||||
! v4l2_close_device(self);
|
||||
! return NULL;
|
||||
} else {
|
||||
self->camera_type = CAM_V4L2;
|
||||
if (v4l2_init_device(self) == 0) {
|
||||
diff -crB pygame-1.9.1release/src/camera.h pygame-1.9.1release-v4lpatch//src/camera.h
|
||||
*** pygame-1.9.1release/src/camera.h Fri Oct 10 04:37:10 2008
|
||||
--- pygame-1.9.1release-v4lpatch//src/camera.h Thu Mar 24 16:44:32 2011
|
||||
***************
|
||||
*** 39,45 ****
|
||||
|
||||
#include <asm/types.h> /* for videodev2.h */
|
||||
|
||||
- #include <linux/videodev.h>
|
||||
#include <linux/videodev2.h>
|
||||
#endif
|
||||
|
||||
--- 39,44 ----
|
||||
***************
|
||||
*** 51,57 ****
|
||||
#define RGB_OUT 1
|
||||
#define YUV_OUT 2
|
||||
#define HSV_OUT 4
|
||||
- #define CAM_V4L 1
|
||||
#define CAM_V4L2 2
|
||||
|
||||
struct buffer
|
||||
--- 50,55 ----
|
||||
***************
|
||||
*** 111,118 ****
|
||||
int v4l2_close_device (PyCameraObject* self);
|
||||
int v4l2_open_device (PyCameraObject* self);
|
||||
|
||||
- /* internal functions specific to v4l */
|
||||
- int v4l_open_device (PyCameraObject* self);
|
||||
- int v4l_init_device(PyCameraObject* self);
|
||||
- int v4l_start_capturing(PyCameraObject* self);
|
||||
#endif
|
||||
--- 109,112 ----
|
|
@ -3026,6 +3026,11 @@ let
|
|||
|
||||
regina = callPackage ../development/interpreters/regina {};
|
||||
|
||||
renpy = callPackage ../development/intepreters/renpy {
|
||||
ffmpeg = ffmpeg_1;
|
||||
wrapPython = pythonPackages.wrapPython;
|
||||
};
|
||||
|
||||
ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { };
|
||||
ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { };
|
||||
ruby2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.nix { });
|
||||
|
|
Loading…
Reference in a new issue