net-misc/rabbitmq-server: add 3.13.1

- Update to support new Erlang and Elixir versions
- Use insopts to ensure that scripts are executable

Signed-off-by: Matthew Smith <matthew@gentoo.org>
This commit is contained in:
Matthew Smith
2024-04-15 19:06:41 +00:00
parent b8025b79b4
commit 5c4e0418e3
2 changed files with 94 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST rabbitmq-server-3.11.2.tar.xz 3752644 BLAKE2B bc98808579cbaa12371fc95d137fd18a0d784a859471d4dac6c328e819bb7ba5cb0256509a678788452f6dbeaa6fc48b4dbe39b24bd7cf0b1698fb6e4f67cb03 SHA512 ceec07fb9dfe8ba76850aa94543396a4e878aca13b9e3e303e86bb44bbbb1cea863148a1480b83517bfd2bdc66b814c3177ad2ed595604f5710f8f98e8dcc439
DIST rabbitmq-server-3.12.9.tar.xz 4437392 BLAKE2B 19c1e88e79c29af0c06d732d25098ee7b5575e8f269ba08e3247a65ba206c8cdc819767572071063dcbd8816756366d0a3f059d8e060ffe47fb221e1546b4c23 SHA512 c6015ee9593336104fc043ed20d99a476e7b36802ae36798f23c2caf91a01a71913963fdbe6de249f234cb3ba82379e5c5b2976e07d098c287ee72e3f238f2eb
DIST rabbitmq-server-3.13.1.tar.xz 5083312 BLAKE2B 1821d05c1be2da491019605de7877f26cb8d47bf67f901d5bb2ede961558a44900a3b8697e254167eb5622d37b20b668dc919fadbe5c5c98f5cc644b948986b3 SHA512 022c6e213cf7cea865a6931a3481897efea65dffa649dd77df9d88bb5f9b7abaaa83b525f983de4cb336b1e0469073cadc2ce48d4f47f93005c87b9fdadb3857

View File

@@ -0,0 +1,93 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
PYTHON_REQ_USE="xml(+)"
inherit python-any-r1 systemd
DESCRIPTION="RabbitMQ is a high-performance AMQP-compliant message broker written in Erlang"
HOMEPAGE="https://www.rabbitmq.com/"
SRC_URI="https://github.com/rabbitmq/rabbitmq-server/releases/download/v${PV}/${P}.tar.xz"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RESTRICT="test"
# See https://www.rabbitmq.com/which-erlang.html for Erlang version
# See https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_cli/mix.exs for Elixir version
RDEPEND="
acct-group/rabbitmq
acct-user/rabbitmq
>=dev-lang/erlang-26.0[ssl] <dev-lang/erlang-26.3
"
DEPEND="
${RDEPEND}
app-arch/zip
app-arch/unzip
app-text/docbook-xml-dtd:4.5
app-text/xmlto
>=dev-lang/elixir-1.13.4 <dev-lang/elixir-1.17.0
dev-libs/libxslt
${PYTHON_DEPS}
"
pkg_setup() {
python-any-r1_pkg_setup
}
src_compile() {
emake all docs dist
}
src_install() {
# erlang module
local targetdir="/usr/$(get_libdir)/erlang/lib/rabbitmq_server-${PV}"
einfo "Setting correct RABBITMQ_HOME in scripts"
sed -e "s:^RABBITMQ_HOME=.*:RABBITMQ_HOME=\"${targetdir}\":g" \
-i deps/rabbit/scripts/rabbitmq-env || die
einfo "Installing Erlang modules to ${targetdir}"
insinto "${targetdir}"
chmod +x escript/* || die
insopts -m0755
doins -r deps/rabbit/ebin deps/rabbit/include deps/rabbit/priv escript plugins
einfo "Installing server scripts to /usr/sbin"
exeinto /usr/libexec/rabbitmq
for script in deps/rabbit/scripts/*; do
doexe ${script}
newsbin "${FILESDIR}"/rabbitmq-script-wrapper $(basename $script)
done
# install the init script
newinitd "${FILESDIR}"/rabbitmq-server.init-r4 rabbitmq
systemd_dounit "${FILESDIR}/rabbitmq.service"
# install documentation
dodoc deps/rabbit/docs/*.example
dodoc deps/rabbit/README.md
doman deps/rabbit/docs/*.5
doman deps/rabbit/docs/*.8
# create the directory where our log file will go.
diropts -m 0770 -o rabbitmq -g rabbitmq
keepdir /var/log/rabbitmq /etc/rabbitmq
# create the mnesia directory
diropts -m 0770 -o rabbitmq -g rabbitmq
keepdir /var/lib/rabbitmq/mnesia
}
pkg_preinst() {
# https://www.rabbitmq.com/docs/upgrade#rabbitmq-version-upgradability
if [[ -n ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 3.12; then
elog "Upgrading to RabbitMQ 3.12 requires all feature flags"
elog "from 3.11 to be enabled. If any feature flags are not"
elog "enabled, the node will refuse to start."
fi
}