git: c4925c97eb7a - main - security/snowflake-tor: fix build on riscv64

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Fri, 31 Mar 2023 10:42:30 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c4925c97eb7a137af09382e9eb44338ab6a22b05

commit c4925c97eb7a137af09382e9eb44338ab6a22b05
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2023-03-28 11:44:45 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-03-31 10:42:06 +0000

    security/snowflake-tor: fix build on riscv64
    
    Bump dependencies to version new enough to support riscv64-freebsd:
    
        golang.org/x/{mod,net,text,tools,sys}
        github.com/templexxx/cpu
    
    While we are at it, only strip if requested.
    
    Sponsored by:   Berliner Linux User Group e.V.
    Approved by:    portmgr (build fix blanket)
---
 security/snowflake-tor/Makefile                    |  20 +-
 security/snowflake-tor/distinfo                    |  14 +-
 security/snowflake-tor/files/patch-go.mod          |  61 +++++
 security/snowflake-tor/files/patch-go.sum          |  56 +++++
 .../snowflake-tor/files/patch-vendor_modules.txt   | 273 +++++++++++++++++++++
 5 files changed, 420 insertions(+), 4 deletions(-)

diff --git a/security/snowflake-tor/Makefile b/security/snowflake-tor/Makefile
index 2c0b6bafc738..1b3b46df3240 100644
--- a/security/snowflake-tor/Makefile
+++ b/security/snowflake-tor/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=		snowflake
 DISTVERSIONPREFIX=	v
 PORTVERSION=		2.5.1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=		security net
 PKGNAMESUFFIX=		-tor
 
@@ -24,7 +24,7 @@ TPO_GEOIP=	7ce4b3d98d01ff33bad8007db3f488d5b172382a
 TPO_SNOWFLAKE=	7b77001eaa90e09d41172a2b170dabd3f1922b4a
 
 GO_MODULE=      git.torproject.org/pluggable-transports/snowflake.git/v2
-GO_BUILDFLAGS=  -ldflags '-s -w -extldflags "-static"'
+GO_BUILDFLAGS=  -ldflags '${STRIP} -w -extldflags "-static"'
 GO_PKGNAME=	${GO_MODULE}
 GO_TARGET=	./broker ./client ./proxy ./server
 
@@ -32,7 +32,13 @@ GL_SITE=	https://gitlab.torproject.org/tpo
 GL_TUPLE=	anti-censorship:pluggable-transports/${PORTNAME}:${TPO_SNOWFLAKE}:tpo_acs_snowflake/vendor/git.torproject.org/pluggable-transports/snowflake.git/v2 \
 		anti-censorship:geoip:${TPO_GEOIP}:tpo_acs_geoip/vendor/gitlab.torproject.org/tpo/anti-censorship/geoip
 
-GH_TUPLE=	torbsd:goptlib:v1.2.0:torbsd_goptlib/vendor/git.torproject.org/pluggable-transports/goptlib.git
+GH_TUPLE=	torbsd:goptlib:v1.2.0:torbsd_goptlib/vendor/git.torproject.org/pluggable-transports/goptlib.git \
+		golang:mod:v0.8.0:mod \
+		golang:net:v0.8.0:net \
+		golang:sys:v0.6.0:sys \
+		golang:text:v0.8.0:text \
+		golang:tools:v0.6.0:tools \
+		templexxx:cpu:v0.1.0:cpu
 
 PLIST_SUB=	MANPAGES=${MANPAGES}
 SUB_FILES=	pkg-message
@@ -41,6 +47,14 @@ pre-extract:
 	${MKDIR} ${WRKDIR}/pluggable-transports ${WRKDIR}/${PORTNAME}-${TPO_SNOWFLAKE} && \
 	${RLN} ${WRKDIR}/${PORTNAME}-${TPO_SNOWFLAKE} ${WRKDIR}/pluggable-transports/.
 
+pre-patch:
+.for m in mod net sys text tools
+	${RM} -r ${WRKSRC}/vendor/golang.org/x/$m
+	${LN} -s ${WRKDIR}/$m-* ${WRKSRC}/vendor/golang.org/x/$m
+.endfor
+	${RM} -r ${WRKSRC}/vendor/github.com/templexxx/cpu
+	${LN} -s ${WRKDIR}/cpu-* ${WRKSRC}/vendor/github.com/templexxx/cpu
+
 post-patch:
 	${REINPLACE_CMD} "s|/usr/share|${PREFIX}/share|g" \
 	  ${WRKDIR}/${GO_MODULE}@v${PORTVERSION}/broker/broker.go
diff --git a/security/snowflake-tor/distinfo b/security/snowflake-tor/distinfo
index 11a3321d0cb4..6ea572a3b360 100644
--- a/security/snowflake-tor/distinfo
+++ b/security/snowflake-tor/distinfo
@@ -1,10 +1,22 @@
-TIMESTAMP = 1676217024
+TIMESTAMP = 1680003539
 SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/v2.5.1.mod) = 645b576a73d8e3160f42f121d5768b2dec65a379d524f653acdd2067afa94fdf
 SIZE (go/security_snowflake-tor/snowflake-v2.5.1/v2.5.1.mod) = 1112
 SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/v2.5.1.zip) = ac13b3673bd04324c186f9323eeb302b8960c2291fd1573077e7b19f0a7a9d2a
 SIZE (go/security_snowflake-tor/snowflake-v2.5.1/v2.5.1.zip) = 216217
 SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/torbsd-goptlib-v1.2.0_GH0.tar.gz) = ddb7add33157fdd60e3358c9a53f0e0db446fc320b4e4ecbbf36af0d96b2deeb
 SIZE (go/security_snowflake-tor/snowflake-v2.5.1/torbsd-goptlib-v1.2.0_GH0.tar.gz) = 29678
+SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/golang-mod-v0.8.0_GH0.tar.gz) = b0203fc08770d50f58bf753fa9b8114314f75e1bab24eb5118be6470901a8a48
+SIZE (go/security_snowflake-tor/snowflake-v2.5.1/golang-mod-v0.8.0_GH0.tar.gz) = 120222
+SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/golang-net-v0.8.0_GH0.tar.gz) = f9e2128a2d6861db0595428c7cce62fe5a131348a6c7651b6efa8b03d0b10831
+SIZE (go/security_snowflake-tor/snowflake-v2.5.1/golang-net-v0.8.0_GH0.tar.gz) = 1244302
+SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/golang-sys-v0.6.0_GH0.tar.gz) = b4f6d17c7a128f76169964b437cb66b3f2dbf9a33361928ec19dfecf7b03fc54
+SIZE (go/security_snowflake-tor/snowflake-v2.5.1/golang-sys-v0.6.0_GH0.tar.gz) = 1434234
+SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/golang-text-v0.8.0_GH0.tar.gz) = aeaec799a8e0b02523c80fed03383da04bf1b9c9ef431ed4d34b70488fbeaa64
+SIZE (go/security_snowflake-tor/snowflake-v2.5.1/golang-text-v0.8.0_GH0.tar.gz) = 8359526
+SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/golang-tools-v0.6.0_GH0.tar.gz) = c7b04bc8019242f2d49067ca205aaaad116d1541923589265fb0a54d589cbfa7
+SIZE (go/security_snowflake-tor/snowflake-v2.5.1/golang-tools-v0.6.0_GH0.tar.gz) = 3307383
+SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/templexxx-cpu-v0.1.0_GH0.tar.gz) = 6439630840be40184af86dfaec77bdf5575ddf546f50f08dac4971b7b0ba2fe2
+SIZE (go/security_snowflake-tor/snowflake-v2.5.1/templexxx-cpu-v0.1.0_GH0.tar.gz) = 11926
 SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/anti-censorship-pluggable-transports/snowflake-7b77001eaa90e09d41172a2b170dabd3f1922b4a_GL0.tar.gz) = 5c617d1c178f84cb621207d2b4f26f29b08dd56882fb786b63c2cb6c7c8d7959
 SIZE (go/security_snowflake-tor/snowflake-v2.5.1/anti-censorship-pluggable-transports/snowflake-7b77001eaa90e09d41172a2b170dabd3f1922b4a_GL0.tar.gz) = 164308
 SHA256 (go/security_snowflake-tor/snowflake-v2.5.1/anti-censorship-geoip-7ce4b3d98d01ff33bad8007db3f488d5b172382a_GL0.tar.gz) = d4db97d4c95cf7ad80dbfcbada55da423d207e41c69707c7f108efc9c26165e2
diff --git a/security/snowflake-tor/files/patch-go.mod b/security/snowflake-tor/files/patch-go.mod
new file mode 100644
index 000000000000..054583035e38
--- /dev/null
+++ b/security/snowflake-tor/files/patch-go.mod
@@ -0,0 +1,61 @@
+--- go.mod.orig	2023-03-28 11:27:12 UTC
++++ go.mod
+@@ -1,6 +1,6 @@
+ module git.torproject.org/pluggable-transports/snowflake.git/v2
+ 
+-go 1.15
++go 1.17
+ 
+ require (
+ 	git.torproject.org/pluggable-transports/goptlib.git v1.3.0
+@@ -19,8 +19,49 @@ require (
+ 	github.com/xtaci/smux v1.5.15
+ 	gitlab.torproject.org/tpo/anti-censorship/geoip v0.0.0-20210928150955-7ce4b3d98d01
+ 	golang.org/x/crypto v0.0.0-20220516162934-403b01795ae8
+-	golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
++	golang.org/x/net v0.8.0
+ 	google.golang.org/protobuf v1.26.0
++)
++
++require (
++	github.com/beorn7/perks v1.0.1 // indirect
++	github.com/cespare/xxhash/v2 v2.1.1 // indirect
++	github.com/davecgh/go-spew v1.1.1 // indirect
++	github.com/golang/protobuf v1.5.2 // indirect
++	github.com/google/uuid v1.3.0 // indirect
++	github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
++	github.com/jtolds/gls v4.20.0+incompatible // indirect
++	github.com/klauspost/cpuid v1.3.1 // indirect
++	github.com/klauspost/reedsolomon v1.9.9 // indirect
++	github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
++	github.com/mmcloughlin/avo v0.0.0-20200803215136-443f81d77104 // indirect
++	github.com/pion/datachannel v1.5.2 // indirect
++	github.com/pion/dtls/v2 v2.1.5 // indirect
++	github.com/pion/interceptor v0.1.11 // indirect
++	github.com/pion/logging v0.2.2 // indirect
++	github.com/pion/mdns v0.0.5 // indirect
++	github.com/pion/randutil v0.1.0 // indirect
++	github.com/pion/rtcp v1.2.9 // indirect
++	github.com/pion/rtp v1.7.13 // indirect
++	github.com/pion/sctp v1.8.2 // indirect
++	github.com/pion/srtp/v2 v2.0.9 // indirect
++	github.com/pion/transport v0.13.0 // indirect
++	github.com/pion/turn/v2 v2.0.8 // indirect
++	github.com/pion/udp v0.1.1 // indirect
++	github.com/pkg/errors v0.9.1 // indirect
++	github.com/pmezard/go-difflib v1.0.0 // indirect
++	github.com/prometheus/common v0.18.0 // indirect
++	github.com/prometheus/procfs v0.6.0 // indirect
++	github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d // indirect
++	github.com/templexxx/cpu v0.1.0 // indirect
++	github.com/templexxx/xorsimd v0.4.1 // indirect
++	github.com/tjfoc/gmsm v1.3.2 // indirect
++	golang.org/x/mod v0.8.0 // indirect
++	golang.org/x/sys v0.6.0 // indirect
++	golang.org/x/text v0.8.0 // indirect
++	golang.org/x/tools v0.6.0 // indirect
++	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
++	gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
+ )
+ 
+ replace github.com/pion/webrtc/v3 v3.1.41 => github.com/xiaokangwang/webrtc/v3 v3.0.0-20230118142924-be9162e2b526
diff --git a/security/snowflake-tor/files/patch-go.sum b/security/snowflake-tor/files/patch-go.sum
new file mode 100644
index 000000000000..8df9c3267387
--- /dev/null
+++ b/security/snowflake-tor/files/patch-go.sum
@@ -0,0 +1,56 @@
+--- go.sum.orig	2023-03-28 11:27:15 UTC
++++ go.sum
+@@ -335,6 +335,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR5
+ github.com/templexxx/cpu v0.0.1/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk=
+ github.com/templexxx/cpu v0.0.7 h1:pUEZn8JBy/w5yzdYWgx+0m0xL9uk6j4K91C5kOViAzo=
+ github.com/templexxx/cpu v0.0.7/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk=
++github.com/templexxx/cpu v0.1.0 h1:wVM+WIJP2nYaxVxqgHPD4wGA2aJ9rvrQRV8CvFzNb40=
++github.com/templexxx/cpu v0.1.0/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk=
+ github.com/templexxx/xorsimd v0.4.1 h1:iUZcywbOYDRAZUasAs2eSCUW8eobuZDy0I9FJiORkVg=
+ github.com/templexxx/xorsimd v0.4.1/go.mod h1:W+ffZz8jJMH2SXwuKu9WhygqBMbFnp14G2fqEr8qaNo=
+ github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM=
+@@ -395,6 +397,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/
+ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+ golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
+ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
++golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
++golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+ golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+@@ -425,6 +429,8 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go
+ golang.org/x/net v0.0.0-20220401154927-543a649e0bdd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+ golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA=
+ golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
++golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
++golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+ golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+@@ -468,6 +474,8 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go
+ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
+ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
++golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
++golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+@@ -476,6 +484,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMv
+ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+ golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
++golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
++golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+ golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+@@ -496,6 +506,8 @@ golang.org/x/tools v0.0.0-20200425043458-8463f397d07c/
+ golang.org/x/tools v0.0.0-20200808161706-5bf02b21f123/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e h1:4nW4NLDYnU28ojHaHO8OVxFHk/aQ33U01a9cjED+pzE=
+ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
++golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
++golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/security/snowflake-tor/files/patch-vendor_modules.txt b/security/snowflake-tor/files/patch-vendor_modules.txt
new file mode 100644
index 000000000000..ae9a3c5ec769
--- /dev/null
+++ b/security/snowflake-tor/files/patch-vendor_modules.txt
@@ -0,0 +1,273 @@
+--- vendor/modules.txt.orig	2023-03-28 11:31:36 UTC
++++ vendor/modules.txt
+@@ -1,37 +1,48 @@
+ # git.torproject.org/pluggable-transports/goptlib.git v1.3.0
+-## explicit
++## explicit; go 1.11
+ git.torproject.org/pluggable-transports/goptlib.git
+ # github.com/beorn7/perks v1.0.1
++## explicit; go 1.11
+ github.com/beorn7/perks/quantile
+ # github.com/cespare/xxhash/v2 v2.1.1
++## explicit; go 1.11
+ github.com/cespare/xxhash/v2
+ # github.com/clarkduvall/hyperloglog v0.0.0-20171127014514-a0107a5d8004
+ ## explicit
+ github.com/clarkduvall/hyperloglog
+ # github.com/davecgh/go-spew v1.1.1
++## explicit
+ github.com/davecgh/go-spew/spew
+ # github.com/golang/protobuf v1.5.2
++## explicit; go 1.9
+ github.com/golang/protobuf/proto
+ github.com/golang/protobuf/ptypes
+ github.com/golang/protobuf/ptypes/any
+ github.com/golang/protobuf/ptypes/duration
+ github.com/golang/protobuf/ptypes/timestamp
+ # github.com/google/uuid v1.3.0
++## explicit
+ github.com/google/uuid
+ # github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1
++## explicit
+ github.com/gopherjs/gopherjs/js
+ # github.com/gorilla/websocket v1.5.0
+-## explicit
++## explicit; go 1.12
+ github.com/gorilla/websocket
+ # github.com/jtolds/gls v4.20.0+incompatible
++## explicit
+ github.com/jtolds/gls
+ # github.com/klauspost/cpuid v1.3.1
++## explicit; go 1.12
+ github.com/klauspost/cpuid
+ # github.com/klauspost/reedsolomon v1.9.9
++## explicit; go 1.14
+ github.com/klauspost/reedsolomon
+ # github.com/matttproud/golang_protobuf_extensions v1.0.1
++## explicit
+ github.com/matttproud/golang_protobuf_extensions/pbutil
+ # github.com/mmcloughlin/avo v0.0.0-20200803215136-443f81d77104
++## explicit; go 1.11
+ github.com/mmcloughlin/avo/attr
+ github.com/mmcloughlin/avo/build
+ github.com/mmcloughlin/avo/buildtags
+@@ -46,8 +57,10 @@ github.com/mmcloughlin/avo/reg
+ github.com/mmcloughlin/avo/src
+ github.com/mmcloughlin/avo/x86
+ # github.com/pion/datachannel v1.5.2
++## explicit; go 1.13
+ github.com/pion/datachannel
+ # github.com/pion/dtls/v2 v2.1.5 => github.com/xiaokangwang/dtls/v2 v2.0.0-20230118142434-16e5cc8ce01c
++## explicit; go 1.13
+ github.com/pion/dtls/v2
+ github.com/pion/dtls/v2/internal/ciphersuite
+ github.com/pion/dtls/v2/internal/ciphersuite/types
+@@ -68,43 +81,53 @@ github.com/pion/dtls/v2/pkg/protocol/extension
+ github.com/pion/dtls/v2/pkg/protocol/handshake
+ github.com/pion/dtls/v2/pkg/protocol/recordlayer
+ # github.com/pion/ice/v2 v2.2.6
+-## explicit
++## explicit; go 1.13
+ github.com/pion/ice/v2
+ # github.com/pion/interceptor v0.1.11
++## explicit; go 1.15
+ github.com/pion/interceptor
+ github.com/pion/interceptor/pkg/nack
+ github.com/pion/interceptor/pkg/report
+ github.com/pion/interceptor/pkg/twcc
+ # github.com/pion/logging v0.2.2
++## explicit; go 1.12
+ github.com/pion/logging
+ # github.com/pion/mdns v0.0.5
++## explicit; go 1.12
+ github.com/pion/mdns
+ # github.com/pion/randutil v0.1.0
++## explicit; go 1.14
+ github.com/pion/randutil
+ # github.com/pion/rtcp v1.2.9
++## explicit; go 1.13
+ github.com/pion/rtcp
+ # github.com/pion/rtp v1.7.13
++## explicit; go 1.13
+ github.com/pion/rtp
+ github.com/pion/rtp/codecs
+ github.com/pion/rtp/pkg/obu
+ # github.com/pion/sctp v1.8.2
++## explicit; go 1.13
+ github.com/pion/sctp
+ # github.com/pion/sdp/v3 v3.0.5
+-## explicit
++## explicit; go 1.13
+ github.com/pion/sdp/v3
+ # github.com/pion/srtp/v2 v2.0.9
++## explicit; go 1.14
+ github.com/pion/srtp/v2
+ # github.com/pion/stun v0.3.5
+-## explicit
++## explicit; go 1.12
+ github.com/pion/stun
+ github.com/pion/stun/internal/hmac
+ # github.com/pion/transport v0.13.0
++## explicit; go 1.12
+ github.com/pion/transport/connctx
+ github.com/pion/transport/deadline
+ github.com/pion/transport/packetio
+ github.com/pion/transport/replaydetector
+ github.com/pion/transport/vnet
+ # github.com/pion/turn/v2 v2.0.8
++## explicit; go 1.13
+ github.com/pion/turn/v2
+ github.com/pion/turn/v2/internal/allocation
+ github.com/pion/turn/v2/internal/client
+@@ -112,9 +135,10 @@ github.com/pion/turn/v2/internal/ipnet
+ github.com/pion/turn/v2/internal/proto
+ github.com/pion/turn/v2/internal/server
+ # github.com/pion/udp v0.1.1
++## explicit; go 1.14
+ github.com/pion/udp
+ # github.com/pion/webrtc/v3 v3.1.41 => github.com/xiaokangwang/webrtc/v3 v3.0.0-20230118142924-be9162e2b526
+-## explicit
++## explicit; go 1.13
+ github.com/pion/webrtc/v3
+ github.com/pion/webrtc/v3/internal/fmtp
+ github.com/pion/webrtc/v3/internal/mux
+@@ -122,22 +146,26 @@ github.com/pion/webrtc/v3/internal/util
+ github.com/pion/webrtc/v3/pkg/media
+ github.com/pion/webrtc/v3/pkg/rtcerr
+ # github.com/pkg/errors v0.9.1
++## explicit
+ github.com/pkg/errors
+ # github.com/pmezard/go-difflib v1.0.0
++## explicit
+ github.com/pmezard/go-difflib/difflib
+ # github.com/prometheus/client_golang v1.10.0
+-## explicit
++## explicit; go 1.13
+ github.com/prometheus/client_golang/prometheus
+ github.com/prometheus/client_golang/prometheus/internal
+ github.com/prometheus/client_golang/prometheus/promhttp
+ # github.com/prometheus/client_model v0.2.0
+-## explicit
++## explicit; go 1.9
+ github.com/prometheus/client_model/go
+ # github.com/prometheus/common v0.18.0
++## explicit; go 1.11
+ github.com/prometheus/common/expfmt
+ github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
+ github.com/prometheus/common/model
+ # github.com/prometheus/procfs v0.6.0
++## explicit; go 1.13
+ github.com/prometheus/procfs
+ github.com/prometheus/procfs/internal/fs
+ github.com/prometheus/procfs/internal/util
+@@ -146,6 +174,7 @@ github.com/prometheus/procfs/internal/util
+ github.com/refraction-networking/utls
+ github.com/refraction-networking/utls/cpu
+ # github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
++## explicit
+ github.com/smartystreets/assertions
+ github.com/smartystreets/assertions/internal/go-render/render
+ github.com/smartystreets/assertions/internal/oglematchers
+@@ -155,25 +184,28 @@ github.com/smartystreets/goconvey/convey
+ github.com/smartystreets/goconvey/convey/gotest
+ github.com/smartystreets/goconvey/convey/reporting
+ # github.com/stretchr/testify v1.7.1
+-## explicit
++## explicit; go 1.13
+ github.com/stretchr/testify/assert
+-# github.com/templexxx/cpu v0.0.7
++# github.com/templexxx/cpu v0.1.0
++## explicit
+ github.com/templexxx/cpu
+ # github.com/templexxx/xorsimd v0.4.1
++## explicit; go 1.13
+ github.com/templexxx/xorsimd
+ # github.com/tjfoc/gmsm v1.3.2
++## explicit; go 1.12
+ github.com/tjfoc/gmsm/sm4
+ # github.com/xtaci/kcp-go/v5 v5.6.1
+-## explicit
++## explicit; go 1.13
+ github.com/xtaci/kcp-go/v5
+ # github.com/xtaci/smux v1.5.15
+-## explicit
++## explicit; go 1.13
+ github.com/xtaci/smux
+ # gitlab.torproject.org/tpo/anti-censorship/geoip v0.0.0-20210928150955-7ce4b3d98d01
+-## explicit
++## explicit; go 1.15
+ gitlab.torproject.org/tpo/anti-censorship/geoip
+ # golang.org/x/crypto v0.0.0-20220516162934-403b01795ae8
+-## explicit
++## explicit; go 1.17
+ golang.org/x/crypto/acme
+ golang.org/x/crypto/acme/autocert
+ golang.org/x/crypto/blowfish
+@@ -194,10 +226,11 @@ golang.org/x/crypto/sha3
+ golang.org/x/crypto/tea
+ golang.org/x/crypto/twofish
+ golang.org/x/crypto/xtea
+-# golang.org/x/mod v0.3.0
++# golang.org/x/mod v0.8.0
++## explicit; go 1.17
+ golang.org/x/mod/semver
+-# golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
+-## explicit
++# golang.org/x/net v0.8.0
++## explicit; go 1.17
+ golang.org/x/net/bpf
+ golang.org/x/net/dns/dnsmessage
+ golang.org/x/net/html
+@@ -212,33 +245,39 @@ golang.org/x/net/internal/socks
+ golang.org/x/net/ipv4
+ golang.org/x/net/ipv6
+ golang.org/x/net/proxy
+-# golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e
++# golang.org/x/sys v0.6.0
++## explicit; go 1.17
+ golang.org/x/sys/cpu
++golang.org/x/sys/execabs
+ golang.org/x/sys/internal/unsafeheader
+ golang.org/x/sys/unix
+ golang.org/x/sys/windows
+-# golang.org/x/text v0.3.7
++# golang.org/x/text v0.8.0
++## explicit; go 1.17
+ golang.org/x/text/secure/bidirule
+ golang.org/x/text/transform
+ golang.org/x/text/unicode/bidi
+ golang.org/x/text/unicode/norm
+-# golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e
++# golang.org/x/tools v0.6.0
++## explicit; go 1.18
+ golang.org/x/tools/go/gcexportdata
+-golang.org/x/tools/go/internal/gcimporter
+ golang.org/x/tools/go/internal/packagesdriver
+ golang.org/x/tools/go/packages
+ golang.org/x/tools/internal/event
+ golang.org/x/tools/internal/event/core
+ golang.org/x/tools/internal/event/keys
+ golang.org/x/tools/internal/event/label
++golang.org/x/tools/internal/gcimporter
+ golang.org/x/tools/internal/gocommand
+ golang.org/x/tools/internal/packagesinternal
++golang.org/x/tools/internal/pkgbits
++golang.org/x/tools/internal/tokeninternal
++golang.org/x/tools/internal/typeparams
+ golang.org/x/tools/internal/typesinternal
+ # golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
+-golang.org/x/xerrors
+-golang.org/x/xerrors/internal
++## explicit; go 1.11
+ # google.golang.org/protobuf v1.26.0
+-## explicit
++## explicit; go 1.9
+ google.golang.org/protobuf/encoding/prototext
+ google.golang.org/protobuf/encoding/protowire
+ google.golang.org/protobuf/internal/descfmt
+@@ -270,4 +309,5 @@ google.golang.org/protobuf/types/known/anypb
+ google.golang.org/protobuf/types/known/durationpb
+ google.golang.org/protobuf/types/known/timestamppb
+ # gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
++## explicit
+ gopkg.in/yaml.v3