Skip to content

upgpkg: 4.3-4: create split packages godot, godot-mono, godot-common

Hurricane Pootis requested to merge (removed):split-mono into main

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

  1. godot: The default binary already offered by Arch with its respective desktop file.
  2. godot-mono: The default binary built with dotnet-sdk and its respective desktop file.
  3. 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.

Merge request reports

Loading