[PATCH v2 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
A
A
Artyom V. Poptsov wrote on 6 Apr 10:30 +0200
(address . guix-patches@gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
cover.1712391354.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.

The patch series is updated based on recommendations from Sharlatan Hellseher,
namely "multibase" specification is placed into a new separate module named
"specifications.scm".

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

gnu/local.mk | 3 +-
gnu/packages/golang-xyz.scm | 86 ++++++++++++++++++++++++++++++++-
gnu/packages/specifications.scm | 53 ++++++++++++++++++++
3 files changed, 140 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/specifications.scm


base-commit: bfc614397b5f146056bda4b5a8e3a67bd1ca7b23
--
2.41.0
A
A
Artyom V. Poptsov wrote on 6 Apr 10:40 +0200
[PATCH 1/4] gnu: Add go-github-com-multiformats-go-base32.
(address . 70234@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
395f9fc5e32c3362b3277fca0cc130fb760f4a0d.1712391354.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 d357584469..786c1f276f 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -44,6 +44,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)
@@ -1761,6 +1762,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
A
A
Artyom V. Poptsov wrote on 6 Apr 10:40 +0200
[PATCH 2/4] gnu: Add go-github-com-multiformats-go-base36.
(address . 70234@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
cc60ca5ecdf0a5028d2b9851ad11502898cb8918.1712391354.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 786c1f276f..5395935c41 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1785,6 +1785,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 6 Apr 10:40 +0200
[PATCH 3/4] gnu: Add specification-multibase.
(address . 70234@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
9a88ef1dad94a62d8dc1397bfc063dc9263ad267.1712391354.git.poptsov.artyom@gmail.com
* gnu/packages/specifications.scm: New module.
(specification-multibase): New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add "gnu/packages/specifications.scm".

Change-Id: I5994e8f8927d5365cc201da30bd49abf03d17574
---
gnu/local.mk | 3 +-
gnu/packages/specifications.scm | 53 +++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/specifications.scm

Toggle diff (82 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index a281a79610..37cb54a4dd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -49,7 +49,7 @@
# Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
# Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
# Copyright © 2022 Remco van 't Veer <remco@remworks.net>
-# Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+# Copyright © 2022, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
# Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
# Copyright © 2022 muradm <mail@muradm.net>
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
@@ -609,6 +609,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/sml.scm \
%D%/packages/solidity.scm \
%D%/packages/sourcehut.scm \
+ %D%/packages/specifications.scm \
%D%/packages/speech.scm \
%D%/packages/sphinx.scm \
%D%/packages/spice.scm \
diff --git a/gnu/packages/specifications.scm b/gnu/packages/specifications.scm
new file mode 100644
index 0000000000..ce57a68bdb
--- /dev/null
+++ b/gnu/packages/specifications.scm
@@ -0,0 +1,53 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages specifications)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix utils)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix build-system copy))
+
+(define-public specification-multibase
+ (let ((commit "4c8344e37852773de155f587dcf5897771b3fc19")
+ (revision "1"))
+ (package
+ (name "specification-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)))))
--
2.41.0
A
A
Artyom V. Poptsov wrote on 6 Apr 10:40 +0200
[PATCH 4/4] gnu: Add go-github-com-multiformats-go-multibase.
(address . 70234@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
b5ea78a8490868e166bda7571366b85669f20cb5.1712391354.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 | 39 ++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 5395935c41..7c39f64640 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -56,7 +56,8 @@ (define-module (gnu packages golang-xyz)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
- #:use-module (gnu packages linux))
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages specifications))
;;; Commentary:
;;;
@@ -1808,6 +1809,42 @@ (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-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
+ "specification-multibase")
+ "/share/multibase/")
+ "src/github.com/multiformats/go-multibase/spec"))))))
+ (native-inputs (list specification-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
S
S
Sharlatan Hellseher wrote on 7 Apr 00:06 +0200
[PATCH v2 0/4] gnu: Add go-github-com-multiformats-go-multibase.
(address . 70234-done@debbugs.gnu.org)
87edbim9hh.fsf@gmail.com
Pushed as 93b19868e6..b315f4d575 to master with minor modifications.

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

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmYRx3oACgkQdtcnv/Ys
0rWmGg/+OA4I4LsHAEqePwzbWwgtsMDJe7pww9r/csmWDnFNQTVDfE8RspZk5WYR
g9im4OdLqeLLNJseYPuGdB+FONt0jB6EkKbhXr5PhBLbOP3wobSZwWScUa69t05A
PyqTffaV6hlGTSvCTQciOfsltIPykreppHCJ8LeD8VTv3X/A2/eruSBiUk/JZudn
HbEveub9GQGc9k4tR00ZKnlcLedH68zy4vekloNOwpryqYoSWunkLDvWQm4/St3G
Lq0ZADQy+GihI6gVRDWH6nVO3SrcC8+jqMhRDcaCrZ/Ul4HRdgL6zP0QK55jCU9n
dC1FYrZgG9uvTLXIJhjVc/ZnzsCxTuwkPrMaNFydjWkiBoxIHyxuWzzeXL5UQPoz
Esx0xMxa3qp59iEmY0gDWeFQG70qVT9Clpgvp5FlZN4BWhA2LnKf3hWSVdchd52o
aUxWaQ9PMx4Gzd19ghUdyIrsESU0fnS6K0uffz0wXVchO60B1YJx+t6Ep52Qm6Kx
90D47W3B+IcV9My2Ms3oCgE1fs24mTpxGPQHrSSYZEs8Moh2HupUePsOC2q0p/Ua
mvFKeS+OsuKPKvypEgfsP4OtHFvKLAk1980aa8WvUlsc9GZi/SSJvZMvL+ZmtLuZ
5fpoBdv89y8r27d5PdZ9r2jUSGAadVFoSW+HMPlohf6WzgpTt48=
=qC63
-----END PGP SIGNATURE-----

Closed
?