[PATCH 0/4] Add four libp2p libraries.

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

Debbugs page

Artyom V. Poptsov wrote 7 months ago
(address . guix-patches@gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
cover.1724620806.git.poptsov.artyom@gmail.com
This patchset adds four libp2p libraries that are indirectly used by Kubo
(IPFS.)

Artyom V. Poptsov (4):
gnu: Add go-github-com-libp2p-go-reuseport.
gnu: Add go-github-com-libp2p-go-libp2p-asn-util.
gnu: Add go-github-com-libp2p-go-yamux-v4.
gnu: Add go-github-com-libp2p-go-cidranger.

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


base-commit: 4299b4cc881deaadf908937cda1e9cbc48a40a38
--
2.45.2
Artyom V. Poptsov wrote 7 months ago
[PATCH 1/4] gnu: Add go-github-com-libp2p-go-reuseport.
(address . 72810@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
2958b8ffa51d4f31122951caa381e4980be4611d.1724620806.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libp2p-go-reuseport): New variable.

Change-Id: Iafbf09d6537cd5a92825830b64f952ad903ed96d
---
gnu/packages/golang-web.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 28eba7f5d2..dd226b6c96 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2266,6 +2266,37 @@ (define-public go-github-com-libp2p-go-netroute
gopacket/routing.Router} interface for Golang.")
(license license:bsd-3)))
+(define-public go-github-com-libp2p-go-reuseport
+ (package
+ (name "go-github-com-libp2p-go-reuseport")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-reuseport")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "012kgriw1bchf0apk6ff4y34n9mffbh0cmi15348v9vj3h4w3sa5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libp2p/go-reuseport"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-github-com-google-gopacket go-golang-org-x-net
+ go-golang-org-x-sys))
+ (home-page "https://github.com/libp2p/go-reuseport")
+ (synopsis "Reuse TCP/UDP ports in Golang")
+ (description
+ "@code{go-reuseport} enables listening and dialing from the same TCP or UDP
+port. This means that @code{SO_REUSEADDR} and @code{SO_REUSEPORT} socket options may
+be set. This is particularly important when attempting to do TCP NAT hole-punching,
+which requires a process to both @code{Listen} and @code{Dial} on the same TCP port.
+@code{go-reuseport} provides some utilities around enabling this behaviour on various
+operating systems.")
+ (license license:isc)))
+
(define-public go-github-com-makeworld-the-better-one-go-gemini
(package
(name "go-github-com-makeworld-the-better-one-go-gemini")
--
2.45.2
Artyom V. Poptsov wrote 7 months ago
[PATCH 2/4] gnu: Add go-github-com-libp2p-go-libp2p-asn-util.
(address . 72810@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
c5d3a3600df15a4a7090f3b536040151417aaaf1.1724620806.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libp2p-go-libp2p-asn-util): New variable.

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

Toggle diff (40 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index dd226b6c96..28d5b89040 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2201,6 +2201,33 @@ (define-public go-github-com-koron-go-ssdp
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-libp2p-go-libp2p-asn-util
+ (package
+ (name "go-github-com-libp2p-go-libp2p-asn-util")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-libp2p-asn-util")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c94sq43bl1kp04lllcfrfyiy5z3zcfz0s65sm1vgb2s40zrwpr7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libp2p/go-libp2p-asn-util"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-golang-org-x-exp))
+ (home-page "https://github.com/libp2p/go-libp2p-asn-util")
+ (synopsis "Golang library for IP to ASN mapping")
+ (description
+ "@code{go-libp2p-asn-util} is a Golang library to lookup the ASN (Autonomous
+System Number) for an IP address. It uses the IPv6 to ASN database downloaded from
+https://iptoasn.com/. Supports only IPv6 addresses for now.")
+ (license license:expat)))
+
(define-public go-github-com-libp2p-go-nat
(package
(name "go-github-com-libp2p-go-nat")
--
2.45.2
Artyom V. Poptsov wrote 7 months ago
[PATCH 4/4] gnu: Add go-github-com-libp2p-go-cidranger.
(address . 72810@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
ac37177e461f53375a20d5951db1b7b9d9f0260c.1724620806.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libp2p-go-cidranger): New variable.

Change-Id: I4e21f87c7b77ae8a5f7fa2e098330ec15bff079e
---
gnu/packages/golang-web.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 288d81b7dd..ab5333cf6e 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2201,6 +2201,36 @@ (define-public go-github-com-koron-go-ssdp
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-libp2p-go-cidranger
+ (package
+ (name "go-github-com-libp2p-go-cidranger")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-cidranger")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05hzlk5hx7qna5znr3q1crr0qb7h8yrv1v96pj015dh0kbdkdaba"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libp2p/go-cidranger"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-github-com-ipfs-go-detect-race))
+ (home-page "https://github.com/libp2p/go-cidranger")
+ (synopsis "Fast IP to CIDR lookup in Golang")
+ (description
+ "Fast IP to @url{https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing,
+CIDR} block(s) lookup using trie in Golang, inspired by
+@url{https://vincent.bernat.im/en/blog/2017-ipv4-route-lookup-linux, IPv4 route
+lookup Linux}. Possible use cases include detecting if a IP address is from
+published cloud provider CIDR blocks (e.g. 52.95.110.1 is contained in published AWS
+Route53 CIDR 52.95.110.0/24), IP routing rules, etc.")
+ (license license:expat)))
+
(define-public go-github-com-libp2p-go-libp2p-asn-util
(package
(name "go-github-com-libp2p-go-libp2p-asn-util")
--
2.45.2
Artyom V. Poptsov wrote 7 months ago
[PATCH 3/4] gnu: Add go-github-com-libp2p-go-yamux-v4.
(address . 72810@debbugs.gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
47b11f65fcc7a7b008f0f76fc0de38d34bcb674d.1724620806.git.poptsov.artyom@gmail.com
* gnu/packages/golang-web.scm (go-github-com-libp2p-go-yamux-v4): New
variable.

Change-Id: I2c0303c8253bbadde69aee0f15a83fe504fd7b12
---
gnu/packages/golang-web.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 28d5b89040..288d81b7dd 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2324,6 +2324,34 @@ (define-public go-github-com-libp2p-go-reuseport
operating systems.")
(license license:isc)))
+(define-public go-github-com-libp2p-go-yamux-v4
+ (package
+ (name "go-github-com-libp2p-go-yamux-v4")
+ (version "4.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-yamux")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13px8fcjjp02cricabbf3x410jkr8sb6r369nqq1zrgr7v90s22j"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libp2p/go-yamux/v4"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-github-com-libp2p-go-buffer-pool))
+ (home-page "https://github.com/libp2p/go-yamux")
+ (synopsis "Reuse TCP/UDP ports in Golang")
+ (description
+ "Yamux (Yet another Multiplexer) is a multiplexing library for Golang. It
+relies on an underlying connection to provide reliability and ordering, such as TCP
+or Unix domain sockets, and provides stream-oriented multiplexing. It is inspired by
+SPDY but is not interoperable with it.")
+ (license (list license:mpl2.0 license:bsd-3))))
+
(define-public go-github-com-makeworld-the-better-one-go-gemini
(package
(name "go-github-com-makeworld-the-better-one-go-gemini")
--
2.45.2
Sharlatan Hellseher wrote 6 months ago
[PATCH 0/4] Add four libp2p libraries.
(address . 72810-done@debbugs.gnu.org)
87bk1ec0mt.fsf@gmail.com
Hi,

Thank you for the patches.

I've rebased them to the latest master and resolved some conflicts.

Pushed as d09b78904a..8625e4200d to master with minor indentation
adjustments.

Packages were added to Kubo and vendored one were removed.

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

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmbNEsoACgkQdtcnv/Ys
0rUYXRAAl8/Id7o2UZeKbXoSwNnfIENfmUx+cvd71v5AP4LLLe7g3M2ZEGLOI77r
d8voEBWEC2SLJRUuYqLx6S8FUMVlzmJWpGpKTi0SFU4St2wFxknYsZa1mFLEmVqE
snrSmbcULgLy6pGZzadCW0HQa9XxaF0bIbG7t52NK4hBVkttpqBz9WkEAILMfYkY
S/aHNLXRDq3R5ZA3VfrqwB3/xowB0aDWBlxBqsCaDuJlgwnBAWscc8L1OKTDhZVK
pVML5B54lYxhq6yC4P991z/HfBfYb5C1VSAzwZ50e3fLj/MJu+zbfm9s3w4x4JUe
5X/DMOIJ34MbDG5WgGOckktOKspDJZrPYziQOh7tl99ft1iEVcbafFZd0i2kGdja
v3vCQHndKaar+3zng89zgYoL4mYQaSar4RYL12gt2RVOVGrYtS+Ichr4wbL36fIe
ArPKkTSWvKpSpUkF5tZhOg2PCaYGjJ9y4OkZ6qfTGUaZmGxN0fs+qZnqUM9ZQ1GM
PM1vi1NN9UujJa/Y+VT8DaUXPadElAlQ6GCxlAUHFhdnrHl75Z1kQouVIOmYMTtX
76tNz4cGtwoD0kllAW7ci8KM4ysNNzfHEoLD1R3L5tKKN/0UqQ52TGb3OZVbxJRz
tJWjksRrEsb6Q02bo0rFlXf+t9vnssBAb01RjDq25FU2x2px0dU=
=eRIT
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 72810@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72810
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help