www-apps/misskey: add 12.110.1-r6

Works without network now. 🎉
This commit is contained in:
tastytea 2022-06-05 23:47:09 +02:00
parent 6c2abf3093
commit e909752de3
Signed by: tastytea
SSH Key Fingerprint: SHA256:FBkvrOlhq5use1XEttyUGT4bUTDVA1ar9SgIc9P03cM
2 changed files with 141 additions and 0 deletions

View File

@ -1,3 +1,4 @@
DIST misskey-12.110.1-deps.tar 117708800 BLAKE2B 30309191d9684b3a80e95441aff52ab0af1838fce2ce1f9d66fbc88aea915aa92ec1f719d80cbe4c3bdc95dd75c2cf0375e2808b25b566d3e7a59d1f10796407 SHA512 ceb401bdf1be02fb231d18a5051bfa445eeda752d1ff43a7c310ba93710bc58a8fbb08b355ee97f17e14a86eea0663ac0ab683c9b4db6e11c9bd4150228804a6
DIST misskey-12.110.1-r6-deps.tar.xz 309328448 BLAKE2B f4ef10eb9fa040cc6a90b9703db202d4bf0a3349d3618224b9d4a7f54d080a26b9b24a9d1eab8379d7a98e3f0c76eae1f8c2cc359dc78eb7e8549bd66fce4f0b SHA512 d6a0e3d3a036b9c5616efb1c465446bcb3502389cf6440f50ae12c90ca21199c8ca5fbe6fe57043773ff22d06be2bf1c4e6170a83e7a6507db3e309fa7a6f6d8
DIST misskey-12.110.1.tar.gz 4804680 BLAKE2B 1f8bcb6c61ca3fa80fd07e1a6704fbb365d0d3aee0e919869f2cfcecaea6e3ca68179239b7c2de89809de10134851da4180556b0a844a1613cfb3e1f64b01bee SHA512 99070019eb8eae8dce28657f9f53ad00b02759b9991d141d00718374c7fb206d05e2a2c351824a4ac04b6a95c1cb1086220ed9de8ee0deb1795e4b5de3cc507f
DIST misskey-assets-12.110.1.tar.gz 40471635 BLAKE2B 5305b5b316aa9d27f860e0e2c86f55eeb4140fd76c9cc7a753f78f93c509a10237033ec2109d2e806605f302d3fc9e9b916d2967053a4bce9b2cdea14df5885b SHA512 b4de7d8ab43f27e14372bb7246be4b032b142f22913ceaaa01e7631a1f702ba77ccf25482038cf2341f7a0ae92d54a1200bb654cac1d409b1ddcc113513b3f16

View File

@ -0,0 +1,140 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# TODO: systemd support, ffmpeg USE-flags, postgresql USE-flags,
# nginx USE-flags, bundle node_modules/cypress deps
EAPI=7
inherit optfeature savedconfig
# NOTE: update for 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-${PV}.tar.gz
https://tastytea.de/files/gentoo/${P}-r6-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 clean-all && rm -r 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"
COMMON_DEPEND="
net-libs/nodejs:0/16
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 )
"
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_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\!"
}