*/*: Clean PYTHON_COMPAT of obsolete impls
[gentoo.git] / sys-cluster / heat / heat-12.0.0.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5 PYTHON_COMPAT=( python2_7 python3_{6,7} )
6
7 inherit distutils-r1 eutils linux-info user
8
9 DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchestration engine."
10 HOMEPAGE="https://launchpad.net/heat"
11
12 if [[ ${PV} == *9999 ]];then
13         inherit git-r3
14         SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.stein -> heat.conf.sample-${PV}"
15         EGIT_REPO_URI="https://github.com/openstack/heat.git"
16         EGIT_BRANCH="stable/stein"
17 else
18         SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.stein -> heat.conf.sample-${PV}
19                 https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
20         KEYWORDS="amd64 ~arm64 x86"
21 fi
22 S="${WORKDIR}/openstack-${P}"
23
24 LICENSE="Apache-2.0"
25 SLOT="0"
26 IUSE="+mysql +memcached postgres sqlite"
27 REQUIRED_USE="|| ( mysql postgres sqlite )"
28
29 CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
30         !~dev-python/pbr-2.1.0"
31 DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
32         ${CDEPEND}
33         app-admin/sudo"
34
35 RDEPEND="
36         ${CDEPEND}
37         >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
38         !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
39         >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
40         >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
41         >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
42         !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
43         >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
44         >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
45         >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
46         !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
47         >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
48         >=dev-python/neutron-lib-1.14.0[${PYTHON_USEDEP}]
49         >=dev-python/openstacksdk-0.11.2[${PYTHON_USEDEP}]
50         >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
51         >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
52         >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
53         >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
54         >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
55         >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
56         >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
57         >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
58         >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
59         >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
60         >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
61         >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
62         !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
63         >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
64         !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
65         >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
66         >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
67         >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
68         >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
69         >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
70         >=dev-python/aodhclient-0.9.0[${PYTHON_USEDEP}]
71         >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
72         >=dev-python/python-blazarclient-1.0.0[${PYTHON_USEDEP}]
73         >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
74         >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
75         >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
76         >=dev-python/python-heatclient-1.10.0[${PYTHON_USEDEP}]
77         >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
78         >=dev-python/python-magnumclient-2.1.0[${PYTHON_USEDEP}]
79         >=dev-python/python-manilaclient-1.16.0[${PYTHON_USEDEP}]
80         >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
81         !~dev-python/python-mistralclient-3.2.0[${PYTHON_USEDEP}]
82         >=dev-python/python-monascaclient-1.12.0[${PYTHON_USEDEP}]
83         >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
84         >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
85         >=dev-python/python-octaviaclient-1.3.0[${PYTHON_USEDEP}]
86         >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
87         >=dev-python/python-saharaclient-1.4.0[${PYTHON_USEDEP}]
88         >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
89         >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
90         >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
91         >=dev-python/python-zunclient-2.0.0[${PYTHON_USEDEP}]
92         >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
93         >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
94         >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
95         >=dev-python/tenacity-4.4.0[${PYTHON_USEDEP}]
96         >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
97         >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
98         sqlite? (
99                 >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
100                 !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
101                 !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
102                 !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
103                 !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
104         )
105         mysql? (
106                 >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
107                 !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
108                 >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
109                 !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
110                 !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
111                 !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
112                 !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
113         )
114         postgres? (
115                 >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
116                 >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
117                 !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
118                 !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
119                 !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
120                 !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
121         )
122         >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
123         >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
124         >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
125         >=dev-python/yaql-1.1.3[${PYTHON_USEDEP}]"
126
127 PATCHES=(
128 )
129
130 pkg_setup() {
131         enewgroup heat
132         enewuser heat -1 -1 /var/lib/heat heat
133 }
134
135 python_prepare_all() {
136         sed -i '/^hacking/d' test-requirements.txt || die
137         distutils-r1_python_prepare_all
138 }
139
140 python_install_all() {
141         distutils-r1_python_install_all
142         diropts -m0750 -o heat -g heat
143         keepdir /etc/heat
144         dodir /etc/heat/environment.d
145         dodir /etc/heat/templates
146
147         for svc in api api-cfn engine; do
148                 newinitd "${FILESDIR}/heat.initd" heat-${svc}
149         done
150
151         insinto /etc/heat
152         insopts -m0640 -o heat -g heat
153         newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
154         doins "etc/heat/api-paste.ini"
155         insinto /etc/heat/templates
156         doins "etc/heat/templates/"*
157         insinto /etc/heat/environment.d
158         doins "etc/heat/environment.d/default.yaml"
159
160         dodir /var/log/heat
161         fowners heat:heat /var/log/heat
162         rm -r "${ED}"/usr/etc
163 }