[PATCH] Add rclone-browser

OpenSubmitted by Nicolas Goaziou.
Details
2 participants
  • Ludovic Courtès
  • Nicolas Goaziou
Owner
unassigned
Severity
normal
N
N
Nicolas Goaziou wrote on 30 Jul 2019 10:17
(address . guix-patches@gnu.org)
87blxcos1n.fsf@nicolasgoaziou.fr
Hello,

The following patch adds Rclone-browser, a simple GUI for Rclone.

Note: I added Rclone as a propagated input, but I'm not sure about this.
I.e., it builds without that input, but it is then unusable. Do we
consider users are responsible for installing Rclone themselves anyway?

Regards,

--
Nicolas Goaziou
From d1765e2c4516f27574caa175883b21a7cdb9679f Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Tue, 30 Jul 2019 10:11:04 +0200
Subject: [PATCH] gnu: Add rclone-browser.

* gnu/packages/sync.scm (rclone-browser): New variable.
---
gnu/packages/sync.scm | 80 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

Toggle diff (90 lines)
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 1c80b7978e..57421114a3 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -285,3 +285,83 @@ Features include:
 @end itemize")
     (home-page "https://rclone.org/")
     (license license:expat)))
+
+(define-public rclone-browser
+  (package
+    (name "rclone-browser")
+    (version "1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mmozeiko/RcloneBrowser.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ldradd5c606mfkh46y4mhcvf9kbjhamw0gahksp9w43h5dh3ir7"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-hard-coded-paths
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "scripts/rclone-browser.desktop"
+                 (("/usr/") (string-append out "/")))
+               #t))))))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (propagated-inputs
+     `(("rclone" ,rclone)))
+    (home-page "https://martins.ninja/RcloneBrowser/")
+    (synopsis "Simple cross platfrom GUI for rclone command line tool")
+    (description "RcloneBrowser is a GUI for Rclone.
+
+Its features are:
+
+@itemize
+
+@item Allows to browse and modify any Rclone remote, including
+encrypted ones;
+
+@item Uses same configuration file as Rclone, no extra configuration
+required;
+
+@item Supports custom location and encryption for @file{.rclone.conf}
+configuration file;
+
+@item Simultaneously navigate multiple repositories in separate tabs;
+
+@item Lists files hierarchically with file name, size and modify date;
+
+@item All Rclone commands are executed asynchronously, no freezing
+GUI;
+
+@item File hierarchy is lazily cached in memory, for faster traversal
+of folders;
+
+@item Allows to upload, download, create new folders, rename or delete
+files and folders;
+
+@item Allows to calculate size of folder, export list of files and
+copy Rclone command to clipboard;
+
+@item Can process multiple upload or download jobs in background;
+
+@item Drag & drop support for dragging files from local file explorer
+for uploading;
+
+@item Streaming media files for playback in player like mpv or
+similar;
+
+@item Mount and unmount folders;
+
+@item Optionally minimizes to tray, with notifications when
+upload/download finishes;
+
+@item Supports portable mode (create @file{.ini} file next to
+executable with same name), Rclone and @file{.rclone.conf} path now
+can be relative to executable.
+@end itemize")
+    (license license:unlicense)))
-- 
2.22.0
L
L
Ludovic Courtès wrote on 4 Sep 2019 14:26
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 36851@debbugs.gnu.org)
87a7bk5jsl.fsf@gnu.org
Hi,

Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:

Toggle quote (7 lines)
>>From d1765e2c4516f27574caa175883b21a7cdb9679f Mon Sep 17 00:00:00 2001
> From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
> Date: Tue, 30 Jul 2019 10:11:04 +0200
> Subject: [PATCH] gnu: Add rclone-browser.
>
> * gnu/packages/sync.scm (rclone-browser): New variable.

LGTM!

Note that, as noted in ‘HACKING’, it’s the kind of change that you can
push quickly if you don’t get any feedback.

Thanks,
Ludo’.
N
N
Nicolas Goaziou wrote on 4 Sep 2019 18:07
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36851@debbugs.gnu.org)
87a7bkoxjs.fsf@nicolasgoaziou.fr
Hello,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (4 lines)
>> * gnu/packages/sync.scm (rclone-browser): New variable.
>
> LGTM!

Thank you for the review.

Toggle quote (3 lines)
> Note that, as noted in ‘HACKING’, it’s the kind of change that you can
> push quickly if you don’t get any feedback.

Well, this one had a question: should I also propagate `rclone'? Since
I wasn't sure about it, I didn't applied the patch.

Also, there is an issue : according to
https://martins.ninja/RcloneBrowser/, the project is no longer active
nor maintained.

Should we bother anymore and package it?

Regards,

--
Nicolas Goaziou
L
L
Ludovic Courtès wrote on 5 Sep 2019 10:44
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 36851@debbugs.gnu.org)
87y2z3gmip.fsf@gnu.org
Hello,

Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:

Toggle quote (14 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>>> * gnu/packages/sync.scm (rclone-browser): New variable.
>>
>> LGTM!
>
> Thank you for the review.
>
>> Note that, as noted in ‘HACKING’, it’s the kind of change that you can
>> push quickly if you don’t get any feedback.
>
> Well, this one had a question: should I also propagate `rclone'? Since
> I wasn't sure about it, I didn't applied the patch.

Oh indeed, sorry. The general rule is that propagation should be
avoided as much as possible. Is there a way you could ‘substitute*’ the
reference to ‘rclone’ in ‘rclone-browser’?

Toggle quote (6 lines)
> Also, there is an issue : according to
> <https://martins.ninja/RcloneBrowser/>, the project is no longer active
> nor maintained.
>
> Should we bother anymore and package it?

It depends. In general we’d rather not package unmaintained software.
However, there are cases where people do rely on unmaintained software,
for better or worse.

If you think that there’s no other options that fits the bill for you as
a user, maybe it’s a sign that we should package it, possibly removing
it later down the road. Otherwise, perhaps we shouldn’t bother.

WDYT?

Thanks,
Ludo’.
?