commit:     b4fc75be1bbde689b07384e6c0aac298f63e5540
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 30 11:06:38 2025 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Tue Sep 30 11:08:27 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4fc75be

net-misc/rabbitmq-server: add 4.0.9

- Switch from python-any-r1 to python-single-r1, because python is not
  used in build time. However, it is required for rabbitmqadmin script
  in runtime. Its shebang is newly corrected with respect to selected
  PYTHON_SINGLE_TARGET.
- acct-{group,user}/rabbitmq need to be defined in both, rdep and bdep.
- sys-apps/which is no longer used in this version.
- Erlang is technically all three, rdep, dep and bdep.
- Erlang and Elixir version limits are set with respect to related
  documentations.
- Remove redundant specification of pkg_setup phase, the default does
  exactly that.
- The PROJECT_VERSION is set to PV, otherwise built in modules are
  installed with version set to 0.0.0.
- Remove old upgrading notice, 3.11 series was dropped long ago.

Bug: https://bugs.gentoo.org/948081
Bug: https://bugs.gentoo.org/952618
Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 net-misc/rabbitmq-server/Manifest                  |  1 +
 .../rabbitmq-server/rabbitmq-server-4.0.9.ebuild   | 97 ++++++++++++++++++++++
 2 files changed, 98 insertions(+)

diff --git a/net-misc/rabbitmq-server/Manifest 
b/net-misc/rabbitmq-server/Manifest
index c42872589a4a..3d1ff5c6f60a 100644
--- a/net-misc/rabbitmq-server/Manifest
+++ b/net-misc/rabbitmq-server/Manifest
@@ -1 +1,2 @@
 DIST rabbitmq-server-3.13.1.tar.xz 5083312 BLAKE2B 
1821d05c1be2da491019605de7877f26cb8d47bf67f901d5bb2ede961558a44900a3b8697e254167eb5622d37b20b668dc919fadbe5c5c98f5cc644b948986b3
 SHA512 
022c6e213cf7cea865a6931a3481897efea65dffa649dd77df9d88bb5f9b7abaaa83b525f983de4cb336b1e0469073cadc2ce48d4f47f93005c87b9fdadb3857
+DIST rabbitmq-server-4.0.9.tar.xz 5070984 BLAKE2B 
3f25acca661c37405e2cf3a244e1fccdfbb25957be8fb9cb7145637e7c9c40045da1c3f757ba48626ca840238d726930e4aa7bb342e7dd1c9e21f09649e6ed73
 SHA512 
ebb9ed0fa445ca909134bc3fa2a617dbc428993460921e686eb3498c12cb4b40afa2b39ae501d002406ca2ec7480e0d1ef7ecc24f28f6d240f29030e541291fb

diff --git a/net-misc/rabbitmq-server/rabbitmq-server-4.0.9.ebuild 
b/net-misc/rabbitmq-server/rabbitmq-server-4.0.9.ebuild
new file mode 100644
index 000000000000..9e161de9fc23
--- /dev/null
+++ b/net-misc/rabbitmq-server/rabbitmq-server-4.0.9.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit python-single-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"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="test"
+
+ACCT_DEPEND="
+       acct-group/rabbitmq
+       acct-user/rabbitmq
+"
+# See https://www.rabbitmq.com/which-erlang.html for Erlang version
+ERLANG_DEPEND="
+       >=dev-lang/erlang-26.0[ssl] <dev-lang/erlang-28
+"
+RDEPEND="
+       ${ACCT_DEPEND}
+       ${ERLANG_DEPEND}
+       ${PYTHON_DEPS}
+"
+# See 
https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_cli/mix.exs 
for Elixir version
+DEPEND="
+       ${ERLANG_DEPEND}
+       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.19.0
+       dev-libs/libxslt
+"
+BDEPEND="
+       ${ACCT_DEPEND}
+       ${ERLANG_DEPEND}
+"
+
+src_compile() {
+       python_fix_shebang deps/rabbitmq_management/bin/rabbitmqadmin
+
+       # Disable parallel make
+       # https://bugs.gentoo.org/930093
+       # https://bugs.gentoo.org/930098
+       # https://bugs.gentoo.org/930133
+       emake -j1 PROJECT_VERSION=${PV} 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
+}

Reply via email to