net-im/dendrite: Add new package net-im/dendrite, version 0.11.0
This package was copied and adopted from “antons-matrix-overlay”: - upstream's repo: https://gitlab.com/anton.molyboha.group/gentoo/overlays/matrix - github.com mirror: https://github.com/gentoo-mirror/antons-matrix-overlay (It's in net-matrix category over there while put into net-im/matrix here.) Signed-off-by: Nils Freydank <nils.freydank@posteo.de>
This commit is contained in:
parent
d8a2c787a4
commit
79d4c07431
2
net-im/dendrite/Manifest
Normal file
2
net-im/dendrite/Manifest
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
DIST dendrite-0.11.0-deps.tar.xz 517650728 BLAKE2B a2f21b87c8f07aa5e181b2403d1aa851c76cd40691438fd4004e6a2e9f2c9049d45f3419f9f3a7f20aca3064c490a611d5d04839e2645054abdcf5fd29f8a169 SHA512 9fcaf0d584f590929c9b20e62f6552e68f6d88d95271d52bcad5d75220193319cc28c4533020c97940ce089381dcb581c71d0ea327430a80b8897a9a43d092a0
|
||||||
|
DIST dendrite-0.11.0.tar.gz 1052719 BLAKE2B d770a0dd9046e1b5716e870f929ef14cb491641988378f7b48a7d3222eaed3ac4edde3206c6247a97ba6c792fb8ab3c2d294165bcd7c23c39bac7fb90159718f SHA512 3dbb9ec780f08657129376dcb126891c5154efc5a592e1fe1e87637b2e0d84a9038f1119086e4b99c3e22264ae0f6fe436776e8f9989607c16c8a37392aed541
|
84
net-im/dendrite/dendrite-0.11.0.ebuild
Normal file
84
net-im/dendrite/dendrite-0.11.0.ebuild
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="8"
|
||||||
|
EGO_PN="github.com/matrix-org/dendrite/"
|
||||||
|
inherit go-module
|
||||||
|
COMMIT_ID=""
|
||||||
|
|
||||||
|
DESCRIPTION="Matrix homeserver written in go"
|
||||||
|
HOMEPAGE="https://matrix.org https://github.com/matrix-org/dendrite"
|
||||||
|
|
||||||
|
if [[ ${PV} == *_p* ]]; then
|
||||||
|
SRC_URI="https://${EGO_PN}/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}/${PN}-${COMMIT_ID}"
|
||||||
|
else
|
||||||
|
SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
fi
|
||||||
|
# Add the manually vendored tarball.
|
||||||
|
# Compress the tarball with: xz -9kT0 --memlimit-decompress=256M
|
||||||
|
SRC_URI+=" https://files.holgersson.xyz/gentoo/distfiles/${P}-deps.tar.xz"
|
||||||
|
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
# FIXME
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
DEPEND=""
|
||||||
|
RDEPEND="
|
||||||
|
acct-user/dendrite
|
||||||
|
acct-group/dendrite
|
||||||
|
"
|
||||||
|
BDEPEND=""
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
go-module_src_unpack || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local mygobuildargs=(
|
||||||
|
-o bin/
|
||||||
|
-trimpath
|
||||||
|
-ldflags="-s -w"
|
||||||
|
-mod mod
|
||||||
|
-v -x
|
||||||
|
-work
|
||||||
|
)
|
||||||
|
|
||||||
|
ego build "${mygobuildargs[@]}" "${S}/cmd/..."
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
ego test -trimpath -v -x -work "${S}/cmd/..."
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
# Install the binaries from bin and prefix everything with "dendrite".
|
||||||
|
newbin bin/create-account dendrite-create-account
|
||||||
|
dobin bin/dendrite-demo-pinecone
|
||||||
|
dobin bin/dendrite-demo-yggdrasil
|
||||||
|
dobin bin/dendrite-monolith-server
|
||||||
|
dobin bin/dendrite-polylith-multi
|
||||||
|
dobin bin/dendrite-upgrade-tests
|
||||||
|
newbin bin/furl dendrite-furl
|
||||||
|
newbin bin/generate-config dendrite-generate-config
|
||||||
|
newbin bin/generate-keys dendrite-generate-keys
|
||||||
|
newbin bin/resolve-state dendrite-resolve-state
|
||||||
|
|
||||||
|
dodir "/etc/dendrite"
|
||||||
|
insinto /etc/dendrite
|
||||||
|
doins "${S}/dendrite-sample.monolith.yaml"
|
||||||
|
doins "${S}/dendrite-sample.polylith.yaml"
|
||||||
|
newinitd "${FILESDIR}"/dendrite.initd dendrite
|
||||||
|
newconfd "${FILESDIR}"/dendrite.confd dendrite
|
||||||
|
|
||||||
|
keepdir "/var/log/dendrite"
|
||||||
|
fowners dendrite:dendrite "/var/log/dendrite"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elog ""
|
||||||
|
elog "Note that all binaries are prefixed with 'dendrite-'"
|
||||||
|
elog "- even ones that have no prefix uptream."
|
||||||
|
}
|
27
net-im/dendrite/files/dendrite.confd
Normal file
27
net-im/dendrite/files/dendrite.confd
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Increase the maximum number of open file descriptors. Set to a higher
|
||||||
|
# value for larger servers or if joining larger rooms.
|
||||||
|
rc_ulimit="-n 4096"
|
||||||
|
|
||||||
|
# Specify the network service that corresponds to the "bind" setting
|
||||||
|
# in your configuration file. For example, if you bind to 127.0.0.1,
|
||||||
|
# this should be set to "loopback" which provides the loopback interface.
|
||||||
|
rc_need="loopback"
|
||||||
|
|
||||||
|
# Dendrite mode. Either "monolith" or "polylith".
|
||||||
|
DENDRITE_MODE="monolith"
|
||||||
|
|
||||||
|
# If your configuration of dendrite uses locally running PostgreSQL
|
||||||
|
# you may want to uncomment the next line
|
||||||
|
# rc_need="${rc_need} postgresql"
|
||||||
|
|
||||||
|
# If your configuration of dendrite uses locally running kafka
|
||||||
|
# you may want to uncomment the next line
|
||||||
|
# rc_need="${rc_need} kafka"
|
||||||
|
|
||||||
|
# If you use nginx as a reverse proxy for your dendrite
|
||||||
|
# you may want to uncomment the next line
|
||||||
|
# rc_need="${rc_need} nginx"
|
||||||
|
|
||||||
|
# Additional command-line options. These can be used to set the bind address and port of the monolith server,
|
||||||
|
# among other things. See `dendrite-monolith-server -help` or `dendrite-polylith-multi -help` for a full list.
|
||||||
|
# DENDRITE_OPTS="-http-bind-address localhost:8008"
|
64
net-im/dendrite/files/dendrite.initd
Normal file
64
net-im/dendrite/files/dendrite.initd
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
DENDRITE=${SVCNAME#*.}
|
||||||
|
: ${DENDRITE_CONFDIR:=${RC_PREFIX%/}/etc/dendrite}
|
||||||
|
|
||||||
|
if [ -n "${DENDRITE}" ] && [ ${SVCNAME} != "dendrite" ]; then
|
||||||
|
: ${DENDRITE_CONFIG:=${DENDRITE_CONFDIR}/${DENDRITE}.yaml}
|
||||||
|
: ${DENDRITE_PIDFILE:=${RC_PREFIX%/}/run/dendrite.${DENDRITE}.pid}
|
||||||
|
: ${DENDRITE_RC_CONFIG:=${RC_PREFIX%/}/etc/conf.d/dendrite.${DENDRITE}}
|
||||||
|
else
|
||||||
|
: ${DENDRITE_CONFIG:=${DENDRITE_CONFDIR}/dendrite.yaml}
|
||||||
|
: ${DENDRITE_PIDFILE:=${RC_PREFIX%/}/run/${SVCNAME}.pid}
|
||||||
|
: ${DENDRITE_RC_CONFIG:=${RC_PREFIX%/}/etc/conf.d/dendrite}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${DENDRITE_BINARY}" ] ; then
|
||||||
|
: # Do nothing, DENDRITE_BINARY is set externally.
|
||||||
|
elif [ -z "${DENDRITE_MODE}" -o "${DENDRITE_MODE}" == "monolith" ] ; then
|
||||||
|
DENDRITE_BINARY=${RC_PREFIX%/}/usr/bin/dendrite-monolith-server
|
||||||
|
elif [ "${DENDRITE_MODE}" == "polylith" ] ; then
|
||||||
|
DENDRITE_BINARY:=${RC_PREFIX%/}/usr/bin/dendrite-polylith-multi
|
||||||
|
else
|
||||||
|
echo "Unknown dendrite mode: \"${DENDRITE_MODE}\"." >&2
|
||||||
|
echo "Check the DENDRITE_MODE variable in ${DENDRITE_RC_CONFIG}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
command="${DENDRITE_BINARY}"
|
||||||
|
pidfile="${DENDRITE_PIDFILE}"
|
||||||
|
command_background=true
|
||||||
|
command_user="dendrite:dendrite"
|
||||||
|
directory="/var/lib/dendrite"
|
||||||
|
command_args="${DENDRITE_OPTS} -config ${DENDRITE_CONFIG}"
|
||||||
|
|
||||||
|
checkconfig() {
|
||||||
|
test -f "${DENDRITE_CONFIG}" || {
|
||||||
|
echo "\"${DENDRITE_CONFIG}\" does not exist or is not a regular file." >&2
|
||||||
|
echo "Please, look at https://github.com/matrix-org/dendrite for instructions" >&2
|
||||||
|
echo "on how to configure your dendrite instance, and use" >&2
|
||||||
|
echo "\"${DENDRITE_CONFIDR}/dendrite-config-example.yaml\" as an example." >&2
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
start_pre() {
|
||||||
|
# If this isn't a restart, make sure that the user's config isn't
|
||||||
|
# busted before we try to start the daemon (this will produce
|
||||||
|
# better error messages than if we just try to start it blindly).
|
||||||
|
#
|
||||||
|
# If, on the other hand, this *is* a restart, then the stop_pre
|
||||||
|
# action will have ensured that the config is usable and we don't
|
||||||
|
# need to do that again.
|
||||||
|
if [ "${RC_CMD}" != "restart" ] ; then
|
||||||
|
checkconfig || return $?
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_pre() {
|
||||||
|
# If this is a restart, check to make sure the user's config
|
||||||
|
# isn't busted before we stop the running daemon.
|
||||||
|
if [ "${RC_CMD}" = "restart" ] ; then
|
||||||
|
checkconfig || return $?
|
||||||
|
fi
|
||||||
|
}
|
11
net-im/dendrite/metadata.xml
Normal file
11
net-im/dendrite/metadata.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<name>Nils Freydank</name>
|
||||||
|
<email>holgersson@posteo.de</email>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">matrix-org/dendrite</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
Loading…
x
Reference in New Issue
Block a user