Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This PR introduces support for GUIX cross compilations #108

Merged
merged 20 commits into from
Mar 15, 2023

Conversation

SmartArray
Copy link

GUIX Support

After a few brutal days, I finally got the GUIX cross compilation working. It will produce binaries for the following architectures:

  • arm-linux-gnueabihf
  • aarch64-linux-gnu
  • riscv64-linux-gnu
  • powerpc64-linux-gnu
  • powerpc64le-linux-gnu
  • x86_64-w64-mingw32
  • x86_64-apple-darwin18

Usage

Ubuntu

On Debian/Ubuntu you can use apt install guix to install guix and run ./contrib/guix/guix-build.
For detailed instructions, refer to the docs https://github.com/DigiByte-Core/digibyte/tree/develop/contrib/guix.

MacOS/Windows

For Mac OS and Windows you can use docker and these instructions to run the GUIX build.
https://github.com/DigiByte-Core/DigiByte-GUIX-Docker/tree/main

root and others added 20 commits March 10, 2023 12:34
… digibyte-cli and added libxcb to allowed symbols for produced binaries. glibc minimum requirement set to 2.18
======================================================================
ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft
    validate_path(context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path
    return _validate_path(validation_context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path
    raise PathValidationError(pretty_message(
certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-01-14 12:00:00Z
@SmartArray SmartArray self-assigned this Mar 13, 2023
@SmartArray SmartArray marked this pull request as ready for review March 13, 2023 20:59
@SmartArray
Copy link
Author

A good side effect of this PR is that it fixes all the CI checks too 🎉

Copy link

@j50ng j50ng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK- tested build successfully. Approx ~4hrs w/ Ubuntu on Intel Core i7-6700K @ 4.00GHz - 4 cores 16Gb ram. Will test w/ Docker on Ubuntu next. Great work @SmartArray!

Copy link

@JaredTate JaredTate left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK. The Guix process works great for me if I build one architecture at a time. It tends to timeout on some downloads if I try to build all at once. Thanks Yoshi! Great work

Copy link
Member

@gto90 gto90 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK

Great job on this @SmartArray ! I am approving this PR while also raising the following GitHub Issue to resolve the issues building for Apple Silicon. I think it is appropriate for a release candidate but the aforementioned issue should be resolved prior to a general release.

@gto90 gto90 changed the title WIP: This PR introduces support for GUIX cross compilations This PR introduces support for GUIX cross compilations Mar 15, 2023
@SmartArray SmartArray merged commit 347ed46 into develop Mar 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants