diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/dendrite/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/dendrite/default.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/dendrite/default.nix b/nixpkgs/pkgs/servers/dendrite/default.nix new file mode 100644 index 000000000000..0eed749f3890 --- /dev/null +++ b/nixpkgs/pkgs/servers/dendrite/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, buildGoModule +, fetchFromGitHub +, nix-update-script +, nixosTests +, postgresql +, postgresqlTestHook +}: + +buildGoModule rec { + pname = "matrix-dendrite"; + version = "0.13.6"; + + src = fetchFromGitHub { + owner = "matrix-org"; + repo = "dendrite"; + rev = "v${version}"; + hash = "sha256-R/67y7ZiqH2Yg7JFsNYOuGocvR161srlWjRgjyZsqaE="; + }; + + vendorHash = "sha256-/+JSL54y7u7mGeDwAJV17Ibjb/LffitUOgonUd9EzDA="; + + subPackages = [ + # The server + "cmd/dendrite" + # admin tools + "cmd/create-account" + "cmd/generate-config" + "cmd/generate-keys" + "cmd/resolve-state" + ## curl, but for federation requests, only useful for developers + # "cmd/furl" + ## an internal tool for upgrading ci tests, only relevant for developers + # "cmd/dendrite-upgrade-tests" + ## tech demos + # "cmd/dendrite-demo-pinecone" + # "cmd/dendrite-demo-yggdrasil" + ]; + + nativeCheckInputs = [ + postgresqlTestHook + postgresql + ]; + + postgresqlTestUserOptions = "LOGIN SUPERUSER"; + preCheck = '' + export PGUSER=$(whoami) + # temporarily disable this failing test + # it passes in upstream CI and requires further investigation + rm roomserver/internal/input/input_test.go + ''; + + # PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter + doCheck = !stdenv.isDarwin; + + passthru.tests = { + inherit (nixosTests) dendrite; + }; + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex" "v(.+)" ]; + }; + + meta = with lib; { + homepage = "https://matrix-org.github.io/dendrite"; + description = "A second-generation Matrix homeserver written in Go"; + changelog = "https://github.com/matrix-org/dendrite/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = teams.matrix.members; + platforms = platforms.unix; + }; +} |