1{
2 fetchFromGitHub,
3 lib,
4 rustPlatform,
5 versionCheckHook,
6 nix-update-script,
7}:
8
9rustPlatform.buildRustPackage (finalAttrs: {
10 pname = "ethersync";
11 version = "0.7.0";
12
13 src = fetchFromGitHub {
14 owner = "ethersync";
15 repo = "ethersync";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-Swh8C8FMjPdIFpHOsNb3W9W7JAZGzPXHXTwwnr1gFok=";
18 };
19
20 sourceRoot = "${finalAttrs.src.name}/daemon";
21
22 cargoHash = "sha256-ZgbxaEtsaBQLl9PJbo1O2wA3OxEfPKRl3KkFvR4c97Q=";
23
24 nativeInstallCheckInputs = [ versionCheckHook ];
25 versionCheckProgramArg = "--version";
26 doInstallCheck = true;
27
28 passthru.updateScript = nix-update-script { };
29
30 meta = {
31 description = "Real-time co-editing of local text files";
32 homepage = "https://ethersync.github.io/ethersync/";
33 downloadPage = "https://github.com/ethersync/ethersync";
34 changelog = "https://github.com/ethersync/ethersync/blob/${finalAttrs.src.tag}/CHANGELOG.md";
35 license = lib.licenses.agpl3Plus;
36 teams = [ lib.teams.ngi ];
37 maintainers = with lib.maintainers; [
38 prince213
39 ethancedwards8
40 ];
41 };
42})