diff --git a/www-apps/pleroma/Manifest b/www-apps/pleroma/Manifest index 768005c..ad9d031 100644 --- a/www-apps/pleroma/Manifest +++ b/www-apps/pleroma/Manifest @@ -6,11 +6,12 @@ EBUILD pleroma-1.1.8.ebuild 3372 BLAKE2B 37173e0ddbca3dfbe5e37ae370c5d9e5e9f9e47 EBUILD pleroma-1.1.9.ebuild 3372 BLAKE2B 37173e0ddbca3dfbe5e37ae370c5d9e5e9f9e47a2f7fea36f7da2f4d8cd945711597871f1a2bd09c733994a5211c08596dce1d8b238cd7d59ab14eb909030da8 SHA512 bdbf8490668d1ca5917f3708f6f41a295b321efc958b4cff25fdb7baeff366e3a1f084524d7e09bbed8865cefe41d0c23cc6ff12636cff1ea48688e2bfe571d0 EBUILD pleroma-2.0.0.ebuild 3366 BLAKE2B 8bced6f6c08f2175cbdb04810ade6149b2bdb1f058f963649130011682841b43f55de743ddfe0a518af430b901a3bddfb8c858b7f769bdd7011245bdcada1d1c SHA512 2a4b91f7c039c6fbdccecee6291b5de4b7c3236e8f6e04b4a11491ef800f6b8fc2179140ce91d502eacad1cbb77e578dd74335a46c3fe4eae95090023e8129ce EBUILD pleroma-2.0.1.ebuild 3461 BLAKE2B d5f350885def997f67cab26758b29b77dca22a46d04ba2dbb79fd66f161d8b8be3a6229398274d598be9ba2e865c499076c5736605f003fdb3b6c0eff1923eda SHA512 0fb87b0521f8807e33ebb282360c67a73028b5bbfcc05616c3b63ade97e4a09c84b1b678685c87e880e76c368a7589b36677a67984fe9b764d0b0c33bdd25515 +EBUILD pleroma-2.0.2.ebuild 3319 BLAKE2B 20f211ab8dc38a3bfb3c6d3a88de9ab4dad6192fa462fcd298bbaeb51385e2a69d4c88da397ff2bca15672c7497f8020430076d38df8df5c45d5f6d2eefd508f SHA512 ed098b534036877042836a460a3072e47877130b4615b5a1e46e9b782c8f1e14b9587b0d93cb3f743fb537fee2fd17c82110fd4846da7bdf47240ddeb527f398 MISC metadata.xml 993 BLAKE2B adc5c72fe12b6fdb4eb20c1d79dde227b088b437ffd21d16cc5775fa5bb7fa6363890dd5017fbe7f5a00a794a38fb298ce17e6402f6d3d5441985effd0d7e1db SHA512 6ff23fa60c0f22ef7a433e3d1b4919d074508898504b7168c925da8840f542afcdc891a9f4df69dc8eb6c44b7d9c41e6b94fdecd404ca738169124bcdab0af0d -----BEGIN PGP SIGNATURE----- -iHUEAREIAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXo40fgAKCRDPw5SX8bJu -B0H6AP0XmBdbCGOEwJgk/GO15X72R0YvK+DFH7WEwZ/sykn/0wD/QyCpDeoAZK07 -gY4sci/x6Lf2bYMJjyFVzyBEjdm2vEM= -=XP9T +iHUEAREIAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXo40wgAKCRDPw5SX8bJu +B0QmAP0YRjHP4wSAvGgH+J7nTbG0gzAaCWnGWTsVq2RZ75QYnAD/aN2CIi2/Np0C +z9U3nh2l8BfUXIQt9LEOuE5acT0d4qE= +=iXyZ -----END PGP SIGNATURE----- diff --git a/www-apps/pleroma/pleroma-2.0.2.ebuild b/www-apps/pleroma/pleroma-2.0.2.ebuild new file mode 100644 index 0000000..1d84665 --- /dev/null +++ b/www-apps/pleroma/pleroma-2.0.2.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 systemd + +DESCRIPTION="Microblogging server software that can federate with other servers." +HOMEPAGE="https://pleroma.social/ https://git.pleroma.social/pleroma/pleroma/" +EGIT_REPO_URI="https://git.pleroma.social/pleroma/pleroma.git" +EGIT_COMMIT="v${PV}" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="" +IUSE="apache +nginx syslog" + +RDEPEND=" + acct-group/pleroma + acct-user/pleroma + >=dev-lang/elixir-1.8.1 + >=dev-db/postgresql-9.6.13[uuid] + apache? ( www-servers/apache ) + nginx? ( www-servers/nginx[nginx_modules_http_slice] ) +" +DEPEND="" + +pkg_preinst() { + ewarn "This ebuild will overwrite modified files in /opt/pleroma/priv/static/" +} + +src_install() { + insinto "/opt/pleroma" + insopts -o pleroma -g pleroma -m 0664 + doins -r * .* + # insopts doesn't affect directories. + chown -R pleroma:pleroma "${ED}/opt/pleroma" + chmod -R ug=rwX "${ED}/opt/pleroma" + + if use nginx; then + dodoc installation/pleroma.nginx + fi + if use apache; then + dodoc installation/pleroma-apache.conf + fi + + dodoc -r docs/* + + doinitd installation/init.d/pleroma + systemd_dounit installation/pleroma.service +} + +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 # Fresh install. + einfo "Installing the dependencies..." + einfo "Answer with yes if it asks you to install Hex." + su -ls /bin/bash -c "mix deps.get" pleroma || die + + einfo "Generating the configuration..." + einfo "Answer with yes if it asks you to install rebar3." + su -ls /bin/bash -c "mix pleroma.instance gen" pleroma || die + mv -v config/{generated_config.exs,prod.secret.exs} || die + + if use syslog; then + einfo "Activating syslog in ${configfile} ..." + cat "${FILESDIR}/syslog.exs" >> ${configfile} + fi + + einfo "Creating the database..." + su -ls /bin/bash -c "psql -f config/setup_db.psql" postgres || die + + einfo "Running the database migration..." + su -ls /bin/bash -c "MIX_ENV=prod mix ecto.migrate" pleroma || die + + einfo "Your configuration file is in ${configfile}." + else # Update. + einfo "Pleroma will be stopped for the duration of the update." + einfo "Hit enter to proceed." + read + + declare -i started=0 + if "${EROOT}"/etc/init.d/pleroma --nocolor status | grep -q 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..." + su -ls /bin/bash -c "mix deps.get" pleroma || die + + einfo "Running the database migration..." + su -ls /bin/bash -c "MIX_ENV=prod mix ecto.migrate" pleroma || die + + if [[ ${started} -eq 1 ]]; then + einfo "Starting pleroma..." + "${EROOT}"/etc/init.d/pleroma start || die + fi + fi + + if ! grep -q MIX_ENV ~pleroma/.profile 2>/dev/null; then + elog "Setting MIX_ENV=prod in ~pleroma/.profile ..." + echo "export MIX_ENV=prod" >> ~pleroma/.profile || die + fi +}