Katawa Shoujo: Re-Engineered: 1.4.2

This commit is contained in:
linsui 2024-01-31 15:32:53 +08:00 committed by linsui
parent 99c0e37249
commit a2e68247d0
4 changed files with 113 additions and 0 deletions

107
metadata/com.fhs.ksre.yml Normal file
View File

@ -0,0 +1,107 @@
AntiFeatures:
NonFreeAssets:
en-US: The assets are licensed under CC-BY-NC-ND.
Categories:
- Games
License: MPL-2.0
AuthorName: Fleeting Heartbeat Studios
WebSite: https://fhs.sh
SourceCode: https://codeberg.org/fhs/katawa-shoujo-re-engineered
IssueTracker: https://codeberg.org/fhs/katawa-shoujo-re-engineered/issues
Changelog: https://codeberg.org/fhs/katawa-shoujo-re-engineered/releases
Name: 'Katawa Shoujo: Re-Engineered'
RepoType: git
Repo: https://codeberg.org/fhs/katawa-shoujo-re-engineered.git
Builds:
- versionName: 1.4.2
versionCode: 1
commit: face3225aae220bd94a0b88fdec39f33f766691c
submodules: true
sudo:
- apt-get update
- apt-get install -y gcc libc-dev make ccache unzip bzip2 autoconf autoconf-archive
automake cmake libtool-bin clang-13 lld-13 llvm-13
- apt-get install -y python3-dev python3-pip python3-venv python3-jinja2 libgmp-dev
libmpfr-dev libmpc-dev libssl-dev libbz2-dev liblzma-dev
- apt-get install -y libavcodec-dev libavformat-dev libswresample-dev libswscale-dev
libfreetype6-dev libfribidi-dev libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev
libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
output: renpy-build/renpy/rapt3/project/app/build/outputs/apk/release/app-release-unsigned.apk
srclibs:
- renpy@8.1.3.23091805
- renpy-build@renpy-8.1.0.23050902
- pygame_sdl2@renpy-8.1.0.23050902
prebuild:
- sed -i -e 's/, "INTERNET"//' .android.json
- sed -i -e '/persistent.hdisabled/s/False/True/' game/config.rpy
- sdkmanager 'ndk;21.3.6528147'
- ln -s $$renpy-build$$ .
- pushd renpy-build
- sed -i -e 's/ :\ str|Path//' renpybuild/context.py
- sed -i -e 's/-15/-13/g' -e 's|c.var("sysroot", .*)|c.var("sysroot", "/")|'
renpybuild/run.py
- sed -i -e '/sysroot/d' -e '/live2d/d' -e '/steam/d' tasks/__init__.py
- sed -i -e '/steamapi/d' tasks/pythonlib.py
- sed -i -e 's|autoconf/build-aux|misc|' tasks/zsync.py
- sed -i -e "s|^sdkmanager =.*|sdkmanager = '$(which sdkmanager)'|" rapt/buildlib/rapt/plat.py
- sed -i -e '/plat.gradlew/i \ sys.exit(0)' -e '/config.numeric_version
=/d' rapt/buildlib/rapt/build.py
- sed -i -e '/signingConfigs {/,/^ }/d' -e '/signingConfig /d' rapt/templates/app-build.gradle
- pushd rapt/prototype/
- rm -r renpyiap
- sed -i '/com.google.android.play/d' renpyandroid/build.gradle
- sed -i -e '/play.core/d' -e 's/implements AssetPackStateUpdateListener//'
-e '/AssetPackManager/d' -e '/boolean checkPack/,/^ }/d' -e '/onStateUpdate/,/^ }/d'
-e '/assetPackStates/d' -e '/Constants.assetPacks.length/,/^ \{8\}}/s/^ \{12\}.*//'
-e '/Constants.assetPacks.length/athrow new UnsupportedOperationException("Handling
of asset packs removed for F-Droid build.");' renpyandroid/src/main/java/org/renpy/android/PythonSDLActivity.java
- popd
- mkdir -p tmp/cross.android/
- ln -s $$NDK$$ tmp/cross.android/android-ndk-r25b
- ln -s $$renpy$$ renpy
- sed -i -e '/live2dmodel/d' renpy/module/Setup
- sed -i -e 's/"rapt"/"rapt3"/g' renpy/launcher/game/android.rpy
- sed -i -e '/does not exist/s/raise //' renpy/launcher/game/distribute.rpy
- sed -i -e 's/8.2.0/8.1.3/' renpy/renpy/versions.py
- ln -s $$pygame_sdl2$$ pygame_sdl2
- ln -s $$pygame_sdl2$$ renpy/pygame_sdl2
- popd
- mkdir ksre/
- mv android* game project.json .android.json ksre/
build:
- export ROOT=$(pwd)
- cd renpy-build
- mkdir -p tmp/venv
- python3 -m venv tmp/venv
- source tmp/venv/bin/activate
- pip3 install -r requirements.txt
- python3 pygame_sdl2/setup.py install_headers
- RENPY_DEPS_INSTALL=/usr:/usr/lib/x86_64-linux-gnu/ ./renpy/run.sh renpy/launcher
quit
- ./build.py --platform linux --arch x86_64
- ./build.py --platform android --arch arm64_v8a
- cd renpy
- ./renpy3.sh launcher android_build $ROOT/ksre/
- ln -s $ROOT/renpy-build/tmp/build/sdl2.android-arm64_v8a/SDL2-*/android-project/app/src/main/java/org/libsdl
rapt3/project/renpyandroid/src/main/java/org
- cd rapt3/project
- gradle assembleRelease
ndk: r25b
MaintainerNotes: |
1. NSFW content is disabled by default.
2. Some patches are used to build renpy on Bullseye with old clang python and autoconf.
3. Live2d and steam related part are remove since they are not free.
4. Both of linux and android target of renpy need to be built since the android build script are writen in renpy.
5. The linux target is patched to be built without sysroot and sudo.
6. Some patches are used to fix wrong paths produced by renpy's build system.
7. The renpy build script is patched so that it only generates the project but doesn't build it.
AutoUpdateMode: Version
UpdateCheckMode: Tags
UpdateCheckData: .android.json|"numeric_version":\s(\d+)|.android.json|"version":\s"([\d.]+)"
CurrentVersion: 1.4.2
CurrentVersionCode: 1

2
srclibs/pygame_sdl2.yml Normal file
View File

@ -0,0 +1,2 @@
RepoType: git
Repo: https://github.com/renpy/pygame_sdl2

2
srclibs/renpy-build.yml Normal file
View File

@ -0,0 +1,2 @@
RepoType: git
Repo: https://github.com/renpy/renpy-build

2
srclibs/renpy.yml Normal file
View File

@ -0,0 +1,2 @@
RepoType: git
Repo: https://github.com/renpy/renpy