On Tue, 2021-03-16 at 11:27 +0000, ZmnSCPxj wrote: > Already working on that, but 0.10.0 will release soon and I doubt my > changes will make it by then, so Guix might get c-lightning to 0.10.1 > or later if we wait for it. Awesome! > Yes, it is true that there is something of a requirement of a strict > behavior here, I suppose it is possible to use `git-fetch` instead of > `url-fetch` for our external libraries. Yes you can use git-fetch, to make sure we are on the same page, are you speaking of strict behavior requirements like for Bitcoin Core's consensus code? > How do I generate `guix hash` for `git-fetch`ed `source`s? Actually what I do is put a wrong hash in and then copy the "actual hash" from the error. I havent found another way but this definitely feels subpar and prevents much verification before putting in the hash, better suggestions welcome. > However it also means that every release of C-Lightning I have to go > double-check what git commit to use for each library (though `jsmn` > and `libbacktrace` at least seem very stable). > > But it looks to me that unvendoring will require more extensive > patching of the `Makefile` and an even larger maintenance burden on > Guix side? Unvendoring is more or less a policy because we must be able to audit each piece of software separately for freedom issues (licenses, violations to the GNU FSDG), and it eases work for security-patching also. > `libwally-core` itself depends on another library `libsecp256k1`, so > I suppose it must transitively be unvendored as well. Probably, we already have a libsecp256k1 specially for Bitcoin Core. > The test suite is fairly large and can take a significant amount of > time to run in full. That's fine. > In addition, part of the test includes checks which take advantage of > `BINTOPKGLIBEXECDIR` relative path we normally use, which I want to > disable for Guix at least since the relative path only has an > advantage if the user wants to move the installation after-the-fact > to a different location (and on Guix the "installation" path cannot > be moved anyway). > Using an absolute `BINTOPKGLIBEXECDIR` gives an advantage as > mentioned in the comments that a profile being upgraded from one > version of C-Lightning to another does not cause problems for daemons > currently running off the profile. > The test can be disabled (but not easily), I suppose. Problematic or unrealistically expensive tests can be disabled yes. > Please do, I am not very familiar with any Python infrastructure and > am primarily a C programmer here, I just barely hack together some > kind of test in Python. If you can list the Python dependencies and their version I can look at packaging them. > Regards, > ZmnSCPxj Léo