Personal-use NixOS configuration
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5}:
6
7buildGoModule rec {
8 pname = "cells";
9 version = "4.4.17";
10
11 src = fetchFromGitHub {
12 owner = "pydio";
13 repo = "cells";
14 tag = "v${version}";
15 hash = "sha256-p2/H75n1ZTnAuTHmJiaVt82t5OVk85ah8Zmgey0mF58=";
16 };
17
18 vendorHash = "sha256-9jPjlAUtMQe0y2Eubv4O6i+Bl3QOmdBxbCnrHKbubo0=";
19
20 ldflags = [
21 "-s"
22 "-w"
23 "-X github.com/pydio/cells/v4/common.version=${src.tag}"
24 "-X github.com/pydio/cells/v4/common.BuildRevision=${version}"
25 "-X github.com/pydio/cells/v4/common.BuildStamp=1970-01-01T00:00:00"
26 ];
27
28 excludedPackages = [
29 "cmd/cells-fuse"
30 "cmd/protoc-gen-go-client-stub"
31 "cmd/protoc-gen-go-enhanced-grpc"
32 ];
33
34 preCheck = ''
35 export HOME=$(mktemp -d);
36 '';
37
38 checkFlags =
39 let
40 skippedTests = [
41 # Skip tests that require network access
42 "TestWGetAction_Run"
43 "TestGetTimeFromNtp"
44
45 # These tests take a *very* long time to complete
46 "TestConcurrentReceivesGetAllTheMessages"
47 "TestSizeRotation"
48 "TestHandler_ReadNode"
49 "TestMemory"
50 "TestService"
51 "TestProducer"
52
53 # These tests take less time than above, but a while to complete
54 # They are skipped since they likely passed before release
55 "TestBoltMassivePurge"
56 "TestInsertActivity"
57 "TestMessageRepository"
58 "TestGetSetMemory"
59 "TestFlatFolderWithMassiveChildren"
60 "TestShort"
61 "TestSearchNode"
62 "TestSearchByGeolocation"
63 "TestDeleteNode"
64 "TestClearIndex"
65 "TestSearchByUuidsMatch"
66 "TestIndexLongNode"
67 "TestPatHandler_Generate"
68 "TestPatHandler_AutoRefresh"
69 "TestShareLinks"
70 ];
71 in
72 [
73 "-v"
74 "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$"
75 ];
76
77 meta = {
78 description = "Future-proof content collaboration platform";
79 homepage = "https://www.pydio.com/";
80 changelog = "https://github.com/pydio/cells/blob/${src.tag}/CHANGELOG.md";
81 license = lib.licenses.agpl3Only;
82 maintainers = with lib.maintainers; [ encode42 ];
83 mainProgram = "cells";
84 };
85}