diff options
Diffstat (limited to 'pkgs/development/python-modules/maestral/default.nix')
-rw-r--r-- | pkgs/development/python-modules/maestral/default.nix | 150 |
1 files changed, 81 insertions, 69 deletions
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix index 885911b181c8f..6f1aa28e9f0c9 100644 --- a/pkgs/development/python-modules/maestral/default.nix +++ b/pkgs/development/python-modules/maestral/default.nix @@ -1,37 +1,39 @@ -{ lib -, stdenv -, buildPythonPackage -, fetchFromGitHub -, makePythonPath -, pythonOlder -, python -, click -, dbus-python -, desktop-notifier -, dropbox -, fasteners -, importlib-metadata -, keyring -, keyrings-alt -, packaging -, pathspec -, pyro5 -, requests -, rich -, rubicon-objc -, setuptools -, survey -, typing-extensions -, watchdog -, xattr -, pytestCheckHook -, nixosTests +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + makePythonPath, + pythonOlder, + python, + click, + dbus-python, + desktop-notifier, + dropbox, + fasteners, + importlib-metadata, + keyring, + keyrings-alt, + packaging, + pathspec, + pyro5, + requests, + rich, + rubicon-objc, + setuptools, + survey, + typing-extensions, + watchdog, + xattr, + fetchpatch, + pytestCheckHook, + nixosTests, }: buildPythonPackage rec { pname = "maestral"; version = "1.9.3"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -42,7 +44,9 @@ buildPythonPackage rec { hash = "sha256-h7RDaCVICi3wl6/b1s01cINhFirDOpOXoxTPZIBH3jE="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ click desktop-notifier dbus-python @@ -61,19 +65,23 @@ buildPythonPackage rec { typing-extensions watchdog xattr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - rubicon-objc + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ rubicon-objc ]; + + patches = [ + (fetchpatch { + name = "upgrade-dropbox-version-bounds"; + url = "https://github.com/samschott/maestral/commit/8fd581fa503391534913afbc33a61132ff2e21ce.patch"; + hash = "sha256-2Dke9iF/5Ptsf3CSRHUkjdFRrmdKY+L3sILRMyYrUH0="; + }) ]; makeWrapperArgs = [ # Add the installed directories to the python path so the daemon can find them - "--prefix PYTHONPATH : ${makePythonPath propagatedBuildInputs}" + "--prefix PYTHONPATH : ${makePythonPath dependencies}" "--prefix PYTHONPATH : $out/${python.sitePackages}" ]; - nativeCheckInputs = [ - pytestCheckHook - ]; + nativeCheckInputs = [ pytestCheckHook ]; # ModuleNotFoundError: No module named '_watchdog_fsevents' doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64); @@ -82,39 +90,39 @@ buildPythonPackage rec { export HOME=$(mktemp -d) ''; - disabledTests = [ - # We don't want to benchmark - "test_performance" - # Requires systemd - "test_autostart" - # Requires network access - "test_check_for_updates" - # Tries to look at /usr - "test_filestatus" - "test_path_exists_case_insensitive" - "test_cased_path_candidates" - # AssertionError - "test_locking_multiprocess" - # OSError: [Errno 95] Operation not supported - "test_move_preserves_xattrs" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # maetral daemon does not start but worked in real environment - "test_catching_non_ignored_events" - "test_connection" - "test_event_handler" - "test_fs_ignore_tree_creation" - "test_lifecycle" - "test_notify_level" - "test_notify_snooze" - "test_receiving_events" - "test_remote_exceptions" - "test_start_already_running" - "test_stop" - ]; + disabledTests = + [ + # We don't want to benchmark + "test_performance" + # Requires systemd + "test_autostart" + # Requires network access + "test_check_for_updates" + # Tries to look at /usr + "test_filestatus" + "test_path_exists_case_insensitive" + "test_cased_path_candidates" + # AssertionError + "test_locking_multiprocess" + # OSError: [Errno 95] Operation not supported + "test_move_preserves_xattrs" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # maetral daemon does not start but worked in real environment + "test_catching_non_ignored_events" + "test_connection" + "test_event_handler" + "test_fs_ignore_tree_creation" + "test_lifecycle" + "test_notify_level" + "test_notify_snooze" + "test_receiving_events" + "test_remote_exceptions" + "test_start_already_running" + "test_stop" + ]; - pythonImportsCheck = [ - "maestral" - ]; + pythonImportsCheck = [ "maestral" ]; passthru.tests.maestral = nixosTests.maestral; @@ -124,6 +132,10 @@ buildPythonPackage rec { homepage = "https://maestral.app"; changelog = "https://github.com/samschott/maestral/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ natsukium peterhoeg sfrijters ]; + maintainers = with maintainers; [ + natsukium + peterhoeg + sfrijters + ]; }; } |