Subject: [bug#39240] [PATCH 2/2] gnu: Add megatools.

From: Jakub Kądziołka <[email-masked]>
Date: Thu, 23 Jan 2020 16:20:00 +0100

* gnu/packages/crypto.scm (megatools): New variable.
  (megacmd)[description]: Cross-reference the two packages in the description.
  (megacmd)[license]: Use a more syntax form for multiple licenses.
---
Note: sending this to the same bug as the packages are related and would
ideally reference each other in their descriptions, which makes merging
the patches interdependent.

I am updating the license field here, as suggested by guix lint - I
somehow forgot to run it before. I added the possibility of creating a
pre-commit hook for this to my TODO.

[this note shouldn't interfere with git am]
---
 gnu/packages/crypto.scm | 49 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 45 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index cf7cbf44df..64c824a082 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -43,7 +43,9 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cryptsetup)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kerberos)
@@ -1051,10 +1053,49 @@ quickly by using all your CPU cores and hardware acceleration.")
        ("zlib" ,zlib)))
     (home-page "https://mega.nz/cmd")
     (synopsis "Command Line Interactive and Scriptable Application to access mega.nz")
-    (description "MEGAcmd provides non UI access to MEGA services.  It intends to offer all the
-functionality of a MEGA account via commands.  It features synchronization, backup of local folders
-into a MEGA account and a webdav/streaming server.")
-    (license '(license:bsd-2 license:gpl3+))))
+    (description "MEGAcmd provides non UI access to MEGA services.  It intends to offer
+all the functionality of a MEGA account via commands.  It features synchronization, backup
+of local folders into a MEGA account and a webdav/streaming server.
+
+See also: megatools, a third-party alternative more commonly packaged in other
+distributions.")
+    (license (list license:bsd-2 license:gpl3+))))
+
+(define-public megatools
+  (package
+    (name "megatools")
+    (version "1.10.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://megatools.megous.com/builds/megatools-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "12n32w5mqvpk0hvh9yg9qkj9i0g2wp7jp9rq28bnqs94iv3897hp"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ;; For documentation
+       ("asciidoc" ,asciidoc)))
+    (inputs
+     `(("curl" ,curl)
+       ("glib" ,glib)
+       ("openssl" ,openssl)))
+    (home-page "https://megatools.megous.com/")
+    (synopsis "Command line client application for mega.nz")
+    (description "Megatools is a collection of programs for accessing the mega.nz service
+from the command line.
+
+Megatools allow you to copy individual files as well as entire directory trees to and from
+the cloud.  You can also perform streaming downloads for example to preview videos and
+audio files, without needing to download the entire file first.
+
+Megatools are robust and optimized for fast operation - as fast as Mega servers allow.
+Memory requirements and CPU utilization are kept at minimum.
+
+See also: megacmd, the official tool set by MEGA.")
+    (license license:gpl2)))
 
 (define-public minisign
   (package
-- 
2.25.0