Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 buildDotnetModule, 6 dotnetCorePackages, 7 openssl, 8 zlib, 9 nix-update-script, 10}: 11 12buildDotnetModule rec { 13 pname = "pupdate"; 14 version = "3.20.0"; 15 16 src = fetchFromGitHub { 17 owner = "mattpannella"; 18 repo = "pupdate"; 19 rev = "${version}"; 20 hash = "sha256-kdxqG1Vw6jRT/YyRLi60APpayYyLG73KqAFga8N9G2A="; 21 }; 22 23 buildInputs = [ 24 (lib.getLib stdenv.cc.cc) 25 zlib 26 openssl 27 ]; 28 29 # See https://github.com/NixOS/nixpkgs/pull/196648/commits/0fb17c04fe34ac45247d35a1e4e0521652d9c494 30 patches = [ ./add-runtime-identifier.patch ]; 31 postPatch = '' 32 substituteInPlace pupdate.csproj \ 33 --replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" 34 ''; 35 36 projectFile = "pupdate.csproj"; 37 38 nugetDeps = ./deps.json; 39 40 selfContainedBuild = true; 41 42 executables = [ "pupdate" ]; 43 44 dotnetFlags = [ 45 "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system} -p:TrimMode=partial" 46 ]; 47 48 dotnet-sdk = dotnetCorePackages.sdk_8_0; 49 dotnet-runtime = dotnetCorePackages.runtime_8_0; 50 51 passthru = { 52 updateScript = nix-update-script { }; 53 }; 54 55 meta = with lib; { 56 homepage = "https://github.com/mattpannella/pupdate"; 57 description = "Pupdate - A thing for updating your Analogue Pocket"; 58 license = licenses.mit; 59 platforms = platforms.linux; 60 maintainers = with maintainers; [ p-rintz ]; 61 mainProgram = "pupdate"; 62 }; 63}