commit: cd1e60c3bb3f619d081a94f25c741b49b1622401 Author: Haelwenn (lanodan) Monnier <contact <AT> hacktivis <DOT> me> AuthorDate: Wed Dec 31 18:30:09 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Wed Dec 31 18:33:54 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=cd1e60c3
www-apps/pleroma: add 2.10.0 Signed-off-by: Haelwenn (lanodan) Monnier <contact <AT> hacktivis.me> www-apps/pleroma/Manifest | 1 + www-apps/pleroma/pleroma-2.10.0.ebuild | 129 +++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) diff --git a/www-apps/pleroma/Manifest b/www-apps/pleroma/Manifest index afe7cd6856..8c3d7bdd73 100644 --- a/www-apps/pleroma/Manifest +++ b/www-apps/pleroma/Manifest @@ -1 +1,2 @@ +DIST pleroma-v2.10.0.tar.gz 33971844 BLAKE2B 297432bb9b235992fb94a216d5478598499e85e171cd63f2705553be74e3402e42f4f13c0914b83cb8a718c278ad4b72522fef07a1f538f5bdc20dab731dc5ef SHA512 c9006d087b63fcc8fbf90fc4fb6a1c08f03597e9d66791d98120884ff0bbff3a1647d76e0dea43e9c21cf928cd68b49f4e50fad0d3f711a1c8f474b98d7f8d87 DIST pleroma-v2.9.1.tar.gz 29576541 BLAKE2B 4bfa088f80a9e634948f910a20c73e88195184ead438140000ff9700142f48eb1bcc455a792f1afaa6011c2f9de351fa78b7f3bd3d862a411cf8ebf6b1afdd98 SHA512 1f64b8fc861dd371c354521433e13c8ad5a12456328bfd1e82f4b74323282b052573cc06cb95ec0515cad20af9d041a8d68deebe7af1a68e606e4d0a27ae8b78 diff --git a/www-apps/pleroma/pleroma-2.10.0.ebuild b/www-apps/pleroma/pleroma-2.10.0.ebuild new file mode 100644 index 0000000000..51fd8a3055 --- /dev/null +++ b/www-apps/pleroma/pleroma-2.10.0.ebuild @@ -0,0 +1,129 @@ +# Copyright 2022-2024 Haelwenn (lanodan) Monnier <[email protected]> +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit mix optfeature flag-o-matic + +DESCRIPTION="ActivityPub social networking software compatible with other Fediverse software" +HOMEPAGE="https://pleroma.social/" +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.pleroma.social/pleroma/pleroma" +else + SRC_URI="https://git.pleroma.social/pleroma/pleroma/-/archive/v${PV}/${PN}-v${PV}.tar.gz" + S="${WORKDIR}/${PN}-v${PV}" + KEYWORDS="~amd64" +fi +LICENSE="AGPL-3 CC-BY-SA-4.0 CC-BY-4.0" +SLOT="otp" + +IUSE="+system-lexbor" + +# Requires network access (https) as long as elixir dependencies aren't packaged +# said dependencies have their checksum verified via `mix.lock` +RESTRICT="network-sandbox" + +BDEPEND=" + <dev-lang/erlang-27:= + >=dev-lang/elixir-1.14:= + <dev-lang/elixir-1.18 + dev-build/cmake + >=dev-util/rebar-3.20.0-r1 + dev-elixir/hex + dev-vcs/git +" +DEPEND=" + dev-libs/glib + media-libs/vips:= + sys-apps/file + sys-libs/ncurses:= + system-lexbor? ( dev-libs/lexbor ) +" +RDEPEND=" + ${DEPEND} + acct-user/pleroma + acct-group/pleroma + dev-db/postgresql[uuid] +" + +src_unpack() { + default + + [[ "${PV}" == *9999 ]] && git-r3_src_unpack + + cd "${S}" || die + emix deps.get --only prod +} + +src_prepare() { + default + + # Point to the correct source repo, needed for AGPL compliance + if [[ "${PV}" == *9999 ]] && [[ -n "${EGIT_OVERRIDE_REPO}" ]]; then + sed -i "s!source_url: .*!source_url: \"${EGIT_OVERRIDE_REPO}\",!" mix.exs || die + fi + + # strip_beams: Keep debug information in Erlang BEAM bytecode + # include_erts: Depend on system erlang for the runtime + sed -i '/include_executables_for:/a\ strip_beams: false,\n\ include_erts: false,' mix.exs || die + + sed -i \ + -e '/update \[OPTIONS\]/,/--tmp-dir/d' \ + -e 's;update "$@";echo "Unsupported, check the '"${CATEGORY}/${PN}"' package instead.";' \ + rel/files/bin/pleroma_ctl || die + + # Default ends up being inside /opt/pleroma which should be kept read-only to pleroma + echo 'config :tzdata, :data_dir, "/var/lib/pleroma/tzdata"' >> config/prod.exs || die + + echo "import Config" > config/prod.secret.exs || die + + # Needs -fPIC under glibc for exile library + # https://bugs.gentoo.org/937130 + append-flags -fPIC +} + +src_compile() { + mkdir -p pleroma || die + + export VIX_COMPILATION_MODE="PLATFORM_PROVIDED_LIBVIPS" + + use system-lexbor && export WITH_SYSTEM_LEXBOR=1 + + emix release --overwrite --path pleroma +} + +src_install() { + # doins doesn't seems to preserve permissions + mkdir -p "${ED}/opt" || die + cp -pr ./pleroma "${ED}/opt/pleroma" || die + fperms 0750 /opt/pleroma + fperms -R g-w,o= /opt/pleroma + fowners -R 0:pleroma /opt/pleroma + + doinitd ./pleroma/installation/init.d/pleroma + + dosym /opt/pleroma/bin/pleroma /usr/bin/pleroma + dosym /opt/pleroma/bin/pleroma_ctl /usr/bin/pleroma_ctl + + # This file controls console access + fperms 0750 /opt/pleroma/releases/COOKIE + fowners 0:pleroma /opt/pleroma/releases/COOKIE + + keepdir /etc/pleroma + fperms 0750 /etc/pleroma + fowners 0:pleroma /etc/pleroma + + keepdir /var/lib/pleroma + fperms 0750 /var/lib/pleroma + fowners pleroma:pleroma /var/lib/pleroma + + dosym /opt/pleroma-fe/dist /var/lib/pleroma/static/frontends/pleroma-fe/gentoo +} + +pkg_postinst() { + optfeature "For Pleroma.Upload.Filters.{Mogrify,Mogrifun} & images in previews" media-gfx/imagemagick + optfeature "For video support in Media Preview Proxy" media-video/ffmpeg + optfeature "For Pleroma.Upload.Filters.Exiftool.* filters" media-libs/exiftool + optfeature "Allows to pick system-managed frontend instead of bundled" www-apps/pleroma-fe +}
