unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
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?




      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).