ArchiSteamFarm: build asf as single file, build plugins

This commit is contained in:
Sandro Jäckel 2022-12-30 17:36:18 +01:00
parent a8ce53810a
commit d0b531b574
No known key found for this signature in database
GPG key ID: 3AF5A43A3EECC2E5

View file

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildDotnetModule
, fetchFromGitHub
, dotnetCorePackages
@ -27,11 +28,20 @@ buildDotnetModule rec {
projectFile = "ArchiSteamFarm.sln";
executables = [ "ArchiSteamFarm" ];
dotnetFlags = [
"-p:PublishSingleFile=true"
"-p:PublishTrimmed=true"
];
selfContainedBuild = true;
runtimeDeps = [ libkrb5 zlib openssl ];
doCheck = true;
preBuild = ''
export projectFile=(ArchiSteamFarm)
'';
preInstall = ''
# A mutable path, with this directory tree must be set. By default, this would point at the nix store causing errors.
makeWrapperArgs+=(
@ -40,6 +50,15 @@ buildDotnetModule rec {
)
'';
postInstall = ''
buildPlugin() {
dotnet publish $1 -p:ContinuousIntegrationBuild=true -p:Deterministic=true \
--output $out/lib/${pname}/plugins/$1 --configuration Release \
-p:TargetLatestRuntimePatch=false -p:UseAppHost=false --no-restore
}
buildPlugin ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
'';
passthru = {
updateScript = ./update.sh;
ui = callPackage ./web-ui { };