www-apps/misskey: add 13.10.2

Signed-off-by: tastytea <tastytea@tastytea.de>
This commit is contained in:
tastytea 2023-03-24 14:15:45 +01:00
parent f0eadcdf07
commit f3aca317c9
Signed by: tastytea
SSH Key Fingerprint: SHA256:FBkvrOlhq5use1XEttyUGT4bUTDVA1ar9SgIc9P03cM
2 changed files with 164 additions and 0 deletions

View File

@ -1,3 +1,5 @@
DIST misskey-13.10.2-deps.tar.zst 421168474 BLAKE2B d9909227eca96a3e6a6943d620f54a2d085edead5f359c0624b8991e1b15dc287429048dec6f84c23c22f30424015a5a7c1e5fc6e1f5dded0ab240aaeba063ab SHA512 aadb5bdc709203041796a430d4bef805ad0bee830180437d639c84f8b22f1110500cd04329203ddf0e4e06f286e0e2ecd98d348db3868c88254d9a5f0f39e1c9
DIST misskey-13.10.2.tar.gz 20761821 BLAKE2B aaa72ff30b06d2dc1706de6f07598cda614564e4dbfc8c2f3dbcb4ee9c5812000587dfe20cd4b9cab84b7df9099d32397d80ac9af8dc18b4e31375a4d8e3170c SHA512 478712902f220e78e6edaf154465bb60b202fbd4639096a951690554e95134e47975506241e6c9869efbd592ea6dd117397de0953394e5e6c38868f1ab9088b4
DIST misskey-13.8.1-deps.tar.zst 411317641 BLAKE2B 8df294a673419af99c957aa0a357bd4f36771243de76209890fec8bed334d0ddfa8194b213133594d3aced295de4045a899d74d279c81ae3dc349faccd93d254 SHA512 ed5d1a22dc24dea21637ae57efcca51bec66374063c84e5fa54cb6e901782bfdf4553a31565cf579edcf4c90e0ffc1eb9cebe5494993597eb83420fdb9d63bf1
DIST misskey-13.8.1.tar.gz 20315912 BLAKE2B 12d3b490ee88bd43d3bad8469b88c2a737108ab9efbfc52365d2c30bf6dd27bfa02c0393b2b5f740632523013a2ab47ef60da2252885f19cb142202b3289c645 SHA512 07ab57dde8aadc7c0e3179d3f9f45652bfe51a305a4c590c9ba3b64960e69493df092d8c007e482a250b0cee5c569d2e8117806dfaaafccb22676cba1679f160
DIST misskey-13.9.2-deps.tar.zst 417170095 BLAKE2B 013f54bc0333664876dbcb3cee3f31e0b67339f69fcae56daf89ab422a28b70bd3d400595c557a63b570d8b4e98ad29a6f9773bd6e8e1a50afe0e4c0ac112132 SHA512 6e880ca9f3ca5a3792f0e61c08c1097b6b55b0bbf782a40824710112c2deb11c2223bffd5ce5ba04986b23aa4ec78870f1c0206f11f269f11011e4e183370c8e

View File

@ -0,0 +1,162 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit optfeature savedconfig unpacker
# NOTE: check for updates on each bump
MY_COMMIT_ASSETS="0179793ec891856d6f37a3be16ba4c22f67a81b5"
MY_COMMIT_EMOJIS="cae981eb4c5189ea9ea3230e83b876a5068df7d1"
DESCRIPTION="An interplanetary microblogging platform"
HOMEPAGE="https://misskey-hub.net/"
SRC_URI="
https://github.com/misskey-dev/misskey/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/misskey-dev/assets/archive/${MY_COMMIT_ASSETS}.tar.gz -> ${PN}-assets-${MY_COMMIT_ASSETS}.tar.gz
https://github.com/misskey-dev/emojis/archive/${MY_COMMIT_EMOJIS}.tar.gz -> ${PN}-emojis-${MY_COMMIT_EMOJIS}.tar.gz
https://tastytea.de/files/gentoo/${P}-deps.tar.zst
"
# NOTE: to generate the deps archive:
# export CYPRESS_CACHE_FOLDER="$(realpath ./packages-cache)"
# export npm_config_cache="$(realpath ./packages-cache)"
# pnpm config set store-dir "$(realpath ./packages-cache)"
# pnpm install --frozen-lockfile
# ZSTD_CLEVEL=9 tar -caf ${P}-deps.tar.zst packages-cache
# unset CYPRESS_CACHE_FOLDER npm_config_cache
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="nginx +savedconfig source"
REQUIRED_USE="savedconfig"
RESTRICT="strip network-sandbox"
COMMON_DEPEND="
>=net-libs/nodejs-18.13:=[npm]
"
BDEPEND="
${COMMON_DEPEND}
app-arch/zstd
dev-lang/nasm
virtual/pkgconfig
"
RDEPEND="
${COMMON_DEPEND}
acct-user/misskey
>=dev-db/postgresql-15
dev-db/redis
nginx? ( www-servers/nginx )
"
QA_PREBUILT="
/opt/misskey/misskey/packages/backend/node_modules/msgpackr-extract/prebuilds/*
/opt/misskey/misskey/packages/client/node_modules/microtime/prebuilds/*
"
pkg_setup() {
# check if pnpm from nodejs is installed
if ! type pnpm > /dev/null 2>&1; then
eerror "pnpm not found. It can be installed with 'corepack enable'"
fi
}
src_unpack() {
unpacker_src_unpack
mv --no-target-directory assets-${MY_COMMIT_ASSETS} ${P}/${PN}-assets \
|| die "Could not move assets"
mv --no-target-directory emojis-${MY_COMMIT_EMOJIS} ${P}/fluent-emojis \
|| die "Could not move emojis"
mv packages-cache "${T}"/ || die "Could not move packages cache"
}
src_prepare() {
export CYPRESS_CACHE_FOLDER="${T}"/packages-cache
export npm_config_cache="${T}"/packages-cache
export PNPMFLAGS="--verbose"
pnpm config set cache "${T}"/packages-cache
pnpm config set store-dir "${T}"/packages-cache
# use system node-gyp
PATH+=":/usr/lib64/node_modules/npm/bin/node-gyp-bin"
export npm_config_nodedir=/usr/include/node/
restore_config .config/default.yml
if [[ ! -f .config/default.yml ]]; then
eerror "Edit .config/example.yml and save it to the location mentioned above"
die "No config file found"
fi
default
}
src_compile() {
pnpm ${PNPMFLAGS} install --frozen-lockfile || die "dependency installation failed"
NODE_ENV=production pnpm ${PNPMFLAGS} run build || die "build failed"
}
src_install() {
insinto opt/misskey/misskey
insopts -o misskey -g misskey
if use source; then
doins -r .
else
doins -r package.json .node-version .config built node_modules packages \
fluent-emojis pnpm-workspace.yaml pnpm-lock.yaml
fi
# insopts doesn't affect directories
chown --recursive misskey:misskey "${ED}"/opt/misskey/misskey
chmod o= "${ED}"/opt/misskey/misskey
newinitd "${FILESDIR}"/${PN}.initd ${PN}
if use nginx; then
sed -i 's/use logger$/use logger nginx/' "${ED}"/etc/init.d/${PN} \
|| die "Could not modify OpenRC init script"
fi
einstalldocs
}
pkg_preinst() {
# Apparently Misskey creates files at runtime that can interfere
# after an upgrade. Normally you would run 'yarn cleanall'.
einfo "Cleaning up Misskey directory …"
su --shell /bin/bash --login --command \
"rm -rf misskey/{built,node_modules} && rm -rf misskey/packages/{backend,client,sw}/{built,node_modules}" \
misskey || die "cleanup failed"
}
pkg_postinst() {
# Only run migrations if database exists
if su --command "psql misskey -c ''" postgres; then
einfo "Running migration…"
su --shell /bin/bash --login --command \
"cd misskey && pnpm run migrate" misskey || die "migration failed"
else
elog "Run emerge --config ${CATEGORY}/${PN} to initialise the PostgreSQL database"
fi
if use nginx; then
einfo "An nginx example config can be found at <https://misskey-hub.net/en/docs/admin/nginx.html>"
fi
optfeature "thumbnail generation support" media-video/ffmpeg
}
pkg_config() {
einfo "Initialising PostgreSQL database"
echo -n "password for misskey user: "
read -r MY_PASSWORD || die "Reading password failed"
echo "create database misskey with encoding = 'UTF8'; create user misskey with encrypted password '${MY_PASSWORD}'; grant all privileges on database misskey to misskey; \q" \
| su --command psql postgres || die "database creation failed"
su --shell /bin/bash --login --command \
"cd misskey && pnpm run init" misskey || die "database initialisation failed"
ewarn "When you first start Misskey you will be asked to add an admin account via the web interface, and registrations are enabled."
ewarn "Do not expose the web interface to the public until after you configured your instance\!"
}