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
+}

Reply via email to