This repository has been archived on 2024-09-25. You can view files and clone it, but cannot push or open issues or pull requests.
overlay/net-im/mjolnir/mjolnir-1.6.4.ebuild
tastytea 55a112f8c8
net-im/mjolnir: add 1.6.4
Signed-off-by: tastytea <tastytea@tastytea.de>
2023-01-14 18:46:02 +01:00

84 lines
2.3 KiB
Bash

# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MATRIX_RUST_SDK_V="0.1.0-beta.1"
DESCRIPTION="A moderation tool for Matrix"
HOMEPAGE="https://github.com/matrix-org/mjolnir"
SRC_URI="
https://github.com/matrix-org/mjolnir/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://tastytea.de/files/gentoo/${P}-deps.tar.xz
elibc_glibc? (
amd64? (
https://github.com/matrix-org/matrix-rust-sdk/releases/download/matrix-sdk-crypto-nodejs-v${MATRIX_RUST_SDK_V}/matrix-sdk-crypto.linux-x64-gnu.node -> matrix-sdk-crypto-${MATRIX_RUST_SDK_V}.linux-x64-gnu.node
)
)
elibc_musl? (
amd64? (
https://github.com/matrix-org/matrix-rust-sdk/releases/download/matrix-sdk-crypto-nodejs-v${MATRIX_RUST_SDK_V}/matrix-sdk-crypto.linux-x64-musl.node -> matrix-sdk-crypto-${MATRIX_RUST_SDK_V}.linux-x64-musl.node
)
)
"
# NOTE: to generate the deps archive:
# tar -xf /var/cache/distfiles/${P}.tar.gz && cd ${P}
# yarn --cache-folder ./yarn-cache install
# tar -caf ${P}-deps.tar.xz yarn-cache
LICENSE="0BSD Apache-2.0 BSD BSD-2 ISC MIT PYTHON Unlicense"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc"
RDEPEND=">=net-libs/nodejs-16"
BDEPEND="
sys-apps/yarn
dev-lang/typescript
"
MY_YARNOPTS="--offline --non-interactive --no-progress --verbose"
src_prepare() {
yarn ${MY_YARNOPTS} --cache-folder ../yarn-cache install || die
local my_libc="gnu"
use elibc_musl && my_libc="musl"
local my_arch="x64"
# this is not cached but downloaded by a script usually
mkdir -p node_modules/@matrix-org/matrix-sdk-crypto-nodejs || die
cp "${DISTDIR}"/matrix-sdk-crypto-${MATRIX_RUST_SDK_V}.linux-${my_arch}-${my_libc}.node \
node_modules/@matrix-org/matrix-sdk-crypto-nodejs/matrix-sdk-crypto.linux-${my_arch}-${my_libc}.node \
|| die
default
}
src_compile() {
yarn ${MY_YARNOPTS} build || die
}
src_install() {
insinto /opt/${PN}
doins -r node_modules
insinto /opt/${PN}/${PN}
doins -r lib/*
keepdir /opt/${PN}/config
einstalldocs
dodoc config/default.yaml
use doc && dodoc docs/*
newinitd "${FILESDIR}"/${PN}.initd ${PN}
}
pkg_postinst() {
if [[ ! -f "${EROOT}"/opt/${PN}/config/production.yaml ]]; then
elog "Copy the configuration example from /usr/share/doc/${PF}/default.yaml*"
elog "into /opt/${PN}/config/production.yaml and edit it."
fi
}