1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, python
6, click, desktop-notifier, dropbox, fasteners, keyring, keyrings-alt, packaging, pathspec, Pyro5, requests, setuptools, sdnotify, survey, watchdog
7, importlib-metadata
8}:
9
10buildPythonPackage rec {
11 pname = "maestral";
12 version = "1.4.3";
13 disabled = pythonOlder "3.6";
14
15 src = fetchFromGitHub {
16 owner = "SamSchott";
17 repo = "maestral";
18 rev = "v${version}";
19 sha256 = "sha256-3GleQNkJrGIkFqOL2Dq0jTpgw7ts9ecpovKbyh3OrEI=";
20 };
21
22 propagatedBuildInputs = [
23 click
24 desktop-notifier
25 dropbox
26 fasteners
27 keyring
28 keyrings-alt
29 packaging
30 pathspec
31 Pyro5
32 requests
33 setuptools
34 sdnotify
35 survey
36 watchdog
37 ] ++ lib.optionals (pythonOlder "3.8") [
38 importlib-metadata
39 ];
40
41 makeWrapperArgs = [
42 # Add the installed directories to the python path so the daemon can find them
43 "--prefix" "PYTHONPATH" ":" "${lib.concatStringsSep ":" (map (p: p + "/lib/${python.libPrefix}/site-packages") (python.pkgs.requiredPythonModules propagatedBuildInputs))}"
44 "--prefix" "PYTHONPATH" ":" "$out/lib/${python.libPrefix}/site-packages"
45 ];
46
47 # no tests
48 doCheck = false;
49
50 meta = with lib; {
51 description = "Open-source Dropbox client for macOS and Linux";
52 license = licenses.mit;
53 maintainers = with maintainers; [ peterhoeg ];
54 platforms = platforms.unix;
55 inherit (src.meta) homepage;
56 };
57}