nixpkgs/pkgs/by-name/pu/pupdate/package.nix
2024-09-06 20:35:40 +00:00

64 lines
1.4 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, buildDotnetModule
, dotnetCorePackages
, openssl
, zlib
, hostPlatform
, nix-update-script
}:
buildDotnetModule rec {
pname = "pupdate";
version = "3.13.0";
src = fetchFromGitHub {
owner = "mattpannella";
repo = "pupdate";
rev = "${version}";
hash = "sha256-czQU5O0z87v8p2GWYkRkhB5te/lub/yW4bMDd5EkVOQ=";
};
buildInputs = [
stdenv.cc.cc.lib
zlib
openssl
];
# See https://github.com/NixOS/nixpkgs/pull/196648/commits/0fb17c04fe34ac45247d35a1e4e0521652d9c494
patches = [ ./add-runtime-identifier.patch ];
postPatch = ''
substituteInPlace pupdate.csproj \
--replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid hostPlatform.system}"
'';
projectFile = "pupdate.csproj";
nugetDeps = ./deps.nix;
selfContainedBuild = true;
executables = [ "pupdate" ];
dotnetFlags = [
"-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system} -p:TrimMode=partial"
];
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0;
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
homepage = "https://github.com/mattpannella/pupdate";
description = "Pupdate - A thing for updating your Analogue Pocket";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ p-rintz ];
mainProgram = "pupdate";
};
}