| 1 |
|
# Copyright 1999-2025 Gentoo Authors
|
|
1 |
# Copyright 1999-2026 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
|
PYTHON_COMPAT=( python3_{11..12} )
|
|
6 |
PYTHON_COMPAT=( python3_{11..14} )
|
| 7 |
7 |
PYTHON_REQ_USE="xml(+)"
|
| 8 |
8 |
|
| 9 |
|
inherit eapi9-ver python-any-r1 systemd
|
|
9 |
inherit python-single-r1 systemd
|
| 10 |
10 |
|
| 11 |
11 |
DESCRIPTION="RabbitMQ is a high-performance AMQP-compliant message broker written in Erlang"
|
| 12 |
12 |
HOMEPAGE="https://www.rabbitmq.com/"
|
| ... | ... | |
| 15 |
15 |
LICENSE="MPL-2.0"
|
| 16 |
16 |
SLOT="0"
|
| 17 |
17 |
KEYWORDS="amd64 ~arm64 x86"
|
|
18 |
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
| 18 |
19 |
RESTRICT="test"
|
| 19 |
20 |
|
| 20 |
|
# See https://www.rabbitmq.com/which-erlang.html for Erlang version
|
| 21 |
|
# See https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_cli/mix.exs for Elixir version
|
| 22 |
|
RDEPEND="
|
|
21 |
ACCT_DEPEND="
|
| 23 |
22 |
acct-group/rabbitmq
|
| 24 |
23 |
acct-user/rabbitmq
|
| 25 |
|
>=dev-lang/erlang-26.0[ssl] <dev-lang/erlang-26.3
|
| 26 |
24 |
"
|
|
25 |
# See https://www.rabbitmq.com/which-erlang.html for Erlang version
|
|
26 |
ERLANG_DEPEND="
|
|
27 |
>=dev-lang/erlang-26.0[ssl] <dev-lang/erlang-28
|
|
28 |
"
|
|
29 |
RDEPEND="
|
|
30 |
${ACCT_DEPEND}
|
|
31 |
${ERLANG_DEPEND}
|
|
32 |
${PYTHON_DEPS}
|
|
33 |
"
|
|
34 |
# See https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_cli/mix.exs for Elixir version
|
| 27 |
35 |
DEPEND="
|
| 28 |
|
${RDEPEND}
|
|
36 |
${ERLANG_DEPEND}
|
| 29 |
37 |
app-arch/zip
|
| 30 |
38 |
app-arch/unzip
|
| 31 |
39 |
app-text/docbook-xml-dtd:4.5
|
| 32 |
40 |
app-text/xmlto
|
| 33 |
|
>=dev-lang/elixir-1.13.4 <dev-lang/elixir-1.17.0
|
|
41 |
>=dev-lang/elixir-1.13.4 <dev-lang/elixir-1.20.0
|
| 34 |
42 |
dev-libs/libxslt
|
| 35 |
|
${PYTHON_DEPS}
|
| 36 |
43 |
"
|
| 37 |
44 |
BDEPEND="
|
|
45 |
${ACCT_DEPEND}
|
|
46 |
${ERLANG_DEPEND}
|
| 38 |
47 |
sys-apps/which
|
|
48 |
|| (
|
|
49 |
app-arch/7zip
|
|
50 |
app-arch/p7zip
|
|
51 |
)
|
| 39 |
52 |
"
|
| 40 |
53 |
|
| 41 |
|
pkg_setup() {
|
| 42 |
|
python-any-r1_pkg_setup
|
| 43 |
|
}
|
| 44 |
|
|
| 45 |
54 |
src_compile() {
|
|
55 |
python_fix_shebang deps/rabbitmq_management/bin/rabbitmqadmin
|
|
56 |
|
| 46 |
57 |
# Disable parallel make
|
| 47 |
58 |
# https://bugs.gentoo.org/930093
|
| 48 |
59 |
# https://bugs.gentoo.org/930098
|
| 49 |
60 |
# https://bugs.gentoo.org/930133
|
| 50 |
|
emake -j1 all docs dist
|
|
61 |
emake -j1 PROJECT_VERSION=${PV} all docs dist
|
| 51 |
62 |
}
|
| 52 |
63 |
|
| 53 |
64 |
src_install() {
|
| ... | ... | |
| 89 |
100 |
diropts -m 0770 -o rabbitmq -g rabbitmq
|
| 90 |
101 |
keepdir /var/lib/rabbitmq/mnesia
|
| 91 |
102 |
}
|
| 92 |
|
|
| 93 |
|
pkg_preinst() {
|
| 94 |
|
# https://www.rabbitmq.com/docs/upgrade#rabbitmq-version-upgradability
|
| 95 |
|
if ver_replacing -lt 3.12; then
|
| 96 |
|
elog "Upgrading to RabbitMQ 3.12 requires all feature flags"
|
| 97 |
|
elog "from 3.11 to be enabled. If any feature flags are not"
|
| 98 |
|
elog "enabled, the node will refuse to start."
|
| 99 |
|
fi
|
| 100 |
|
}
|