diff options
author | Franz Pletz <fpletz@fnordicwalking.de> | 2024-09-28 15:32:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-28 15:32:49 +0200 |
commit | 8f2d7f187c23ebe3c41c089b4af1ef3bd30b4fd1 (patch) | |
tree | 960d24bf67e61a17549c9caedcb4a828e1786c29 | |
parent | cc2142b9f028c90fc1e9ab85fb1c4ea51746da28 (diff) | |
parent | d4735e4f99648afce30ffc13f7b3f4133a12697c (diff) |
slskd: 0.21.3 -> 0.21.4 (#344958)
-rw-r--r-- | pkgs/by-name/sl/slskd/package.nix | 92 |
1 files changed, 52 insertions, 40 deletions
diff --git a/pkgs/by-name/sl/slskd/package.nix b/pkgs/by-name/sl/slskd/package.nix index 8ab85a4eef3f7..ed60e90b7c636 100644 --- a/pkgs/by-name/sl/slskd/package.nix +++ b/pkgs/by-name/sl/slskd/package.nix @@ -1,70 +1,82 @@ { lib, - buildNpmPackage, - fetchFromGitHub, - dotnetCorePackages, buildDotnetModule, + buildPackages, + dotnetCorePackages, + fetchFromGitHub, + fetchNpmDeps, mono, nodejs_18, + slskd, + testers, }: + let + nodejs = nodejs_18; + # https://github.com/NixOS/nixpkgs/blob/d88947e91716390bdbefccdf16f7bebcc41436eb/pkgs/build-support/node/build-npm-package/default.nix#L62 + npmHooks = buildPackages.npmHooks.override { inherit nodejs; }; +in +buildDotnetModule rec { pname = "slskd"; - version = "0.21.3"; + version = "0.21.4"; src = fetchFromGitHub { owner = "slskd"; repo = "slskd"; - rev = version; - hash = "sha256-qAS8uiXAG0JTOCW/bIVYhv6McUSBihAHFjJu3b5Ttoc="; + rev = "refs/tags/${version}"; + hash = "sha256-9EKlCmc+zdiuEPa8YNjoQ3QLTy8vt2qcZ+6D0sWgwEU="; }; - meta = with lib; { - description = "Modern client-server application for the Soulseek file sharing network"; - homepage = "https://github.com/slskd/slskd"; - license = licenses.agpl3Plus; - maintainers = with maintainers; [ - ppom - melvyn2 - ]; - platforms = platforms.linux; - }; + nativeBuildInputs = [ + nodejs + npmHooks.npmConfigHook + ]; - wwwroot = buildNpmPackage { - inherit meta version; + runtimeDeps = [ mono ]; - pname = "slskd-web"; - src = "${src}/src/web"; - npmFlags = [ "--legacy-peer-deps" ]; - nodejs = nodejs_18; - npmDepsHash = "sha256-06qQ1y870TrkXhkHYADjnWVhdyiLWEqdDt3qrJ1BBFo="; - installPhase = '' - cp -r build $out - ''; + npmRoot = "src/web"; + npmDeps = fetchNpmDeps { + name = "${pname}-${version}-npm-deps"; + inherit src; + sourceRoot = "${src.name}/${npmRoot}"; + hash = "sha256-WANoxgPbBoMx6o8fjhSTsKBRZadO2QaeErMMMXk0tgE="; }; -in -buildDotnetModule { - inherit - pname - version - src - meta - ; - - runtimeDeps = [ mono ]; + projectFile = "slskd.sln"; + nugetDeps = ./deps.nix; dotnet-sdk = dotnetCorePackages.sdk_8_0; dotnet-runtime = dotnetCorePackages.aspnetcore_8_0; - projectFile = "slskd.sln"; - testProjectFile = "tests/slskd.Tests.Unit/slskd.Tests.Unit.csproj"; doCheck = true; - nugetDeps = ./deps.nix; + postBuild = '' + pushd "$npmRoot" + npm run build --legacy-peer-deps + popd + ''; postInstall = '' rm -r $out/lib/slskd/wwwroot - ln -s ${wwwroot} $out/lib/slskd/wwwroot + mv "$npmRoot"/build $out/lib/slskd/wwwroot ''; + + passthru = { + tests.version = testers.testVersion { package = slskd; }; + }; + + meta = { + description = "Modern client-server application for the Soulseek file sharing network"; + homepage = "https://github.com/slskd/slskd"; + changelog = "https://github.com/slskd/slskd/releases/tag/${version}"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ + ppom + melvyn2 + getchoo + ]; + mainProgram = "slskd"; + platforms = lib.platforms.linux; + }; } |