godot_4_7: init at 4.7-stable (#533148)

This commit is contained in:
David McFarland
2026-06-24 15:42:31 +00:00
committed by GitHub
6 changed files with 1354 additions and 8 deletions
@@ -0,0 +1,11 @@
{
version = "4.7-stable";
hash = "sha256-ur9bQ6DTUxeTRqFITAgjpyoOEHgYnjEAQY3sSNNtr0c=";
default = {
exportTemplatesHash = "sha256-lxRFncBxkHwPPV8X1gj69p582iEzH8XTnEUD/6Tpnuw=";
};
mono = {
exportTemplatesHash = "sha256-TAKguZrZxbwkPC55RoYo2z34k1DZ24/JlZiPadEm4Gk=";
nugetDeps = ./deps.json;
};
}
File diff suppressed because it is too large Load Diff
+34 -8
View File
@@ -99,7 +99,15 @@ let
dottedVersion = lib.replaceStrings [ "-" ] [ "." ] version + lib.optionalString withMono ".mono";
harfbuzz-icu = harfbuzz.override { withIcu = true; };
harfbuzz-raster = harfbuzz.override {
withRaster = lib.versionAtLeast version "4.7";
withCairo = lib.versionAtLeast version "4.7";
};
harfbuzz-icu = harfbuzz-raster.override {
withIcu = true;
harfbuzz = harfbuzz-raster;
};
mkTarget =
target:
@@ -341,6 +349,8 @@ let
);
attrs = finalAttrs: {
__structuredAttrs = true;
pname = "godot${suffix}";
inherit version;
@@ -400,10 +410,16 @@ let
dotnet restore modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk.sln
'';
# darwin needs $HOME/.cache/clang/ModuleCache
preBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
export HOME=$(mktemp -d)
'';
# Godot 4.7 with system HarfBuzz needs explicit raster linkage, but should be resolved with 4.7.1.
# See https://github.com/godotengine/godot/pull/120568
preBuild =
lib.optionalString (!withBuiltins && lib.versionAtLeast version "4.7") ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lharfbuzz-raster"
''
# darwin needs $HOME/.cache/clang/ModuleCache.
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
export HOME=$(mktemp -d)
'';
# From: https://github.com/godotengine/godot/blob/4.2.2-stable/SConstruct
sconsFlags = mkSconsFlagsFromAttrSet (
@@ -645,7 +661,7 @@ let
# when building the mono editor, we need to build the assemblies
# before generating the bundle
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
scons $sconsFlags generate_bundle=yes
scons "''${sconsFlags[@]}" generate_bundle=yes
''
);
@@ -675,8 +691,18 @@ let
--replace-fail "Godot Engine" "Godot Engine ${
lib.versions.majorMinor version + lib.optionalString withMono " (Mono)"
}"
cp icon.svg "$out/share/icons/hicolor/scalable/apps/godot.svg"
cp icon.png "$out/share/icons/godot.png"
${
if lib.versionOlder version "4.7" then
''
cp icon.svg "$out/share/icons/hicolor/scalable/apps/godot.svg"
cp icon.png "$out/share/icons/godot.png"
''
else
''
cp misc/logo/icon.svg "$out/share/icons/hicolor/scalable/apps/godot.svg"
cp misc/logo/icon.png "$out/share/icons/godot.png"
''
}
''
+ lib.optionalString withMono ''
cp -r bin/GodotSharp "$out"/libexec/
+4
View File
@@ -61,6 +61,7 @@ rec {
godotPackages_4_4 = mkGodotPackages "4.4";
godotPackages_4_5 = mkGodotPackages "4.5";
godotPackages_4_6 = mkGodotPackages "4.6";
godotPackages_4_7 = mkGodotPackages "4.7";
godotPackages_4 = godotPackages_4_6;
godotPackages = godotPackages_4;
@@ -76,6 +77,9 @@ rec {
godot_4_6 = godotPackages_4_6.godot;
godot_4_6-mono = godotPackages_4_6.godot-mono;
godot_4_6-export-templates-bin = godotPackages_4_6.export-templates-bin;
godot_4_7 = godotPackages_4_7.godot;
godot_4_7-mono = godotPackages_4_7.godot-mono;
godot_4_7-export-templates-bin = godotPackages_4_7.export-templates-bin;
godot_4 = godotPackages_4.godot;
godot_4-mono = godotPackages_4.godot-mono;
godot_4-export-templates-bin = godotPackages_4.export-templates-bin;
@@ -14,6 +14,8 @@
# https://docs.godotengine.org/en/stable/tutorials/export/exporting_projects.html#export-templates
let
self = stdenvNoCC.mkDerivation {
__structuredAttrs = true;
pname = "godot-export-templates${lib.optionalString withMono "-mono"}-bin";
version = version;
@@ -26,6 +28,8 @@ let
unzip
];
strictDeps = true;
unpackPhase = ''
runHook preUnpack
unzip -q "$src"
+4
View File
@@ -2131,6 +2131,7 @@ with pkgs;
godotPackages_4_4
godotPackages_4_5
godotPackages_4_6
godotPackages_4_7
godotPackages_4
godotPackages
godot_4_3
@@ -2145,6 +2146,9 @@ with pkgs;
godot_4_6
godot_4_6-mono
godot_4_6-export-templates-bin
godot_4_7
godot_4_7-mono
godot_4_7-export-templates-bin
godot_4
godot_4-mono
godot_4-export-templates-bin