nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 buildDotnetModule,
5 dotnet-sdk_6,
6 dotnet-runtime_6,
7}:
8buildDotnetModule rec {
9 pname = "tshock";
10 version = "5.2.3";
11
12 src = fetchFromGitHub {
13 owner = "Pryaxis";
14 repo = "TShock";
15 rev = "v${version}";
16 sha256 = "sha256-1EtHpBZ7bbwVbl+tMfwpjgPuxu98XKvxlZ2+SbUlWV4=";
17 fetchSubmodules = true;
18 };
19
20 dotnet-sdk = dotnet-sdk_6;
21 dotnet-runtime = dotnet-runtime_6;
22 executables = [ "TShock.Server" ];
23
24 projectFile = [
25 "TShockAPI/TShockAPI.csproj"
26 "TerrariaServerAPI/TerrariaServerAPI/TerrariaServerAPI.csproj"
27 "TShockLauncher/TShockLauncher.csproj"
28 "TShockInstaller/TShockInstaller.csproj"
29 "TShockPluginManager/TShockPluginManager.csproj"
30 ]; # Excluding tests because they can't build for some reason
31
32 doCheck = false; # The same.
33
34 nugetSource = "https://api.nuget.org/v3/index.json";
35 nugetDeps = ./deps.nix;
36
37 meta = with lib; {
38 homepage = "https://github.com/Pryaxis/TShock";
39 description = "Modded server software for Terraria, providing a plugin system and inbuilt tools such as anti-cheat, server-side characters, groups, permissions, and item bans";
40 license = licenses.gpl3Only;
41 maintainers = [ maintainers.proggerx ];
42 mainProgram = "TShock.Server";
43 };
44}