commit:     5c4e0418e30ca0a40eebb61782d633004aa76a9f
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 15 19:06:41 2024 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Mon Apr 15 19:07:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c4e0418

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 <AT> gentoo.org>

 net-misc/rabbitmq-server/Manifest                  |  1 +
 .../rabbitmq-server/rabbitmq-server-3.13.1.ebuild  | 93 ++++++++++++++++++++++
 2 files changed, 94 insertions(+)

diff --git a/net-misc/rabbitmq-server/Manifest 
b/net-misc/rabbitmq-server/Manifest
index 52b20c665f6f..7d9d925cd1be 100644
--- a/net-misc/rabbitmq-server/Manifest
+++ b/net-misc/rabbitmq-server/Manifest
@@ -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

diff --git a/net-misc/rabbitmq-server/rabbitmq-server-3.13.1.ebuild 
b/net-misc/rabbitmq-server/rabbitmq-server-3.13.1.ebuild
new file mode 100644
index 000000000000..3307447c0c23
--- /dev/null
+++ b/net-misc/rabbitmq-server/rabbitmq-server-3.13.1.ebuild
@@ -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
+}

Reply via email to