about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/maestral
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/maestral')
-rw-r--r--nixpkgs/pkgs/applications/networking/maestral/default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/maestral/default.nix b/nixpkgs/pkgs/applications/networking/maestral/default.nix
new file mode 100644
index 000000000000..62be1a4118c0
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/maestral/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, python3
+, withGui ? false
+, wrapQtAppsHook ? null
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "maestral${lib.optionalString withGui "-gui"}";
+  version = "0.6.3";
+
+  disabled = python3.pkgs.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "SamSchott";
+    repo = "maestral-dropbox";
+    rev = "v${version}";
+    sha256 = "0h1vbx00mps2msdhsab1yz64c8sprwrg38nkqyj86mkb6jkirq92";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    blinker
+    bugsnag
+    click
+    dropbox
+    keyring
+    keyrings-alt
+    lockfile
+    pathspec
+    Pyro5
+    requests
+    u-msgpack-python
+    watchdog
+  ] ++ lib.optionals stdenv.isLinux [
+    sdnotify
+    systemd
+  ] ++ lib.optional withGui pyqt5;
+
+  nativeBuildInputs = lib.optional withGui wrapQtAppsHook;
+
+  postInstall = lib.optionalString withGui ''
+    makeQtWrapper $out/bin/maestral $out/bin/maestral-gui \
+      --add-flags gui
+  '';
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Open-source Dropbox client for macOS and Linux";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
+    inherit (src.meta) homepage;
+  };
+}