diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-23 10:09:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-26 09:07:03 +0000 |
commit | 63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f (patch) | |
tree | d58934cb48f9c953b19a0d0d5cffc0d0c5561471 /nixpkgs/pkgs/development/tools/godot/3/mono/default.nix | |
parent | c4eef3dacb2a3d359561f30917d9e3cc4e041be9 (diff) | |
parent | 91a22f76cd1716f9d0149e8a5c68424bb691de15 (diff) | |
download | nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.gz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.bz2 nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.lz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.xz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.zst nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/tools/godot/3/mono/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/godot/3/mono/default.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/godot/3/mono/default.nix b/nixpkgs/pkgs/development/tools/godot/3/mono/default.nix new file mode 100644 index 000000000000..22e95fb0e51a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/godot/3/mono/default.nix @@ -0,0 +1,65 @@ +{ godot3 +, callPackage +, mkNugetDeps +, mkNugetSource +, mono +, dotnet-sdk +, writeText +}: + +godot3.overrideAttrs (self: base: { + pname = "godot3-mono"; + + godotBuildDescription = "mono build"; + + nativeBuildInputs = base.nativeBuildInputs ++ [ mono dotnet-sdk ]; + + glue = callPackage ./glue.nix {}; + + nugetDeps = mkNugetDeps { name = "deps"; nugetDeps = import ./deps.nix; }; + + nugetSource = + mkNugetSource { + name = "${self.pname}-nuget-source"; + description = "A Nuget source with dependencies for ${self.pname}"; + deps = [ self.nugetDeps ]; + }; + + nugetConfig = writeText "NuGet.Config" '' + <?xml version="1.0" encoding="utf-8"?> + <configuration> + <packageSources> + <add key="${self.pname}-deps" value="${self.nugetSource}/lib" /> + </packageSources> + </configuration> + ''; + + sconsFlags = base.sconsFlags ++ [ + "module_mono_enabled=true" + "mono_prefix=${mono}" + ]; + + shouldConfigureNuget = true; + + postConfigure = '' + echo "Setting up buildhome." + mkdir buildhome + export HOME="$PWD"/buildhome + + echo "Overlaying godot glue." + cp -R --no-preserve=mode "$glue"/. . + + if [ -n "$shouldConfigureNuget" ]; then + echo "Configuring NuGet." + mkdir -p ~/.nuget/NuGet + ln -s "$nugetConfig" ~/.nuget/NuGet/NuGet.Config + fi + ''; + + installedGodotShortcutFileName = "org.godotengine.GodotMono3.desktop"; + installedGodotShortcutDisplayName = "Godot Engine (Mono) 3"; + + passthru = { + make-deps = callPackage ./make-deps.nix {}; + }; +}) |