www-apps/misskey: add 12.118.0

Signed-off-by: tastytea <tastytea@tastytea.de>
This commit is contained in:
tastytea 2022-08-07 14:23:13 +02:00
parent d419b1eded
commit 0e11cb5e93
Signed by: tastytea
SSH Key Fingerprint: SHA256:FBkvrOlhq5use1XEttyUGT4bUTDVA1ar9SgIc9P03cM
2 changed files with 153 additions and 0 deletions

View File

@ -4,4 +4,6 @@ DIST misskey-12.116.1-deps.tar.xz 561456076 BLAKE2B 496c1745ad02a5115a21901da638
DIST misskey-12.116.1.tar.gz 19877112 BLAKE2B 41083b6cb804d6bf3b0c4f90ced0909324a4196c9fff5fb592ef38691615be1985186acfa567f703651b38005f9b391187c693e4327b5e94f13a2b8561eae70a SHA512 254de07ec54056b29df71898f1a0f14310be886359ece046b527a17f9cd5347c2a0b3c2c02676fc3340843095a9dedf1bf4a63d9c42b689e6486b37aac15fadc
DIST misskey-12.117.1-deps.tar.xz 561405120 BLAKE2B d000256494870c3e5dd815028aaaab96bdbcac2040a29f3265a4a7c8b1ebdaf7f16f83bbc7531819617058045c4765895a4195407333f012fed8a1a75c47eb08 SHA512 cf197fec8b20db0b80aa172afd225c3d1bffbf62ba0d5355fce02a21265c3dcb8980b3e813f89f4a13d0e6cf2672bdc217e7eee18c52e94edf43ffa26ab03419
DIST misskey-12.117.1.tar.gz 19879117 BLAKE2B e472237b2faf296f2c5227db656dbda0e4adddf9c670fa371e8daf202673dc1137d49e1af0499465db0a234995f913b44d3130ad41542230e7631efa9d08fc12 SHA512 a064fad344627392c797114ced733915166c461a1d115fa3042e2157255b1dca9bd335f9eda1ae1f80a4443dba92314a858ef4a2b061b6d184e42205744cd586
DIST misskey-12.118.0-deps.tar.xz 562840900 BLAKE2B 14ad72d89cd3ec33e627183f96150a31faab777186dd5a9e7fe485238635520556a073ff014372cccdb728db3a3229deb82fbffe7376daead204086571776d13 SHA512 b85f47c0d7a82c069f76fe9dfdede1919881c31ff182035598b38497706e2afdd66c9c8f5f02d428a7e4753966863573bd95dfdc4e3fd48ef7dc5758760d2096
DIST misskey-12.118.0.tar.gz 19890974 BLAKE2B 8441631e3de4fc1e26000c1cf19e020e3a80f861ac44a471bdbdec3609b91a74fae9c19a0697d4d2d0536ca134ee3168162ebb26b571c14c82f15bcb73c4db5d SHA512 bc49828a8bab7731de88b2eb4842de93f3cb20ac8c275904039b42a19f2d789e33a4db79c31eec95171c2c3578a36ead364de32588133325a77cb2ada46c720d
DIST misskey-assets-0179793ec891856d6f37a3be16ba4c22f67a81b5.tar.gz 40471635 BLAKE2B 5305b5b316aa9d27f860e0e2c86f55eeb4140fd76c9cc7a753f78f93c509a10237033ec2109d2e806605f302d3fc9e9b916d2967053a4bce9b2cdea14df5885b SHA512 b4de7d8ab43f27e14372bb7246be4b032b142f22913ceaaa01e7631a1f702ba77ccf25482038cf2341f7a0ae92d54a1200bb654cac1d409b1ddcc113513b3f16

View File

@ -0,0 +1,151 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit optfeature savedconfig
# NOTE: check for updates on each bump
MY_COMMIT_ASSETS="0179793ec891856d6f37a3be16ba4c22f67a81b5"
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://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)"
# yarn 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-16:=[npm]
<net-libs/nodejs-19
sys-apps/yarn
"
BDEPEND="
${COMMON_DEPEND}
dev-lang/nasm
virtual/pkgconfig
"
RDEPEND="
${COMMON_DEPEND}
acct-user/misskey
dev-db/postgresql
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 packages-cache ${T}/ || die "Could not move packages cache"
}
src_prepare() {
export YARNFLAGS="--offline --verbose --frozen-lockfile"
export YARN_CACHE_FOLDER="${T}"/packages-cache
export CYPRESS_CACHE_FOLDER="${T}"/packages-cache
export npm_config_cache="${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() {
yarn ${YARNFLAGS} install || die "dependency installation failed"
NODE_ENV=production yarn ${YARNFLAGS} 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 'yarn migrate'"
su --shell /bin/bash --login --command \
"cd misskey && yarn ${YARNFLAGS} --verbose 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 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 && yarn ${YARNFLAGS} 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\!"
}