New app: Katawa Shoujo: Re-Engineered
Required
-
The app complies with the inclusion criteria -
The original app author has been notified (and does not oppose the inclusion) -
All related fdroiddata and RFP issues have been referenced in this merge request -
Builds with fdroid build
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.