lol
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 qt6Packages,
7 # nativeBuildInputs
8 pkg-config,
9 cmake,
10 extra-cmake-modules,
11 # buildInputs
12 sqlite,
13 libsecret,
14 libre-graph-api-cpp-qt-client,
15 kdsingleapplication,
16 ## darwin only
17 libinotify-kqueue,
18}:
19
20stdenv.mkDerivation rec {
21 pname = "owncloud-client";
22 version = "5.3.2";
23
24 src = fetchFromGitHub {
25 owner = "owncloud";
26 repo = "client";
27 tag = "v${version}";
28 hash = "sha256-HEnjtedmdNJTpc/PmEyoEsLGUydFkVF3UAsSdzQ4L1Q=";
29 };
30
31 nativeBuildInputs = [
32 pkg-config
33 cmake
34 extra-cmake-modules
35 qt6Packages.qttools
36 qt6Packages.wrapQtAppsHook
37 ];
38
39 buildInputs = [
40 sqlite
41 libsecret
42 qt6Packages.qtbase
43 qt6Packages.qtsvg # Needed for the systray icon
44 qt6Packages.qtkeychain
45 libre-graph-api-cpp-qt-client
46 kdsingleapplication
47 ]
48 ++ lib.optionals stdenv.hostPlatform.isDarwin [
49 libinotify-kqueue
50 ];
51
52 passthru.updateScript = nix-update-script { };
53
54 meta = {
55 description = "Synchronise your ownCloud with your computer using this desktop client";
56 homepage = "https://owncloud.org";
57 maintainers = with lib.maintainers; [
58 qknight
59 hellwolf
60 ];
61 platforms = lib.platforms.unix;
62 license = lib.licenses.gpl2Plus;
63 changelog = "https://github.com/owncloud/client/releases/tag/v${version}";
64 };
65}