123 lines
2.6 KiB
Nix
123 lines
2.6 KiB
Nix
{
|
|
lib,
|
|
buildDotnetModule,
|
|
fetchFromGitHub,
|
|
dotnetCorePackages,
|
|
autoPatchelfHook,
|
|
stdenv,
|
|
sdl3,
|
|
fontconfig,
|
|
libglvnd,
|
|
mesa,
|
|
sndio,
|
|
libGL,
|
|
libx11,
|
|
libice,
|
|
libsm,
|
|
libxcursor,
|
|
libxrandr,
|
|
libxft,
|
|
vulkan-headers,
|
|
vulkan-loader,
|
|
}:
|
|
let
|
|
rev = "eec5e7d07b63cb4caf82250914dba8ddd4044bbb";
|
|
|
|
buildDotnetModule' = buildDotnetModule.override {
|
|
addNuGetDeps = dotnetCorePackages.addNuGetDeps.override {
|
|
fetchNupkg =
|
|
let
|
|
baseOverrides = builtins.removeAttrs dotnetCorePackages.fetchNupkg.overrides or { } [ ];
|
|
in
|
|
dotnetCorePackages.fetchNupkg.override {
|
|
overrides = baseOverrides // {
|
|
"SkiaSharp.NativeAssets.Linux" =
|
|
package:
|
|
package.overrideAttrs (
|
|
old:
|
|
lib.optionalAttrs stdenv.hostPlatform.isLinux {
|
|
autoPatchelfIgnoreMissingDeps = (old.autoPatchelfIgnoreMissingDeps or [ ]) ++ [
|
|
"libc.musl-x86_64.so.1"
|
|
];
|
|
}
|
|
);
|
|
};
|
|
};
|
|
};
|
|
};
|
|
in
|
|
buildDotnetModule' {
|
|
pname = "undertale-mod-tool";
|
|
version = "8.9.10";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "luizzeroxis";
|
|
repo = "UndertaleModTool";
|
|
inherit rev;
|
|
hash = "sha256-QLQZC5C3o9U2PC+rZWfKFbul7BaIHxbu9u8AZaKFtmI=";
|
|
fetchSubmodules = true;
|
|
};
|
|
|
|
projectFile = "UndertaleModToolAvalonia/UndertaleModToolAvalonia.csproj";
|
|
nugetDeps = ./deps.json;
|
|
dotnet-sdk = dotnetCorePackages.sdk_10_0;
|
|
executables = [ "UndertaleModToolAvalonia" ];
|
|
|
|
autoPatchelfIgnoreMissingDeps = [
|
|
"libsteam_api.so"
|
|
"libGLES_CM.so.1"
|
|
];
|
|
|
|
nativeBuildInputs = [ autoPatchelfHook ];
|
|
|
|
buildInputs = [
|
|
stdenv.cc.cc.lib # provides libstdc++.so.6
|
|
fontconfig
|
|
sdl3
|
|
libx11
|
|
libglvnd
|
|
libGL
|
|
mesa
|
|
sndio
|
|
vulkan-headers
|
|
vulkan-loader
|
|
];
|
|
|
|
runtimeDependencies = [
|
|
stdenv.cc.cc.lib
|
|
libx11
|
|
sdl3
|
|
];
|
|
|
|
runtimeDeps = [
|
|
sdl3
|
|
libx11
|
|
libxcursor
|
|
libice
|
|
libsm
|
|
libxrandr
|
|
libxft
|
|
fontconfig
|
|
];
|
|
|
|
dotnetBuildFlags = [
|
|
"-p:BuildHash=${rev}"
|
|
"-p:PublishSingleFile=false"
|
|
"/p:RuntimeIdentifier="
|
|
"--no-self-contained"
|
|
];
|
|
|
|
postInstall = ''
|
|
# Disable this temporarily
|
|
#ln -s $out/bin/UndertaleModToolAvalonia $out/bin/undertalemodtool
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Avalonia cross-platform GUI port of UndertaleModTool";
|
|
homepage = "https://github.com/luizzeroxis/UndertaleModTool/tree/avalonia";
|
|
license = licenses.gpl3Only;
|
|
platforms = platforms.linux;
|
|
mainProgram = "undertalemodtool";
|
|
};
|
|
}
|