I’m having trouble building my Godot Engine game, Carpe Diem, on F-Droid. I’ve looked at build scripts for previously published Godot games and then wrote one for Carpe Diem. After a number of revisions I’ve been able to build Godot Engine, 3.3.2, and the Android export template, but when running the export release command for Carpe Diem Godot seems to stop responding.
Running it with the verbose option indicates that the project is loaded as well as the project assets, but after the assets are loaded no more output is printed, Carpe Diem is not exported and Godot never exits, but rather just sits there until the job times out.
Hopefully someone can offer some assistance here. I’ve posted at the Godot forums, but haven’t received any replies. Carpe Diem builds on my tablet computer in about a minute or two without any problems.
The failed merge request can be found at https://gitlab.com/Tryder/fdroiddata/-/merge_requests/1
And the yaml:
Categories:
- Games
License: 0BSD
AuthorName: Adam T. Ryder
AuthorEmail: tryder@inventati.org
WebSite: https://www.inventati.org/1337gallery/games/carpediem/carpediem.html
SourceCode: https://github.com/ATryder/CarpeDiem
IssueTracker: https://github.com/ATryder/CarpeDiem/issues
Changelog: https://github.com/ATryder/CarpeDiem/releases
AutoName: Carpe Diem
RepoType: git
Repo: https://github.com/ATryder/CarpeDiem.git
Builds:
- versionName: 1.0.7
versionCode: 10
commit: db233c34c02963bcfb0f34590c876f2925a91507
timeout: 36000
sudo:
- apt-get update || apt-get update
- apt-get install -y g++
output: carpediem.apk
srclibs:
- Godot@3.3.2-stable
prebuild:
- mkdir game
- bash -O extglob -c "mv !(game) game"
- mv ./.[!.]* game
- cp -R $$Godot$$ godot
- rm godot/misc/dist/ios_xcode/libgodot.iphone.release.fat.a
- rm godot/misc/dist/ios_xcode/libgodot.iphone.debug.fat.a
- sed -i "/String\[] mavenRepos = getGodotPluginsMavenRepos()/,+7 d" ./godot/platform/android/java/app/build.gradle
build:
- cd godot
- sed -i "s|valid = false|valid = true|" ./platform/android/export/export.cpp
- mkdir -p ../fake_user_home/.config/godot/
- cp ../game/editor_settings-3.tres ../fake_user_home/.config/godot/
- mkdir -p ../fake_user_home/.android/
- pushd ../fake_user_home
- export HOME=$PWD
- popd
- scons -j `nproc` platform=server unix_global_settings_path=".."
- export ANDROID_NDK_ROOT=$$NDK$$
- scons -j `nproc` platform=android target=release android_arch=armv7
- pushd platform/android/java/
- gradle generateGodotTemplates
- popd
- mkdir -p ../fake_user_home/.local/share/godot/templates/3.3.2.stable/
- echo "3.3.2.stable" > ../fake_user_home/.local/share/godot/templates/3.3.2.stable/version.txt
- cp ./bin/android_release.apk ../fake_user_home/.local/share/godot/templates/3.3.2.stable/
- cp ./bin/android_source.zip ../fake_user_home/.local/share/godot/templates/3.3.2.stable/
- cd ../game
- sed -i "s|architectures/arm64-v8a=true|architectures/arm64-v8a=false|" export_presets.cfg
- sed -i "s|architectures/x86=true|architectures/x86=false|" export_presets.cfg
- sed -i "s|architectures/x86_64=true|architectures/x86_64=false|" export_presets.cfg
- sed -i "s|package/signed=true|package/signed=false|" export_presets.cfg
- ../godot/bin/godot_server.x11.tools.* --verbose --export Android ../carpediem.apk
ndk: r21e
AutoUpdateMode: Version v%v
UpdateCheckMode: Tags
CurrentVersion: 1.0.7
CurrentVersionCode: 10
One of the other build scripts I found, for Godot 3.2.3, includes the debug export template as well as the release version. I’ve removed that as it seemed unnecessary, but I did try it with building the debug template in addition to the release template and came up with the same results.
Thanks