diff --git a/dev-games/godot-dotnet/Manifest b/dev-games/godot-dotnet/Manifest index 4cc081e7fd..6d449a71f8 100644 --- a/dev-games/godot-dotnet/Manifest +++ b/dev-games/godot-dotnet/Manifest @@ -1,9 +1,15 @@ DIST DiffPlex.1.5.0.nupkg 42162 BLAKE2B 765876495af5b34387c999df54c67f4c5e79d6c5ed33bdccbd3fa6eabfc670b2c983e62daceed6349133024a3d805075e110eebff7470fe9425295de2105adc4 SHA512 8c25594b1bb32950977df3c4282e6aad0abf939496db167b764500afc330d9137f044073466ea3c99d88ae274e0addaf0b877df9dce9af9ba0dd660e941fa53c DIST Godot.SourceGenerators.4.4.1.nupkg 58404 BLAKE2B 8a043bb40e43520de78d13d66d8bb7f4c588d8c38591d90426935d77966c141ecd2bb09bb54b00beb184d4910aed4e478ab3fc576c9645912dfda8acb34daa04 SHA512 84873d27957e6cc725cbc1c86c0bbc948281a7b8cf6e19de92d119e95a5ac15d12162925e409b2a01279bd8e2150d58383c47c1b0cc7a401aa3882877af207a5 +DIST Godot.SourceGenerators.4.5.0.nupkg 58973 BLAKE2B 8360fa306ae34c90fd5c5060b4226963eed5c8e9704100d20717112074f3a83ca1336d7fee954151f33e46eb75372999aa62b20036abf67d9921143d702d1e7d SHA512 0ad69c11d976369710c80c2d404cda3e1a617daf28e23bcb5038570088105ef69d464147679bc9a8984538a87b23941bfc0b71749f85cbd7936790224bce1b98 DIST GodotSharp.4.4.1.nupkg 2906823 BLAKE2B 6d8abf41ad90543f3c7f909e457cf2982c74c686dce3afb02f8f6e40104e68f837e99d97a7785918b2c92092f89767587bb5d45da39b81e2b789c9f5fc4e6df4 SHA512 04ab1e371f277670c5254adc926927dcb7e870eb1a64984da03acdf6d9835d227acf12bc376e7a571792dd82097ac5a7a776d2df51e02c99199c6a6f4952c450 +DIST GodotSharp.4.5.0.nupkg 3028398 BLAKE2B d47f41f527bc12b92297deee7bfcb252d1db347e1cb6877555e5471238541e2c979d619e14f2900ed59ba030e3a4f2544e4ba5d5ffae1d6299176a212746cf28 SHA512 9f2c437bcfc5c4315d89f2d8e844fc10d5f9a88915a986acdb3867b100512b10b17c509fa0fca61aadc483bd37e6e7c8ed85ad8a421b672d8f06317108212bd4 +DIST GodotTools.IdeMessaging.1.1.2.nupkg 34674 BLAKE2B 09af425bcbda47cbe13c9a59a16b8e0d3f4e06334d09767e0087a8991c712cd611181b73e5747ad4e5e7143ce666ae3da3d34b69a50b2bfcaef0b25c52f66a18 SHA512 9e7626e706b3f287eeb9e762255bb907e4558107ea9909de7797a4c0c45362147fb3ba86509d2910c67c7b43dbd13aa07ce25439c4cc3a6c8d53f5ca1a533793 DIST Humanizer.Core.2.14.1.nupkg 538179 BLAKE2B c3e3c3c7d3fb3484dc85f5eaf25ff4f4428cd36b3458c5664fa7c29cb62ea291aded48a369823459d684ff79ce63a16650dcd37e8cd123c23ab943faea92cfd7 SHA512 cb3a8653f1ca34b67d52fafa92f49cdf0615fd2e4efc8be4948516e5617b32e8af18b63cc12e486672cf92dec3d4a5bc12dd849e5d08dcbce0daf196336e17b3 DIST Humanizer.Core.2.2.0.nupkg 104728 BLAKE2B 6c383abbbed9250f2a7eeec4478ead8f23ad53aa62a5b0f22e71fed9157aa6644a9a7518842d637885b7b63a4300754e1a7e9f3f9968725607ad30bf18e27a21 SHA512 e232459f914c8e7fc3f8dee69a85e66beb8c44515d4c83a976ee24084a91f32aae61c6f845ff38edcae02d0bcab44f9ec253277dccf2f4ae7e82235047bc6ade DIST JetBrains.Annotations.2019.1.3.nupkg 109848 BLAKE2B 55c50a110ce3206d39160e8b731369d75f469a627131e0f8987795ce01c93f0b3a86ae8605078b0afdd3b3f9d9eee491ad299928bdb51837bce27e1cab378adb SHA512 b655a923edc9c4948fd75b56689e07fc9151dfef0b63bc8d3e0a315a72b41559d3d6e69dbf662c0303dd00d9efc5a6238d1bd9081d5e8d1b379486ff8ebb0776 +DIST JetBrains.Lifetimes.2024.3.0.nupkg 442945 BLAKE2B 168d194a081f692512d2ee14d19807d459dc02339ccd6bfc43e7ed1b86f0d1bfc2b7d06d8b9d9fc6f4413c8cb869de85e2366a38c52cd7d02e03e8791efa1b14 SHA512 d187dcc10f6b3467d0d621355de736c458fc6b67126d334f989d6acea8f496cd7ddb1e22e3df5ef70e29670349c657c6694bd801874e85c6bf06a4ca8366f010 +DIST JetBrains.RdFramework.2024.3.0.nupkg 301258 BLAKE2B ff2b42a422d06f3244514c08948945de5148b58a6267b0a32f31c71f0b3df03a4edb35572526e68803e878ffdd1604ba5c9936b9c85d4581f3a7f14e66028e27 SHA512 ce6f5c8d2cb672ebf5513b863f4936447469105d7a45049757287d8b88d6c88a422ad39c98152d6e4a3478f84ee6d4f68c11c54f08b3144bcc70c08d10f5b715 +DIST JetBrains.Rider.PathLocator.1.0.12.nupkg 24750 BLAKE2B 97d2eb092cdb2571b72d8e00297931d962e3a5e524fcd659c84de73aca5ab948ee5aa6f04e73e688d53f0cae748898ff52e0361ac932e666ff0c77ebc3745786 SHA512 c4806230e6a33b94417ed721a04cc7936a0761922734d0b7b51bf54d942c2208a675aaa78563c3315c102c2b34cd8fde733ed73b2826f593dbb899bf7fa19449 DIST JetBrains.Rider.PathLocator.1.0.9.nupkg 32084 BLAKE2B a5cfb0680b19618d23de6df9d67eee840a776e30ab02b8bdf4a060766d371b11759fcde4b80ef67f99ad3865a27435c62722c5f5bef9cff0543f6a9764b72b25 SHA512 d3e4ce00b5c7a0a303f583cd7bd80e93ca05ea823ca68ea49357795385d322c65f257e460e0b924a4e7b7277561997c2f93cc8ddf63346dc31bba6165f9f4818 DIST Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg 74074 BLAKE2B 8e27e56988f0120d2b8e17e05dc6b801bfcb237b700dab5054049473db34d6a2fa4f59eeef7c857c31002488a882910ea7f44be2187b85dd5d1a96edcaddd234 SHA512 cea6febc03e3ddd6fc8ad31ebe92fc3f7134f81cc1fef8fb079ec3cd72f8a31120e836c8c39bf16109abd2253919371e2462b9570a2fd6525ad9dfd1f9929a28 DIST Microsoft.Bcl.AsyncInterfaces.7.0.0.nupkg 95839 BLAKE2B 057f789af840dcb18f3e2a823f8e16725fdecf93986a469544876d66854e541fcbda2031f8379fc22489d5a8a1fd9f766285b99cae88b7ef8412cb4befb0fabe SHA512 35bf41d65c4269bd0b662d228cd2c4a70e21830b745a5f1040cd43c488494b6a2d0a102d21531fc86ad89776337528eca6f0583e588996bd240ad8b334055edf @@ -216,6 +222,7 @@ DIST System.Xml.XmlDocument.4.0.1.nupkg 285151 BLAKE2B a58a4b04d21e6de8fc5f66294 DIST coverlet.collector.3.2.0.nupkg 2209480 BLAKE2B 175bcfcb9d6e5177d44f2d607f2411cbe77d6009d096bbc84372e33d7be972d3e39ec39d7f2669b4b91f4bcf44f6ddd46bc91541c0cc4843426e2dd1073bf5c2 SHA512 b63d02a5d3233805b42f0b8cc76f40c8d9f5a0117beb6bdb2ab147f5521bb99919b29d51ff91767ce0bfcab92d25fc8fe794133cadc60da3e009ae18d10fc920 DIST envdte.17.8.37221.nupkg 158612 BLAKE2B 01ce699e809c684d957f92822a5a5e0740e7d98f905f9d6b2c24bd6571d469c37265fc874acb1a32206964a0414b97641df04bac22af055ba61a5ba4d4842fdc SHA512 68a892707d5637a4170e14d89d7039349c32b3722723b63ea396681c6ed07a6e8ba626ebce393eb03c7034b94e1a21fdf80dbcb18fe0224d55192779d6ee63fe DIST godot-4.4.1-stable.tar.xz 37561040 BLAKE2B 6c424f1faa28b43a9835ea80a75de273f81877e180c0664b39080a7fa57d4d580a9b9fc6bed50a308f3a15a429c9b93d63cee99a347d6cf1cbe87b870a76f284 SHA512 f67882a70dc9e2d2efbbc9cda657f292ba05bb4c8341809c56fe054979032a93b04f9125815865efeaa269cf404010eb74f075a37faebb2a8f28be5abb706480 +DIST godot-4.5-stable.tar.xz 42771064 BLAKE2B 3a3e816f124bf26a20d6ecb256e49ce8939687c2b21ac527e7e4b6543ef54137ef11df31e1c5bcbbb061d9b426d58d22ef37256965870fd2c9bfe06d6315736f SHA512 046428d8c336747d1853e4a2cdab82e3d6605d25c64dc85efdaa600cbca7436e59e32b401e89b92bcef42059afb2b9156bbce85c34a658cf76957830bd829d50 DIST runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl.4.3.0.nupkg 44390 BLAKE2B 60483871cb9b81514f5b63f1f9ab9cf1c7a6ddb1d33a2a65608b47a2cf8cc3b7eee8e087250a1c49eb2893f36f29410e897387346fa4c3fc5c71e41046f13673 SHA512 b2cf809fe50c4b46bd6f2372265cd3059622550123afceb5dbb2410906c07a7f47bae4273584d29253d5e7a63a17c68c7ba0434608bbc8fd4d00e479b2f128ff DIST runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl.4.3.0.nupkg 42827 BLAKE2B d2b79a9b83e0bdf569a5c333ba4f86ccb1d5b532d2e1cff3ba7bb597688ac78268a515be4c35a025c66727070100634a4bc946e02ae7b93061be968fab241bed SHA512 fd8e32d7d3e9a465202e391b0ab8b95e212900879bc4d8ac22954fd2d0f98fa579e9d25f88885ac2a4bf1eba755db940f8d131250a3ffec34dbe77431a379cab DIST runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl.4.3.0.nupkg 42833 BLAKE2B be9197f3008b3dda19a45e5b5df2ce3604f58a98045a122aa77f082708de67ad953fba761c39ec419e945155ad74d5800638feb581e5d84424ba104f32541640 SHA512 4afac5cc1734330a6103880e790d639e825bfb1b34dbd42083762c47db5e5dab6c03efd16049ac03861d7d87746caed09c7534241d51b7341d47ba6af7e8dd31 diff --git a/dev-games/godot-dotnet/files/godot-dotnet-4.5-scons.patch b/dev-games/godot-dotnet/files/godot-dotnet-4.5-scons.patch new file mode 100644 index 0000000000..ac1fd270ed --- /dev/null +++ b/dev-games/godot-dotnet/files/godot-dotnet-4.5-scons.patch @@ -0,0 +1,16 @@ +--- a/SConstruct ++++ b/SConstruct +@@ -304,2 +304,3 @@ + opts.Add("CC", "C compiler binary") ++opts.Add("AR", "Archiver") + opts.Add("LINK", "Linker binary") +@@ -745,3 +746,3 @@ + # `-msse2` is implied when compiling for x86_64. +- env.Append(CCFLAGS=["-msse4.2", "-mpopcnt"]) ++ pass + elif env["arch"] == "x86_32": +@@ -817,3 +818,3 @@ + else: +- env.AppendUnique(LINKFLAGS=["-s"]) ++ pass + diff --git a/dev-games/godot-dotnet/godot-dotnet-4.5.ebuild b/dev-games/godot-dotnet/godot-dotnet-4.5.ebuild new file mode 100644 index 0000000000..a6f32865a5 --- /dev/null +++ b/dev-games/godot-dotnet/godot-dotnet-4.5.ebuild @@ -0,0 +1,523 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +DOTNET_PKG_COMPAT="8.0" +NUGETS=" +coverlet.collector@3.2.0 +DiffPlex@1.5.0 +envdte@17.8.37221 +GodotSharp@4.5.0 +Godot.SourceGenerators@4.5.0 +GodotTools.IdeMessaging@1.1.2 +Humanizer.Core@2.14.1 +Humanizer.Core@2.2.0 +JetBrains.Annotations@2019.1.3 +JetBrains.Lifetimes@2024.3.0 +JetBrains.RdFramework@2024.3.0 +JetBrains.Rider.PathLocator@1.0.12 +Microsoft.Bcl.AsyncInterfaces@5.0.0 +Microsoft.Bcl.AsyncInterfaces@7.0.0 +Microsoft.Build@15.1.548 +Microsoft.Build.Framework@15.1.548 +Microsoft.Build.NoTargets@2.0.1 +Microsoft.Build.Locator@1.2.6 +Microsoft.CodeAnalysis.Analyzers@3.3.2 +Microsoft.CodeAnalysis.Analyzers@3.3.4 +Microsoft.CodeAnalysis.Analyzer.Testing@1.1.1 +Microsoft.CodeAnalysis.CodeFix.Testing@1.1.1 +Microsoft.CodeAnalysis.Common@3.11.0 +Microsoft.CodeAnalysis.Common@4.8.0 +Microsoft.CodeAnalysis.CSharp@3.11.0 +Microsoft.CodeAnalysis.CSharp@4.8.0 +Microsoft.CodeAnalysis.CSharp.Analyzer.Testing@1.1.1 +Microsoft.CodeAnalysis.CSharp.Analyzer.Testing.XUnit@1.1.1 +Microsoft.CodeAnalysis.CSharp.CodeFix.Testing@1.1.1 +Microsoft.CodeAnalysis.CSharp.CodeFix.Testing.XUnit@1.1.1 +Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing@1.1.1 +Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing.XUnit@1.1.1 +Microsoft.CodeAnalysis.CSharp.Workspaces@3.11.0 +Microsoft.CodeAnalysis.CSharp.Workspaces@4.8.0 +Microsoft.CodeAnalysis.SourceGenerators.Testing@1.1.1 +Microsoft.CodeAnalysis.Testing.Verifiers.XUnit@1.1.1 +Microsoft.CodeAnalysis.Workspaces.Common@3.11.0 +Microsoft.CodeAnalysis.Workspaces.Common@4.8.0 +Microsoft.CodeCoverage@17.7.1 +Microsoft.NETCore.Platforms@1.0.1 +Microsoft.NETCore.Platforms@1.1.0 +Microsoft.NETCore.Platforms@2.0.0 +Microsoft.NETCore.Platforms@5.0.0 +Microsoft.NETCore.Targets@1.0.1 +Microsoft.NETCore.Targets@1.1.0 +Microsoft.NETFramework.ReferenceAssemblies@1.0.0 +Microsoft.NETFramework.ReferenceAssemblies.net461@1.0.0 +Microsoft.NET.Test.Sdk@17.7.1 +Microsoft.TestPlatform.ObjectModel@17.7.1 +Microsoft.TestPlatform.TestHost@17.7.1 +Microsoft.VisualBasic@10.0.1 +Microsoft.VisualStudio.Composition@16.1.8 +Microsoft.VisualStudio.Composition.NetFxAttributes@16.1.8 +Microsoft.VisualStudio.Interop@17.8.37221 +Microsoft.VisualStudio.Validation@15.0.82 +Microsoft.Win32.Primitives@4.0.1 +Microsoft.Win32.Primitives@4.3.0 +Microsoft.Win32.Registry@4.0.0 +Microsoft.Win32.Registry@4.3.0 +Microsoft.Win32.Registry@5.0.0 +NETStandard.Library@1.6.1 +NETStandard.Library@2.0.3 +Newtonsoft.Json@13.0.1 +NuGet.Common@5.6.0 +NuGet.Configuration@5.6.0 +NuGet.Frameworks@6.12.1 +NuGet.Frameworks@6.5.0 +NuGet.Packaging@5.6.0 +NuGet.Protocol@5.6.0 +NuGet.Resolver@5.6.0 +NuGet.Versioning@5.6.0 +ReflectionAnalyzers@0.1.22-dev +runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.native.System@4.0.0 +runtime.native.System@4.3.0 +runtime.native.System.IO.Compression@4.1.0 +runtime.native.System.IO.Compression@4.3.0 +runtime.native.System.Net.Http@4.3.0 +runtime.native.System.Security.Cryptography.Apple@4.3.0 +runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple@4.3.0 +runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl@4.3.0 +System.AppContext@4.1.0 +System.AppContext@4.3.0 +System.Buffers@4.3.0 +System.Buffers@4.5.1 +System.Collections@4.0.11 +System.Collections@4.3.0 +System.Collections.Concurrent@4.0.12 +System.Collections.Concurrent@4.3.0 +System.Collections.Immutable@1.2.0 +System.Collections.Immutable@5.0.0 +System.Collections.Immutable@7.0.0 +System.Collections.NonGeneric@4.0.1 +System.ComponentModel.Composition@4.5.0 +System.Composition@1.0.31 +System.Composition@7.0.0 +System.Composition.AttributedModel@1.0.31 +System.Composition.AttributedModel@7.0.0 +System.Composition.Convention@1.0.31 +System.Composition.Convention@7.0.0 +System.Composition.Hosting@1.0.31 +System.Composition.Hosting@7.0.0 +System.Composition.Runtime@1.0.31 +System.Composition.Runtime@7.0.0 +System.Composition.TypedParts@1.0.31 +System.Composition.TypedParts@7.0.0 +System.Console@4.0.0 +System.Console@4.3.0 +System.Diagnostics.Contracts@4.0.1 +System.Diagnostics.Debug@4.0.11 +System.Diagnostics.Debug@4.3.0 +System.Diagnostics.DiagnosticSource@4.3.0 +System.Diagnostics.FileVersionInfo@4.0.0 +System.Diagnostics.Process@4.1.0 +System.Diagnostics.Process@4.3.0 +System.Diagnostics.Tools@4.3.0 +System.Diagnostics.TraceSource@4.0.0 +System.Diagnostics.Tracing@4.1.0 +System.Diagnostics.Tracing@4.3.0 +System.Dynamic.Runtime@4.0.11 +System.Dynamic.Runtime@4.3.0 +System.Globalization@4.0.11 +System.Globalization@4.3.0 +System.Globalization.Calendars@4.3.0 +System.Globalization.Extensions@4.3.0 +System.IO@4.1.0 +System.IO@4.3.0 +System.IO.Compression@4.1.0 +System.IO.Compression@4.3.0 +System.IO.Compression.ZipFile@4.3.0 +System.IO.FileSystem@4.0.1 +System.IO.FileSystem@4.3.0 +System.IO.FileSystem.Primitives@4.0.1 +System.IO.FileSystem.Primitives@4.3.0 +System.IO.Pipelines@5.0.1 +System.IO.Pipelines@7.0.0 +System.IO.Pipes@4.0.0 +System.Linq@4.1.0 +System.Linq@4.3.0 +System.Linq.Expressions@4.1.0 +System.Linq.Expressions@4.3.0 +System.Linq.Parallel@4.0.1 +System.Memory@4.5.4 +System.Memory@4.5.5 +System.Net.Http@4.3.0 +System.Net.Primitives@4.0.11 +System.Net.Primitives@4.3.0 +System.Net.Sockets@4.1.0 +System.Net.Sockets@4.3.0 +System.Numerics.Vectors@4.4.0 +System.ObjectModel@4.0.12 +System.ObjectModel@4.3.0 +System.Reflection@4.1.0 +System.Reflection@4.3.0 +System.Reflection.Emit@4.0.1 +System.Reflection.Emit@4.3.0 +System.Reflection.Emit.ILGeneration@4.0.1 +System.Reflection.Emit.ILGeneration@4.3.0 +System.Reflection.Emit.Lightweight@4.0.1 +System.Reflection.Emit.Lightweight@4.3.0 +System.Reflection.Extensions@4.0.1 +System.Reflection.Extensions@4.3.0 +System.Reflection.Metadata@1.3.0 +System.Reflection.Metadata@5.0.0 +System.Reflection.Metadata@7.0.0 +System.Reflection.Primitives@4.0.1 +System.Reflection.Primitives@4.3.0 +System.Reflection.TypeExtensions@4.1.0 +System.Reflection.TypeExtensions@4.3.0 +System.Resources.ResourceManager@4.0.1 +System.Resources.ResourceManager@4.3.0 +System.Runtime@4.1.0 +System.Runtime@4.3.0 +System.Runtime.CompilerServices.Unsafe@5.0.0 +System.Runtime.CompilerServices.Unsafe@6.0.0 +System.Runtime.Extensions@4.1.0 +System.Runtime.Extensions@4.3.0 +System.Runtime.Handles@4.0.1 +System.Runtime.Handles@4.3.0 +System.Runtime.InteropServices@4.1.0 +System.Runtime.InteropServices@4.3.0 +System.Runtime.InteropServices.RuntimeInformation@4.0.0 +System.Runtime.InteropServices.RuntimeInformation@4.3.0 +System.Runtime.Loader@4.0.0 +System.Runtime.Numerics@4.3.0 +System.Security.AccessControl@4.5.0 +System.Security.AccessControl@5.0.0 +System.Security.Cryptography.Algorithms@4.3.0 +System.Security.Cryptography.Cng@4.3.0 +System.Security.Cryptography.Csp@4.3.0 +System.Security.Cryptography.Encoding@4.3.0 +System.Security.Cryptography.OpenSsl@4.3.0 +System.Security.Cryptography.Primitives@4.3.0 +System.Security.Cryptography.ProtectedData@4.3.0 +System.Security.Cryptography.X509Certificates@4.3.0 +System.Security.Permissions@4.5.0 +System.Security.Principal@4.0.1 +System.Security.Principal.Windows@4.5.0 +System.Security.Principal.Windows@5.0.0 +System.Text.Encoding@4.0.11 +System.Text.Encoding@4.3.0 +System.Text.Encoding.CodePages@4.5.1 +System.Text.Encoding.CodePages@7.0.0 +System.Text.Encoding.Extensions@4.0.11 +System.Text.Encoding.Extensions@4.3.0 +System.Text.RegularExpressions@4.1.0 +System.Text.RegularExpressions@4.3.0 +System.Threading@4.0.11 +System.Threading@4.3.0 +System.Threading.Channels@7.0.0 +System.Threading.Overlapped@4.0.1 +System.Threading.Tasks@4.0.11 +System.Threading.Tasks@4.3.0 +System.Threading.Tasks.Dataflow@4.6.0 +System.Threading.Tasks.Extensions@4.0.0 +System.Threading.Tasks.Extensions@4.3.0 +System.Threading.Tasks.Extensions@4.5.4 +System.Threading.Thread@4.0.0 +System.Threading.Thread@4.3.0 +System.Threading.ThreadPool@4.0.10 +System.Threading.ThreadPool@4.3.0 +System.Threading.Timer@4.3.0 +System.ValueTuple@4.5.0 +System.Xml.ReaderWriter@4.0.11 +System.Xml.ReaderWriter@4.3.0 +System.Xml.XDocument@4.3.0 +System.Xml.XmlDocument@4.0.1 +System.Xml.XPath@4.0.1 +System.Xml.XPath.XmlDocument@4.0.1 +xunit@2.4.2 +xunit.abstractions@2.0.3 +xunit.analyzers@1.0.0 +xunit.assert@2.4.2 +xunit.core@2.4.2 +xunit.extensibility.core@2.4.2 +xunit.extensibility.execution@2.4.2 +xunit.runner.visualstudio@2.4.5 +" + +inherit desktop dotnet-pkg python-any-r1 flag-o-matic scons-utils +inherit shell-completion toolchain-funcs xdg +DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor" +HOMEPAGE="https://godotengine.org/" +SRC_URI=" + https://github.com/godotengine/godot/releases/download/${PV}-stable/godot-${PV}-stable.tar.xz +" + +SRC_URI+=" ${NUGET_URIS} " + +S=${WORKDIR}/godot-${PV}-stable +LICENSE=" + MIT + Apache-2.0 BSD Boost-1.0 CC0-1.0 IJG Unlicense ZLIB + gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 ) +" +SLOT="0" +KEYWORDS="~amd64" +# Enable roughly same as upstream by default so it works as expected, +# except raycast (tools-only heavy dependency), and deprecated. +IUSE=" + accessibility alsa +dbus debug deprecated double-precision +fontconfig + +gui pulseaudio raycast speech test +sdl +theora +tools +udev +upnp + +vulkan wayland +webp +" +REQUIRED_USE="wayland? ( gui )" +# TODO: tests still need more figuring out +RESTRICT="test" + +# dlopen: libglvnd +RDEPEND=" + !!dev-games/godot + app-arch/brotli:= + app-arch/zstd:= + dev-games/recastnavigation:= + dev-libs/icu:= + dev-libs/libpcre2:=[pcre32] + media-libs/freetype[brotli,harfbuzz] + media-libs/harfbuzz:=[icu] + media-libs/libogg + media-libs/libpng:= + media-libs/libvorbis + >=net-libs/mbedtls-3.6.2-r101:3= + net-libs/wslay + sys-libs/zlib:= + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + fontconfig? ( media-libs/fontconfig ) + gui? ( + media-libs/libglvnd + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxkbcommon + tools? ( raycast? ( media-libs/embree:4 ) ) + vulkan? ( media-libs/vulkan-loader[X,wayland?] ) + ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( media-libs/libsdl3 ) + speech? ( app-accessibility/speech-dispatcher ) + theora? ( + media-libs/libtheora:= + tools? ( media-libs/libtheora[encode] ) + ) + tools? ( app-misc/ca-certificates ) + udev? ( virtual/udev ) + upnp? ( net-libs/miniupnpc:= ) + virtual/dotnet-sdk:8.0 + wayland? ( + dev-libs/wayland + gui-libs/libdecor + ) + webp? ( media-libs/libwebp:= ) +" +DEPEND=" + ${RDEPEND} + gui? ( x11-base/xorg-proto ) + tools? ( test? ( dev-cpp/doctest ) ) +" +BDEPEND=" + virtual/pkgconfig + wayland? ( dev-util/wayland-scanner ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.5-scons.patch +) + +src_unpack() { + default + + dotnet-pkg_src_unpack +} + +src_prepare() { + default + + # mbedtls normally has mbedtls.pc, but Gentoo's slotted one is mbedtls-3.pc + sed -E "/pkg-config/s/(mbedtls|mbedcrypto|mbedx509)/&-3/g" \ + -i platform/linuxbsd/detect.py || die + + sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die + + # use of builtin_ switches can be messy (see below), delete to be sure + local unbundle=( + brotli doctest embree freetype graphite harfbuzz icu4c libogg + libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls + miniupnpc pcre2 recastnavigation sdl volk wslay zlib zstd + # certs: unused by generated header, but scons panics if not found + ) + rm -r "${unbundle[@]/#/thirdparty/}" || die + + ln -s -- "${ESYSROOT}"/usr/include/doctest thirdparty/ || die +} + +src_compile() { + local -x BUILD_NAME=gentoo # replaces "custom_build" in version string + + filter-lto #921017 + + local esconsargs=( + AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)" + + progress=no + verbose=yes + + target=$(usex tools editor template_$(usex debug{,} release)) + dev_build=$(usex debug) + tests=$(usex tools $(usex test)) # bakes in --test in final binary + + accesskit=$(usex accessibility) + alsa=$(usex alsa) + dbus=$(usex dbus) + deprecated=$(usex deprecated) + precision=$(usex double-precision double single) + execinfo=no # not packaged, disables crash handler if non-glibc + fontconfig=$(usex fontconfig) + opengl3=$(usex gui) + pulseaudio=$(usex pulseaudio) + sdl=$(usex sdl) + speechd=$(usex speech) + udev=$(usex udev) + use_sowrap=no + use_volk=no # unnecessary when linking directly to libvulkan + vulkan=$(usex gui $(usex vulkan)) + wayland=$(usex wayland) + # TODO: retry to add optional USE=X, wayland support is new + # and gui build is not well wired to handle USE="-X wayland" yet + x11=$(usex gui) + + system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt + + # platform/*/detect.py uses builtin_* switches to check if need + # to link with system libraries, but many ignore whether the dep + # is actually used, so "enable" deleted builtins on disabled deps + builtin_accesskit=yes # not packaged + builtin_brotli=no + builtin_certs=no + builtin_clipper2=yes # not packaged + builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast))) + builtin_enet=yes # bundled copy is patched for IPv6+DTLS support + builtin_freetype=no + builtin_glslang=yes #879111 (for now, may revisit if more stable) + builtin_graphite=no + builtin_harfbuzz=no + builtin_icu4c=no + # TODO: keep an eye on https://github.com/godotengine/godot/pull/110540 + # (reminder: drop IJG and add libjpeg-turbo to unbundle array) + builtin_libjpeg_turbo=yes + builtin_libogg=no + builtin_libpng=no + builtin_libtheora=$(usex !theora) + builtin_libvorbis=no + builtin_libwebp=$(usex !webp) + builtin_mbedtls=no + builtin_miniupnpc=$(usex !upnp) + builtin_msdfgen=yes # not wired for unbundling nor packaged + builtin_openxr=yes # not packaged + builtin_pcre2=no + builtin_recastnavigation=no + builtin_rvo2=yes # bundled copy has godot-specific changes + builtin_sdl=$(usex !sdl) + builtin_wslay=no + builtin_xatlas=yes # not wired for unbundling nor packaged + builtin_zlib=no + builtin_zstd=no + # (more is bundled in third_party/ but they lack builtin_* switches) + + module_mono_enabled=yes + + # modules with optional dependencies, "possible" to disable more but + # gets messy and breaks all sorts of features (expected enabled) + # + # note raycast is only enabled on amd64+arm64 and USE should + # be masked for other keywords if added, see raycast/config.py + module_raycast_enabled=$(usex gui $(usex tools $(usex raycast))) + module_theora_enabled=$(usex theora) + module_upnp_enabled=$(usex upnp) + module_webp_enabled=$(usex webp) + + # let *FLAGS handle these + debug_symbols=no + lto=none + optimize=custom + use_static_cpp=no + ) + + escons "${esconsargs[@]}" +} + +src_test() { + xdg_environment_reset + + bin/godot* --headless --test || die +} + +src_install() { + dotnet-pkg_src_prepare # called in this phase due to conflicting + + # godot requires access to input devices? + addwrite /dev/input + addwrite /dev/bus/usb + + # generate mono glue + bin/godot* --headless --generate-mono-glue modules/mono/glue || die "Failed to generate mono glue" + + local MSBUILDTERMINALLOGER=off # required for msbuild to succeed? + + # build the C# assemblies; pass flags so assemblies match how engine was built + python3 modules/mono/build_scripts/build_assemblies.py \ + --godot-output-dir "${S}/bin" \ + --precision="$(usex double-precision double single)" \ + $(usex debug --dev-debug "") \ + $(usex deprecated "" --no-deprecated) \ + --push-nupkgs-local="${T}/.nuget/packages" \ + || die "Failed to build mono assemblies" + + # install... + insinto /opt/godot + doins -r bin/. + + fperms +x "/opt/godot/$(basename bin/godot*)" + + dosym "../../opt/godot/$(basename bin/godot*)" /usr/bin/godot + + doman misc/dist/linux/godot.6 + dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md + + if use gui; then + newicon icon.svg godot.svg + domenu misc/dist/linux/org.godotengine.Godot.desktop + + insinto /usr/share/metainfo + doins misc/dist/linux/org.godotengine.Godot.appdata.xml + + insinto /usr/share/mime/application + doins misc/dist/linux/org.godotengine.Godot.xml + fi + + newbashcomp misc/dist/shell/godot.bash-completion godot + newfishcomp misc/dist/shell/godot.fish godot.fish + newzshcomp misc/dist/shell/_godot.zsh-completion _godot +}