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: firstname.lastname@example.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.