Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 07 May 2021 15:44:57 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 255684] [NEW PORT] net/gemserv A gemini server written in Rust
Message-ID:  <bug-255684-7788-qQtenIXDhK@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-255684-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-255684-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D255684

--- Comment #1 from Evaldas Auryla <ea@uoga.net> ---
Comment on attachment 224751
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D224751
net/gemserv port diff

diff --git a/GIDs b/GIDs
index de45039..8aa354a 100644
--- a/GIDs
+++ b/GIDs
@@ -817,7 +817,7 @@ bitmark-recorder:*:873:
 librespeed:*:874:
 # free: 875
 # free: 876
-# free: 877
+_gemini:*:877:
 gerbera:*:878:
 _encrypted-dns:*:879:
 pyspf-milter:*:880:
diff --git a/UIDs b/UIDs
index f4aff0b..5c6ea88 100644
--- a/UIDs
+++ b/UIDs
@@ -822,7 +822,7 @@ bitmark-recorder:*:873:873::0:0:Bitmark Property
Recorder:/var/lib/recorderd:/us
 librespeed:*:874:874::0:0:LibreSpeed user:/nonexistent:/usr/sbin/nologin
 # free: 875
 # free: 876
-# free: 877
+_gemini:*:877:877::0:0:gemini server user:/nonexistent:/usr/sbin/nologin
 gerbera:*:878:878::0:0:Gerbera DLNA Media
Server:/nonexistent:/usr/sbin/nologin
 _encrypted-dns:*:879:879::0:0:encrypted-dns user:/var/empty:/usr/sbin/nolo=
gin
 pyspf-milter:*:880:880::0:0:pyspf-milter:/nonexistent:/usr/sbin/nologin
diff --git a/net/gemserv/Makefile b/net/gemserv/Makefile
new file mode 100644
index 0000000..40176cf
--- /dev/null
+++ b/net/gemserv/Makefile
@@ -0,0 +1,129 @@
+PORTNAME=3D      gemserv
+DISTVERSIONPREFIX=3D     v
+DISTVERSION=3D   0.4.5
+PORTREVISION=3D  1
+CATEGORIES=3D    net
+MASTER_SITES=3D=20
https://git.sr.ht/~int80h/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_S=
UFX}?dummy=3D/
+DISTFILES=3D     ${PORTNAME}-${DISTVERSIONPREFIX}${PORTVERSION}${EXTRACT_S=
UFX}
+
+MAINTAINER=3D    ea@uoga.net
+COMMENT=3D       Gemini protocol server written in Rust.
+
+LICENSE=3D       MIT APACHE20 BSD3CLAUSE MPL20
+LICENSE_FILE_MIT=3D      ${WRKSRC}/LICENSE
+LICENSE_COMB=3D  multi
+
+USES=3D          cargo ssl
+
+CARGO_CRATES=3D  atty-0.2.14 \
+               autocfg-1.0.1 \
+               bitflags-1.2.1 \
+               bytes-0.5.6 \
+               cc-1.0.66 \
+               cfg-if-0.1.10 \
+               cfg-if-1.0.0 \
+               chrono-0.4.19 \
+               colored-1.9.3 \
+               foreign-types-0.3.2 \
+               foreign-types-shared-0.1.1 \
+               form_urlencoded-1.0.0 \
+               futures-core-0.3.8 \
+               futures-macro-0.3.8 \
+               futures-task-0.3.8 \
+               futures-util-0.3.8 \
+               idna-0.2.0 \
+               iovec-0.1.4 \
+               lazy_static-1.4.0 \
+               libc-0.2.81 \
+               log-0.4.11 \
+               matches-0.1.8 \
+               memchr-2.3.4 \
+               mime-0.3.16 \
+               mime_guess-2.0.3 \
+               mio-0.6.23 \
+               mio-uds-0.6.8 \
+               net2-0.2.37 \
+               num-integer-0.1.44 \
+               num-traits-0.2.14 \
+               num_cpus-1.13.0 \
+               once_cell-1.5.2 \
+               openssl-0.10.32 \
+               percent-encoding-2.1.0 \
+               pin-project-1.0.2 \
+               pin-project-internal-1.0.2 \
+               pin-project-lite-0.1.11 \
+               pin-utils-0.1.0 \
+               pkg-config-0.3.19 \
+               proc-macro-hack-0.5.19 \
+               proc-macro-nested-0.1.6 \
+               proc-macro2-1.0.24 \
+               quote-1.0.8 \
+               serde-1.0.118 \
+               serde_derive-1.0.118 \
+               signal-hook-registry-1.3.0 \
+               simple_logger-1.11.0 \
+               slab-0.4.2 \
+               syn-1.0.55 \
+               time-0.1.44 \
+               tinyvec-1.1.0 \
+               tinyvec_macros-0.1.0 \
+               tokio-0.2.24 \
+               tokio-openssl-0.4.0 \
+               toml-0.5.8 \
+               unicase-2.6.0 \
+               unicode-bidi-0.3.4 \
+               unicode-normalization-0.1.16 \
+               unicode-xid-0.2.1 \
+               url-2.2.0 \
+               version_check-0.9.2 \
+               winapi-0.2.8 \
+               winapi-0.3.9 \
+               mio-named-pipes-0.1.7 \
+               openssl-sys-0.9.61 \
+               hermit-abi-0.1.18 \
+               winapi-i686-pc-windows-gnu-0.4.0 \
+               winapi-x86_64-pc-windows-gnu-0.4.0 \
+               fuchsia-zircon-0.3.3 \
+               fuchsia-zircon-sys-0.3.3 \
+               kernel32-sys-0.2.2 \
+               miow-0.2.2 \
+               miow-0.3.7 \
+               wasi-0.10.0+wasi-snapshot-preview1 \
+               winapi-build-0.1.1 \
+               ws2_32-sys-0.2.1 \
+               vcpkg-0.2.12
+
+OPTIONS_DEFINE=3D        STATICONLY
+OPTIONS_DEFAULT=3D
+
+STATICONLY_DESC=3D       Only serve static files, no additional features (=
CGI..)
+STATICONLY_VARS=3D       CARGO_FEATURES+=3D--no-default-features
+
+GEMSERV_USER?=3D _gemini
+GEMSERV_GROUP?=3D        _gemini
+
+USERS=3D         ${GEMSERV_USER}
+GROUPS=3D                ${GEMSERV_GROUP}
+
+USE_RC_SUBR=3D   gemserv
+SUB_LIST=3D      GEMSERV_USER=3D${GEMSERV_USER} \
+               GEMSERV_GROUP=3D${GEMSERV_GROUP}
+SUB_FILES=3D     config.toml.sample index.gmi.sample
+
+PLIST_SUB=3D     GEMSERV_DATADIR=3D${PREFIX}/gemini/gemserv-dist
+
+post-install:
+       ${MKDIR} ${STAGEDIR}${ETCDIR}
+       ${INSTALL_DATA} ${WRKSRC}/config.toml
${STAGEDIR}${ETCDIR}/config.toml-dist
+       ${INSTALL_DATA} ${WRKDIR}/config.toml.sample ${STAGEDIR}${ETCDIR}
+
+       ${MKDIR} ${STAGEDIR}${DOCSDIR}
+       ${INSTALL_MAN} ${WRKSRC}/README ${WRKSRC}/UPDATING
${STAGEDIR}${DOCSDIR}
+
+       ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+       (cd ${WRKSRC}/cgi-scripts && ${COPYTREE_SHARE} .
${STAGEDIR}${EXAMPLESDIR})
+
+       ${MKDIR} ${STAGEDIR}${PREFIX}/gemini/gemserv-dist
+       ${INSTALL_DATA} ${WRKDIR}/index.gmi.sample ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/net/gemserv/distinfo b/net/gemserv/distinfo
new file mode 100644
index 0000000..5a2c942
--- /dev/null
+++ b/net/gemserv/distinfo
@@ -0,0 +1,157 @@
+TIMESTAMP =3D 1620397069
+SHA256 (gemserv-v0.4.5.tar.gz) =3D
7aeb5edc8af6ebefc2331aebc0c360798711c2fb16ee9cbde8c5c4f9502c491f
+SIZE (gemserv-v0.4.5.tar.gz) =3D 16739
+SHA256 (rust/crates/atty-0.2.14.tar.gz) =3D
d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.tar.gz) =3D 5470
+SHA256 (rust/crates/autocfg-1.0.1.tar.gz) =3D
cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.tar.gz) =3D 12908
+SHA256 (rust/crates/bitflags-1.2.1.tar.gz) =3D
cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.tar.gz) =3D 16745
+SHA256 (rust/crates/bytes-0.5.6.tar.gz) =3D
0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38
+SIZE (rust/crates/bytes-0.5.6.tar.gz) =3D 46291
+SHA256 (rust/crates/cc-1.0.66.tar.gz) =3D
4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48
+SIZE (rust/crates/cc-1.0.66.tar.gz) =3D 53454
+SHA256 (rust/crates/cfg-if-0.1.10.tar.gz) =3D
4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.tar.gz) =3D 7933
+SHA256 (rust/crates/cfg-if-1.0.0.tar.gz) =3D
baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.tar.gz) =3D 7934
+SHA256 (rust/crates/chrono-0.4.19.tar.gz) =3D
670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
+SIZE (rust/crates/chrono-0.4.19.tar.gz) =3D 155663
+SHA256 (rust/crates/colored-1.9.3.tar.gz) =3D
f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59
+SIZE (rust/crates/colored-1.9.3.tar.gz) =3D 20062
+SHA256 (rust/crates/foreign-types-0.3.2.tar.gz) =3D
f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.tar.gz) =3D 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.tar.gz) =3D
00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.tar.gz) =3D 5672
+SHA256 (rust/crates/form_urlencoded-1.0.0.tar.gz) =3D
ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00
+SIZE (rust/crates/form_urlencoded-1.0.0.tar.gz) =3D 8412
+SHA256 (rust/crates/futures-core-0.3.8.tar.gz) =3D
847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748
+SIZE (rust/crates/futures-core-0.3.8.tar.gz) =3D 13857
+SHA256 (rust/crates/futures-macro-0.3.8.tar.gz) =3D
77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556
+SIZE (rust/crates/futures-macro-0.3.8.tar.gz) =3D 9766
+SHA256 (rust/crates/futures-task-0.3.8.tar.gz) =3D
7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d
+SIZE (rust/crates/futures-task-0.3.8.tar.gz) =3D 11118
+SHA256 (rust/crates/futures-util-0.3.8.tar.gz) =3D
d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2
+SIZE (rust/crates/futures-util-0.3.8.tar.gz) =3D 134020
+SHA256 (rust/crates/idna-0.2.0.tar.gz) =3D
02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9
+SIZE (rust/crates/idna-0.2.0.tar.gz) =3D 257203
+SHA256 (rust/crates/iovec-0.1.4.tar.gz) =3D
b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
+SIZE (rust/crates/iovec-0.1.4.tar.gz) =3D 8720
+SHA256 (rust/crates/lazy_static-1.4.0.tar.gz) =3D
e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.tar.gz) =3D 10443
+SHA256 (rust/crates/libc-0.2.81.tar.gz) =3D
1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb
+SIZE (rust/crates/libc-0.2.81.tar.gz) =3D 513105
+SHA256 (rust/crates/log-0.4.11.tar.gz) =3D
4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b
+SIZE (rust/crates/log-0.4.11.tar.gz) =3D 36276
+SHA256 (rust/crates/matches-0.1.8.tar.gz) =3D
7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08
+SIZE (rust/crates/matches-0.1.8.tar.gz) =3D 2216
+SHA256 (rust/crates/memchr-2.3.4.tar.gz) =3D
0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525
+SIZE (rust/crates/memchr-2.3.4.tar.gz) =3D 23077
+SHA256 (rust/crates/mime-0.3.16.tar.gz) =3D
2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
+SIZE (rust/crates/mime-0.3.16.tar.gz) =3D 15206
+SHA256 (rust/crates/mime_guess-2.0.3.tar.gz) =3D
2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212
+SIZE (rust/crates/mime_guess-2.0.3.tar.gz) =3D 27437
+SHA256 (rust/crates/mio-0.6.23.tar.gz) =3D
4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
+SIZE (rust/crates/mio-0.6.23.tar.gz) =3D 103554
+SHA256 (rust/crates/mio-uds-0.6.8.tar.gz) =3D
afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0
+SIZE (rust/crates/mio-uds-0.6.8.tar.gz) =3D 11496
+SHA256 (rust/crates/net2-0.2.37.tar.gz) =3D
391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
+SIZE (rust/crates/net2-0.2.37.tar.gz) =3D 21311
+SHA256 (rust/crates/num-integer-0.1.44.tar.gz) =3D
d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.tar.gz) =3D 22216
+SHA256 (rust/crates/num-traits-0.2.14.tar.gz) =3D
9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.tar.gz) =3D 45476
+SHA256 (rust/crates/num_cpus-1.13.0.tar.gz) =3D
05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
+SIZE (rust/crates/num_cpus-1.13.0.tar.gz) =3D 14704
+SHA256 (rust/crates/once_cell-1.5.2.tar.gz) =3D
13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0
+SIZE (rust/crates/once_cell-1.5.2.tar.gz) =3D 27660
+SHA256 (rust/crates/openssl-0.10.32.tar.gz) =3D
038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70
+SIZE (rust/crates/openssl-0.10.32.tar.gz) =3D 199469
+SHA256 (rust/crates/percent-encoding-2.1.0.tar.gz) =3D
d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.tar.gz) =3D 9748
+SHA256 (rust/crates/pin-project-1.0.2.tar.gz) =3D
9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7
+SIZE (rust/crates/pin-project-1.0.2.tar.gz) =3D 54886
+SHA256 (rust/crates/pin-project-internal-1.0.2.tar.gz) =3D
f8e8d2bf0b23038a4424865103a4df472855692821aab4e4f5c3312d461d9e5f
+SIZE (rust/crates/pin-project-internal-1.0.2.tar.gz) =3D 27379
+SHA256 (rust/crates/pin-project-lite-0.1.11.tar.gz) =3D
c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b
+SIZE (rust/crates/pin-project-lite-0.1.11.tar.gz) =3D 25308
+SHA256 (rust/crates/pin-utils-0.1.0.tar.gz) =3D
8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.tar.gz) =3D 7580
+SHA256 (rust/crates/pkg-config-0.3.19.tar.gz) =3D
3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
+SIZE (rust/crates/pkg-config-0.3.19.tar.gz) =3D 15451
+SHA256 (rust/crates/proc-macro-hack-0.5.19.tar.gz) =3D
dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
+SIZE (rust/crates/proc-macro-hack-0.5.19.tar.gz) =3D 15556
+SHA256 (rust/crates/proc-macro-nested-0.1.6.tar.gz) =3D
eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a
+SIZE (rust/crates/proc-macro-nested-0.1.6.tar.gz) =3D 6498
+SHA256 (rust/crates/proc-macro2-1.0.24.tar.gz) =3D
1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71
+SIZE (rust/crates/proc-macro2-1.0.24.tar.gz) =3D 37716
+SHA256 (rust/crates/quote-1.0.8.tar.gz) =3D
991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df
+SIZE (rust/crates/quote-1.0.8.tar.gz) =3D 24997
+SHA256 (rust/crates/serde-1.0.118.tar.gz) =3D
06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800
+SIZE (rust/crates/serde-1.0.118.tar.gz) =3D 74248
+SHA256 (rust/crates/serde_derive-1.0.118.tar.gz) =3D
c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df
+SIZE (rust/crates/serde_derive-1.0.118.tar.gz) =3D 50589
+SHA256 (rust/crates/signal-hook-registry-1.3.0.tar.gz) =3D
16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6
+SIZE (rust/crates/signal-hook-registry-1.3.0.tar.gz) =3D 17786
+SHA256 (rust/crates/simple_logger-1.11.0.tar.gz) =3D
cd57f17c093ead1d4a1499dc9acaafdd71240908d64775465543b8d9a9f1d198
+SIZE (rust/crates/simple_logger-1.11.0.tar.gz) =3D 7194
+SHA256 (rust/crates/slab-0.4.2.tar.gz) =3D
c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8
+SIZE (rust/crates/slab-0.4.2.tar.gz) =3D 10136
+SHA256 (rust/crates/syn-1.0.55.tar.gz) =3D
a571a711dddd09019ccc628e1b17fe87c59b09d513c06c026877aa708334f37a
+SIZE (rust/crates/syn-1.0.55.tar.gz) =3D 229095
+SHA256 (rust/crates/time-0.1.44.tar.gz) =3D
6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
+SIZE (rust/crates/time-0.1.44.tar.gz) =3D 28885
+SHA256 (rust/crates/tinyvec-1.1.0.tar.gz) =3D
ccf8dbc19eb42fba10e8feaaec282fb50e2c14b2726d6301dbfeed0f73306a6f
+SIZE (rust/crates/tinyvec-1.1.0.tar.gz) =3D 39037
+SHA256 (rust/crates/tinyvec_macros-0.1.0.tar.gz) =3D
cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.tar.gz) =3D 1817
+SHA256 (rust/crates/tokio-0.2.24.tar.gz) =3D
099837d3464c16a808060bb3f02263b412f6fafcb5d01c533d309985fbeebe48
+SIZE (rust/crates/tokio-0.2.24.tar.gz) =3D 413332
+SHA256 (rust/crates/tokio-openssl-0.4.0.tar.gz) =3D
3c4b08c5f4208e699ede3df2520aca2e82401b2de33f45e96696a074480be594
+SIZE (rust/crates/tokio-openssl-0.4.0.tar.gz) =3D 11790
+SHA256 (rust/crates/toml-0.5.8.tar.gz) =3D
a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.tar.gz) =3D 54219
+SHA256 (rust/crates/unicase-2.6.0.tar.gz) =3D
50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
+SIZE (rust/crates/unicase-2.6.0.tar.gz) =3D 23478
+SHA256 (rust/crates/unicode-bidi-0.3.4.tar.gz) =3D
49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5
+SIZE (rust/crates/unicode-bidi-0.3.4.tar.gz) =3D 32228
+SHA256 (rust/crates/unicode-normalization-0.1.16.tar.gz) =3D
a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606
+SIZE (rust/crates/unicode-normalization-0.1.16.tar.gz) =3D 92805
+SHA256 (rust/crates/unicode-xid-0.2.1.tar.gz) =3D
f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564
+SIZE (rust/crates/unicode-xid-0.2.1.tar.gz) =3D 14392
+SHA256 (rust/crates/url-2.2.0.tar.gz) =3D
5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e
+SIZE (rust/crates/url-2.2.0.tar.gz) =3D 42787
+SHA256 (rust/crates/version_check-0.9.2.tar.gz) =3D
b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed
+SIZE (rust/crates/version_check-0.9.2.tar.gz) =3D 11979
+SHA256 (rust/crates/winapi-0.2.8.tar.gz) =3D
167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
+SIZE (rust/crates/winapi-0.2.8.tar.gz) =3D 455145
+SHA256 (rust/crates/winapi-0.3.9.tar.gz) =3D
5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.tar.gz) =3D 1200382
+SHA256 (rust/crates/mio-named-pipes-0.1.7.tar.gz) =3D
0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656
+SIZE (rust/crates/mio-named-pipes-0.1.7.tar.gz) =3D 15140
+SHA256 (rust/crates/openssl-sys-0.9.61.tar.gz) =3D
313752393519e876837e09e1fa183ddef0be7735868dced3196f4472d536277f
+SIZE (rust/crates/openssl-sys-0.9.61.tar.gz) =3D 52010
+SHA256 (rust/crates/hermit-abi-0.1.18.tar.gz) =3D
322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c
+SIZE (rust/crates/hermit-abi-0.1.18.tar.gz) =3D 9936
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) =3D
ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) =3D 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) =3D
712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) =3D 2947998
+SHA256 (rust/crates/fuchsia-zircon-0.3.3.tar.gz) =3D
2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
+SIZE (rust/crates/fuchsia-zircon-0.3.3.tar.gz) =3D 22565
+SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) =3D
3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
+SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) =3D 7191
+SHA256 (rust/crates/kernel32-sys-0.2.2.tar.gz) =3D
7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
+SIZE (rust/crates/kernel32-sys-0.2.2.tar.gz) =3D 24537
+SHA256 (rust/crates/miow-0.2.2.tar.gz) =3D
ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
+SIZE (rust/crates/miow-0.2.2.tar.gz) =3D 22044
+SHA256 (rust/crates/miow-0.3.7.tar.gz) =3D
b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
+SIZE (rust/crates/miow-0.3.7.tar.gz) =3D 24563
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.tar.gz) =3D
1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.tar.gz) =3D 26964
+SHA256 (rust/crates/winapi-build-0.1.1.tar.gz) =3D
2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
+SIZE (rust/crates/winapi-build-0.1.1.tar.gz) =3D 669
+SHA256 (rust/crates/ws2_32-sys-0.2.1.tar.gz) =3D
d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
+SIZE (rust/crates/ws2_32-sys-0.2.1.tar.gz) =3D 4697
+SHA256 (rust/crates/vcpkg-0.2.12.tar.gz) =3D
cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d
+SIZE (rust/crates/vcpkg-0.2.12.tar.gz) =3D 15530
diff --git a/net/gemserv/files/config.toml.sample.in
b/net/gemserv/files/config.toml.sample.in
new file mode 100644
index 0000000..5c9d412
--- /dev/null
+++ b/net/gemserv/files/config.toml.sample.in
@@ -0,0 +1,21 @@
+port =3D 1965
+# use "::" for ipv6 and ipv4 or "0.0.0.0" for ipv4 only
+host =3D "0.0.0.0"
+# log is optional and server wide. It defaults to info if not set. Other
levels
+# are error, warn, and info. If error is set it will only show error. If w=
arn
+# is set it will show error and warn. Info shows all three.
+log =3D "info"
+
+# There must be at least 1 server tag if a client doesn't send sni the ser=
ver
+# will use this tag as its default.
+# Server 1
+[[server]]
+hostname =3D "gemini.example.net"
+dir =3D "/usr/local/gemini/gemserv-dist"
+key =3D "/usr/local/etc/gemserv/key.pem"
+cert =3D "/usr/local/etc/gemserv/cert.pem"
+# index is optional but defaults to index.gemini. The server will serve fi=
les
+# ending in gemini or gmi.
+index =3D "index.gmi"
+# lang is optional
+lang =3D "en"
diff --git a/net/gemserv/files/gemserv.in b/net/gemserv/files/gemserv.in
new file mode 100644
index 0000000..b1fcb39
--- /dev/null
+++ b/net/gemserv/files/gemserv.in
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+# PROVIDE: gemserv
+# REQUIRE: NETWORKING
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# gemserv_enable (bool):               Set to NO by default.
+#                                      Set it to YES to enable gemserv.
+# gemserv_user (user):                 Set user to run gemserv.
+#                                      Default: _gemini
+# gemserv_group (group):               Set group to run gemserv.
+#                                      Default: _gemini
+# gemserv_config (path):               Set to %%ETCDIR%%/config.toml
+#                                      by default.
+# gemserv_syslog_output_enable:                Set to enable syslog output.
+#                                      Default: YES
+# gemserv_syslog_output_tag:           Set syslog tag if syslog enabled.
+#                                      Default: gemserv
+# gemserv_syslog_output_priority:      Set syslog priority if syslog enabl=
ed.
+#                                      Default: notice
+# gemserv_syslog_output_facility:      Set syslog facility if syslog enabl=
ed.
+#                                      Default: daemon
+
+. /etc/rc.subr
+
+name=3Dgemserv
+rcvar=3Dgemserv_enable
+
+load_rc_config $name
+
+: ${gemserv_enable:=3DNO}
+: ${gemserv_user:=3D"%%GEMSERV_USER%%"}
+: ${gemserv_group:=3D"%%GEMSERV_GROUP%%"}
+: ${gemserv_config=3D"%%ETCDIR%%/config.toml"}
+: ${gemserv_syslog_output_enable:=3D"YES"}
+: ${gemserv_syslog_output_tag:=3D"gemserv"}
+: ${gemserv_syslog_output_priority:=3D"notice"}
+: ${gemserv_syslog_output_facility:=3D"daemon"}
+
+
+if checkyesno gemserv_syslog_output_enable; then
+       if [ -n "${gemserv_syslog_output_tag}" ]; then
+               gemserv_syslog_output_flags=3D"-T ${gemserv_syslog_output_t=
ag}"
+       else
+               gemserv_syslog_output_flags=3D"-T ${name}"
+       fi
+       if [ -n "${gemserv_syslog_output_priority}" ]; then
+               gemserv_syslog_output_flags=3D"${gemserv_syslog_output_flag=
s} -s
${gemserv_syslog_output_priority}"
+       fi
+       if [ -n "${gemserv_syslog_output_facility}" ]; then
+               gemserv_syslog_output_flags=3D"${gemserv_syslog_output_flag=
s} -l
${gemserv_syslog_output_facility}"
+       fi
+fi
+
+pidfile=3D/var/run/gemserv.pid
+command=3D/usr/sbin/daemon
+procname=3D%%PREFIX%%/bin/gemserv
+command_args=3D"-p ${pidfile} ${gemserv_syslog_output_flags} ${procname}
${gemserv_config}"
+
+start_precmd=3D"gemserv_start_precmd"
+stop_postcmd=3D"gemserv_stop_postcmd"
+
+gemserv_start_precmd() {
+       if [ ! -e "${pidfile}" ]; then
+               /usr/bin/install -m 0644 -o ${gemserv_user} -g ${gemserv_gr=
oup}
/dev/null "${pidfile}"
+       fi
+}
+
+gemserv_stop_postcmd() {
+        /bin/rm -f ${pidfile}
+}
+
+run_rc_command "$1"
diff --git a/net/gemserv/files/index.gmi.sample.in
b/net/gemserv/files/index.gmi.sample.in
new file mode 100644
index 0000000..152be52
--- /dev/null
+++ b/net/gemserv/files/index.gmi.sample.in
@@ -0,0 +1,3 @@
+Hello world !
+
+New gemini server running here.
diff --git a/net/gemserv/pkg-descr b/net/gemserv/pkg-descr
new file mode 100644
index 0000000..32cd746
--- /dev/null
+++ b/net/gemserv/pkg-descr
@@ -0,0 +1,10 @@
+A gemini server written in Rust. It features:
+
+ - Vhosts
+ - CGI
+ - User directories
+ - Reverse proxy
+ - Redirect
+ - SCGI
+
+WWW: https://git.sr.ht/~int80h/gemserv
diff --git a/net/gemserv/pkg-message b/net/gemserv/pkg-message
new file mode 100644
index 0000000..4152484
--- /dev/null
+++ b/net/gemserv/pkg-message
@@ -0,0 +1,30 @@
+[
+{ type: install
+  message: <<EOM
+Gemserv gemini server is now installed.
+README and UPDATING files from source distribution are installed in:
+
+    /usr/local/share/doc/gemserv
+
+Example cgi-scripts are installed in:
+
+    /usr/local/share/examples/gemserv
+
+Quick Start:
+
+1) Check, edit server configuration in /usr/local/etc/gemserv/config.toml
+   (see config.toml-dist for all configuration options)
+2) Generate TLS key and cert, i.e. for domain "gemini.example.net":
+
+    openssl req -newkey rsa:4096 -nodes -keyout /usr/local/etc/gemserv/key=
.pem
 \
+                         -x509 -days 36500 -out
/usr/local/etc/gemserv/cert.pem \
+      -subj
"/C=3DFR/ST=3DFR/L=3DFR/O=3Dexample.net/OU=3DIT/CN=3Dgemini.example.net/ema=
ilAddress=3Droot@example.net"
+
+    chown _gemini /usr/local/etc/gemserv/key.pem
+
+3) sysrc gemserv_enable=3DYES
+4) service gemserv start
+5) tail /var/log/messages
+EOM
+}
+]
diff --git a/net/gemserv/pkg-plist b/net/gemserv/pkg-plist
new file mode 100644
index 0000000..cafde52
--- /dev/null
+++ b/net/gemserv/pkg-plist
@@ -0,0 +1,12 @@
+bin/gemserv
+@dir %%ETCDIR%%
+@sample %%ETCDIR%%/config.toml.sample
+%%ETCDIR%%/config.toml-dist
+%%DOCSDIR%%/README
+%%DOCSDIR%%/UPDATING
+%%EXAMPLESDIR%%/agena-cgi/Cargo.toml
+%%EXAMPLESDIR%%/agena-cgi/src/main.rs
+%%EXAMPLESDIR%%/scgi/scgi.pl
+%%EXAMPLESDIR%%/scgi/scgi.py
+@dir %%GEMSERV_DATADIR%%
+@sample %%EXAMPLESDIR%%/index.gmi.sample %%GEMSERV_DATADIR%%/index.gmi

--=20
You are receiving this mail because:
You are the assignee for the bug.=



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