Skip site navigation (1)Skip section navigation (2)


| raw e-mail | index | archive | help
The branch main has been updated by alven:

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

commit 083dbf4391a7c255fe510f58639ca97b93c6116a
Author:     Älven <alven@FreeBSD.org>
AuthorDate: 2025-07-29 07:13:37 +0000
Commit:     Älven <alven@FreeBSD.org>
CommitDate: 2025-07-29 07:15:01 +0000

    www/agate: Simple static file server in Rust for the Gemini network protocol
    
    PR:             284277
    Approved by:    yuri@ (Mentor)
---
 www/Makefile              |   1 +
 www/agate/Makefile        |  25 +++++
 www/agate/Makefile.crates | 124 +++++++++++++++++++++++
 www/agate/distinfo        | 251 ++++++++++++++++++++++++++++++++++++++++++++++
 www/agate/files/agate.in  |  48 +++++++++
 www/agate/pkg-descr       |   4 +
 www/agate/pkg-plist       |   4 +
 7 files changed, 457 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 434570735c04..f1381db445b5 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -26,6 +26,7 @@
     SUBDIR += UniversalFeedCreator
     SUBDIR += adguardhome
     SUBDIR += adjuster
+    SUBDIR += agate
     SUBDIR += alef-webfont
     SUBDIR += amfora
     SUBDIR += amphetadesk
diff --git a/www/agate/Makefile b/www/agate/Makefile
new file mode 100644
index 000000000000..4198ee6b0643
--- /dev/null
+++ b/www/agate/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	agate
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.3.17
+CATEGORIES=	www
+
+MAINTAINER=	alven@FreeBSD.org
+COMMENT=	Simple static file server in Rust for the Gemini network protocol
+WWW=		https://github.com/mbrubeck/agate/
+
+LICENSE=	APACHE20 MIT
+LICENSE_COMB=	dual
+LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
+LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	mbrubeck
+USE_RC_SUBR=	agate
+
+post-install:
+	${MKDIR} ${STAGEDIR}${ETCDIR}/tls
+	${MKDIR} ${STAGEDIR}${WWWDIR}
+	${MKDIR} ${STAGEDIR}/var/log/agate
+
+.include <bsd.port.mk>
diff --git a/www/agate/Makefile.crates b/www/agate/Makefile.crates
new file mode 100644
index 000000000000..cbfa73930d04
--- /dev/null
+++ b/www/agate/Makefile.crates
@@ -0,0 +1,124 @@
+CARGO_CRATES=	addr2line-0.24.2 \
+		adler2-2.0.1 \
+		anstream-0.6.19 \
+		anstyle-1.0.11 \
+		anstyle-parse-0.2.7 \
+		anstyle-query-1.1.3 \
+		anstyle-wincon-3.0.9 \
+		backtrace-0.3.75 \
+		bitflags-2.9.1 \
+		bytes-1.10.1 \
+		cc-1.2.27 \
+		cfg-if-1.0.1 \
+		colorchoice-1.0.4 \
+		configparser-3.1.0 \
+		deranged-0.4.0 \
+		displaydoc-0.2.5 \
+		env_filter-0.1.3 \
+		env_logger-0.11.8 \
+		foreign-types-0.3.2 \
+		foreign-types-shared-0.1.1 \
+		form_urlencoded-1.2.1 \
+		futures-core-0.3.31 \
+		futures-macro-0.3.31 \
+		futures-task-0.3.31 \
+		futures-util-0.3.31 \
+		getopts-0.2.23 \
+		getrandom-0.2.16 \
+		gimli-0.31.1 \
+		glob-0.3.2 \
+		icu_collections-2.0.0 \
+		icu_locale_core-2.0.0 \
+		icu_normalizer-2.0.0 \
+		icu_normalizer_data-2.0.0 \
+		icu_properties-2.0.1 \
+		icu_properties_data-2.0.1 \
+		icu_provider-2.0.0 \
+		idna-1.0.3 \
+		idna_adapter-1.2.1 \
+		is_terminal_polyfill-1.70.1 \
+		jiff-0.2.15 \
+		jiff-static-0.2.15 \
+		libc-0.2.174 \
+		litemap-0.8.0 \
+		log-0.4.27 \
+		memchr-2.7.5 \
+		mime-0.3.17 \
+		mime_guess-2.0.5 \
+		miniz_oxide-0.8.9 \
+		mio-1.0.4 \
+		num-conv-0.1.0 \
+		object-0.36.7 \
+		once_cell-1.21.3 \
+		once_cell_polyfill-1.70.1 \
+		openssl-0.10.73 \
+		openssl-macros-0.1.1 \
+		openssl-sys-0.9.109 \
+		percent-encoding-2.3.1 \
+		pin-project-lite-0.2.16 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.32 \
+		portable-atomic-1.11.1 \
+		portable-atomic-util-0.2.4 \
+		potential_utf-0.1.2 \
+		powerfmt-0.2.0 \
+		proc-macro2-1.0.95 \
+		quote-1.0.40 \
+		rcgen-0.13.2 \
+		ring-0.17.14 \
+		rustc-demangle-0.1.25 \
+		rustls-0.23.28 \
+		rustls-pki-types-1.12.0 \
+		rustls-webpki-0.103.3 \
+		serde-1.0.219 \
+		serde_derive-1.0.219 \
+		shlex-1.3.0 \
+		slab-0.4.10 \
+		smallvec-1.15.1 \
+		socket2-0.5.10 \
+		stable_deref_trait-1.2.0 \
+		subtle-2.6.1 \
+		syn-2.0.104 \
+		synstructure-0.13.2 \
+		thiserror-1.0.69 \
+		thiserror-impl-1.0.69 \
+		time-0.3.41 \
+		time-core-0.1.4 \
+		tinystr-0.8.1 \
+		tokio-1.45.1 \
+		tokio-macros-2.5.0 \
+		tokio-openssl-0.6.5 \
+		tokio-rustls-0.26.2 \
+		trotter-1.0.2 \
+		unicase-2.8.1 \
+		unicode-ident-1.0.18 \
+		unicode-width-0.2.1 \
+		untrusted-0.9.0 \
+		url-2.5.4 \
+		urlencoding-2.1.3 \
+		utf8_iter-1.0.4 \
+		utf8parse-0.2.2 \
+		vcpkg-0.2.15 \
+		wasi-0.11.1+wasi-snapshot-preview1 \
+		wildmatch-2.4.0 \
+		windows-sys-0.52.0 \
+		windows-sys-0.59.0 \
+		windows-targets-0.52.6 \
+		windows_aarch64_gnullvm-0.52.6 \
+		windows_aarch64_msvc-0.52.6 \
+		windows_i686_gnu-0.52.6 \
+		windows_i686_gnullvm-0.52.6 \
+		windows_i686_msvc-0.52.6 \
+		windows_x86_64_gnu-0.52.6 \
+		windows_x86_64_gnullvm-0.52.6 \
+		windows_x86_64_msvc-0.52.6 \
+		writeable-0.6.1 \
+		yasna-0.5.2 \
+		yoke-0.8.0 \
+		yoke-derive-0.8.0 \
+		zerofrom-0.1.6 \
+		zerofrom-derive-0.1.6 \
+		zeroize-1.8.1 \
+		zerotrie-0.2.2 \
+		zerovec-0.11.2 \
+		zerovec-derive-0.11.1
diff --git a/www/agate/distinfo b/www/agate/distinfo
new file mode 100644
index 000000000000..5228136560ed
--- /dev/null
+++ b/www/agate/distinfo
@@ -0,0 +1,251 @@
+TIMESTAMP = 1753528370
+SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
+SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/anstream-0.6.19.crate) = 301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933
+SIZE (rust/crates/anstream-0.6.19.crate) = 28767
+SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd
+SIZE (rust/crates/anstyle-1.0.11.crate) = 15880
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.3.crate) = 6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9
+SIZE (rust/crates/anstyle-query-1.1.3.crate) = 10190
+SHA256 (rust/crates/anstyle-wincon-3.0.9.crate) = 403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882
+SIZE (rust/crates/anstyle-wincon-3.0.9.crate) = 12561
+SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
+SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
+SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
+SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
+SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
+SIZE (rust/crates/bytes-1.10.1.crate) = 76779
+SHA256 (rust/crates/cc-1.2.27.crate) = d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc
+SIZE (rust/crates/cc-1.2.27.crate) = 107070
+SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268
+SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/configparser-3.1.0.crate) = e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b
+SIZE (rust/crates/configparser-3.1.0.crate) = 25473
+SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
+SIZE (rust/crates/deranged-0.4.0.crate) = 23235
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/env_filter-0.1.3.crate) = 186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0
+SIZE (rust/crates/env_filter-0.1.3.crate) = 15191
+SHA256 (rust/crates/env_logger-0.11.8.crate) = 13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f
+SIZE (rust/crates/env_logger-0.11.8.crate) = 32538
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
+SIZE (rust/crates/futures-core-0.3.31.crate) = 14318
+SHA256 (rust/crates/futures-macro-0.3.31.crate) = 162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650
+SIZE (rust/crates/futures-macro-0.3.31.crate) = 11341
+SHA256 (rust/crates/futures-task-0.3.31.crate) = f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988
+SIZE (rust/crates/futures-task-0.3.31.crate) = 11217
+SHA256 (rust/crates/futures-util-0.3.31.crate) = 9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81
+SIZE (rust/crates/futures-util-0.3.31.crate) = 162124
+SHA256 (rust/crates/getopts-0.2.23.crate) = cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1
+SIZE (rust/crates/getopts-0.2.23.crate) = 21409
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
+SIZE (rust/crates/gimli-0.31.1.crate) = 279515
+SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
+SIZE (rust/crates/glob-0.3.2.crate) = 22359
+SHA256 (rust/crates/icu_collections-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47
+SIZE (rust/crates/icu_collections-2.0.0.crate) = 83033
+SHA256 (rust/crates/icu_locale_core-2.0.0.crate) = 0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a
+SIZE (rust/crates/icu_locale_core-2.0.0.crate) = 74430
+SHA256 (rust/crates/icu_normalizer-2.0.0.crate) = 436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979
+SIZE (rust/crates/icu_normalizer-2.0.0.crate) = 61543
+SHA256 (rust/crates/icu_normalizer_data-2.0.0.crate) = 00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3
+SIZE (rust/crates/icu_normalizer_data-2.0.0.crate) = 68101
+SHA256 (rust/crates/icu_properties-2.0.1.crate) = 016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b
+SIZE (rust/crates/icu_properties-2.0.1.crate) = 58165
+SHA256 (rust/crates/icu_properties_data-2.0.1.crate) = 298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632
+SIZE (rust/crates/icu_properties_data-2.0.1.crate) = 159735
+SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af
+SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
+SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
+SIZE (rust/crates/idna-1.0.3.crate) = 142515
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/jiff-0.2.15.crate) = be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49
+SIZE (rust/crates/jiff-0.2.15.crate) = 712996
+SHA256 (rust/crates/jiff-static-0.2.15.crate) = 03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4
+SIZE (rust/crates/jiff-static-0.2.15.crate) = 76146
+SHA256 (rust/crates/libc-0.2.174.crate) = 1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776
+SIZE (rust/crates/libc-0.2.174.crate) = 779933
+SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
+SIZE (rust/crates/litemap-0.8.0.crate) = 34344
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/memchr-2.7.5.crate) = 32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0
+SIZE (rust/crates/memchr-2.7.5.crate) = 97603
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/mime_guess-2.0.5.crate) = f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e
+SIZE (rust/crates/mime_guess-2.0.5.crate) = 27166
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/mio-1.0.4.crate) = 78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c
+SIZE (rust/crates/mio-1.0.4.crate) = 104212
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
+SIZE (rust/crates/object-0.36.7.crate) = 329938
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/openssl-0.10.73.crate) = 8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8
+SIZE (rust/crates/openssl-0.10.73.crate) = 283994
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-sys-0.9.109.crate) = 90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571
+SIZE (rust/crates/openssl-sys-0.9.109.crate) = 78247
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
+SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
+SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483
+SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506
+SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507
+SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043
+SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585
+SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
+SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
+SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
+SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/rcgen-0.13.2.crate) = 75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2
+SIZE (rust/crates/rcgen-0.13.2.crate) = 77836
+SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7
+SIZE (rust/crates/ring-0.17.14.crate) = 1502610
+SHA256 (rust/crates/rustc-demangle-0.1.25.crate) = 989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f
+SIZE (rust/crates/rustc-demangle-0.1.25.crate) = 29590
+SHA256 (rust/crates/rustls-0.23.28.crate) = 7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643
+SIZE (rust/crates/rustls-0.23.28.crate) = 365699
+SHA256 (rust/crates/rustls-pki-types-1.12.0.crate) = 229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79
+SIZE (rust/crates/rustls-pki-types-1.12.0.crate) = 64740
+SHA256 (rust/crates/rustls-webpki-0.103.3.crate) = e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435
+SIZE (rust/crates/rustls-webpki-0.103.3.crate) = 81840
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/slab-0.4.10.crate) = 04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d
+SIZE (rust/crates/slab-0.4.10.crate) = 17810
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/socket2-0.5.10.crate) = e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678
+SIZE (rust/crates/socket2-0.5.10.crate) = 58169
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
+SIZE (rust/crates/subtle-2.6.1.crate) = 14562
+SHA256 (rust/crates/syn-2.0.104.crate) = 17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40
+SIZE (rust/crates/syn-2.0.104.crate) = 299699
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40
+SIZE (rust/crates/time-0.3.41.crate) = 138369
+SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c
+SIZE (rust/crates/time-core-0.1.4.crate) = 8422
+SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
+SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
+SHA256 (rust/crates/tokio-1.45.1.crate) = 75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779
+SIZE (rust/crates/tokio-1.45.1.crate) = 811787
+SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
+SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
+SHA256 (rust/crates/tokio-openssl-0.6.5.crate) = 59df6849caa43bb7567f9a36f863c447d95a11d5903c9cc334ba32576a27eadd
+SIZE (rust/crates/tokio-openssl-0.6.5.crate) = 11977
+SHA256 (rust/crates/tokio-rustls-0.26.2.crate) = 8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b
+SIZE (rust/crates/tokio-rustls-0.26.2.crate) = 31655
+SHA256 (rust/crates/trotter-1.0.2.crate) = 7c56b8c42904fdee43b91307a67e32aba961eca95e8887d5157b912a61d4f391
+SIZE (rust/crates/trotter-1.0.2.crate) = 32314
+SHA256 (rust/crates/unicase-2.8.1.crate) = 75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539
+SIZE (rust/crates/unicase-2.8.1.crate) = 24088
+SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
+SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
+SHA256 (rust/crates/unicode-width-0.2.1.crate) = 4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c
+SIZE (rust/crates/unicode-width-0.2.1.crate) = 279344
+SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
+SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
+SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
+SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/urlencoding-2.1.3.crate) = daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da
+SIZE (rust/crates/urlencoding-2.1.3.crate) = 6538
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wildmatch-2.4.0.crate) = 68ce1ab1f8c62655ebe1350f589c61e505cf94d385bc6a12899442d9081e71fd
+SIZE (rust/crates/wildmatch-2.4.0.crate) = 7517
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
+SIZE (rust/crates/writeable-0.6.1.crate) = 24068
+SHA256 (rust/crates/yasna-0.5.2.crate) = e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd
+SIZE (rust/crates/yasna-0.5.2.crate) = 34859
+SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc
+SIZE (rust/crates/yoke-0.8.0.crate) = 28726
+SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6
+SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521
+SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
+SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
+SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
+SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
+SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde
+SIZE (rust/crates/zeroize-1.8.1.crate) = 20029
+SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
+SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
+SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428
+SIZE (rust/crates/zerovec-0.11.2.crate) = 124500
+SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
+SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
+SHA256 (mbrubeck-agate-v3.3.17_GH0.tar.gz) = 51d9eb747adfa125d1b19db4e94e235455524547961cdbfbac19f32943e454ff
+SIZE (mbrubeck-agate-v3.3.17_GH0.tar.gz) = 84700
diff --git a/www/agate/files/agate.in b/www/agate/files/agate.in
new file mode 100644
index 000000000000..8389eb93c49e
--- /dev/null
+++ b/www/agate/files/agate.in
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# PROVIDE: agate
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# agate_enable (bool):  Set to NO by default.
+#                       Set it to YES to enable agate.
+# agate_user:           default www
+# agate_content:        default %%PREFIX%%/www/agate
+# agate_certs:          default %%PREFIX%%/etc/agate/tls
+# agate_hostname:       e.g., gemini.example.tld, default hostname
+# agate_addr:           default [::], listen on IPV4 and IPV6
+# agate_port:           default 1965
+# agate_lang:           default en_US
+# agate_logfile:        default /var/log/agate/agate.log
+
+. /etc/rc.subr
+
+desc="Agate Gemini server"
+name=agate
+rcvar=$name_enable
+
+load_rc_config $name
+
+: ${agate_enable:=NO}
+: ${agate_user:=www}
+: ${agate_content:=%%PREFIX%%/www/agate/}
+: ${agate_certs:=%%PREFIX%%/etc/agate/tls/}
+: ${agate_hostname:=`uname -n`}
+: ${agate_addr:=[::]}
+: ${agate_port:=1965}
+: ${agate_lang:=en-US}
+: ${agate_logfile:=/var/log/agate/agate.log}
+
+agate_user=${agate_user}
+
+command=%%PREFIX%%/bin/agate
+command_args="--content ${agate_content} \
+       --certs ${agate_certs} \
+       --addr ${agate_addr}:${agate_port} \
+       --hostname ${agate_hostname} \
+       --lang ${agate_lang} >> ${agate_logfile} 2>&1 &"
+
+run_rc_command "$1"
diff --git a/www/agate/pkg-descr b/www/agate/pkg-descr
new file mode 100644
index 000000000000..e55ebf6f9f3c
--- /dev/null
+++ b/www/agate/pkg-descr
@@ -0,0 +1,4 @@
+Agate is a server for the Gemini network protocol, built with the Rust
+programming language. Agate has very few features, and can only serve static
+files. It uses async I/O, and should be quite efficient even when running on
+low-end hardware and serving many concurrent requests.
diff --git a/www/agate/pkg-plist b/www/agate/pkg-plist
new file mode 100644
index 000000000000..ad2e85647732
--- /dev/null
+++ b/www/agate/pkg-plist
@@ -0,0 +1,4 @@
+bin/agate
+@dir(www) etc/agate/tls
+@dir(www,www) www/agate
+@dir(www,www) /var/log/agate



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