From 2fbe7194f629032e6bfe2c012ad2297c35d5d674 Mon Sep 17 00:00:00 2001 From: Artemis Tosini Date: Tue, 30 Jan 2024 22:24:20 +0000 Subject: [PATCH] celeste64: add, works only on wayland for now --- flake.lock | 6 ++--- flake.nix | 1 + packages/celeste64/default.nix | 43 ++++++++++++++++++++++++++++++++++ packages/celeste64/deps.nix | 40 +++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 packages/celeste64/default.nix create mode 100644 packages/celeste64/deps.nix diff --git a/flake.lock b/flake.lock index 515349c..06f69b8 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1705666311, - "narHash": "sha256-VYdSQm7zq3AStyHhRr3SBCTA8fVzrl6WtIlXTs2Wlts=", + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a455c5fb3ee513e2f443838a0e84d52b035adb67", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 47eb34a..634d350 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,7 @@ overlays.default = final: prev: { attic = final.callPackage ./packages/attic { }; attic-client = final.attic.override { clientOnly = true; }; + celeste64 = final.callPackage ./packages/celeste64 { }; ipsw = final.callPackage ./packages/ipsw { }; jlink = final.callPackage ./packages/jlink { }; zephyrPackages = final.callPackage ./packages/zephyr { }; diff --git a/packages/celeste64/default.nix b/packages/celeste64/default.nix new file mode 100644 index 0000000..8ef42ff --- /dev/null +++ b/packages/celeste64/default.nix @@ -0,0 +1,43 @@ +{ lib, fetchFromGitHub, buildDotnetModule, dotnetCorePackages, libGL, stdenv +, systemdLibs, libpulseaudio, wayland, libdecor, libxkbcommon }: +buildDotnetModule { + pname = "Celeste64"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "ExOK"; + repo = "Celeste64"; + rev = "517991f8cdacf2c9d8fb71f53637e581399e197b"; + sha256 = "sha256-DFrOkk86lvFoleq2RwfXPiMMhVGz+aSKdtpAje3+H4A="; + }; + + nugetDeps = ./deps.nix; + dotnet-runtime = dotnetCorePackages.runtime_8_0; + dotnet-sdk = dotnetCorePackages.sdk_8_0; + + executables = [ "Celeste64" ]; + projectFile = "Celeste64.csproj"; + + runtimeDeps = [ + stdenv.cc.cc.lib + libGL + systemdLibs + libpulseaudio + wayland + libdecor + libxkbcommon + ]; + + preFixup = '' + cp -r ./Content $out/lib/Celeste64/Content + ''; + + meta = with lib; { + homepage = "https://github.com/ExOK/Celeste64"; + description = + "A game made by the Celeste developers in a week(ish, closer to 2)"; + license = licenses.unfreeRedistributable; + platforms = platforms.linux; + maintainers = with maintainers; [ artemist ]; + }; +} diff --git a/packages/celeste64/deps.nix b/packages/celeste64/deps.nix new file mode 100644 index 0000000..d0854bf --- /dev/null +++ b/packages/celeste64/deps.nix @@ -0,0 +1,40 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { + pname = "FosterFramework"; + version = "0.1.14-alpha"; + sha256 = "1bqzka53kcvmmlwxa33v8my2gwqykcdwmcrbh7hbrx84nzcqbvrl"; + }) + (fetchNuGet { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "8.0.1"; + sha256 = "1drbgqdcvbpisjn8mqfgba1pwb6yri80qc4mfvyczqwrcsj5k2ja"; + }) + (fetchNuGet { + pname = "SharpGLTF.Core"; + version = "1.0.0-alpha0031"; + sha256 = "0ln78mkhbcxqvwnf944hbgg24vbsva2jpih6q3x82d3h7rl1pkh6"; + }) + (fetchNuGet { + pname = "SharpGLTF.Runtime"; + version = "1.0.0-alpha0031"; + sha256 = "0lvb3asi3v0n718qf9y367km7qpkb9wci38y880nqvifpzllw0jg"; + }) + (fetchNuGet { + pname = "Sledge.Formats"; + version = "1.2.2"; + sha256 = "1y0l66m9rym0p1y4ifjlmg3j9lsmhkvbh38frh40rpvf1axn2dyh"; + }) + (fetchNuGet { + pname = "Sledge.Formats.Map"; + version = "1.1.5"; + sha256 = "1bww60hv9xcyxpvkzz5q3ybafdxxkw6knhv97phvpkw84pd0jil6"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + }) +]