From: Jesse Eisses <jesse@unraveled.tech>
To: Marius Bakke <marius@gnu.org>
Cc: 44269@debbugs.gnu.org
Subject: [bug#44269] [PATCH] gnu: Add eosio-cdt.
Date: Tue, 17 Nov 2020 09:20:32 +0100 [thread overview]
Message-ID: <CAB9Y2sTPxf+xhu=QNUSL0FPdiBG-ksT=uK-wywd+Tuy7FPF7SA@mail.gmail.com> (raw)
In-Reply-To: <87eel1dkt9.fsf@gnu.org>
Thanks for the feedback
As there are changes made to LLVM and libcxx for eosio-cdt I think we
have to compile them. These large dependencies are included as git
submodules though, so I will try to put them in separate packages.
The comments are clear; I'm working on an updated patch :)
- Jesse
Op di 10 nov. 2020 om 21:22 schreef Marius Bakke <marius@gnu.org>:
>
> 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?
prev parent reply other threads:[~2020-11-17 14:17 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
2020-11-17 8:20 ` Jesse Eisses [this message]
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='CAB9Y2sTPxf+xhu=QNUSL0FPdiBG-ksT=uK-wywd+Tuy7FPF7SA@mail.gmail.com' \
--to=jesse@unraveled.tech \
--cc=44269@debbugs.gnu.org \
--cc=marius@gnu.org \
/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).