about summary refs log tree commit diff
path: root/pkgs/development/python-modules/maestral/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/maestral/default.nix')
-rw-r--r--pkgs/development/python-modules/maestral/default.nix150
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
+    ];
   };
 }