unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Marius Bakke <marius@gnu.org>
To: jesse@unraveled.tech, 44269@debbugs.gnu.org
Subject: [bug#44269] [PATCH] gnu: Add eosio-cdt.
Date: Tue, 10 Nov 2020 21:21:54 +0100	[thread overview]
Message-ID: <87eel1dkt9.fsf@gnu.org> (raw)
In-Reply-To: <20201027211246.573113-1-jesse@unraveled.tech>

[-- Attachment #1: Type: text/plain, Size: 2966 bytes --]

jesse@unraveled.tech writes:

> Hi all!
>
> This is my first patch, I hope I'm doing it correctly.

Cool, welcome!

The patch is lacking a proper commit message, but looks pretty good
overall.  Some comments follow.

> The patch below adds the Contract Development Toolkit (compiler) for smart
> contracts on the EOS blockchain. I also have a package for EOS itself that is
> a bit more involved, so I'll submit separately.
>
> Total package size is 607MB of which self is 329MB. It takes a while to
> compile (about an hour on my i7 laptop).

I suppose some of that time is because of the bundled LLVM, libcxx,
etc.  Do you know if it's possible to remove those, or at least build
them separately?

> diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
> index 4397cf8ba8..0e661c4b56 100644
> --- a/gnu/packages/finance.scm
> +++ b/gnu/packages/finance.scm

Can you also add your name to the list of authors at the top of the file?

> @@ -59,6 +59,7 @@
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages crypto)
>    #:use-module (gnu packages curl)
> +  #:use-module (gnu packages cmake)

I believe this import is unused.

[...]
  
> +(define-public eosio-cdt
> +  (package
> +    (name "eosio-cdt")
> +    (version "1.7.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference (url "https://github.com/EOSIO/eosio.cdt")
> +                           (commit (string-append "v" version))
> +                           (recursive? #t)))
> +       (sha256
> +        (base32
> +         "1mrc8dn7sf086456c63rlha4j3fh0g1a59dbd6in6nyhan712xps"))
> +       (file-name (git-file-name name version))))
> +    (build-system cmake-build-system)
> +    (native-inputs
> +     `(("git" ,git)

It looks like the git dependency comes from
"modules/ClangExternalProject.txt".  Though I don't see it being used.
Can you try to substitute* out the "find_package(Git ...)" statement and
see if it's possible to make it work without it?

It's not uncommon that build scripts look for git even when it's not
strictly needed.  By removing the dependency we avoid needlessly
rebuilding this package every time git is updated.

> +       ("doxygen" ,doxygen)
> +       ("pkg-config" ,pkg-config)
> +       ("curl" ,curl)))
> +    (inputs
> +     `(("gmp" ,gmp)
> +       ("openssl" ,openssl)
> +       ("python" ,python-3)))
> +    (arguments
> +     `(#:build-type "Release"))

Is there a particular reason to use a "Release" build here (as opposed
to the default "RelWithDebInfo")?  Guix is a hackers distro, and
debugging symbols are nice.  :-)

> +    (home-page "https://developers.eos.io/manuals/eosio.cdt/latest/index")
> +    (synopsis "EOSIO.CDT is a suite of tools used to build EOSIO contracts")

Just "Suite of tools to build EOSIO contracts".

Otherwise the patch looks great.  Can you send an updated version?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

  reply	other threads:[~2020-11-10 20:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-27 21:12 [bug#44269] [PATCH] gnu: Add eosio-cdt jesse
2020-11-10 20:21 ` Marius Bakke [this message]
2020-11-17  8:20   ` Jesse Eisses

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eel1dkt9.fsf@gnu.org \
    --to=marius@gnu.org \
    --cc=44269@debbugs.gnu.org \
    --cc=jesse@unraveled.tech \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).