Merge pull request #179990 from ShadowRZ/shadowrz/renpy-8
This commit is contained in:
commit
e83851024e
6 changed files with 152 additions and 4 deletions
|
@ -11504,6 +11504,13 @@
|
||||||
githubId = 543055;
|
githubId = 543055;
|
||||||
name = "Shadaj Laddad";
|
name = "Shadaj Laddad";
|
||||||
};
|
};
|
||||||
|
shadowrz = {
|
||||||
|
email = "shadowrz+nixpkgs@disroot.org";
|
||||||
|
matrix = "@ShadowRZ:matrixim.cc";
|
||||||
|
github = "ShadowRZ";
|
||||||
|
githubId = 23130178;
|
||||||
|
name = "夜坂雅";
|
||||||
|
};
|
||||||
shahrukh330 = {
|
shahrukh330 = {
|
||||||
email = "shahrukh330@gmail.com";
|
email = "shahrukh330@gmail.com";
|
||||||
github = "shahrukh330";
|
github = "shahrukh330";
|
||||||
|
|
89
pkgs/development/interpreters/renpy/default.nix
Normal file
89
pkgs/development/interpreters/renpy/default.nix
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, python3, pkg-config, SDL2
|
||||||
|
, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
|
||||||
|
, makeWrapper
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "renpy";
|
||||||
|
|
||||||
|
# https://renpy.org/doc/html/changelog.html#versioning
|
||||||
|
# base_version is of the form major.minor.patch
|
||||||
|
# vc_version is of the form YYMMDDCC
|
||||||
|
# version corresponds to the tag on GitHub
|
||||||
|
base_version = "8.0.0";
|
||||||
|
vc_version = "22062402";
|
||||||
|
version = "${base_version}.${vc_version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "renpy";
|
||||||
|
repo = "renpy";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-37Hbs0i5eXMjVaETX7ImJCak0y8XtEHUaRFceA9J39A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
makeWrapper
|
||||||
|
python3.pkgs.cython
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib
|
||||||
|
] ++ (with python3.pkgs; [
|
||||||
|
python pygame_sdl2 tkinter future six pefile requests
|
||||||
|
]);
|
||||||
|
|
||||||
|
RENPY_DEPS_INSTALL = lib.concatStringsSep "::" (map (path: path) [
|
||||||
|
SDL2 SDL2.dev libpng ffmpeg.out freetype glew.dev libGLU libGL fribidi zlib
|
||||||
|
]);
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./renpy-system-fribidi.diff
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace module/setup.py \
|
||||||
|
--replace "@fribidi@" "${fribidi}"
|
||||||
|
|
||||||
|
cp tutorial/game/tutorial_director.rpy{m,}
|
||||||
|
|
||||||
|
cat > renpy/vc_version.py << EOF
|
||||||
|
vc_version = ${vc_version}
|
||||||
|
official = False
|
||||||
|
nightly = False
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = with python3.pkgs; ''
|
||||||
|
runHook preBuild
|
||||||
|
${python.interpreter} module/setup.py build --parallel=$NIX_BUILD_CORES
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = with python3.pkgs; ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
${python.interpreter} module/setup.py install --prefix=$out
|
||||||
|
mkdir -p $out/share/renpy
|
||||||
|
cp -vr sdk-fonts gui launcher renpy the_question tutorial renpy.py $out/share/renpy
|
||||||
|
|
||||||
|
makeWrapper ${python.interpreter} $out/bin/renpy \
|
||||||
|
--set PYTHONPATH "$PYTHONPATH:$out/${python.sitePackages}" \
|
||||||
|
--add-flags "-O $out/share/renpy/renpy.py"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = with python3.pkgs; "-I${pygame_sdl2}/include/${python.libPrefix}";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Visual Novel Engine";
|
||||||
|
homepage = "https://renpy.org/";
|
||||||
|
changelog = "https://renpy.org/doc/html/changelog.html";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ shadowrz ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
diff --git a/module/renpybidicore.c b/module/renpybidicore.c
|
||||||
|
index 849430d..d883a52 100644
|
||||||
|
--- a/module/renpybidicore.c
|
||||||
|
+++ b/module/renpybidicore.c
|
||||||
|
@@ -1,10 +1,6 @@
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
-#ifdef RENPY_BUILD
|
||||||
|
#include <fribidi.h>
|
||||||
|
-#else
|
||||||
|
-#include <fribidi-src/lib/fribidi.h>
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
diff --git a/module/setup.py b/module/setup.py
|
||||||
|
index bd16816..f6b8794 100755
|
||||||
|
--- a/module/setup.py
|
||||||
|
+++ b/module/setup.py
|
||||||
|
@@ -118,29 +118,17 @@ cython(
|
||||||
|
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,
|
||||||
|
+ ["fribidi"],
|
||||||
|
includes=[
|
||||||
|
- BASE + "/fribidi-src/",
|
||||||
|
- BASE + "/fribidi-src/lib/",
|
||||||
|
+ "@fribidi@/include/fribidi/",
|
||||||
|
],
|
||||||
|
define_macros=[
|
||||||
|
("FRIBIDI_ENTRY", ""),
|
||||||
|
- ("HAVE_CONFIG_H", "1"),
|
||||||
|
])
|
||||||
|
|
||||||
|
if not (android or ios or emscripten):
|
|
@ -1,15 +1,15 @@
|
||||||
{ lib, buildPythonPackage, fetchurl, isPy27
|
{ lib, buildPythonPackage, fetchurl, isPy27, renpy
|
||||||
, cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }:
|
, cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pygame_sdl2";
|
pname = "pygame_sdl2";
|
||||||
version = "2.1.0";
|
version = "2.1.0";
|
||||||
renpy_version = "7.2.0";
|
renpy_version = renpy.base_version;
|
||||||
name = "${pname}-${version}-${renpy_version}";
|
name = "${pname}-${version}-${renpy_version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.renpy.org/dl/${renpy_version}/pygame_sdl2-${version}-for-renpy-${renpy_version}.tar.gz";
|
url = "https://www.renpy.org/dl/${renpy_version}/pygame_sdl2-${version}-for-renpy-${renpy_version}.tar.gz";
|
||||||
sha256 = "1amgsb6mm8ssf7vdcs5dr8rlxrgyhh29m4i573z1cw61ynd7vgcw";
|
sha256 = "sha256-iKsnmuSBzfHlIOHUwWECfvPa9LuBbCr9Kmq5dolxUlU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# force rebuild of headers needed for install
|
# force rebuild of headers needed for install
|
||||||
|
|
|
@ -1213,7 +1213,6 @@ mapAliases ({
|
||||||
redkite = throw "redkite was archived by upstream"; # Added 2021-04-12
|
redkite = throw "redkite was archived by upstream"; # Added 2021-04-12
|
||||||
redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25
|
redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25
|
||||||
reicast = throw "reicast has been removed from nixpkgs as it is unmaintained, please use flycast instead"; # Added 2022-03-07
|
reicast = throw "reicast has been removed from nixpkgs as it is unmaintained, please use flycast instead"; # Added 2022-03-07
|
||||||
renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2"; # Added 2022-01-12
|
|
||||||
|
|
||||||
# 3 resholve aliases below added 2022-04-08; drop after 2022-11-30?
|
# 3 resholve aliases below added 2022-04-08; drop after 2022-11-30?
|
||||||
resholvePackage = throw "resholvePackage has been renamed to resholve.mkDerivation";
|
resholvePackage = throw "resholvePackage has been renamed to resholve.mkDerivation";
|
||||||
|
|
|
@ -10071,6 +10071,8 @@ with pkgs;
|
||||||
|
|
||||||
redsocks = callPackage ../tools/networking/redsocks { };
|
redsocks = callPackage ../tools/networking/redsocks { };
|
||||||
|
|
||||||
|
renpy = callPackage ../development/interpreters/renpy { };
|
||||||
|
|
||||||
rep = callPackage ../development/tools/rep { };
|
rep = callPackage ../development/tools/rep { };
|
||||||
|
|
||||||
repseek = callPackage ../applications/science/biology/repseek { };
|
repseek = callPackage ../applications/science/biology/repseek { };
|
||||||
|
|
Loading…
Reference in a new issue