Skip to content

New app: Katawa Shoujo: Re-Engineered

gardenappl requested to merge gardenappl/fdroiddata:master into master

Required

Strongly Recommended

  • The upstream app source code repo contains the app metadata (summary/description/images/changelog/etc) in a Fastlane or Triple-T folder structure
  • Releases are tagged

Suggested

  • External repos are added as git submodules instead of srclibs
  • Enable Reproducible Builds
  • Multiple apks for native code

This is a visual novel built with Ren'Py. I could not find any F-Droid packages which use Ren'Py so this is uncharted territory for me. Possibly a bit too hacky.

Ren'Py is downloaded from the official site and checksums are taken from here. The version packaged in Debian is too old, and does not have Android support.

For Android support, Ren'Py expects to have RAPT (Ren'Py Android Packaging Tool) in the same directory as the renpy binaries. In turn, RAPT creates an Android project in its subdirectory project. This is why everything happens in init and not sudo, otherwise rapt would not have the permissions to create that directory.

rapt creates a Gradle project, then invokes gradlew there. I have not found a way to separate the creation of the project from the build process. Therefore what I do is I just delete the bundled gradlew, which causes rapt to fail mid-way through, but we keep the project that it generated, then move it and clean everything up so the project can be built by the F-Droid server itself.

java/org/jnius/NativeInvocationHandler.class and the librenpython.so libs are pre-packaged with Ren'Py. Ren'Py can be built from source, but I'm not sure if I wanna do that just for this app, plus that requires Ubuntu 22.04.

ksre/game/saves/persistent mistakenly gets flagged as a binary. I'm not sure if it's necessary or where it's coming from.

Edited by gardenappl

Merge request reports

Loading