guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#43872] [PATCH] Add package go-ethereum


From: Helio Machado
Subject: [bug#43872] [PATCH] Add package go-ethereum
Date: Thu, 8 Oct 2020 23:59:23 +0200

# Add package `go-ethereum`

These patches add the [go-ethereum][5] package and a small workaround that allows experimental module support.

## [Checklist][1]

1. Code authentication: all the code is being pulled from Git repositories and Go packages, so there isn't any specific code signature we can verify.

2. Synopsis and description: built from the official documentation and around the style guidelines.

3. Results for `guix lint`: everything seems to be fine, and it seems to have scheduled a [Software Heritage][2] archival (?).

4. Native build check: the package builds correctly on my platform (x86-64), using `guix build` package.

5. Cross-build check: package was not tested on any other supported platform because `go-build-system` [doesn't seem to support cross-compilation][3].

6. Package deduplication: dependencies are being pulled from their respective module repositories at build time; there isn't practically any overlap between the package code and the Guix repositories.

7. Package size: as per `guix size`, this package requires a total of 418.7 MiB, with a package (self) size of 282.4 MiB.

8. Dependent packages: this is a freshly added package with no dependent items.

9. Deterministic build: this package is fully deterministic and has fixed hashes for both the initial download and the build derivation.

10. Inclusive language: documentation was written with neutrality in mind and there isn't any obvious bias, though it might need proofreading.

11. Patch atomicity: this patch contains only one set of related changes, though modifications affect two files.

12. Code formatting: added lines were formatted by using `indent-code.el`.

13. Source consistency: all the involved downloads are being pulled along with a Git tag or commit, so results should be consistent enough.

14. Guix build: these changes don't affect Guix builds nor introduce any warning.

15. Guix consistency: these changes do not break Guix in any obvious way.
    
## Desiderata

It would be great to have easier ways to replace Go module management system with Guix in a seamless and painless way. Rust build system for Guix has a cleaner implementation, majorly due to the existence of a [centralized package registry][4].

[1]: https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html
[2]: https://www.softwareheritage.org/
[3]: https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/go.scm#n60
[4]: https://crates.io
[5]: https://github.com/ethereum/go-ethereum
[6]: https://gist.github.com/0x2b3bfa0/1805037bf5efa2655fa71d32e69fdd14

Attachment: 0001-build-system-go-Allow-packages-to-create-fixed-outpu.patch
Description: Binary data

Attachment: 0002-gnu-Add-go-github-com-ethereum-go-ethereum.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]