aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-08-13 19:49:03 +0300
committerEfraim Flashner <efraim@flashner.co.il>2020-08-16 11:43:34 +0300
commite0945a02a41afe31d99e3920aa9f7e2239df7bb7 (patch)
treec41f98f69f2897857633a875996d7a604a43d684
parentcfa7d0cbdc443431f82689ec778448f8f080f8a2 (diff)
downloadguix-e0945a02a41afe31d99e3920aa9f7e2239df7bb7.tar
guix-e0945a02a41afe31d99e3920aa9f7e2239df7bb7.tar.gz
gnu: Add dbxfs.
* gnu/packages/file-systems.scm (dbxfs): New variable. * gnu/packages/patches/dbxfs-remove-sentry-sdk.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/file-systems.scm30
-rw-r--r--gnu/packages/patches/dbxfs-remove-sentry-sdk.patch64
3 files changed, 95 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 71b964e465..87bd7094bf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -887,6 +887,7 @@ dist_patch_DATA = \
%D%/packages/patches/dbus-CVE-2020-12049.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
+ %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
%D%/packages/patches/dconf-meson-0.52.patch \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 7d06e3e899..b8612ac3b2 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -889,3 +889,33 @@ compatible directories.")
(description "This package provides a Python SDK for integrating with the
Dropbox API v2.")
(license license:expat)))
+
+(define-public dbxfs
+ (package
+ (name "dbxfs")
+ (version "1.0.43")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dbxfs" version))
+ (sha256
+ (base32
+ "1f9sy2ax215dxiwszrrcadffjdsmrlxm4kwrbiap9dhxvzm226ks"))
+ (patches (search-patches "dbxfs-remove-sentry-sdk.patch"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; tests requires safefs
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-block-tracing" ,python-block-tracing)
+ ("python-dropbox" ,python-dropbox)
+ ("python-keyring" ,python-keyring)
+ ("python-keyrings.alt" ,python-keyrings.alt)
+ ("python-privy" ,python-privy)
+ ("python-userspacefs" ,python-userspacefs)))
+ (home-page "https://github.com/rianhunter/dbxfs")
+ (synopsis "User-space file system for Dropbox")
+ (description
+ "@code{dbxfs} allows you to mount your Dropbox folder as if it were a
+local filesystem using FUSE.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch
new file mode 100644
index 0000000000..7079fa8c3c
--- /dev/null
+++ b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch
@@ -0,0 +1,64 @@
+sentry-sdk provides a link to sentry.io, a service which monitors applications deployed in the wild.
+Defaults to true. Best to just remove the option.
+
+---
+ dbxfs/main.py | 16 ----------------
+ setup.py | 1 -
+ 2 files changed, 17 deletions(-)
+
+diff --git a/dbxfs/main.py b/dbxfs/main.py
+index 5a6cea1..5d00818 100755
+--- a/dbxfs/main.py
++++ b/dbxfs/main.py
+@@ -40,8 +40,6 @@ import userspacefs
+ import keyring
+ from keyring.errors import KeyringError
+
+-import sentry_sdk
+-
+ from block_tracing import block_tracing, BLOCK_TRACING_INHERITS
+
+ from dbxfs.dbxfs import FileSystem as DropboxFileSystem
+@@ -299,12 +297,6 @@ def _main(argv=None):
+ config['keyring_user'] = keyring_user
+ save_config = True
+
+- if not config.get("asked_send_error_reports", False):
+- if yes_no_input("Would you like to help us improve %s by providing anonymous error reports?" % (APP_NAME,), default_yes=True):
+- config['send_error_reports'] = True
+- config['asked_send_error_reports'] = True
+- save_config = True
+-
+ if save_access_token and yes_no_input("Do you want \"%s\" to be the default mount point?" % (mount_point,), default_yes=True):
+ config['mount_point'] = mount_point
+ save_config = True
+@@ -315,14 +307,6 @@ def _main(argv=None):
+
+ log.info("Starting %s...", APP_NAME)
+
+- if config.get('send_error_reports', False):
+- try:
+- sentry_sdk.init("https://b4b13ebd300849bd92260507a594e618@sentry.io/1293235",
+- release='%s@%s' % (APP_NAME, version),
+- with_locals=False)
+- except Exception:
+- log.warning("Failed to initialize sentry", exc_info=True)
+-
+ if cache_folder is None:
+ cache_folder = os.path.join(appdirs.user_cache_dir(APP_NAME), "file_cache")
+ try:
+diff --git a/setup.py b/setup.py
+index 89e25c6..f940d47 100644
+--- a/setup.py
++++ b/setup.py
+@@ -43,7 +43,6 @@ setup(
+ "privy>=6.0,<7",
+ "keyring>=15.1.0",
+ "keyrings.alt>=3.1,<4",
+- "sentry_sdk>=0.3,<1",
+ ],
+ extras_require={
+ 'safefs': ["safefs"],
+--
+2.28.0
+