mbox series

[bug#69964,0/4] gnu: Add go-github-com-multiformats-go-multibase.

Message ID cover.1711197915.git.poptsov.artyom@gmail.com
Headers show
Series gnu: Add go-github-com-multiformats-go-multibase. | expand

Message

Artyom V. Poptsov March 23, 2024, 12:47 p.m. UTC
This patch series adds "go-multibase" package along with its dependencies.
The package is required for the newer Kubo (IPFS) versions.

Artyom V. Poptsov (4):
  gnu: Add go-github-com-multiformats-go-base32.
  gnu: Add go-github-com-multiformats-go-base36.
  gnu: Add go-github-com-multiformats-multibase.
  gnu: Add go-github-com-multiformats-go-multibase.

 gnu/packages/golang-xyz.scm | 110 ++++++++++++++++++++++++++++++++++++
 1 file changed, 110 insertions(+)


base-commit: f6f4c71df5558b168fe7a313522af7ea5fe2d0dc

Comments

Sharlatan Hellseher March 23, 2024, 8:14 p.m. UTC | #1
Hi,

Thank you for the patches.

I started the review process.

Did you check a better place in gnu/packages for this one
https://github.com/multiformats/multibase?tab=readme-ov-file#implementations

It looks like a map of formats and the implementations may be not just in
golang.

Check encoding module and consider to name it lees package specific.

Thanks,
Oleg
Artyom V. Poptsov March 24, 2024, 1:03 p.m. UTC | #2
Hello Oleg!

> I started the review process.

Great, thanks!

> Did you check a better place in gnu/packages for this one
> https://github.com/multiformats/multibase?tab=readme-ov-file#implementations
>
> It looks like a map of formats and the implementations may be not just in golang.

Yes, I saw this.  I just wasn't sure what module to use for the
"multibase" package.

> Check encoding module and consider to name it lees package specific.

Should I create "encodings.scm"?  Or maybe "specs.scm" is a better name
for it?  Because if there will be need for other protocol/format
specifications we can place the packages to "specs.scm".

Also what is the proper way to update the patch series?

Thanks!

- avp
Sharlatan Hellseher March 24, 2024, 9:04 p.m. UTC | #3
Hi,

I've checked https://github.com/multiformats, and it looks like a very
nice project which is in use by others large ones:

- IPFS https://ipfs.tech/
- CIDs https://github.com/multiformats/cid
- libp2p https://github.com/libp2p/libp2p
- IPLD https://github.com/ipld/ipld

> Should I create "encodings.scm"?  Or maybe "specs.scm" is a better name
> for it?  Because if there will be need for other protocol/format
> specifications we can place the packages to "specs.scm".

I'm not quite sure what to answer here, after a brief check of any
relevant modules. I've only found that there are only language specific
*-base* packages.

I'll give it another round to find some appropriate place for
specification distributed as CSV file from
<https://github.com/multiformats/multibase>, or we may ping someone else
from core/mentor team.

Based on the project's check, they provide verity language
implementations e.g. in Rust, Python, Go, Java, JavaScript so having
spec file in golang-*.scm is not the best place.

> Also what is the proper way to update the patch series?

I can't suggest any tooling, just describe my common flow.

I usually create patches on my local Guix checkout branch e.g.
'local/astro-update' and I use Emacs's Magit. If I need new patch series
I pull all, rebase on master select amended/update commits and place
new version prefix.

In short, use the same commit headers but add prefix 'PATCH v2' which
will be identified nicely by QA and the patch series may be obtained
much easily.

--
Oleg
Sharlatan Hellseher April 6, 2024, 10:40 p.m. UTC | #4
Closing this as resolved based on <https://issues.guix.gnu.org/70234>.

--
Oleg