Subject: Re: [PATCH] gnu: Add MEGA SDK

From: Liliana Marie Prikler <[email-masked]>
Date: Mon, 06 Dec 2021 20:52:59 +0100

Am Donnerstag, den 02.12.2021, 06:32 +0000 schrieb Jaft:
> * gnu/packages/mega.scm (mega-sdk):Add MEGA SDK
Should be "New variable."

> The SDK is a dependency of MEGAsync so I thought to make a new file
> since there's multiple packages that are MEGA related and then I
> discovered that the megacmd package exists; is it better for this to
> be placed in sync.scm, next to megacmd?
Sync is good.  If existing Mega packages use the SDK, try to unbundle
them.

> ---
I don't know if I told you that yet, but comments ought to go below
this line.

> +(define-public mega-sdk
> +=C2=A0 (let ([version "3.9.10"])
> +=C2=A0=C2=A0=C2=A0 (package
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (name "mega-sdk")
I hate you too, Outlook.

> +(define-public mega-sdk
> +  (let ([version "3.9.10"])
Guile is not Racket, we use uniform brackets.
> +    (package
> +      (name "mega-sdk")
> +      (version version)
There's no reason to let-bind version if you're just going to assign it
here anyway.
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/meganz/sdk/")
> +                      (commit (string-append "v" version))))
> +                (file-name (git-file-name name version))
> +                (sha256 (base32
> +                         
> "08qw23rm4rrvlsbcixrncbi5x0qgqkpx74l5f1gq2rgll0ksx8ph"))
> +                (modules '((guix build utils)))))
> +      (build-system gnu-build-system)
> +      (native-inputs `(("autoconf" ,autoconf)
> +                       ("automake" ,automake)
> +                       ("libtool" ,libtool)))
> +      (inputs `(("crypto++" ,crypto++)
> +                ("zlib" ,zlib)
> +                ("sqlite" ,sqlite)
> +                ("openssl" ,openssl)
> +                ("c-ares" ,c-ares)
> +                ("curl" ,curl)
> +                ("freeimage" ,freeimage)
> +                ("readline" ,readline)
> +                ("libsodium" ,libsodium)))
> +      (arguments `(#:tests? #f))
Never leave #:tests? #f uncommented.
> +      (home-page "https://mega.nz/sdk")
> +      (synopsis "SDK for the MEGA service, offered by MEGA Limited")
Sponsored by RAID: Shadow Legends.
> +      (description "A low-level SDK for the MEGA service which
> powers the
> +file-sharing site.  This package provides two executables:
> +@itemize
> +@item megacli: a command-line tool that allows usage of all SDK
> features
> +@item megasimplesync: a command line tool that allows usage of the
> +synchronization engine
> +@end itemize")
> +      (license license:bsd-2))))
Given the megacli command, what's the relation to existing MEGA
packages, particularly megacmd?

Cheers