[PATCH 0/4] gnu: Add go-github-com-multiformats-go-multibase.

  • Done
  • quality assurance status badge
Details
2 participants
  • Artyom V. Poptsov
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Artyom V. Poptsov
Severity
normal

Debbugs page

A
A
Artyom V. Poptsov wrote on 23 Mar 05:47 -0700
(address . guix-patches@gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
cover.1711197915.git.poptsov.artyom@gmail.com
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
--
2.41.0
A
A
Artyom V. Poptsov wrote on 23 Mar 05:53 -0700
[PATCH 3/4] gnu: Add go-github-com-multiformats-multibase.
(address . 69964@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
69ebf5f71d88611591efddc00ce3c619203bb4a4.1711197915.git.poptsov.artyom@gmail.com
* gnu/packages/golang-xyz.scm (go-github-com-multiformats-multibase): New
variable.

Change-Id: I5994e8f8927d5365cc201da30bd49abf03d17574
---
gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index c5851cfa5f..d7fd50ae3d 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1413,6 +1413,33 @@ (define-public go-github-com-multiformats-go-base36
"Optimized codec for @code{[]byte} <=> @code{base36} string conversion.")
(license (list license:asl2.0 license:expat))))
+(define-public go-github-com-multiformats-multibase
+ (let ((commit "4c8344e37852773de155f587dcf5897771b3fc19")
+ (revision "1"))
+ (package
+ (name "go-github-com-multiformats-multibase")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/multibase")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lz4kdysa6nx7wf1i59647w7dgm344xpvfnsac3pfk2qdky2kq8b"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan
+ '(("." "share/multibase/"))))
+ (home-page "https://github.com/multiformats/multibase")
+ (synopsis "Self identifying base encodings")
+ (description
+ "Multibase is a protocol for disambiguating the encoding of
+base-encoded (e.g., @code{base32}, @code{base36}, @code{base64}, @code{base58}, etc.)
+binary appearing in text.")
+ (license (list license:expat license:cc-by-sa3.0)))))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
A
A
Artyom V. Poptsov wrote on 23 Mar 05:53 -0700
[PATCH 4/4] gnu: Add go-github-com-multiformats-go-multibase.
(address . 69964@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
7d6ebbf9a87ecbded1c702ec4892281e1e8ae32f.1711197915.git.poptsov.artyom@gmail.com
* gnu/packages/golang-xyz.scm (go-github-com-multiformats-go-multibase): New
variable.

Change-Id: If634f1497d628a23f2c2ebb1e8e9f6526faa3f3f
---
gnu/packages/golang-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index d7fd50ae3d..468359e2ef 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1440,6 +1440,42 @@ (define-public go-github-com-multiformats-multibase
binary appearing in text.")
(license (list license:expat license:cc-by-sa3.0)))))
+(define-public go-github-com-multiformats-go-multibase
+ (package
+ (name "go-github-com-multiformats-go-multibase")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-multibase")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11za5yqiq9bkxfg0lvjzgr5d0kawkf2szxj90by9vfnalihqgkrr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.21
+ #:import-path "github.com/multiformats/go-multibase"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-multibase-specs
+ (lambda _
+ (copy-recursively (string-append #$(this-package-native-input
+ "go-github-com-multiformats-multibase")
+ "/share/multibase/")
+ "src/github.com/multiformats/go-multibase/spec"))))))
+ (native-inputs (list go-github-com-multiformats-multibase))
+ (inputs (list go-github-com-mr-tron-base58
+ go-github-com-multiformats-go-base32
+ go-github-com-multiformats-go-base36))
+ (home-page "https://github.com/multiformats/go-multibase")
+ (synopsis "Implementation of multibase parser in Go")
+ (description
+ "Implementation of @url{https://github.com/multiformats/multibase,
+multibase} (self identifying base encodings) in Go.")
+ (license license:expat)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
A
A
Artyom V. Poptsov wrote on 23 Mar 05:53 -0700
[PATCH 2/4] gnu: Add go-github-com-multiformats-go-base36.
(address . 69964@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
4d2be049a308fc13b88f0b4a61d4cc4242b5b2fd.1711197915.git.poptsov.artyom@gmail.com
* gnu/packages/golang-xyz.scm (go-github-com-multiformats-go-base36): New
variable.

Change-Id: I27c5540fddae55ae9ce12a205d6f7f7c9a01569b
---
gnu/packages/golang-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 5674004424..c5851cfa5f 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1390,6 +1390,29 @@ (define-public go-github-com-multiformats-go-base32
"@code{base32} encoding package from Go with @code{NoPadding} option")
(license license:bsd-3)))
+(define-public go-github-com-multiformats-go-base36
+ (package
+ (name "go-github-com-multiformats-go-base36")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-base36")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wfhsmxkvm97pglfwgiw3ad5g9vqc9nhd61i0kyvsb9lc006g8qq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/multiformats/go-base36"))
+ (home-page "https://github.com/multiformats/go-base36")
+ (synopsis "Optimized @code{base36} codec for Go")
+ (description
+ "Optimized codec for @code{[]byte} <=> @code{base36} string conversion.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
A
A
Artyom V. Poptsov wrote on 23 Mar 05:53 -0700
[PATCH 1/4] gnu: Add go-github-com-multiformats-go-base32.
(address . 69964@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
3777835cb6d385944a407367334c4ab85176e074.1711197915.git.poptsov.artyom@gmail.com
* gnu/packages/golang-xyz.scm (go-github-com-multiformats-go-base32): New
variable.

Change-Id: If6c54a3c2d0a62e61e524da85c76ad6bf7f7bcbe
---
gnu/packages/golang-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index cf0b52a043..5674004424 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -40,6 +40,7 @@
(define-module (gnu packages golang-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system go)
+ #:use-module (guix build-system copy)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
@@ -1366,6 +1367,29 @@ (define-public go-github-com-mreiferson-go-svc
@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
(license license:expat))))
+(define-public go-github-com-multiformats-go-base32
+ (package
+ (name "go-github-com-multiformats-go-base32")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-base32")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ala6gaa5r5mqcg6cdwfg492hpz41cjbfwyn1ljd6qvya3n0qqiv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/multiformats/go-base32"))
+ (home-page "https://github.com/multiformats/go-base32")
+ (synopsis "Go @code{base32} encoding package with @code{NoPadding} option")
+ (description
+ "@code{base32} encoding package from Go with @code{NoPadding} option")
+ (license license:bsd-3)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
--
2.41.0
S
S
Sharlatan Hellseher wrote on 23 Mar 13:14 -0700
[PATCH 0/4] gnu: Add go-github-com-multiformats-go-multibase.
(address . 69964@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
CAO+9K5oRRfuYnwV8qqpWd5G_yXGeLf6gzReUoA5nuf3Oq7AOQw@mail.gmail.com
Hi,

Thank you for the patches.

I started the review process.

Did you check a better place in gnu/packages for this one

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
Attachment: file
A
A
Artyom V. Poptsov wrote on 24 Mar 06:03 -0700
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 69964@debbugs.gnu.org)
87wmprbx37.fsf@gmail.com
Hello Oleg!

Toggle quote (2 lines)
> I started the review process.

Great, thanks!

Toggle quote (5 lines)
> 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.

Toggle quote (2 lines)
> 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

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQJNBAEBCgA3FiEEAf2F9Bp7f4IFgwalk16+BzbchX4FAmYAJLwZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRCTXr4HNtyFfuZyD/9Se7YVmB0J4uSbroyghMMm
coBBOy6HPh8FOmSFXQl8qNmhRiiOZtlpWaRByODDUgPZt4/Rh1twSwLjqXDKHOYy
vHgogvi8N7saK5UNikb/WiH+2SogyCJr5RK5HmQ+EFx5d5LAIoQ6IVlPLNKP7HKl
EjXNheanGYf5p9Ay4GWTORG42GQggmwaN4Q+/VG4bqQ/uxghYJk6uOql9pOD563y
G0hM9JBSuo50URzYXZTTaL5EvEaWciI39MLLjpPyiaD53bnM5m2YfnHisGpBcaQ5
rynfnjbO2WTZP6VkGWfp3cH3vONxugwSdk30BU+bDeeujm9JmkxcmC+EYPRQ0f4L
rXLDiVf0EGXVT0HghRTonNzqNOjUQbQcwA1KVCwZZfAbVfFCTkdChncvzFeN6ipb
Og/DfnIJDjxqS9N1P5hZaXdlTqpGnz3OgcGclVN+ZWOUzFxAlBLJ+F/9pmYnLD2O
pDdijdm82upa9r9c5oLeKJqx7Gkr2GK4O22oVtktkRClN0pN8bQG+9971slX56f2
3Mqn/G3RbdyX/Bgjz0Wg+stvRquniFM1pZ11kr9drr4MeIge1lMNLp3t6OU38D90
5yBDkphdICzv3r3Gl9qXLGOY6mssPSN9p1HiHFfqgaU8yvgJN449kNZPlnSf8tYE
NDK2WpD8vB9KWVWsxKVRhw==
=+v6Z
-----END PGP SIGNATURE-----

S
S
Sharlatan Hellseher wrote on 24 Mar 14:04 -0700
[PATCH 0/4] gnu: Add go-github-com-multiformats-go-multibase.
(address . 69964@debbugs.gnu.org)(name . Artyom avp Poptsov)(address . poptsov.artyom@gmail.com)
87zfun5ok1.fsf@gmail.com
Hi,

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


Toggle quote (4 lines)
> 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.

Toggle quote (2 lines)
> 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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmYAlW4ACgkQdtcnv/Ys
0rXxYA//b51T/bzKWXGS8m5gIjfzUD4/UAhIUyfAda74kVygrVqVy4/epJTHh3Te
hZK7abaecLsBF0BF0N+XwFkr2JJfuhsGNFtnm9/UYxRCNWXOU6M5P2SMnwHUfpt+
gKIUHVqGQgaVHKxBMB51XGYD3yAMzwNeaBcZ3UfCGTC4UTkCZQ9h0V6cjusPoBg1
Tg9w23xD53GgoTiaC5HPIO9UH8nzU8JDIFLs8JBu/v/L8F9hIH8WOC6rbPSWIHhy
QNQhTEst2z1RgM6WIVESikvqQrQr0mnqYBn2bQXTYN1jgZM4pKft4p8nCV364myY
I3NXnlTmlhlmcVftKw9dEpnNGzyTXRs9ksxFD2WB7T+jcd1IqkL92LKrvdbbRGy+
6Ta4AaW/RnmS/SSYUXoKjbIkmD8rTrvW2AHDtXFyepziufCcdLrATVYKG1yxTBE3
S73habc+b/uGUmCzGVqtEu25BhSHIqnKgKjAnGR69JQwJadfM5zDKQnEa7LFcXXv
bhbhrERRtOIRPKyAIyIP7Z9HQCKgufnECIbZ51+IsSIoGU5FlTA0QktBr53PJarK
ikoQ4hAHgdHv1K/YXOxJcQKj5wWVIHYN3TxIna8fHH9REG4hrRyYmaG3e5u38Thd
yxlrbwv/99DFEAPcWxR2BbOV1MjTbBD6CrMWVoEbmrHxqwqTbRQ=
=wLnD
-----END PGP SIGNATURE-----

S
S
Sharlatan Hellseher wrote on 6 Apr 15:40 -0700
(address . 69964-done@debbugs.gnu.org)
87zfu6ktcr.fsf@gmail.com
Closing this as resolved based on https://issues.guix.gnu.org/70234.

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmYRz2QACgkQdtcnv/Ys
0rV42xAAwDdCPWy+B9a+7tquCZp02R8NrEsZd5g1z+/pMXpqcylQ4IJBPcIk4Ux/
4fK3oJJNjSQbtkxis4OUb/Fdf0qM64/yVHdRMkMRV0TPHsnq3rj/9Fb2My4fYvHY
Mxe8qW1ynXTk/wroTUmTLxXwghTkrhWU9pbL7envnvjUi2Lfmw+rOosVh27RW7iM
bPKCpgkpbgxuo8sYog3YK6yqvlLstuUl5V7Srk+9jvZoNAS71vfu53Id/NmlTKXQ
ot0zNZL9rcarbY8NYci1U8zSqU0UTpc6IbIvrHZtgWngCwyxgDO+1w/YPeb0BfN8
N+G3R/p10qQ/s6jbwBLlCaoDeGY0UqFmMMPOnP3ecWxUEXsbbgZdoU1GqzsBmKg1
Q9PD4Z4DDuTKlZE6K5yp1FIt3hCvGugxba45KvDzVOI8PQjvw/BiSiA9/syx142q
JHaTZff+FIeRYJKYyyM+14jMzJuXd5oQtUJ0XaAs18W4BY0b62grl7wAOBY2a+fy
vOj1XU5J8A6EVCJJgYmj0KwR37Tbe/+MqFggWQoIGcRNdbjrNrS7c0bJJgBdUOMN
QmIM7Enmk2LCGN9EDorFp3WFCPId7oc6AxYMmzRb3DnbyVr5tpxfQXH0PNfLPjNq
pfjHHOSgxQV2fOgqYrH2BJe+V7QTN8OJ0Bx6ZMF4H97ZV2dfFQc=
=viXq
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 69964@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 69964
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch