From a2e68247d033908d00881e1e34fdc9b9fe6a6183 Mon Sep 17 00:00:00 2001 From: linsui Date: Wed, 31 Jan 2024 15:32:53 +0800 Subject: [PATCH] Katawa Shoujo: Re-Engineered: 1.4.2 --- metadata/com.fhs.ksre.yml | 107 ++++++++++++++++++++++++++++++++++++++ srclibs/pygame_sdl2.yml | 2 + srclibs/renpy-build.yml | 2 + srclibs/renpy.yml | 2 + 4 files changed, 113 insertions(+) create mode 100644 metadata/com.fhs.ksre.yml create mode 100644 srclibs/pygame_sdl2.yml create mode 100644 srclibs/renpy-build.yml create mode 100644 srclibs/renpy.yml diff --git a/metadata/com.fhs.ksre.yml b/metadata/com.fhs.ksre.yml new file mode 100644 index 0000000000..101a68ff93 --- /dev/null +++ b/metadata/com.fhs.ksre.yml @@ -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 diff --git a/srclibs/pygame_sdl2.yml b/srclibs/pygame_sdl2.yml new file mode 100644 index 0000000000..7ff3a939fe --- /dev/null +++ b/srclibs/pygame_sdl2.yml @@ -0,0 +1,2 @@ +RepoType: git +Repo: https://github.com/renpy/pygame_sdl2 diff --git a/srclibs/renpy-build.yml b/srclibs/renpy-build.yml new file mode 100644 index 0000000000..6e33724feb --- /dev/null +++ b/srclibs/renpy-build.yml @@ -0,0 +1,2 @@ +RepoType: git +Repo: https://github.com/renpy/renpy-build diff --git a/srclibs/renpy.yml b/srclibs/renpy.yml new file mode 100644 index 0000000000..dd3a29cbec --- /dev/null +++ b/srclibs/renpy.yml @@ -0,0 +1,2 @@ +RepoType: git +Repo: https://github.com/renpy/renpy