www-apps/mobilizon: New package.

main
Jesus P Rey (Chuso) 2023-01-14 20:49:58 +01:00
parent 0649745079
commit 881737ac62
No known key found for this signature in database
GPG Key ID: 0E663E0721D67C24
4 changed files with 132 additions and 0 deletions

View File

@ -0,0 +1,2 @@
DIST dbip-city-lite-2023-01.mmdb.gz 46853789 BLAKE2B 32d13bd56fe931d1c0516df520591c319d5bd73f6aac84f6e38f419ff48b1e3e3c17ac838fdf303cc1ec26a59f5a1b0bb77392cc3cc20695228fea78f7fff46a SHA512 fbb3357628ecb6f79d28e2d1f4a7819d0469cd6b777abc961f62851d2fac40a473da95560baf291c274e73f75928044f4d30a164ce01f49dd2f57c2ce49a49e5
DIST mobilizon-3.0.3.tar.bz2 3992464 BLAKE2B 7ee7885f2a749847eb8f53977ebf184bc4c532c9eb5e2beabbc48be61c63a0494d392f8d90af40cdefba0196fda1ebf7e93ddfb88c69dcb62f49454ec525bd14 SHA512 065fa99b077efe2779758a01315232a8515604bb479108f92f64d00c18653248889c0ef6a1525c1aa818a83829ecf4d0e3ad4e26c2ed105dd088927495d8a5e7

View File

@ -0,0 +1,26 @@
#!/sbin/openrc-run
description="Mobilizon Service"
depend() {
need localmount net
use logger
}
start() {
ebegin "Starting ${SVCNAME}"
start-stop-daemon --start --user mobilizon \
--exec /opt/mobilizon/bin/mobilizon \
--chdir /opt/mobilizon \
--env "MIX_ENV=prod" --background -- start
eend $?
}
stop() {
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --user mobilizon \
--exec /opt/mobilizon/bin/mobilizon \
--chdir /opt/mobilizon \
--env "MIX_ENV=prod" -- stop
eend $?
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>git@chuso.net</email>
<name>Jesus Perez Rey</name>
</maintainer>
</pkgmetadata>

View File

@ -0,0 +1,96 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit check-reqs systemd
DESCRIPTION="Web application to organize events with ActivityPub support"
HOMEPAGE="https://joinmobilizon.org/"
SRC_URI="https://framagit.org/framasoft/${PN}/-/archive/${PV}/${P}.tar.bz2
geoip? ( https://download.db-ip.com/free/dbip-city-lite-2023-01.mmdb.gz )"
LICENSE="AGPL-3 geoip? ( CC-BY-4.0 )"
SLOT="0"
KEYWORDS="~arm"
RESTRICT="network-sandbox"
IUSE="geoip ldap"
RDEPEND="acct-user/mobilizon
dev-db/postgis
media-gfx/gifsicle
media-gfx/imagemagick
media-gfx/jpegoptim
media-gfx/optipng
media-gfx/pngquant
media-libs/libwebp
sys-apps/file
virtual/httpd-basic
!www-apps/mobilizon-bin"
DEPEND="dev-lang/elixir"
BDEPEND="ldap? ( <dev-lang/erlang-24.3 )
dev-util/rebar:3
net-libs/nodejs
sys-apps/yarn"
CHECKREQS_MEMORY="2G"
pkg_pretend() {
if use ldap; then
ewarn "For LDAP support, make sure dev-lang/elixir was compiled with <dev-lang/erlang-24.3"
fi
if ! has_version media-gfx/imagemagick[jpeg,png,webp]; then
ewarn "One of the jpeg, png or webp USE flags for media-gfx/imagemagick is disabled."
ewarn "This will make ${CATEGORY}/${PN} unable to support that type of images."
fi
}
src_prepare() {
export MIX_ENV=prod
mix local.rebar --force || die
mix local.hex --force || die
# We try to download dependencies twice because the repositories are not very stable and fail often
mix deps.get || mix deps.get || die
(cd js && yarn install || yarn install) || die
default
}
src_compile() {
export MIX_ENV=prod
mix compile || die
(cd js && NODE_OPTIONS="--max-old-space-size=2048" yarn run build --prod) || die
mix phx.digest
}
src_install() {
MIX_ENV=prod mix release || die
cd _build/prod/rel || die
systemd_newunit mobilizon/support/systemd/mobilizon-release.service mobilizon.service
newinitd "${FILESDIR}/mobilizon.initd" mobilizon
dodoc -r mobilizon/support
rm -fr mobilizon/support || die
insinto /opt
doins -r mobilizon
keepdir /var/lib/mobilizon/uploads /var/lib/mobilizon/uploads/exports/csv /var/lib/mobilizon/data
fowners -R mobilizon:mobilizon /var/lib/mobilizon/uploads /var/lib/mobilizon/uploads/exports/csv /var/lib/mobilizon/data /opt/mobilizon
fperms 0755 \
$(ls \
mobilizon/erts-*/bin/* \
mobilizon/lib/*/priv/{lib,bin}/* \
mobilizon/lib/argon2_elixir-*/priv/argon2_nif.so \
mobilizon/lib/eblurhash-*/priv/blurhash \
mobilizon/lib/fast_html-*/priv/fasthtml_worker \
| sed 's-^-/opt/-') \
/opt/mobilizon/bin/mobilizon{,_ctl} \
/opt/mobilizon/releases/${PV}/iex \
/opt/mobilizon/releases/${PV}/elixir
if use geoip; then
insinto "/opt/mobilizon/lib/${P}/priv/data"
newins "${WORKDIR}/dbip-city-lite-2023-01.mmdb" GeoLite2-City.mmdb
fi
}
pkg_postinst() {
einfo "Please check https://docs.joinmobilizon.org/administration/install/release/#configuration for the configuration instructions"
}