From 06c57a279df6bd51c219b0111379b9eb29974d72 Mon Sep 17 00:00:00 2001 From: tastytea Date: Sat, 23 Feb 2019 03:22:49 +0100 Subject: [PATCH] www-apps/pleroma: New package. Package-Manager: Portage-2.3.51, Repoman-2.3.11 Manifest-Sign-Key: 3555266864CA6D7FF45AA6E7CFC39497F1B26E07 --- www-apps/pleroma/Manifest | 13 +++ www-apps/pleroma/metadata.xml | 18 ++++ www-apps/pleroma/pleroma-0.9.9.ebuild | 131 ++++++++++++++++++++++++++ 3 files changed, 162 insertions(+) create mode 100644 www-apps/pleroma/Manifest create mode 100644 www-apps/pleroma/metadata.xml create mode 100644 www-apps/pleroma/pleroma-0.9.9.ebuild diff --git a/www-apps/pleroma/Manifest b/www-apps/pleroma/Manifest new file mode 100644 index 0000000..0b1e34e --- /dev/null +++ b/www-apps/pleroma/Manifest @@ -0,0 +1,13 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +DIST pleroma-0.9.9.tar.bz2 29447938 BLAKE2B 94092b3583043a7737511959610ee81b4525a9b7f77a7743ec865adcb0f44c1287f10f07b6da8529113aa0f7f0533d9aae425aba295a560ca7523ddbf1c23aec SHA512 48df04a20d2891c9ace26bafac7e3ee07abd6b7d189e1b6bdd85143188745262995c56030c38d22c8125ee78a691bdf5b0e8eb8d8065fe9ff94a73e0638d4955 +EBUILD pleroma-0.9.9.ebuild 3183 BLAKE2B b13b57afc823b67a1b6897d8334d2dab6f3e3f926d94554c32407030b4c4dfa34170b2482123c159353c97db6a6f8537bd95531bc45f2c9c7dc1c6d3e490792c SHA512 4b05aa0d266bd3b0f341b58ee8a00fda775994f000c51c3b3862380cedf362b25a73b5d7a5a6b57c3e938857407f4271dd322614a69bb680e5761f8f9397d5a6 +MISC metadata.xml 993 BLAKE2B adc5c72fe12b6fdb4eb20c1d79dde227b088b437ffd21d16cc5775fa5bb7fa6363890dd5017fbe7f5a00a794a38fb298ce17e6402f6d3d5441985effd0d7e1db SHA512 6ff23fa60c0f22ef7a433e3d1b4919d074508898504b7168c925da8840f542afcdc891a9f4df69dc8eb6c44b7d9c41e6b94fdecd404ca738169124bcdab0af0d +-----BEGIN PGP SIGNATURE----- + +iHUEAREIAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXHCueQAKCRDPw5SX8bJu +B5eHAP46hsiW6IDU+r7StNoezBj7jubqPYDY979vf6JwPz4sRAD+OBSi+vq5wK64 +IYadMjh1hdRb9ZrzQh16FkUVovwmui8= +=xtdF +-----END PGP SIGNATURE----- diff --git a/www-apps/pleroma/metadata.xml b/www-apps/pleroma/metadata.xml new file mode 100644 index 0000000..5d3ad25 --- /dev/null +++ b/www-apps/pleroma/metadata.xml @@ -0,0 +1,18 @@ + + + + + Pleroma is a microblogging server software that can federate (= exchange messages with) other servers that support the same federation standards (OStatus and ActivityPub). Pleroma will federate with all servers that implement either OStatus or ActivityPub, like Friendica, GNU Social, Hubzilla, Mastodon, Misskey, Peertube, and Pixelfed. For clients it supports both the GNU Social API with Qvitter extensions and the Mastodon client API. + + + gentoo@tastytea.de + tastytea + + + https://git.pleroma.social/pleroma/pleroma/issues + + + Installs a configuration file for apache. + Installs a configuration file for nginx. + + diff --git a/www-apps/pleroma/pleroma-0.9.9.ebuild b/www-apps/pleroma/pleroma-0.9.9.ebuild new file mode 100644 index 0000000..336e3fc --- /dev/null +++ b/www-apps/pleroma/pleroma-0.9.9.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit user systemd + +MY_P="${PN}-v${PV}" +DESCRIPTION="Microblogging server software that can federate with other servers." +HOMEPAGE="https://pleroma.social/ https://git.pleroma.social/pleroma/pleroma/" +SRC_URI="https://git.pleroma.social/pleroma/pleroma/-/archive/v0.9.9/${MY_P}.tar.bz2 + -> ${P}.tar.bz2" + +LICENSE="AGPL-3" +SLOT="0" +#KEYWORDS="~amd64 ~x86 ~arm" +KEYWORDS="" +IUSE="apache +nginx syslog systemd" + +RDEPEND=" + >=dev-lang/elixir-1.6.6 + dev-vcs/git + >=dev-db/postgresql-9.6.11[uuid] + app-admin/sudo + apache? ( www-servers/apache ) + nginx? ( www-servers/nginx ) +" +DEPEND="" + +S="${WORKDIR}/${MY_P}" + +pkg_preinst() { + elog "This ebuild comes with a lot of bundles libraries." +} + +pkg_setup() { + enewgroup pleroma + enewuser pleroma -1 - /opt/pleroma pleroma +} + +src_prepare() { + default + + if use syslog; then + # Log to syslog + sed -i 's/command_background=1/command_background=1\nerror_logger="logger"\noutput_logger="logger"/' \ + "${S}/installation/init.d/pleroma" || die + fi +} + +src_install() { + local pleromadir="${EPREFIX}/opt/pleroma" + + insopts -o pleroma -g pleroma -m 644 + insinto "${pleromadir}" + doins -r * .* + + if use nginx; then + dodoc installation/pleroma.nginx + fi + if use apache; then + dodoc installation/pleroma-apache.conf + fi + + dodoc docs/* + + if use systemd; then + systemd_dounit installation/pleroma.service + else + doinitd installation/init.d/pleroma + fi +} + +pkg_postinst() { + elog "You need to run emerge --config www-apps/pleroma after each upgrade." + if use nginx; then + einfo "An example config for nginx has been installed in the doc directory." + fi + if use apache; then + einfo "An example config for apache has been installed in the doc directory." + fi +} + +pkg_config() { + local configfile="${EROOT}/opt/pleroma/config/prod.secret.exs" + cd "${EROOT}/opt/pleroma" || die + + if [ ! -f ${configfile} ]; then + einfo "Installing the dependencies..." + einfo "Answer with yes if it asks you to install Hex." + sudo -u pleroma mix deps.get || die + + einfo "Generating the configuration..." + einfo "Answer with yes if it asks you to install rebar3." + sudo -u pleroma mix pleroma.instance gen || die + mv -v config/{generated_config.exs,prod.secret.exs} || die + + einfo "Creating the database..." + sudo -u postgres psql -f config/setup_db.psql || die + + einfo "Running the database migration..." + sudo -u pleroma MIX_ENV=prod mix ecto.migrate || die + + einfo "Your configuration file is in ${configfile}." + else + einfo "Pleroma will be stopped for the duration of the update." + einfo "Hit enter to proceed." + read + + local started=0 + if "${EROOT}"/etc/init.d/pleroma --nocolor status | grep started; then + started=1 + fi + + if [ ${started} -eq 1 ]; then + einfo "Stopping pleroma..." + "${EROOT}"/etc/init.d/pleroma stop || die + fi + + einfo "Updating the dependencies..." + sudo -u pleroma mix deps.get || die + + einfo "Running the database migration..." + sudo -u pleroma MIX_ENV=prod mix ecto.migrate || die + + if [ ${started} -eq 1 ]; then + einfo "Starting pleroma..." + "${EROOT}"/etc/init.d/pleroma start || die + fi + fi +}