Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,3 +227,24 @@ That file must be written to `$XDG_CONFIG_HOME/flatpaker/config.toml` (if unset

A Json based schema is provided, which can be used with VSCode's EvenBetterToml
extension. It may be useful elsewhere.

## FAQ and Things You Should Know

### Ren'Py 7 Python 3 runtime

tl;dr: This runtime is deprecated and will be removed in the future, unless
someone reports a game that uses it.

This runtime is still based on the older Freedesktop 24.08 runtime. This runtime
will reach EOL in 2026/09. Updating to 25.08 or 26.08 is not trivial.

Ren'Py 7 cannot be built with a Python newer than 3.12, due to it's reliance on
Cython 0.29, which does not support a new Python 3 release. This means I would
either need to build a second copy of Python 3 into the runtime (possible),
update Ren'Py 7 (and its dependencies) to build with newer Cython (possible, but
harder, more likley to introduce bugs).

I also have yet to find a single Ren'Py game that actually uses it, everything
Python 3 based uses Ren'Py 8, and everythign using Ren'Py 7 uses Python 2 (or
works with Python 2). I originally created the Ren'Py 7 Python 3 runtime for
completeness and because it was interesting and easy.
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
build-runtime: true
id: com.github.dcbaker.flatpaker.RPGM.Platform
runtime-version: "24.08"
runtime-version: "25.08"
runtime: org.freedesktop.Platform
sdk: org.freedesktop.Sdk
inherit-extensions:
- "org.freedesktop.Platform.GL"
- "org.freedesktop.Platform.VAAPI.Intel"
- "org.freedesktop.Platform.VAAPI.nvidia"
modules:
- name: "nwjs"
buildsystem: "simple"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ build-runtime: true
id: com.github.dcbaker.flatpaker.RenPy.Sdk
id-platform: com.github.dcbaker.flatpaker.RenPy.Platform
branch: "7"
runtime-version: "24.08"
runtime-version: "25.08"
runtime: org.freedesktop.Platform
sdk: org.freedesktop.Sdk
inherit-extensions:
Expand All @@ -12,6 +12,7 @@ modules:
- "modules/renpy-shared.yml"
- "modules/python-2.7.json"
- "modules/python2-requirements.json"
- "modules/sdl2.json"
- name: PyGame_SDL2
buildsystem: simple
build-commands:
Expand Down
11 changes: 10 additions & 1 deletion flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py3.Sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ inherit-extensions:
modules:
- "modules/renpy-shared.yml"
- "modules/python3-requirements.json"
- "modules/python3-cython0.yml"
- name: "python3-cython0"
buildsystem: "simple"
build-commands:
- pip3 install --prefix=${FLATPAK_DEST} --no-deps . --verbose --exists-action=i --no-index --no-build-isolation
sources:
- type: "git"
url: "https://github.com/dcbaker/cython.git"
branch: "cython0"
cleanup-platform:
- '*'
- name: PyGame_SDL2
buildsystem: simple
build-commands:
Expand Down
18 changes: 10 additions & 8 deletions flatpaker/data/com.github.dcbaker.flatpaker.RenPy.8.Sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,25 @@ build-runtime: true
id: com.github.dcbaker.flatpaker.RenPy.Sdk
id-platform: com.github.dcbaker.flatpaker.RenPy.Platform
branch: "8"
runtime-version: "24.08"
runtime-version: "25.08"
runtime: org.freedesktop.Platform
sdk: org.freedesktop.Sdk
inherit-extensions:
- "org.freedesktop.Platform.GL"
- "org.freedesktop.Platform.VAAPI.Intel"
- "org.freedesktop.Platform.VAAPI.nvidia"
modules:
- "modules/renpy-shared.yml"
- "modules/python3-requirements.json"
- "modules/sdl2.json"
- name: assimp
buildsystem: cmake-ninja
config-opts:
- "-DASSIMP_BUILD_SAMPLES=OFF"
- "-DASSIMP_WARNINGS_AS_ERRORS=OFF"
- "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF"
- "-DASSIMP_BUILD_ZLIB=OFF"
cleanup:
cleanup-platform:
- "/include"
- "/lib/*/cmake"
- "/lib/*/pkgconfig"
Expand Down Expand Up @@ -47,9 +49,9 @@ modules:
- "/lib/*.la"
cleanup-platform:
- "/include"
- "/lib/cmake"
- "/lib/pkgconfig"
- "/lib/*.a"
- "/lib/*/cmake"
- "/lib/*/pkgconfig"
- "/lib/*/*.a"
sources:
- type: "git"
url: "https://github.com/frankheckenbach/ftgl"
Expand Down Expand Up @@ -81,8 +83,8 @@ modules:
- mv 00enabledebug.rpy renpy/common/

# TODO: calculate where site packages is instead of hardocding
- cp -rv renpy ${FLATPAK_DEST}/lib/python3.12/site-packages || exit 1
- python -m compileall ${FLATPAK_DEST}/lib/python3.12/site-packages/renpy || exit 1
- cp -rv renpy ${FLATPAK_DEST}/lib/python3.13/site-packages || exit 1
- python -m compileall ${FLATPAK_DEST}/lib/python3.13/site-packages/renpy || exit 1
- install -Dm755 renpy-bin -t ${FLATPAK_DEST}/bin/ || exit 1

# the renpy script gets mad that /app/lib/game doesn't exist, use the
Expand All @@ -92,7 +94,7 @@ modules:
- |
mkdir -p /app/lib/game/ || exit 1
mv the_question /app/lib/game/game || exit 1
pushd ${FLATPAK_DEST}/lib/python3.12/site-packages/renpy || exit 1
pushd ${FLATPAK_DEST}/lib/python3.13/site-packages/renpy || exit 1
${FLATPAK_DEST}/bin/renpy-bin 'dummy' 'dummy' "/app/lib/game" compile || exit 1
popd
rm -r /app/lib/game || exit 1
Expand Down
10 changes: 0 additions & 10 deletions flatpaker/data/modules/python3-cython0.yml

This file was deleted.

48 changes: 48 additions & 0 deletions flatpaker/data/modules/sdl2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"name": "sdl2",
"buildsystem": "simple",
"build-commands": [],
"modules": [
{
"name": "SDL2_image",
"config-opts": [
"-DSDL2IMAGE_DEPS_SHARED=OFF",
"-DSDL2IMAGE_STRICT=ON"
],
"cleanup-platform": [
"/include",
"/lib/*/cmake",
"/lib/*/pkgconfig"
],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "archive",
"url": "https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.12/SDL2_image-2.8.12.tar.gz",
"sha256": "393f5efb50536ec13ca4f4affb69cc9966d3c3f969e6c5e701faddf9f9785381"
}
]
},
{
"name": "SDL2_ttf",
"config-opts": [
"-DSDL2TTF_HARFBUZZ=ON"
],
"cleanup-platform": [
"/include",
"/lib/*/cmake",
"/lib/*/pkgconfig"
],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "archive",
"url": "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.24.0/SDL2_ttf-2.24.0.tar.gz",
"sha256": "0b2bf1e7b6568adbdbc9bb924643f79d9dedafe061fa1ed687d1d9ac4e453bfd"
}
]
}
]
}
Loading