unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Léo Le Bouter via Guix-patches via" <guix-patches@gnu.org>
To: ZmnSCPxj <ZmnSCPxj@protonmail.com>
Cc: "47187@debbugs.gnu.org" <47187@debbugs.gnu.org>
Subject: [bug#47187] [PATCH] gnu: Add c-lightning.
Date: Fri, 19 Mar 2021 10:09:38 +0100	[thread overview]
Message-ID: <f4dfb51a937774ec3a4033e14ff74c1a27532caf.camel@zaclys.net> (raw)
In-Reply-To: <wrjSkdSBHOIrwL93q4L8NF9bCc-vUcdRbwzfA-5JOSqnmQXoQeCNgZfVpboTv9weMt6QJOZTtrlxz_oEL_JSYNb8PH7VFagAf9xEtExkbrw=@protonmail.com>

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

On Thu, 2021-03-18 at 16:54 +0000, ZmnSCPxj wrote:
> That would not be simple I think, but let me see what can be done.
> For one, it would be fairly difficult to test it outside of a patched
> Guix, as the packages are not usually available in most distros
> (which is why we ship the source build with them); e.g. we do not
> know how to actually find the "system" libbacktrace as no existing
> system I know of actually ships the libbacktrace we use (Debian ships
> a libbacktrace for android development, and is not the same package
> as what we use).
> Of the external packages we use, only libsodium is available on
> Debian (and older Debian/Ubuntu, as mentioned, have an older version
> that does not have a functionality we require, which is why it is
> included in our source build as well), so that is the only external
> we have that we can plausibly say "we can use the system version",
> because all the others are not available on most systems.

We can package every of those in GNU Guix, there's not as much
bureaucracy as Debian when it comes to inclusion, as long as Free
Software and freedom-non-controversial. The "system" thing is just so
handy for us build-system wise we can just provide it as an input and
it will find things automatically, I don't say that "system" lookup
should imply to take any available library in general, in the context
of GNU Guix we can give it a particular version and stick to it, unlike
Debian's who can't have or with great difficulty, multiple versions of
the same library installed.

> Also --- we would be somewhat wary of taking the "system"
> `libsecp256k1`, as this is very consensus-critical, and we know that
> our program works with a very specific version, but cannot assure
> this to be true if the "system" `libsecp256k1` is not the exact
> version.
> (Note that we cannot take the `libsecp256k1` from `bitcoin-core`
> because (1) the `bitcoin-core` package uses a vendored
> `libsecp256k1`, the separate Guix `libsecp256k1` is actually only
> used by `electrum` and related projects and (2) the interface
> `bitcoin-core` uses may be different from the interface we use, it
> would require review before we would be able to assure that the
> interfaces they use are exactly the same; this would be mitigated by
> running the full test suite as it also tests consensus-criticality.)
> Is there an easy way to ensure that any `libsecp256k1` that gets fed
> into the `c-lightning` build as an `inputs` is of a specific `git`
> commit?

Yes we can package yet another variant like Bitcoin Core at a specific
commit for c-lightning.

> Hmm do you mean something like:
> 
>     (origin
>       ; whatever...
>       (snippet
>         '(begin
>            (delete-file-recursively "external/gheap")
>            (delete-file-recursively "external/jsmn")
>            (delete-file-recursively "external/libbacktrace")
>            (delete-file-recursively "external/libsodium")
>            (delete-file-recursively "external/libwally-core"))))
> 
> ?

Yes!

> How do you mix in a build system?
> Would `python-pyqt` be a good example of such "mix in"?

Maybe? I'm no expert here.

> Regards,
> ZmnSCPxj

FYI, I'm not as available for GNU Guix as I'd like, I am looking at the
Python deps, just it will take me some time to actually do it (not at
home now). I see python-mako is already packaged, python-wallycore I am
packaging it, python-mrkd also looking.

Also if we want to provide the Python bindings (?) to c-lightning we
also have the option of creating a separate package based on the same
sources but with different build-system (like python-build-system), and
also it can have c-lightning as an input. 

Léo

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-03-19  9:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16  8:40 [bug#47187] [PATCH] gnu: Add c-lightning ZmnSCPxj via Guix-patches via
2021-03-16  9:13 ` Léo Le Bouter via Guix-patches via
2021-03-16  9:17   ` Léo Le Bouter via Guix-patches via
2021-03-16 11:27     ` ZmnSCPxj via Guix-patches via
2021-03-16 12:46       ` Léo Le Bouter via Guix-patches via
2021-03-17  3:42         ` ZmnSCPxj via Guix-patches via
2021-03-18  6:33           ` Léo Le Bouter via Guix-patches via
2021-03-18 16:54             ` ZmnSCPxj via Guix-patches via
2021-03-19  9:09               ` Léo Le Bouter via Guix-patches via [this message]
2021-03-19 19:31                 ` ZmnSCPxj via Guix-patches via
2021-03-21 21:42                   ` Léo Le Bouter via Guix-patches via
2021-03-26 18:13                     ` Léo Le Bouter via Guix-patches via

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=f4dfb51a937774ec3a4033e14ff74c1a27532caf.camel@zaclys.net \
    --to=guix-patches@gnu.org \
    --cc=47187@debbugs.gnu.org \
    --cc=ZmnSCPxj@protonmail.com \
    --cc=lle-bout@zaclys.net \
    /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).