Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Mar 2025 01:34:58 GMT
From:      Robert Clausecker <fuz@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 138e932c241c - main - net-p2p/{renterd,hostd,walletd}: new ports
Message-ID:  <202503260134.52Q1Yw6L064812@gitrepo.freebsd.org>

index | next in thread | raw e-mail

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 ***


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202503260134.52Q1Yw6L064812>