nixpkgs/pkgs/servers/nextcloud/notify_push.nix
Maximilian Bosch b84aa6dd93
nextcloud-notify_push: filterAttrs for passthru.tests
The `with-postgresql-and-redis` tests also test notify push. Derive the
attributes with filterAttrs instead of listing those
explicitly. That way one doesn't have to remember touching this
expression when adding/removing new Nextcloud majors.

Follows up on #325111
2024-07-06 23:46:29 +02:00

52 lines
1.3 KiB
Nix

{ lib
, fetchFromGitHub
, nixosTests
, rustPlatform
}:
rustPlatform.buildRustPackage rec {
pname = "notify_push";
version = "0.6.12";
src = fetchFromGitHub {
owner = "nextcloud";
repo = pname;
rev = "v${version}";
hash = "sha256-Wbrkr9DWOQpOKAp9X/PzU8alDDrDapX/1hE+ObbD/nc=";
};
cargoHash = "sha256-4bgbhtqdb1IVsf0yIcZOXZCVdRHjdvhZe/VCab0kuMk=";
passthru = rec {
test_client = rustPlatform.buildRustPackage {
pname = "${pname}-test_client";
inherit src version;
buildAndTestSubdir = "test_client";
cargoHash = "sha256-Z7AX/PXfiUHEV/M+i/2qne70tcZnnPj/iNT+DNMECS8=";
meta = meta // {
mainProgram = "test_client";
};
};
tests =
lib.filterAttrs
(key: lib.const (lib.hasPrefix "with-postgresql-and-redis" key))
nixosTests.nextcloud
// {
inherit test_client;
};
};
meta = with lib; {
changelog = "https://github.com/nextcloud/notify_push/releases/tag/v${version}";
description = "Update notifications for nextcloud clients";
mainProgram = "notify_push";
homepage = "https://github.com/nextcloud/notify_push";
license = licenses.agpl3Plus;
platforms = platforms.linux;
maintainers = teams.helsinki-systems.members;
};
}