overlay/www-apps/gotify-server-bin/gotify-server-bin-2.2.5.ebuild

68 lines
2.0 KiB
Bash

# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit systemd
DESCRIPTION="Simple server for sending and receiving messages in real-time per WebSocket"
HOMEPAGE="https://gotify.net/"
# NOTE: Only amd64 is tested.
SRC_URI="
amd64? ( https://github.com/gotify/server/releases/download/v${PV}/gotify-linux-amd64.zip -> ${P}_amd64.zip )
x86? ( https://github.com/gotify/server/releases/download/v${PV}/gotify-linux-386.zip -> ${P}_x86.zip )
arm? ( https://github.com/gotify/server/releases/download/v${PV}/gotify-linux-arm-7.zip -> ${P}_arm.zip )
arm64? ( https://github.com/gotify/server/releases/download/v${PV}/gotify-linux-arm64.zip -> ${P}_arm64.zip )
riscv? ( https://github.com/gotify/server/releases/download/v${PV}/gotify-linux-riscv64.zip -> ${P}_riscv.zip )
https://raw.githubusercontent.com/gotify/server/v${PV}/config.example.yml -> ${P}_config.example.yml
"
S="${WORKDIR}"
LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="logrotate systemd"
RDEPEND="acct-user/gotify"
DEPEND="${RDEPEND}"
BDEPEND="app-arch/unzip"
QA_PREBUILT="/usr/bin/${PN}"
src_prepare() {
cp "${DISTDIR}/${P}_config.example.yml" config.example.yml || die
sed -i 's/listenaddr: ""/listenaddr: "[::1]"/' config.example.yml || die
cp "${FILESDIR}/${PN}.logrotate" . || die
if use systemd; then
sed -Ei "s/^(\s*)rc-service.*/\1systemctl restart ${PN}.service/" \
${PN}.logrotate || die
fi
default
}
src_install() {
local myarch="amd64"
use x86 && myarch="368"
use arm && myarch="arm-7"
use arm64 && myarch="arm64"
use riscv && myarch="riscv64"
newbin gotify-linux-${myarch} ${PN}
dodoc config.example.yml
newinitd "${FILESDIR}/${PN}.initd" ${PN}
systemd_newunit "${FILESDIR}/${PN}.service" ${PN}.service
if use logrotate; then
insinto etc/logrotate.d
newins ${PN}.logrotate ${PN}
fi
diropts --owner=gotify --group=gotify --mode=750
keepdir var/lib/gotify
keepdir etc/gotify
keepdir var/log/${PN}
}