git: 138e932c241c - main - net-p2p/{renterd,hostd,walletd}: new ports
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 26 Mar 2025 01:34:58 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=138e932c241c2a0ac6bba0a3e5dc9e210bd962ca
commit 138e932c241c2a0ac6bba0a3e5dc9e210bd962ca
Author: bruno <bruno@tinkerbox.org>
AuthorDate: 2025-03-18 14:00:57 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-03-26 01:34:45 +0000
net-p2p/{renterd,hostd,walletd}: new ports
renterd is an advanced Sia renter engineered by the Sia
Foundation. Designed to cater to both casual users seeking
straightforward data storage and developers requiring a robust API for
building apps on Sia.
hostd is an advanced Sia host solution created by the Sia Foundation,
designed to enhance the experience for storage providers within the
Sia network. Tailored for both individual and large-scale storage
providers, hostd boasts a user-friendly interface and a robust API,
empowering providers to efficiently manage their storage resources and
revenue. hostd incorporates an embedded web-UI, simplifying deployment
and enabling remote management capabilities, ensuring a smooth user
experience across a diverse range of devices.
walletd is the flagship Sia wallet, suitable for miners, exchanges,
and everyday hodlers. Its client-server architecture gives you the
flexibility to access your funds from anywhere, on any device, without
compromising the security of your private keys. The server is
agnostic, so you can derive those keys from a 12-word seed phrase, a
legacy (siad) 28-word phrase, a Ledger hardware wallet, or another
preferred method. Like other Foundation node software, walletd ships
with a slick embedded UI, but developers can easily build headless
integrations leveraging its powerful JSON API. Whether you're using a
single address or millions, walletd scales to your needs.
WWW: https://sia.tech/software/hostd
WWW: https://sia.tech/software/renterd
WWW: https://sia.tech/software/walletd
PR: 285367
---
GIDs | 6 +-
UIDs | 6 +-
net-p2p/Makefile | 3 +
net-p2p/hostd/Makefile | 89 +++++++
net-p2p/hostd/distinfo | 87 ++++++
net-p2p/hostd/files/hostd.conf.in | 2 +
net-p2p/hostd/files/hostd.in | 35 +++
net-p2p/hostd/files/hostd.yml.in | 30 +++
net-p2p/hostd/files/patch-build_meta.go | 15 ++
net-p2p/hostd/files/patch-vendor_modules.txt | 290 ++++++++++++++++++++
net-p2p/hostd/pkg-descr | 8 +
net-p2p/hostd/pkg-message | 9 +
net-p2p/renterd/Makefile | 96 +++++++
net-p2p/renterd/distinfo | 101 +++++++
net-p2p/renterd/files/patch-build_meta.go | 22 ++
net-p2p/renterd/files/patch-vendor_modules.txt | 351 +++++++++++++++++++++++++
net-p2p/renterd/files/renterd.conf.in | 2 +
net-p2p/renterd/files/renterd.in | 35 +++
net-p2p/renterd/files/renterd.yml.in | 54 ++++
net-p2p/renterd/pkg-descr | 4 +
net-p2p/renterd/pkg-message | 9 +
net-p2p/walletd/Makefile | 79 ++++++
net-p2p/walletd/distinfo | 65 +++++
net-p2p/walletd/files/patch-build_meta.go | 15 ++
net-p2p/walletd/files/patch-vendor_modules.txt | 204 ++++++++++++++
net-p2p/walletd/files/pkg-message.in | 10 +
net-p2p/walletd/files/walletd-syslog.conf.in | 2 +
net-p2p/walletd/files/walletd.conf.in | 1 +
net-p2p/walletd/files/walletd.in | 36 +++
net-p2p/walletd/files/walletd.yml.in | 30 +++
net-p2p/walletd/pkg-descr | 10 +
31 files changed, 1700 insertions(+), 6 deletions(-)
diff --git a/GIDs b/GIDs
index 124c911b94ac..50727c43468f 100644
--- a/GIDs
+++ b/GIDs
@@ -317,9 +317,9 @@ _wsdd:*:370:
# free: 374
# free: 375
# free: 376
-# free: 377
-# free: 378
-# free: 379
+hostd:*:377:
+walletd:*:378:
+renterd:*:379:
spoofdpi:*:380:
hydroxide:*:381:
# free: 382
diff --git a/UIDs b/UIDs
index a4dd1f676f71..22e316471440 100644
--- a/UIDs
+++ b/UIDs
@@ -323,9 +323,9 @@ _wsdd:*:370:370::0:0:Web Service Discovery Daemon:/nonexistent:/usr/sbin/nologin
# free: 374
# free: 375
# free: 376
-# free: 377
-# free: 378
-# free: 379
+hostd:*:377:377::0:0:hostd Daemon:/nonexistent:/usr/sbin/nologin
+walletd:*:378:378::0:0:walletd Daemon:/nonexistent:/usr/sbin/nologin
+renterd:*:379:379::0:0:renterd Daemon:/nonexistent:/usr/sbin/nologin
spoofdpi:*:380:380::0:0:SpoofDPI Daemon:/nonexistent:/usr/sbin/nologin
hydroxide:*:381:381::0:0:Hydroxide Daemon:/var/db/hydroxide:/usr/sbin/nologin
# free: 382
diff --git a/net-p2p/Makefile b/net-p2p/Makefile
index 635a3768aafb..0510ca815383 100644
--- a/net-p2p/Makefile
+++ b/net-p2p/Makefile
@@ -35,6 +35,7 @@
SUBDIR += ethash
SUBDIR += go-ethereum
SUBDIR += gtk-gnutella
+ SUBDIR += hostd
SUBDIR += intermodal
SUBDIR += jackett
SUBDIR += jigdo
@@ -88,6 +89,7 @@
SUBDIR += qbittorrent
SUBDIR += radarr
SUBDIR += readarr
+ SUBDIR += renterd
SUBDIR += reticulum
SUBDIR += retroshare
SUBDIR += rslsync
@@ -105,6 +107,7 @@
SUBDIR += udpt
SUBDIR += uhub
SUBDIR += vuze
+ SUBDIR += walletd
SUBDIR += warpinator
SUBDIR += xbt
SUBDIR += xmrig
diff --git a/net-p2p/hostd/Makefile b/net-p2p/hostd/Makefile
new file mode 100644
index 000000000000..fac04c19e735
--- /dev/null
+++ b/net-p2p/hostd/Makefile
@@ -0,0 +1,89 @@
+PORTNAME= hostd
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.4
+CATEGORIES= net-p2p
+
+MAINTAINER= bruno@tinkerbox.org
+COMMENT= Offer your storage space on the Sia network
+WWW= https://sia.tech/host
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc powerpcspe
+NOT_FOR_ARCHS_REASON= requires 64-bit architecture
+
+USES= go:1.23,modules
+
+USE_RC_SUBR= hostd
+
+USE_GITHUB= yes
+GH_ACCOUNT= SiaFoundation
+GO_TARGET= ./cmd/hostd
+GO_BUILDFLAGS+= -tags='netgo timetzdata'
+
+GH_TUPLE= SiaFoundation:core:v0.10.1:siafoundation_core/vendor/go.sia.tech/core \
+ SiaFoundation:coreutils:v0.11.1:siafoundation_coreutils/vendor/go.sia.tech/coreutils \
+ SiaFoundation:jape:v0.12.1:siafoundation_jape/vendor/go.sia.tech/jape \
+ SiaFoundation:mux:v1.3.0:siafoundation_mux/vendor/go.sia.tech/mux \
+ SiaFoundation:web:5611d44a533e:siafoundation_web/vendor/go.sia.tech/web \
+ SiaFoundation:web:hostd/v0.58.0:siafoundation_web_1/vendor/go.sia.tech/web/hostd \
+ aws:aws-sdk-go:v1.55.6:aws_aws_sdk_go/vendor/github.com/aws/aws-sdk-go \
+ cloudflare:cloudflare-go:v0.115.0:cloudflare_cloudflare_go/vendor/github.com/cloudflare/cloudflare-go \
+ etcd-io:bbolt:v1.4.0:etcd_io_bbolt/vendor/go.etcd.io/bbolt \
+ go-task:slim-sprig:52ccab3ef572:go_task_slim_sprig/vendor/github.com/go-task/slim-sprig \
+ go-yaml:yaml:v2.4.0:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
+ go-yaml:yaml:v3.0.1:go_yaml_yaml_1/vendor/gopkg.in/yaml.v3 \
+ goccy:go-json:v0.10.5:goccy_go_json/vendor/github.com/goccy/go-json \
+ golang:crypto:v0.33.0:golang_crypto/vendor/golang.org/x/crypto \
+ golang:exp:9bf2ced13842:golang_exp/vendor/golang.org/x/exp \
+ golang:mod:v0.18.0:golang_mod/vendor/golang.org/x/mod \
+ golang:net:v0.34.0:golang_net/vendor/golang.org/x/net \
+ golang:sync:v0.11.0:golang_sync/vendor/golang.org/x/sync \
+ golang:sys:v0.30.0:golang_sys/vendor/golang.org/x/sys \
+ golang:term:v0.29.0:golang_term/vendor/golang.org/x/term \
+ golang:text:v0.22.0:golang_text/vendor/golang.org/x/text \
+ golang:time:v0.10.0:golang_time/vendor/golang.org/x/time \
+ golang:tools:v0.22.0:golang_tools/vendor/golang.org/x/tools \
+ google:go-querystring:v1.1.0:google_go_querystring/vendor/github.com/google/go-querystring \
+ google:pprof:407c9e7a662f:google_pprof/vendor/github.com/google/pprof \
+ hashicorp:golang-lru:v2.0.7:hashicorp_golang_lru_v2/vendor/github.com/hashicorp/golang-lru/v2 \
+ jmespath:go-jmespath:v0.4.0:jmespath_go_jmespath/vendor/github.com/jmespath/go-jmespath \
+ julienschmidt:httprouter:v1.3.0:julienschmidt_httprouter/vendor/github.com/julienschmidt/httprouter \
+ lukechampine:flagg:v1.1.1:lukechampine_flagg/vendor/lukechampine.com/flagg \
+ lukechampine:frand:v1.5.1:lukechampine_frand/vendor/lukechampine.com/frand \
+ lukechampine:upnp:v0.3.0:lukechampine_upnp/vendor/lukechampine.com/upnp \
+ mattn:go-sqlite3:v1.14.24:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+ onsi:ginkgo:v2.12.0:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
+ quic-go:qpack:v0.5.1:quic_go_qpack/vendor/github.com/quic-go/qpack \
+ quic-go:quic-go:v0.49.0:quic_go_quic_go/vendor/github.com/quic-go/quic-go \
+ quic-go:webtransport-go:4ac2c9250e66:quic_go_webtransport_go/vendor/github.com/quic-go/webtransport-go \
+ rogpeppe:go-internal:v1.12.0:rogpeppe_go_internal/vendor/github.com/rogpeppe/go-internal \
+ shopspring:decimal:v1.4.0:shopspring_decimal/vendor/github.com/shopspring/decimal \
+ uber-go:goleak:v1.3.0:uber_go_goleak/vendor/go.uber.org/goleak \
+ uber-go:mock:v0.5.0:uber_go_mock/vendor/go.uber.org/mock \
+ uber-go:multierr:v1.11.0:uber_go_multierr/vendor/go.uber.org/multierr \
+ uber-go:zap:v1.27.0:uber_go_zap/vendor/go.uber.org/zap
+
+PLIST_FILES= "@dir(${USERS},${GROUPS},750) /var/db/${PORTNAME}" \
+ "@sample etc/hostd.yml.sample" \
+ "@sample etc/newsyslog.conf.d/hostd.conf.sample" \
+ bin/hostd
+
+SUB_FILES= ${PORTNAME}.conf ${PORTNAME}.yml
+
+SUB_LIST= GROUPS=${GROUPS} \
+ USERS=${USERS}
+
+USERS= ${PORTNAME}
+GROUPS= ${PORTNAME}
+
+post-install:
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.conf ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/${PORTNAME}.conf.sample
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.yml ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.yml.sample
+ ${INSTALL} -d ${STAGEDIR}/var/db/${PORTNAME}
+
+pre-configure:
+ ${REINPLACE_CMD} -e "s|%%BUILDTIME%%|$$(date +%s)|g" ${WRKSRC}/build/meta.go
+
+.include <bsd.port.mk>
diff --git a/net-p2p/hostd/distinfo b/net-p2p/hostd/distinfo
new file mode 100644
index 000000000000..b618bb995ef7
--- /dev/null
+++ b/net-p2p/hostd/distinfo
@@ -0,0 +1,87 @@
+TIMESTAMP = 1741778012
+SHA256 (SiaFoundation-hostd-v2.0.4_GH0.tar.gz) = 774cfa132b98453dc887b8e8048811aeed1656705cfdc9de76b98b0b9c68dbd2
+SIZE (SiaFoundation-hostd-v2.0.4_GH0.tar.gz) = 249233
+SHA256 (SiaFoundation-core-v0.10.1_GH0.tar.gz) = 5981e02ffc9533a5cf1549aef7f14639a848414e4f4ad54299b19b337bc29527
+SIZE (SiaFoundation-core-v0.10.1_GH0.tar.gz) = 150928
+SHA256 (SiaFoundation-coreutils-v0.11.1_GH0.tar.gz) = f8331816cba3e36607fa96a66588acc2ed230a19ec900604dd24b33a72509d39
+SIZE (SiaFoundation-coreutils-v0.11.1_GH0.tar.gz) = 99325
+SHA256 (SiaFoundation-jape-v0.12.1_GH0.tar.gz) = da107f48dd9ebef33c53cdcc2f136a59f42ad268758424e0e5a6e256e2b44c15
+SIZE (SiaFoundation-jape-v0.12.1_GH0.tar.gz) = 10276
+SHA256 (SiaFoundation-mux-v1.3.0_GH0.tar.gz) = d1297bc70bad3006e1381b4ef9e824823319ef785dc211b38ab1d72f869cc94b
+SIZE (SiaFoundation-mux-v1.3.0_GH0.tar.gz) = 28529
+SHA256 (SiaFoundation-web-5611d44a533e_GH0.tar.gz) = af0fbbedf6d271bf5a7e0fcf6ee942fd39fd39ffffbffc06ad10ae3b89e91eb6
+SIZE (SiaFoundation-web-5611d44a533e_GH0.tar.gz) = 27541708
+SHA256 (SiaFoundation-web-hostd-v0.58.0_GH0.tar.gz) = db607128a490367f100a9907f5f3f8061d6e4e4580757810ce8b090681de7491
+SIZE (SiaFoundation-web-hostd-v0.58.0_GH0.tar.gz) = 27986484
+SHA256 (aws-aws-sdk-go-v1.55.6_GH0.tar.gz) = ae51032a0575b798a24670ec1f006dcd7dc0804c7131f4061887df96f7d114c5
+SIZE (aws-aws-sdk-go-v1.55.6_GH0.tar.gz) = 33373600
+SHA256 (cloudflare-cloudflare-go-v0.115.0_GH0.tar.gz) = b82c3ed62a37aee5359b31822a4152c06b019ce43ba623f2ef7d7664bb27cffb
+SIZE (cloudflare-cloudflare-go-v0.115.0_GH0.tar.gz) = 517339
+SHA256 (etcd-io-bbolt-v1.4.0_GH0.tar.gz) = 2b383501445b37801bf8431cb6efb41708f4623d37a0d0be0a3c1dbcdda66012
+SIZE (etcd-io-bbolt-v1.4.0_GH0.tar.gz) = 168787
+SHA256 (go-task-slim-sprig-52ccab3ef572_GH0.tar.gz) = 234ca4f44e68e77180301a1a6f3e0426769abefdcafb2ff80d3ffdb27512b173
+SIZE (go-task-slim-sprig-52ccab3ef572_GH0.tar.gz) = 39958
+SHA256 (go-yaml-yaml-v2.4.0_GH0.tar.gz) = d8e94679e5fff6bd1a35e10241543929a5f3da44f701755babf99b3daf0faac0
+SIZE (go-yaml-yaml-v2.4.0_GH0.tar.gz) = 73209
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (goccy-go-json-v0.10.5_GH0.tar.gz) = 15a6994e238a3d520816d53eacd115e6d3fd0816e570e8ae79f3a8fcf74616aa
+SIZE (goccy-go-json-v0.10.5_GH0.tar.gz) = 399031
+SHA256 (golang-crypto-v0.33.0_GH0.tar.gz) = f226aebdbb44372844bb754cedd9d4f6d958cf4686db4489de970546c5860913
+SIZE (golang-crypto-v0.33.0_GH0.tar.gz) = 1840655
+SHA256 (golang-exp-9bf2ced13842_GH0.tar.gz) = 90fcc103b5927178af2d64b57d39de86d43a8bfa13cb71f4865a360cffe0f1b0
+SIZE (golang-exp-9bf2ced13842_GH0.tar.gz) = 1744262
+SHA256 (golang-mod-v0.18.0_GH0.tar.gz) = 247133e4ef1a5863af267a81c2d3f2b6e6b439f250db4e1d7e16df46d37e4d71
+SIZE (golang-mod-v0.18.0_GH0.tar.gz) = 123147
+SHA256 (golang-net-v0.34.0_GH0.tar.gz) = 3d5ec65e81b6f1d9530a3008f35722e9cf6d4905b20c19a7126f58aae515996c
+SIZE (golang-net-v0.34.0_GH0.tar.gz) = 1466242
+SHA256 (golang-sync-v0.11.0_GH0.tar.gz) = b695a9de85279f6c4bd19f3b6746c5808243470f158b6c5b637f64c4db889f8e
+SIZE (golang-sync-v0.11.0_GH0.tar.gz) = 18144
+SHA256 (golang-sys-v0.30.0_GH0.tar.gz) = 3e54dfe262f4f09341622679101c0f10935028cc945f78a97f898b2416edb1f0
+SIZE (golang-sys-v0.30.0_GH0.tar.gz) = 1523069
+SHA256 (golang-term-v0.29.0_GH0.tar.gz) = 7c9dd180502d91fc1a1af8710e2314cd64e64cfcda70d6cf518a386fd10b2487
+SIZE (golang-term-v0.29.0_GH0.tar.gz) = 14686
+SHA256 (golang-text-v0.22.0_GH0.tar.gz) = ac8bdce0477effd5a830345979626745e5e5bcb81d1a77c8029b0e8b3d621089
+SIZE (golang-text-v0.22.0_GH0.tar.gz) = 8970985
+SHA256 (golang-time-v0.10.0_GH0.tar.gz) = 4c04f20b8d5cac372d97e350ecb652ba2434c019cbb9e89dfeb1a0049b414cf6
+SIZE (golang-time-v0.10.0_GH0.tar.gz) = 12489
+SHA256 (golang-tools-v0.22.0_GH0.tar.gz) = ae80020fa6994e1e112478eb4fc3aefcf9b21500c6e2ef5c5b3bdbb3f8943f13
+SIZE (golang-tools-v0.22.0_GH0.tar.gz) = 3853706
+SHA256 (google-go-querystring-v1.1.0_GH0.tar.gz) = a5641dee688eb2c733608ce5a88d8181c93ad9f5083fd97fadbccb91afad9a56
+SIZE (google-go-querystring-v1.1.0_GH0.tar.gz) = 10423
+SHA256 (google-pprof-407c9e7a662f_GH0.tar.gz) = 6cd5d14f023e0e372f067e37d677cf7bf85385f15ff05a2f2a3dfc9dbb6cbe73
+SIZE (google-pprof-407c9e7a662f_GH0.tar.gz) = 4790769
+SHA256 (hashicorp-golang-lru-v2.0.7_GH0.tar.gz) = 312697d0bf6e6bb44e66a94b2a8a07955edf89af10b09e69b5a9101d30ad5149
+SIZE (hashicorp-golang-lru-v2.0.7_GH0.tar.gz) = 23860
+SHA256 (jmespath-go-jmespath-v0.4.0_GH0.tar.gz) = aa86d00b6836345eee196c13df2df084a18e0b1159935de9289f2ef6a7fe375d
+SIZE (jmespath-go-jmespath-v0.4.0_GH0.tar.gz) = 128861
+SHA256 (julienschmidt-httprouter-v1.3.0_GH0.tar.gz) = 2999dffc23f8ac3872ea37d108ddec0ba570d2780a42876300bdcdb0744908e2
+SIZE (julienschmidt-httprouter-v1.3.0_GH0.tar.gz) = 23889
+SHA256 (lukechampine-flagg-v1.1.1_GH0.tar.gz) = 18be5b31baa80cef0f6ab83dc3022d1de96e3025011e4e290ff066a834913900
+SIZE (lukechampine-flagg-v1.1.1_GH0.tar.gz) = 3163
+SHA256 (lukechampine-frand-v1.5.1_GH0.tar.gz) = 4cbc9b5f5d08ba860ce7dd8689581b26f0241356e9b37ab109c8bc8c564f18f6
+SIZE (lukechampine-frand-v1.5.1_GH0.tar.gz) = 7591
+SHA256 (lukechampine-upnp-v0.3.0_GH0.tar.gz) = e0911c0bf4acf197b3d5793259b2734d01d00dea93829845ee7a7de5cdd6e517
+SIZE (lukechampine-upnp-v0.3.0_GH0.tar.gz) = 5880
+SHA256 (mattn-go-sqlite3-v1.14.24_GH0.tar.gz) = 8fa3b0b66914ae2dd4ddef9a954f614c5b3eb6ac9d80ee61ae2d08e3178507ec
+SIZE (mattn-go-sqlite3-v1.14.24_GH0.tar.gz) = 2622934
+SHA256 (onsi-ginkgo-v2.12.0_GH0.tar.gz) = ff8ad0c743f3bdcb7472419a85912b78c1ccfe0350473e507de576241193f88b
+SIZE (onsi-ginkgo-v2.12.0_GH0.tar.gz) = 626352
+SHA256 (quic-go-qpack-v0.5.1_GH0.tar.gz) = 4764c488fd58d111bfb06f651f593c8beb1829b853eb56ab204f2680aca12362
+SIZE (quic-go-qpack-v0.5.1_GH0.tar.gz) = 40696
+SHA256 (quic-go-quic-go-v0.49.0_GH0.tar.gz) = 8816ec8c7f799e553442ddb686238ddffe28f843a576757ee2e7d491ea72117b
+SIZE (quic-go-quic-go-v0.49.0_GH0.tar.gz) = 609138
+SHA256 (quic-go-webtransport-go-4ac2c9250e66_GH0.tar.gz) = 621e42ffd6612cf0338cd03628c37e75e71877ab3d4ef44f738fa9cfd5817432
+SIZE (quic-go-webtransport-go-4ac2c9250e66_GH0.tar.gz) = 37597
+SHA256 (rogpeppe-go-internal-v1.12.0_GH0.tar.gz) = b51d588d05f3e82d3045545ef46bd758a0610b9cfde1ae243489a593908b6060
+SIZE (rogpeppe-go-internal-v1.12.0_GH0.tar.gz) = 116899
+SHA256 (shopspring-decimal-v1.4.0_GH0.tar.gz) = 6ddc6bc4e94a0b3a8366bdd5674b4c2890faca1171afc3f7d20aec95e2c8d413
+SIZE (shopspring-decimal-v1.4.0_GH0.tar.gz) = 53681
+SHA256 (uber-go-goleak-v1.3.0_GH0.tar.gz) = 4813e7694736f4d7fd1aad195d942f40ffca448c29bff3282ba6e92eaba4e0cd
+SIZE (uber-go-goleak-v1.3.0_GH0.tar.gz) = 20057
+SHA256 (uber-go-mock-v0.5.0_GH0.tar.gz) = 41c16668926118ccfe8606e335487c0213efbb1330061e3ab7e97650b78e7737
+SIZE (uber-go-mock-v0.5.0_GH0.tar.gz) = 103723
+SHA256 (uber-go-multierr-v1.11.0_GH0.tar.gz) = 8aa599cf7de733306cf8770f854f8a38e6c819b1ae4296f15e44b1e7c6698f34
+SIZE (uber-go-multierr-v1.11.0_GH0.tar.gz) = 16900
+SHA256 (uber-go-zap-v1.27.0_GH0.tar.gz) = 62860771a138097535da9053f75d1da1a9e57f98263ead698ce493e0c9670652
+SIZE (uber-go-zap-v1.27.0_GH0.tar.gz) = 271384
diff --git a/net-p2p/hostd/files/hostd.conf.in b/net-p2p/hostd/files/hostd.conf.in
new file mode 100644
index 000000000000..4ca23bdb1227
--- /dev/null
+++ b/net-p2p/hostd/files/hostd.conf.in
@@ -0,0 +1,2 @@
+# $FreeBSD$
+/var/log/hostd.log 600 20 * @T00 J /var/run/hostd.pid
diff --git a/net-p2p/hostd/files/hostd.in b/net-p2p/hostd/files/hostd.in
new file mode 100644
index 000000000000..e2cf08e5a730
--- /dev/null
+++ b/net-p2p/hostd/files/hostd.in
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# PROVIDE: hostd
+# REQUIRE: LOGIN FILESYSTEMS netwait
+# KEYWORD: SHUTDOWN
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# hostd_enable (bool): Set to NO by default.
+# Set it to YES to enable doormand.
+# hostd_config (path): Set to %%PREFIX%%/etc/hostd.yml
+# by default.
+
+. /etc/rc.subr
+
+name=hostd
+rcvar=${name}_enable
+
+load_rc_config $name
+
+: ${hostd_enable:=NO}
+: ${hostd_executable:="%%PREFIX%%/bin/hostd"}
+: ${hostd_config:="%%PREFIX%%/etc/hostd.yml"}
+
+hostd_env="HOSTD_CONFIG_FILE=${hostd_config}"
+pidfile="/var/run/${name}.pid"
+command="/usr/sbin/daemon"
+command_args="-r -f -H \
+ -o \"/var/log/${name}.log\" \
+ -P \"${pidfile}\" \
+ -u %%USERS%% \"${hostd_executable}\""
+
+
+run_rc_command "$1"
diff --git a/net-p2p/hostd/files/hostd.yml.in b/net-p2p/hostd/files/hostd.yml.in
new file mode 100644
index 000000000000..1fb278d68209
--- /dev/null
+++ b/net-p2p/hostd/files/hostd.yml.in
@@ -0,0 +1,30 @@
+directory: /var/db/hostd
+recoveryPhrase: indicate nature buzz route rude embody engage confirm aspect potato weapon bid
+autoOpenWebUI: true
+http:
+ address: :9980
+ password: sia is cool
+syncer:
+ address: :9981
+ bootstrap: true
+consensus:
+ network: mainnet
+ indexBatchSize: 100
+explorer:
+ url: https://api.siascan.com
+rhp2:
+ address: :9982
+rhp3:
+ tcp: :9983
+log:
+ level: info # global log level
+ stdout:
+ enabled: true # enable logging to stdout
+ level: info # log level for console logger
+ format: human # log format (human, json)
+ enableANSI: false # enable ANSI color codes (disabled on Windows)
+ file:
+ enabled: false # enable logging to file
+ level: info # log level for file logger
+ path: /var/log/hostd.log # the path of the log file
+ format: json # log format (human, json)
diff --git a/net-p2p/hostd/files/patch-build_meta.go b/net-p2p/hostd/files/patch-build_meta.go
new file mode 100644
index 000000000000..daf356fdda06
--- /dev/null
+++ b/net-p2p/hostd/files/patch-build_meta.go
@@ -0,0 +1,15 @@
+--- build/meta.go.orig 2025-02-24 21:26:07 UTC
++++ build/meta.go
+@@ -1,7 +1,9 @@
++// Code generated by go generate; DO NOT EDIT.
++// This file was generated by go generate at 2025-03-10T13:09:09+01:00.
+ package build
+
+ const (
+- commit = "?"
+- version = "2.0.0"
+- buildTime = 0
++ commit = "4094916"
++ version = "v2.0.4"
++ buildTime = %%BUILDTIME%%
+ )
diff --git a/net-p2p/hostd/files/patch-vendor_modules.txt b/net-p2p/hostd/files/patch-vendor_modules.txt
new file mode 100644
index 000000000000..8a8239e2be0f
--- /dev/null
+++ b/net-p2p/hostd/files/patch-vendor_modules.txt
@@ -0,0 +1,290 @@
+--- vendor/modules.txt.orig 2025-03-12 12:08:29 UTC
++++ vendor/modules.txt
+@@ -0,0 +1,287 @@
++# github.com/aws/aws-sdk-go v1.55.6
++## explicit; go 1.19
++github.com/aws/aws-sdk-go/aws
++github.com/aws/aws-sdk-go/aws/auth/bearer
++github.com/aws/aws-sdk-go/aws/awserr
++github.com/aws/aws-sdk-go/aws/awsutil
++github.com/aws/aws-sdk-go/aws/client
++github.com/aws/aws-sdk-go/aws/client/metadata
++github.com/aws/aws-sdk-go/aws/corehandlers
++github.com/aws/aws-sdk-go/aws/credentials
++github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds
++github.com/aws/aws-sdk-go/aws/credentials/endpointcreds
++github.com/aws/aws-sdk-go/aws/credentials/processcreds
++github.com/aws/aws-sdk-go/aws/credentials/ssocreds
++github.com/aws/aws-sdk-go/aws/credentials/stscreds
++github.com/aws/aws-sdk-go/aws/csm
++github.com/aws/aws-sdk-go/aws/defaults
++github.com/aws/aws-sdk-go/aws/ec2metadata
++github.com/aws/aws-sdk-go/aws/endpoints
++github.com/aws/aws-sdk-go/aws/request
++github.com/aws/aws-sdk-go/aws/session
++github.com/aws/aws-sdk-go/aws/signer/v4
++github.com/aws/aws-sdk-go/internal/context
++github.com/aws/aws-sdk-go/internal/ini
++github.com/aws/aws-sdk-go/internal/sdkio
++github.com/aws/aws-sdk-go/internal/sdkmath
++github.com/aws/aws-sdk-go/internal/sdkrand
++github.com/aws/aws-sdk-go/internal/sdkuri
++github.com/aws/aws-sdk-go/internal/shareddefaults
++github.com/aws/aws-sdk-go/internal/strings
++github.com/aws/aws-sdk-go/internal/sync/singleflight
++github.com/aws/aws-sdk-go/private/protocol
++github.com/aws/aws-sdk-go/private/protocol/json/jsonutil
++github.com/aws/aws-sdk-go/private/protocol/jsonrpc
++github.com/aws/aws-sdk-go/private/protocol/query
++github.com/aws/aws-sdk-go/private/protocol/query/queryutil
++github.com/aws/aws-sdk-go/private/protocol/rest
++github.com/aws/aws-sdk-go/private/protocol/restjson
++github.com/aws/aws-sdk-go/private/protocol/restxml
++github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil
++github.com/aws/aws-sdk-go/service/route53
++github.com/aws/aws-sdk-go/service/sso
++github.com/aws/aws-sdk-go/service/sso/ssoiface
++github.com/aws/aws-sdk-go/service/ssooidc
++github.com/aws/aws-sdk-go/service/sts
++github.com/aws/aws-sdk-go/service/sts/stsiface
++# github.com/cloudflare/cloudflare-go v0.115.0
++## explicit; go 1.21
++github.com/cloudflare/cloudflare-go
++# github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
++## explicit; go 1.13
++github.com/go-task/slim-sprig
++# github.com/goccy/go-json v0.10.5
++## explicit; go 1.19
++github.com/goccy/go-json
++github.com/goccy/go-json/internal/decoder
++github.com/goccy/go-json/internal/encoder
++github.com/goccy/go-json/internal/encoder/vm
++github.com/goccy/go-json/internal/encoder/vm_color
++github.com/goccy/go-json/internal/encoder/vm_color_indent
++github.com/goccy/go-json/internal/encoder/vm_indent
++github.com/goccy/go-json/internal/errors
++github.com/goccy/go-json/internal/runtime
++# github.com/google/go-querystring v1.1.0
++## explicit; go 1.10
++github.com/google/go-querystring/query
++# github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f
++## explicit; go 1.19
++github.com/google/pprof/profile
++# github.com/hashicorp/golang-lru/v2 v2.0.7
++## explicit; go 1.18
++github.com/hashicorp/golang-lru/v2
++github.com/hashicorp/golang-lru/v2/internal
++github.com/hashicorp/golang-lru/v2/simplelru
++# github.com/jmespath/go-jmespath v0.4.0
++## explicit; go 1.14
++github.com/jmespath/go-jmespath
++# github.com/julienschmidt/httprouter v1.3.0
++## explicit; go 1.7
++github.com/julienschmidt/httprouter
++# github.com/mattn/go-sqlite3 v1.14.24
++## explicit; go 1.19
++github.com/mattn/go-sqlite3
++# github.com/onsi/ginkgo/v2 v2.12.0
++## explicit; go 1.18
++github.com/onsi/ginkgo/v2/config
++github.com/onsi/ginkgo/v2/formatter
++github.com/onsi/ginkgo/v2/ginkgo
++github.com/onsi/ginkgo/v2/ginkgo/build
++github.com/onsi/ginkgo/v2/ginkgo/command
++github.com/onsi/ginkgo/v2/ginkgo/generators
++github.com/onsi/ginkgo/v2/ginkgo/internal
++github.com/onsi/ginkgo/v2/ginkgo/labels
++github.com/onsi/ginkgo/v2/ginkgo/outline
++github.com/onsi/ginkgo/v2/ginkgo/run
++github.com/onsi/ginkgo/v2/ginkgo/unfocus
++github.com/onsi/ginkgo/v2/ginkgo/watch
++github.com/onsi/ginkgo/v2/internal/interrupt_handler
++github.com/onsi/ginkgo/v2/internal/parallel_support
++github.com/onsi/ginkgo/v2/reporters
++github.com/onsi/ginkgo/v2/types
++# github.com/quic-go/qpack v0.5.1
++## explicit; go 1.22
++github.com/quic-go/qpack
++# github.com/quic-go/quic-go v0.49.0
++## explicit; go 1.22
++github.com/quic-go/quic-go
++github.com/quic-go/quic-go/http3
++github.com/quic-go/quic-go/internal/ackhandler
++github.com/quic-go/quic-go/internal/congestion
++github.com/quic-go/quic-go/internal/flowcontrol
++github.com/quic-go/quic-go/internal/handshake
++github.com/quic-go/quic-go/internal/protocol
++github.com/quic-go/quic-go/internal/qerr
++github.com/quic-go/quic-go/internal/qtls
++github.com/quic-go/quic-go/internal/utils
++github.com/quic-go/quic-go/internal/utils/linkedlist
++github.com/quic-go/quic-go/internal/utils/ringbuffer
++github.com/quic-go/quic-go/internal/wire
++github.com/quic-go/quic-go/logging
++github.com/quic-go/quic-go/quicvarint
++# github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66
++## explicit; go 1.22
++github.com/quic-go/webtransport-go
++# github.com/rogpeppe/go-internal v1.12.0
++## explicit; go 1.20
++# github.com/shopspring/decimal v1.4.0
++## explicit; go 1.10
++github.com/shopspring/decimal
++# go.etcd.io/bbolt v1.4.0
++## explicit; go 1.23
++go.etcd.io/bbolt
++go.etcd.io/bbolt/errors
++go.etcd.io/bbolt/internal/common
++go.etcd.io/bbolt/internal/freelist
++# go.sia.tech/core v0.10.1
++## explicit; go 1.23.1
++go.sia.tech/core/consensus
++go.sia.tech/core/gateway
++go.sia.tech/core/internal/blake2b
++go.sia.tech/core/internal/smux
++go.sia.tech/core/rhp/v2
++go.sia.tech/core/rhp/v3
++go.sia.tech/core/rhp/v4
++go.sia.tech/core/types
++# go.sia.tech/coreutils v0.11.1
++## explicit; go 1.23.1
++go.sia.tech/coreutils
++go.sia.tech/coreutils/chain
++go.sia.tech/coreutils/rhp/v4
++go.sia.tech/coreutils/syncer
++go.sia.tech/coreutils/testutil
++go.sia.tech/coreutils/threadgroup
++go.sia.tech/coreutils/wallet
++# go.sia.tech/jape v0.12.1
++## explicit; go 1.21.7
++go.sia.tech/jape
++# go.sia.tech/mux v1.3.0
++## explicit; go 1.23
++go.sia.tech/mux
++go.sia.tech/mux/v1
++go.sia.tech/mux/v2
++# go.sia.tech/web v0.0.0-20240610131903-5611d44a533e
++## explicit
++go.sia.tech/web/internal/nextjs
++# go.sia.tech/web/hostd v0.58.0
++## explicit; go 1.23.0
++go.sia.tech/web/hostd
++# go.uber.org/goleak v1.3.0
++## explicit; go 1.20
++go.uber.org/goleak
++go.uber.org/goleak/internal/stack
++# go.uber.org/mock v0.5.0
++## explicit; go 1.22
++go.uber.org/mock/mockgen
++go.uber.org/mock/mockgen/model
++# go.uber.org/multierr v1.11.0
++## explicit; go 1.19
++go.uber.org/multierr
++# go.uber.org/zap v1.27.0
++## explicit; go 1.19
++go.uber.org/zap
++go.uber.org/zap/buffer
++go.uber.org/zap/internal
++go.uber.org/zap/internal/bufferpool
++go.uber.org/zap/internal/color
++go.uber.org/zap/internal/exit
++go.uber.org/zap/internal/pool
++go.uber.org/zap/internal/stacktrace
++go.uber.org/zap/internal/ztest
++go.uber.org/zap/zapcore
++go.uber.org/zap/zaptest
++# golang.org/x/crypto v0.33.0
++## explicit; go 1.20
++golang.org/x/crypto/blake2b
++golang.org/x/crypto/chacha20
++golang.org/x/crypto/chacha20poly1305
++golang.org/x/crypto/curve25519
++golang.org/x/crypto/hkdf
++golang.org/x/crypto/internal/alias
++golang.org/x/crypto/internal/poly1305
++golang.org/x/crypto/poly1305
++# golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
++## explicit; go 1.20
++golang.org/x/exp/rand
++# golang.org/x/mod v0.18.0
++## explicit; go 1.18
++golang.org/x/mod/internal/lazyregexp
++golang.org/x/mod/modfile
++golang.org/x/mod/module
++golang.org/x/mod/semver
++# golang.org/x/net v0.34.0
++## explicit; go 1.18
++golang.org/x/net/bpf
++golang.org/x/net/http/httpguts
++golang.org/x/net/http2/hpack
++golang.org/x/net/idna
++golang.org/x/net/internal/iana
++golang.org/x/net/internal/socket
++golang.org/x/net/ipv4
++golang.org/x/net/ipv6
++# golang.org/x/sync v0.11.0
++## explicit; go 1.18
++golang.org/x/sync/errgroup
++# golang.org/x/sys v0.30.0
++## explicit; go 1.18
++golang.org/x/sys/cpu
++golang.org/x/sys/plan9
++golang.org/x/sys/unix
++golang.org/x/sys/windows
++# golang.org/x/term v0.29.0
++## explicit; go 1.18
++golang.org/x/term
++# golang.org/x/text v0.22.0
++## explicit; go 1.18
++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/time v0.10.0
++## explicit; go 1.18
++golang.org/x/time/rate
++# golang.org/x/tools v0.22.0
++## explicit; go 1.19
++golang.org/x/tools/go/analysis
++golang.org/x/tools/go/analysis/passes/ctrlflow
++golang.org/x/tools/go/analysis/passes/inspect
++golang.org/x/tools/go/ast/astutil
++golang.org/x/tools/go/ast/inspector
++golang.org/x/tools/go/cfg
++golang.org/x/tools/go/gcexportdata
++golang.org/x/tools/go/internal/packagesdriver
++golang.org/x/tools/go/packages
++golang.org/x/tools/go/types/objectpath
++golang.org/x/tools/go/types/typeutil
++golang.org/x/tools/imports
++golang.org/x/tools/internal/aliases
++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/gopathwalk
++golang.org/x/tools/internal/imports
++golang.org/x/tools/internal/packagesinternal
++golang.org/x/tools/internal/pkgbits
++golang.org/x/tools/internal/stdlib
++golang.org/x/tools/internal/tokeninternal
++golang.org/x/tools/internal/typeparams
++golang.org/x/tools/internal/typesinternal
++golang.org/x/tools/internal/versions
++# gopkg.in/yaml.v2 v2.4.0
++## explicit; go 1.15
++# gopkg.in/yaml.v3 v3.0.1
++## explicit
++gopkg.in/yaml.v3
++# lukechampine.com/flagg v1.1.1
++## explicit; go 1.12
++lukechampine.com/flagg
++# lukechampine.com/frand v1.5.1
++## explicit; go 1.23.1
++lukechampine.com/frand
++# lukechampine.com/upnp v0.3.0
++## explicit; go 1.17
++lukechampine.com/upnp
++lukechampine.com/upnp/internal/goupnp
diff --git a/net-p2p/hostd/pkg-descr b/net-p2p/hostd/pkg-descr
new file mode 100644
index 000000000000..571348715619
--- /dev/null
+++ b/net-p2p/hostd/pkg-descr
@@ -0,0 +1,8 @@
+hostd is an advanced Sia host solution created by the Sia Foundation,
+designed to enhance the experience for storage providers within the
+Sia network. Tailored for both individual and large-scale storage
+providers, hostd boasts a user-friendly interface and a robust API,
+empowering providers to efficiently manage their storage resources and
+revenue. hostd incorporates an embedded web-UI, simplifying deployment
+and enabling remote management capabilities, ensuring a smooth user
+experience across a diverse range of devices.
diff --git a/net-p2p/hostd/pkg-message b/net-p2p/hostd/pkg-message
new file mode 100644
index 000000000000..726e6c1a133e
--- /dev/null
+++ b/net-p2p/hostd/pkg-message
@@ -0,0 +1,9 @@
+[
+{ type: install
+ message: <<EOM
+The program hostd has been installed. To enable it at boot time,
+add it to /etc/rc.conf with the following command:
+sysrc hostd_enable="YES"
+EOM
+}
+]
diff --git a/net-p2p/renterd/Makefile b/net-p2p/renterd/Makefile
new file mode 100644
index 000000000000..26b25a850549
--- /dev/null
+++ b/net-p2p/renterd/Makefile
@@ -0,0 +1,96 @@
+PORTNAME= renterd
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.1
+CATEGORIES= net-p2p
+
+MAINTAINER= bruno@tinkerbox.org
+COMMENT= Rent storage space on the Sia network
+WWW= https://sia.tech/renterd
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc powerpcspe
+NOT_FOR_ARCHS_REASON= requires 64-bit architecture
+
+USES= go:1.23,modules
+
+USE_RC_SUBR= renterd
+
+USE_GITHUB= yes
+GH_ACCOUNT= SiaFoundation
+GO_TARGET= ./cmd/renterd
+GO_BUILDFLAGS+= -tags='netgo'
+
+GH_TUPLE= FiloSottile:edwards25519:v1.1.0:filosottile_edwards25519/vendor/filippo.io/edwards25519 \
+ SiaFoundation:core:v0.10.3:siafoundation_core/vendor/go.sia.tech/core \
+ SiaFoundation:coreutils:362f2554d5ca:siafoundation_coreutils/vendor/go.sia.tech/coreutils \
+ SiaFoundation:gofakes3:v0.0.5:siafoundation_gofakes3/vendor/go.sia.tech/gofakes3 \
+ SiaFoundation:hostd:c17f8d0bcfae:siafoundation_hostd/vendor/go.sia.tech/hostd \
+ SiaFoundation:jape:v0.12.1:siafoundation_jape/vendor/go.sia.tech/jape \
+ SiaFoundation:mux:v1.4.0:siafoundation_mux/vendor/go.sia.tech/mux \
+ SiaFoundation:web:5611d44a533e:siafoundation_web/vendor/go.sia.tech/web \
+ SiaFoundation:web:renterd/v0.77.0:siafoundation_web_1/vendor/go.sia.tech/web/renterd \
+ aws:aws-sdk-go:v1.55.6:aws_aws_sdk_go/vendor/github.com/aws/aws-sdk-go \
+ cloudflare:cloudflare-go:v0.115.0:cloudflare_cloudflare_go/vendor/github.com/cloudflare/cloudflare-go \
+ etcd-io:bbolt:v1.4.0:etcd_io_bbolt/vendor/go.etcd.io/bbolt \
+ gabriel-vasile:mimetype:v1.4.8:gabriel_vasile_mimetype/vendor/github.com/gabriel-vasile/mimetype \
+ go-sql-driver:mysql:v1.9.0:go_sql_driver_mysql/vendor/github.com/go-sql-driver/mysql \
+ go-task:slim-sprig:52ccab3ef572:go_task_slim_sprig/vendor/github.com/go-task/slim-sprig \
+ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+ goccy:go-json:v0.10.5:goccy_go_json/vendor/github.com/goccy/go-json \
+ golang:crypto:v0.35.0:golang_crypto/vendor/golang.org/x/crypto \
+ golang:exp:9bf2ced13842:golang_exp/vendor/golang.org/x/exp \
+ golang:mod:v0.22.0:golang_mod/vendor/golang.org/x/mod \
+ golang:net:v0.34.0:golang_net/vendor/golang.org/x/net \
+ golang:sync:v0.11.0:golang_sync/vendor/golang.org/x/sync \
+ golang:sys:v0.30.0:golang_sys/vendor/golang.org/x/sys \
+ golang:term:v0.29.0:golang_term/vendor/golang.org/x/term \
+ golang:text:v0.22.0:golang_text/vendor/golang.org/x/text \
+ golang:time:v0.10.0:golang_time/vendor/golang.org/x/time \
+ golang:tools:v0.28.0:golang_tools/vendor/golang.org/x/tools \
+ google:go-cmp:v0.7.0:google_go_cmp/vendor/github.com/google/go-cmp \
+ google:go-querystring:v1.1.0:google_go_querystring/vendor/github.com/google/go-querystring \
+ google:pprof:407c9e7a662f:google_pprof/vendor/github.com/google/pprof \
+ gotd:contrib:v0.21.0:gotd_contrib/vendor/github.com/gotd/contrib \
+ hashicorp:golang-lru:v2.0.7:hashicorp_golang_lru_v2/vendor/github.com/hashicorp/golang-lru/v2 \
+ jmespath:go-jmespath:v0.4.0:jmespath_go_jmespath/vendor/github.com/jmespath/go-jmespath \
+ julienschmidt:httprouter:v1.3.0:julienschmidt_httprouter/vendor/github.com/julienschmidt/httprouter \
+ klauspost:cpuid:v2.2.9:klauspost_cpuid_v2/vendor/github.com/klauspost/cpuid/v2 \
+ klauspost:reedsolomon:v1.12.4:klauspost_reedsolomon/vendor/github.com/klauspost/reedsolomon \
+ lukechampine:frand:v1.5.1:lukechampine_frand/vendor/lukechampine.com/frand \
+ mattn:go-sqlite3:v1.14.24:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+ montanaflynn:stats:v0.7.1:montanaflynn_stats/vendor/github.com/montanaflynn/stats \
+ onsi:ginkgo:v2.12.0:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
+ quic-go:qpack:v0.5.1:quic_go_qpack/vendor/github.com/quic-go/qpack \
+ quic-go:quic-go:v0.50.0:quic_go_quic_go/vendor/github.com/quic-go/quic-go \
+ quic-go:webtransport-go:4ac2c9250e66:quic_go_webtransport_go/vendor/github.com/quic-go/webtransport-go \
+ ryszard:goskiplist:2dfbae5fcf46:ryszard_goskiplist/vendor/github.com/ryszard/goskiplist \
+ shabbyrobe:gocovmerge:c3350d9342df:shabbyrobe_gocovmerge/vendor/github.com/shabbyrobe/gocovmerge \
+ shopspring:decimal:v1.4.0:shopspring_decimal/vendor/github.com/shopspring/decimal \
+ uber-go:mock:v0.5.0:uber_go_mock/vendor/go.uber.org/mock \
+ uber-go:multierr:v1.11.0:uber_go_multierr/vendor/go.uber.org/multierr \
+ uber-go:zap:v1.27.0:uber_go_zap/vendor/go.uber.org/zap
+
+PLIST_FILES= "@dir(${USERS},${GROUPS},750) /var/db/${PORTNAME}" \
+ "@sample etc/newsyslog.conf.d/renterd.conf.sample" \
+ "@sample etc/renterd.yml.sample" \
+ bin/renterd
+
+SUB_FILES= ${PORTNAME}.conf ${PORTNAME}.yml
+
+SUB_LIST= GROUPS=${GROUPS} \
+ USERS=${USERS}
+
+USERS= ${PORTNAME}
+GROUPS= ${PORTNAME}
+
+post-install:
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.conf ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/${PORTNAME}.conf.sample
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.yml ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.yml.sample
+ ${INSTALL} -d ${STAGEDIR}/var/db/${PORTNAME}
+
+pre-configure:
+ ${REINPLACE_CMD} -e "s|%%BUILDTIME%%|$$(date +%s)|g" ${WRKSRC}/build/meta.go
+
+.include <bsd.port.mk>
diff --git a/net-p2p/renterd/distinfo b/net-p2p/renterd/distinfo
new file mode 100644
index 000000000000..6fba9a924743
--- /dev/null
+++ b/net-p2p/renterd/distinfo
@@ -0,0 +1,101 @@
+TIMESTAMP = 1741782335
+SHA256 (SiaFoundation-renterd-v2.0.1_GH0.tar.gz) = f8a0074483dd905539425b8d9e68eb603e2710124f8b9e3a2e4b0d66f56d9021
+SIZE (SiaFoundation-renterd-v2.0.1_GH0.tar.gz) = 479158
+SHA256 (FiloSottile-edwards25519-v1.1.0_GH0.tar.gz) = b480c71e26d7a65e468a4f0cc2a414302dc89c6be4e58fe34779b0c9f12cac60
+SIZE (FiloSottile-edwards25519-v1.1.0_GH0.tar.gz) = 47125
+SHA256 (SiaFoundation-core-v0.10.3_GH0.tar.gz) = a21772d9b0a1d66c2c0022a0a644aa4d18fe72d21bb40254bf7bd5b9aebe5339
+SIZE (SiaFoundation-core-v0.10.3_GH0.tar.gz) = 152486
+SHA256 (SiaFoundation-coreutils-362f2554d5ca_GH0.tar.gz) = 92aea63e1cadab97a32f25c2619ce21fe74b4000903870301cc7f5eab7c41218
+SIZE (SiaFoundation-coreutils-362f2554d5ca_GH0.tar.gz) = 103497
+SHA256 (SiaFoundation-gofakes3-v0.0.5_GH0.tar.gz) = b8ce8e3c2db00f7486db1d13c13688cb3bd14420df43a0e6f8b1aae828f95b15
+SIZE (SiaFoundation-gofakes3-v0.0.5_GH0.tar.gz) = 288336
+SHA256 (SiaFoundation-hostd-c17f8d0bcfae_GH0.tar.gz) = c02f77deebffb09b8061655d676a1414c6b131140d2d814d2a32d15ba31c430b
+SIZE (SiaFoundation-hostd-c17f8d0bcfae_GH0.tar.gz) = 251575
+SHA256 (SiaFoundation-jape-v0.12.1_GH0.tar.gz) = da107f48dd9ebef33c53cdcc2f136a59f42ad268758424e0e5a6e256e2b44c15
+SIZE (SiaFoundation-jape-v0.12.1_GH0.tar.gz) = 10276
+SHA256 (SiaFoundation-mux-v1.4.0_GH0.tar.gz) = 36d408992c89a1b60ede9bdaf1fb65d6022b45212ad1e336b7ed931f719e7209
+SIZE (SiaFoundation-mux-v1.4.0_GH0.tar.gz) = 28746
+SHA256 (SiaFoundation-web-5611d44a533e_GH0.tar.gz) = af0fbbedf6d271bf5a7e0fcf6ee942fd39fd39ffffbffc06ad10ae3b89e91eb6
+SIZE (SiaFoundation-web-5611d44a533e_GH0.tar.gz) = 27541708
+SHA256 (SiaFoundation-web-renterd-v0.77.0_GH0.tar.gz) = 892947e3de4aab0b75bc95e9fb8e20c52c31feaddd6697de1a3b46815b815314
+SIZE (SiaFoundation-web-renterd-v0.77.0_GH0.tar.gz) = 27986823
+SHA256 (aws-aws-sdk-go-v1.55.6_GH0.tar.gz) = ae51032a0575b798a24670ec1f006dcd7dc0804c7131f4061887df96f7d114c5
+SIZE (aws-aws-sdk-go-v1.55.6_GH0.tar.gz) = 33373600
+SHA256 (cloudflare-cloudflare-go-v0.115.0_GH0.tar.gz) = b82c3ed62a37aee5359b31822a4152c06b019ce43ba623f2ef7d7664bb27cffb
+SIZE (cloudflare-cloudflare-go-v0.115.0_GH0.tar.gz) = 517339
+SHA256 (etcd-io-bbolt-v1.4.0_GH0.tar.gz) = 2b383501445b37801bf8431cb6efb41708f4623d37a0d0be0a3c1dbcdda66012
+SIZE (etcd-io-bbolt-v1.4.0_GH0.tar.gz) = 168787
+SHA256 (gabriel-vasile-mimetype-v1.4.8_GH0.tar.gz) = 678759ccc452e15a3b58a65c7a9020ededb67f1de338d28491de5dc8c6de0ede
+SIZE (gabriel-vasile-mimetype-v1.4.8_GH0.tar.gz) = 811575
+SHA256 (go-sql-driver-mysql-v1.9.0_GH0.tar.gz) = 35da5ec9c4822c8aa0b36c6455e66989c33aa28c151981df65636d85d7152e4f
+SIZE (go-sql-driver-mysql-v1.9.0_GH0.tar.gz) = 109086
+SHA256 (go-task-slim-sprig-52ccab3ef572_GH0.tar.gz) = 234ca4f44e68e77180301a1a6f3e0426769abefdcafb2ff80d3ffdb27512b173
+SIZE (go-task-slim-sprig-52ccab3ef572_GH0.tar.gz) = 39958
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (goccy-go-json-v0.10.5_GH0.tar.gz) = 15a6994e238a3d520816d53eacd115e6d3fd0816e570e8ae79f3a8fcf74616aa
+SIZE (goccy-go-json-v0.10.5_GH0.tar.gz) = 399031
+SHA256 (golang-crypto-v0.35.0_GH0.tar.gz) = c2d7dae8adb272567d5d9cc0c5f8566ca210b149149a4f790f25a6eef7731a2b
+SIZE (golang-crypto-v0.35.0_GH0.tar.gz) = 1841173
+SHA256 (golang-exp-9bf2ced13842_GH0.tar.gz) = 90fcc103b5927178af2d64b57d39de86d43a8bfa13cb71f4865a360cffe0f1b0
+SIZE (golang-exp-9bf2ced13842_GH0.tar.gz) = 1744262
+SHA256 (golang-mod-v0.22.0_GH0.tar.gz) = 851bd2d05101f3592bd7331119af938300cd5f134ca0222a01bf5db773733ff1
+SIZE (golang-mod-v0.22.0_GH0.tar.gz) = 125874
+SHA256 (golang-net-v0.34.0_GH0.tar.gz) = 3d5ec65e81b6f1d9530a3008f35722e9cf6d4905b20c19a7126f58aae515996c
+SIZE (golang-net-v0.34.0_GH0.tar.gz) = 1466242
+SHA256 (golang-sync-v0.11.0_GH0.tar.gz) = b695a9de85279f6c4bd19f3b6746c5808243470f158b6c5b637f64c4db889f8e
+SIZE (golang-sync-v0.11.0_GH0.tar.gz) = 18144
+SHA256 (golang-sys-v0.30.0_GH0.tar.gz) = 3e54dfe262f4f09341622679101c0f10935028cc945f78a97f898b2416edb1f0
+SIZE (golang-sys-v0.30.0_GH0.tar.gz) = 1523069
+SHA256 (golang-term-v0.29.0_GH0.tar.gz) = 7c9dd180502d91fc1a1af8710e2314cd64e64cfcda70d6cf518a386fd10b2487
+SIZE (golang-term-v0.29.0_GH0.tar.gz) = 14686
+SHA256 (golang-text-v0.22.0_GH0.tar.gz) = ac8bdce0477effd5a830345979626745e5e5bcb81d1a77c8029b0e8b3d621089
+SIZE (golang-text-v0.22.0_GH0.tar.gz) = 8970985
+SHA256 (golang-time-v0.10.0_GH0.tar.gz) = 4c04f20b8d5cac372d97e350ecb652ba2434c019cbb9e89dfeb1a0049b414cf6
+SIZE (golang-time-v0.10.0_GH0.tar.gz) = 12489
+SHA256 (golang-tools-v0.28.0_GH0.tar.gz) = 2c0aa55c1748ba406eec2db21bf44ebec62b1d5812b6ba350b5d421af1544adb
+SIZE (golang-tools-v0.28.0_GH0.tar.gz) = 7452244
+SHA256 (google-go-cmp-v0.7.0_GH0.tar.gz) = c98f4f998ad8134b26816500b5c4c5cd6329905c0610b0c1f031efe7fbb469af
+SIZE (google-go-cmp-v0.7.0_GH0.tar.gz) = 105149
+SHA256 (google-go-querystring-v1.1.0_GH0.tar.gz) = a5641dee688eb2c733608ce5a88d8181c93ad9f5083fd97fadbccb91afad9a56
+SIZE (google-go-querystring-v1.1.0_GH0.tar.gz) = 10423
+SHA256 (google-pprof-407c9e7a662f_GH0.tar.gz) = 6cd5d14f023e0e372f067e37d677cf7bf85385f15ff05a2f2a3dfc9dbb6cbe73
+SIZE (google-pprof-407c9e7a662f_GH0.tar.gz) = 4790769
+SHA256 (gotd-contrib-v0.21.0_GH0.tar.gz) = 6ef78b51dd6fcc378091855736d5dc3d07f480e138c6342c8a7f514480100c66
+SIZE (gotd-contrib-v0.21.0_GH0.tar.gz) = 58368
+SHA256 (hashicorp-golang-lru-v2.0.7_GH0.tar.gz) = 312697d0bf6e6bb44e66a94b2a8a07955edf89af10b09e69b5a9101d30ad5149
+SIZE (hashicorp-golang-lru-v2.0.7_GH0.tar.gz) = 23860
+SHA256 (jmespath-go-jmespath-v0.4.0_GH0.tar.gz) = aa86d00b6836345eee196c13df2df084a18e0b1159935de9289f2ef6a7fe375d
+SIZE (jmespath-go-jmespath-v0.4.0_GH0.tar.gz) = 128861
+SHA256 (julienschmidt-httprouter-v1.3.0_GH0.tar.gz) = 2999dffc23f8ac3872ea37d108ddec0ba570d2780a42876300bdcdb0744908e2
+SIZE (julienschmidt-httprouter-v1.3.0_GH0.tar.gz) = 23889
+SHA256 (klauspost-cpuid-v2.2.9_GH0.tar.gz) = d0aa17338c623af41fe17bb542ebaac5313a56c5f0a400577ee89319d054b4ca
+SIZE (klauspost-cpuid-v2.2.9_GH0.tar.gz) = 668327
+SHA256 (klauspost-reedsolomon-v1.12.4_GH0.tar.gz) = 24045381a4c36cbe2176edcdfb2ead0a5d498b6bf4f021db4503df50546d6a2a
+SIZE (klauspost-reedsolomon-v1.12.4_GH0.tar.gz) = 571323
+SHA256 (lukechampine-frand-v1.5.1_GH0.tar.gz) = 4cbc9b5f5d08ba860ce7dd8689581b26f0241356e9b37ab109c8bc8c564f18f6
+SIZE (lukechampine-frand-v1.5.1_GH0.tar.gz) = 7591
+SHA256 (mattn-go-sqlite3-v1.14.24_GH0.tar.gz) = 8fa3b0b66914ae2dd4ddef9a954f614c5b3eb6ac9d80ee61ae2d08e3178507ec
+SIZE (mattn-go-sqlite3-v1.14.24_GH0.tar.gz) = 2622934
+SHA256 (montanaflynn-stats-v0.7.1_GH0.tar.gz) = 97e9258173992d3caee6f7d7ac175d559dfc086388ad6c65fde439b808e1b725
+SIZE (montanaflynn-stats-v0.7.1_GH0.tar.gz) = 52136
+SHA256 (onsi-ginkgo-v2.12.0_GH0.tar.gz) = ff8ad0c743f3bdcb7472419a85912b78c1ccfe0350473e507de576241193f88b
+SIZE (onsi-ginkgo-v2.12.0_GH0.tar.gz) = 626352
+SHA256 (quic-go-qpack-v0.5.1_GH0.tar.gz) = 4764c488fd58d111bfb06f651f593c8beb1829b853eb56ab204f2680aca12362
+SIZE (quic-go-qpack-v0.5.1_GH0.tar.gz) = 40696
+SHA256 (quic-go-quic-go-v0.50.0_GH0.tar.gz) = 5d5f061777823de7e8108c639c00724086449335e73d863352118e861e01cc8d
+SIZE (quic-go-quic-go-v0.50.0_GH0.tar.gz) = 618203
+SHA256 (quic-go-webtransport-go-4ac2c9250e66_GH0.tar.gz) = 621e42ffd6612cf0338cd03628c37e75e71877ab3d4ef44f738fa9cfd5817432
+SIZE (quic-go-webtransport-go-4ac2c9250e66_GH0.tar.gz) = 37597
+SHA256 (ryszard-goskiplist-2dfbae5fcf46_GH0.tar.gz) = 7749ec2dc1d5c16fbefc70080357ee123e6b25210cebce40e66bfa1a3cc6dc01
+SIZE (ryszard-goskiplist-2dfbae5fcf46_GH0.tar.gz) = 13876
+SHA256 (shabbyrobe-gocovmerge-c3350d9342df_GH0.tar.gz) = 0352ebd52d40a02380d4654ac892bd1386fb30f2663c296f57f718384ac83f41
+SIZE (shabbyrobe-gocovmerge-c3350d9342df_GH0.tar.gz) = 3366
+SHA256 (shopspring-decimal-v1.4.0_GH0.tar.gz) = 6ddc6bc4e94a0b3a8366bdd5674b4c2890faca1171afc3f7d20aec95e2c8d413
+SIZE (shopspring-decimal-v1.4.0_GH0.tar.gz) = 53681
+SHA256 (uber-go-mock-v0.5.0_GH0.tar.gz) = 41c16668926118ccfe8606e335487c0213efbb1330061e3ab7e97650b78e7737
+SIZE (uber-go-mock-v0.5.0_GH0.tar.gz) = 103723
+SHA256 (uber-go-multierr-v1.11.0_GH0.tar.gz) = 8aa599cf7de733306cf8770f854f8a38e6c819b1ae4296f15e44b1e7c6698f34
+SIZE (uber-go-multierr-v1.11.0_GH0.tar.gz) = 16900
+SHA256 (uber-go-zap-v1.27.0_GH0.tar.gz) = 62860771a138097535da9053f75d1da1a9e57f98263ead698ce493e0c9670652
+SIZE (uber-go-zap-v1.27.0_GH0.tar.gz) = 271384
diff --git a/net-p2p/renterd/files/patch-build_meta.go b/net-p2p/renterd/files/patch-build_meta.go
new file mode 100644
index 000000000000..020805bcfd32
--- /dev/null
+++ b/net-p2p/renterd/files/patch-build_meta.go
@@ -0,0 +1,22 @@
+--- build/meta.go.orig 2025-03-11 14:55:31 UTC
++++ build/meta.go
+@@ -1,5 +1,5 @@
+ // Code generated by go generate; DO NOT EDIT.
+-// This file was generated by go generate at 2024-08-12T08:54:43-07:00.
++// This file was generated by go generate at 2025-03-11T15:05:35+01:00.
+ package build
+
+ //go:generate go run gen.go
+@@ -9,9 +9,9 @@ const (
+ )
+
+ const (
+- commit = "?"
*** 1011 LINES SKIPPED ***