upgpkg: 4.3-4: create split packages godot, godot-mono, godot-common
Preface
Currently, the AUR package godot-mono serves as getting godot with C#. As co-maintainer of it, I have kept up with mainline godot
in changes, and even contributed back to this package myself. However, I think it's best to officially adopt C# support into the mainline package.
Also, mono
and dotnet
is used interchangeably in godot due to legacy. I decided to name the new package godot-mono
as the AUR package, but I am open to calling it godot-dotnet
if decided.
Considerations
Why a split-package? Based on conversations with godot users and people at their discord, there is a difference in using Godot built with and without dotnet support for game developers. Therefore, to avoid strife in providing dotnet support, I decided to make three split-packages: godot
, godot-mono
, godot-common
.
Package breakdowns
-
godot
: The default binary already offered by Arch with its respective desktop file. -
godot-mono
: The default binary built withdotnet-sdk
and its respective desktop file. -
godot-common
: This package contains misc. files like man pages, mimeinfo, license, and icon in order to avoid repackaging the same files twice
In order to streamline the building process, I converted the arguments to scons into an array. This makes reuse and manipulation nicer. First, the vanilla binary is built, then the dotnet flags are appended to the array, and scons was called again. This saves compiling time as a lot of the third party modules is reused for the new build.
Testing
I built demos from godot-demo-projects: global_illumination for godot
and pong for godot-mono
.
Ending Comments
I personally think a split package is the best way to go. I appreciate all constructive feedback, and can't wait to hear what y'all think in comments.