all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Attila Lendvai <attila@lendvai.name>
To: "guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: packaging go-ethereum, and ultimately bee (of ethswarm.org)
Date: Mon, 30 Aug 2021 21:52:13 +0000	[thread overview]
Message-ID: <IHcyl82Ui7MmWHcyHSrPEE-SnSjEaK_0wwbNDwYco242e3GksdryxgiTJ9_Wf6YqlDKkbRAy88dMlQYPzNW8qF8uGIAKnemTBJN48a1U3mM=@lendvai.name> (raw)

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

hello everyone,

it's my first mail here, so let me briefly into myself: i'm a long-time lisper (mostly CL, i'm new to Scheme, although i worked on a scheme-like tiny lisp: https://github.com/attila-lendvai/maru). i'm coming over from NixOS after a few months of loving it as a user, but hating it as a developer. i have packaged bee for NixOS (a client of https://www.ethswarm.org/ written in go), but i got tired of the random, undebuggable obstacles of Nix, especially the implementation of the NixOS module system.

bee depends on go-ethereum (it uses its clef binary to manage the ethereum keys).

so, regarding go-ethereum, i've seen this:

[https://issues.guix.gnu.org/43872](https://issues.guix.gnu.org/43872#3)

the initial conclusion was that the proper way to package a go project is to package the pinned transitive closure of every dependency. there's a go importer now, which is functional/hackable enough that this is not a hopeless task, but... i'm doubtful that it's a good idea to multiply the number of Guix packages by such an endeavor... :)

then Helio Machado proposed something smarter in a later comment:

https://issues.guix.gnu.org/43872#3

IIUC, he proposes a way to instead use the go module system to download all the dependencies, and yet authenticate all the downloaded go code. his work is not merged yet, and i think it's not even ready for merging yet.

now, i'm rather motivated to work on this, maybe even willing to use the go importer and add countless pinned go packages... but is that desirable? is that the ultimate solution/goal? or should i wait until Helio's clever hack is merged? or shall i try to finish up his hack to be merge-ready?

i'd really appreciate some guidance and/or coordination regarding where i should put my energy.

- attila
PGP: 5D5F 45C7 DFCD 0A39

PS: even though Guix has more rough edges from a user perspective, it feels much more natural with my developer hat on. thank you for that experience!

[-- Attachment #2: Type: text/html, Size: 2608 bytes --]

             reply	other threads:[~2021-08-30 22:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-30 21:52 Attila Lendvai [this message]
2021-08-31 10:19 ` packaging go-ethereum, and ultimately bee (of ethswarm.org) Attila Lendvai
2021-08-31 22:21 ` Maxime Devos
2021-09-01 14:29   ` Attila Lendvai
2021-09-01 16:17     ` Maxime Devos
2021-09-03  8:16       ` Attila Lendvai
2021-09-03 16:01         ` Bengt Richter
2021-09-03 19:51           ` Attila Lendvai
  -- strict thread matches above, loose matches on Subject: below --
2021-09-01 19:14 Sarah Morgensen

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

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

  git send-email \
    --in-reply-to='IHcyl82Ui7MmWHcyHSrPEE-SnSjEaK_0wwbNDwYco242e3GksdryxgiTJ9_Wf6YqlDKkbRAy88dMlQYPzNW8qF8uGIAKnemTBJN48a1U3mM=@lendvai.name' \
    --to=attila@lendvai.name \
    --cc=guix-devel@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.