godot: update to 4.5.1, adopt
Testing the changes
- I tested the changes in this PR: yes
Local build testing
- I built this PR locally for my native architecture, (x64 glibc)
Hi! I’m currently updating Godot as part of the Vulkan stack update in my PR: https://github.com/void-linux/void-packages/pull/56439
Godot isn’t tied to the new glslang version yet, but once glslang is updated we’ll still need to revbump and rebuild Godot. Handling the update in the same flow avoids doing two separate build cycles and keeps everything consistent.
If you’d like, I can add you as a co-author of the Godot update commit and also list you as the package maintainer in my PR, since I don’t plan to maintain the package myself. Just let me know and I’ll update it.
Thanks for working on this!
@Rutpiv yes
PS: Thinking if tpz (templates for export for Godot projects) should be also added as package/subpackage
But.. They are expected in "$HOME/.local/share/godot/export_templates/${version}/"
not tried if /usr/share will work 🤔
I’ve only worked with export templates a few times in past projects, and when I needed them, I always installed them directly through the editor. But your idea makes sense, and I think we can support it cleanly in Void.
One option is to create a godot-export-templates subpackage together with a build option that enables or disables downloading the .tpz file. This way, anyone building the package who doesn’t want to download the templates (which are relatively large) can simply disable that option.
Regarding the install path: Godot expects templates under:
$HOME/.local/share/godot/export_templates/${version}/
I ran a quick test on my machine:
I downloaded the .tpz, created:
/usr/share/godot/export_templates/${version}/
extracted the contents there, and then created a symlink with:
doas ln -s /usr/share/godot/export_templates ~/.local/share/godot
After that, Godot immediately recognized the templates and I was able to export a project without any issues.
So /usr/share works fine, as long as the user creates the symlink.
About automating this:
I’m not entirely sure about Void’s policies regarding writing directly to a user’s $HOME from a package template.
Technically, it would be possible to create the directory and the symlink automatically, but since the package is installed system-wide (as root) and there may be multiple users on the machine, I’m not sure whether that would be allowed or considered correct.
It might be something worth discussing.
If this approach sounds good, we can prototype the subpackage + optional download and include it in the PR. If you have any thoughts on this approach or prefer a different direction, I’m happy to help however I can.
By the way, I’ve added you as a co-author in the Godot commit and set you as the maintainer, as agreed.
About automating this: I’m not entirely sure about Void’s policies regarding writing directly to a user’s $HOME from a package template.
That's exactly why I asked..
Maybe just add mention of symlinking to install msg?
That makes sense. I checked the manual and subpackages can indeed have their own INSTALL.msg file:
srcpkgs/<pkgname>/<subpkg>.INSTALL.msg
So we can show the symlink instructions only when installing godot-export-templates, without affecting the main godot package.
already did that, not yet in PR...