Page MenuHomePhabricator

[guix] implement guix build for linux
ClosedPublic

Authored by PiRK on Apr 24 2023, 10:07.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC2f363b9477e6: [guix] implement guix build for linux
Summary

This is the first step of importing the guix build machinery from Bitcoin Core and make it work for Bitcoin ABC with its additonal dependencies.

This currently supports only HOST x86_64-linux-gnu. It does not include the guix-codesign, guix-verify and guix-attest scripts.
The guix-clean script has been simplified significantly.
The build is currently not deterministic for an unknown reason (tested on the same computer twice in a row).

Test Plan

Follow the steps of the "Guix Installation and Setup" doc, then run contrib/guix/guix-build, then test the binaries (bitcoind, bitcoin-cli) locally.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
guix
Lint
Lint Warnings
SeverityLocationCodeMessage
Warningcontrib/guix/libexec/build.sh:241SC2034ShellCheck found an issue:
Warningcontrib/guix/patches/glibc-2.27-fcommon.patch:8SPELL1Possible Spelling Mistake
Unit
No Test Coverage
Build Status
Buildable 23411
Build 46441: Build Diff
Build 46440: arc lint + arc unit

Event Timeline

PiRK requested review of this revision.Apr 24 2023, 10:07
PiRK planned changes to this revision.Apr 24 2023, 10:10

I need to investigate that lint error (why HOST_LDFLAGS is unused)

export HOST_LDFLAGS (silence a couple of lint warnings)

Fabien requested changes to this revision.Apr 24 2023, 13:19
Fabien added a subscriber: Fabien.
Fabien added inline comments.
contrib/guix/guix-build
75 ↗(On Diff #39875)

also ARM and AARCH64 Linux

contrib/guix/libexec/build.sh
158 ↗(On Diff #39875)

The last 3 are not supported

contrib/guix/libexec/prelude.bash
2 ↗(On Diff #39875)

No copyright ?

contrib/guix/patches/glibc-2.27-riscv64-Use-__has_include-to-include-asm-syscalls.h.patch
1 ↗(On Diff #39875)

We don't need that one

contrib/guix/patches/lief-fix-ppc64-nx-default.patch
1 ↗(On Diff #39875)

Nor this one

This revision now requires changes to proceed.Apr 24 2023, 13:19
contrib/guix/patches/lief-fix-ppc64-nx-default.patch
1 ↗(On Diff #39875)

Not sure if this is my problezm, but after removing this patch I'm getting a python error in security-check

Traceback (most recent call last):
  File "/bitcoin/contrib/devtools/security-check.py", line 13, in <module>
    import lief
ModuleNotFoundError: No module named 'lief'
contrib/guix/patches/lief-fix-ppc64-nx-default.patch
1 ↗(On Diff #39875)

Nervermind, I accidentally removed the dependency in manifest.scm when I removed the patch.

Fabien added inline comments.
contrib/guix/libexec/prelude.bash
4 ↗(On Diff #39894)

Remove, I just checked and there is no copyright on the source material. If you changed something in that file, then it's fine but only year 2023

This revision is now accepted and ready to land.Apr 24 2023, 16:15

remove copyright header

This revision was automatically updated to reflect the committed changes.