www-apps/misskey: add 13.0.0
continuous-integration/drone/push Build is passing Details

not too sure if it works correctly

Signed-off-by: tastytea <tastytea@tastytea.de>
This commit is contained in:
tastytea 2023-01-16 17:51:54 +01:00
parent 6f7a20bade
commit 0b2230406d
Signed by: tastytea
SSH Key Fingerprint: SHA256:FBkvrOlhq5use1XEttyUGT4bUTDVA1ar9SgIc9P03cM
2 changed files with 164 additions and 0 deletions

View File

@ -1,3 +1,6 @@
DIST misskey-12.119.2-deps.tar.xz 565595040 BLAKE2B 78bd1f8f51614c57d56fbbdc506b4b136613a2d37becd90cf54cddb2519d380f3f29e20b222c2747c3367c43266259c7e04fb680dd8712b38d76e80332ae6c2c SHA512 5065226733178a705fca244f451588eda37144062b555c153904a1994bdc0c093bfed20040611f5ddd94d494397a481d3d4fa0ea9d0beeaa440e64b88b509008
DIST misskey-12.119.2.tar.gz 19901911 BLAKE2B 5ceba5ba122308d0998b86e0f7de4a227058b7a64784f6a02372fb7fb9d16e0f0e213cd671eb17144570d10022aa51c5b7b5aeb9e833a696fd48bdbf7c0c860f SHA512 91b11453751e387611c1e66c7b94137cbbe74c2e4df7ef45f2c6a2a15b4d398e77c1c71490038408b8ee1ded6206c330d628ade49da7b930dbd95312e3d00e65
DIST misskey-13.0.0-deps.tar.xz 118535888 BLAKE2B 51f5d0622d4e79973d0e5e3ba4ef16795a04c1bcf2fe6fede910a1bef26fbac58bae359f7b246c6919c58682eca2b0c36dc7e898cdb274ec0b16a33bdf104a30 SHA512 5031065e2a5da26f105033bc467b394885e33f5d6ad4665461ad9b25f616980a9a71ebef5c0c2ba99bec093ed626e933d08310d5e517b81f04e8aeb71be8d0d0
DIST misskey-13.0.0.tar.gz 20052588 BLAKE2B 830fb8dfe996532f1ad6dbf33e1a22f7c15828a905789f62956a5aabce1ca3438aa9834d9b495a98eef4d588a6e5d5b065ce768e402a6d2451cfb244b9040fe4 SHA512 c76c9b4ab10c5b5207f11b2df09e3264d4974ca4724774b8e89ccaef367680c6c3a915cb9ecdcf3e462640d752dd5ae90ba427bf6a852461ef308fb622002f9c
DIST misskey-assets-0179793ec891856d6f37a3be16ba4c22f67a81b5.tar.gz 40471635 BLAKE2B 5305b5b316aa9d27f860e0e2c86f55eeb4140fd76c9cc7a753f78f93c509a10237033ec2109d2e806605f302d3fc9e9b916d2967053a4bce9b2cdea14df5885b SHA512 b4de7d8ab43f27e14372bb7246be4b032b142f22913ceaaa01e7631a1f702ba77ccf25482038cf2341f7a0ae92d54a1200bb654cac1d409b1ddcc113513b3f16
DIST misskey-assets-cae981eb4c5189ea9ea3230e83b876a5068df7d1.tar.gz 12933900 BLAKE2B e37df7009b21276debd2118d1fb12bc917aa148a088e186a2fe85597cb5ea1a9aa79600919e7d0196af2bf8dfc6fee7f1b9cc6b898cda00810ece2969291e5a7 SHA512 68fce9f6afd7bd3db40ca5e990514f9d88506253f100b7c9db2032be97594919c36ab4bdc235ebb98647b7cc827f88d53bf9bdb59b4017888a1ec3a68e2e06fb

View File

@ -0,0 +1,161 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit optfeature savedconfig
# 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}-assets-${MY_COMMIT_EMOJIS}.tar.gz
https://tastytea.de/files/gentoo/${P}-deps.tar.xz
"
# NOTE: to generate the deps archive:
# export YARN_CACHE_FOLDER="$(realpath ./packages-cache)"
# export CYPRESS_CACHE_FOLDER="$(realpath ./packages-cache)"
# export npm_config_cache="$(realpath ./packages-cache)"
# pnpm install
# tar -caf ${P}-deps.tar.xz packages-cache
# unset YARN_CACHE_FOLDER 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:=[npm]
"
BDEPEND="
${COMMON_DEPEND}
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/*
"
src_unpack() {
default
mv --no-target-directory assets-${MY_COMMIT_ASSETS} ${P}/${PN}-assets \
|| die "Could not move assets"
mv --no-target-directory emojis-${MY_COMMIT_ASSETS} ${P}/fluent-emojis \
|| die "Could not move emojis"
mv packages-cache "${T}"/ || die "Could not move packages cache"
}
src_prepare() {
export YARN_CACHE_FOLDER="${T}"/packages-cache
export CYPRESS_CACHE_FOLDER="${T}"/packages-cache
export npm_config_cache="${T}"/packages-cache
export PNPMFLAGS="--verbose"
# 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
# enable pnpm (part of nodejs) temporarily if it isn't available
if ! type pnpm > /dev/null 2>&1; then
mkdir "${T}"/bin || die
ln -s /usr/$(get_libdir)/node_modules/corepack/dist/pnpm.js \
"${T}"/bin/pnpm || die "Could not symlink pnpm.js"
PATH="${T}/bin:${PATH}"
fi
default
}
src_compile() {
pnpm ${PNPMFLAGS} install || 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 packages
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 --login --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; create user misskey with encrypted password '${MY_PASSWORD}'; grant all privileges on database misskey to misskey; \q" \
| su --login --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\!"
}