Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 76 lines 1.9 kB view raw
1{ 2 lib, 3 stdenv, 4 buildGoModule, 5 fetchFromGitHub, 6 nix-update-script, 7 nixosTests, 8 postgresql, 9 postgresqlTestHook, 10}: 11 12buildGoModule rec { 13 pname = "matrix-dendrite"; 14 version = "0.14.1"; 15 16 src = fetchFromGitHub { 17 owner = "element-hq"; 18 repo = "dendrite"; 19 rev = "v${version}"; 20 hash = "sha256-b/kybHF9WcP88kQuG7LB0/pgflYUeWNqEHfUyKfUCIU="; 21 }; 22 23 vendorHash = "sha256-380xuwMD9gxrjUsLfO8R08wruyWZwjRhiIDmSc/FGwA="; 24 25 subPackages = [ 26 # The server 27 "cmd/dendrite" 28 # admin tools 29 "cmd/create-account" 30 "cmd/generate-config" 31 "cmd/generate-keys" 32 "cmd/resolve-state" 33 ## curl, but for federation requests, only useful for developers 34 # "cmd/furl" 35 ## an internal tool for upgrading ci tests, only relevant for developers 36 # "cmd/dendrite-upgrade-tests" 37 ## tech demos 38 # "cmd/dendrite-demo-pinecone" 39 # "cmd/dendrite-demo-yggdrasil" 40 ]; 41 42 nativeCheckInputs = [ 43 postgresqlTestHook 44 postgresql 45 ]; 46 47 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 48 preCheck = '' 49 export PGUSER=$(whoami) 50 # temporarily disable this failing test 51 # it passes in upstream CI and requires further investigation 52 rm roomserver/internal/input/input_test.go 53 ''; 54 55 # PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter 56 doCheck = !stdenv.hostPlatform.isDarwin; 57 58 passthru.tests = { 59 inherit (nixosTests) dendrite; 60 }; 61 passthru.updateScript = nix-update-script { 62 extraArgs = [ 63 "--version-regex" 64 "v(.+)" 65 ]; 66 }; 67 68 meta = { 69 homepage = "https://element-hq.github.io/dendrite"; 70 description = "Second-generation Matrix homeserver written in Go"; 71 changelog = "https://github.com/element-hq/dendrite/releases/tag/v${version}"; 72 license = lib.licenses.agpl3Plus; 73 teams = [ lib.teams.matrix ]; 74 platforms = lib.platforms.unix; 75 }; 76}