summaryrefslogtreecommitdiff
path: root/dev-python/thrift/thrift-0.24.0.ebuild
blob: 9adda03cb81d320ef18d3f611863c23e1fca04a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{13..14} )

inherit distutils-r1

DESCRIPTION="Python implementation of Thrift"
HOMEPAGE="
	https://pypi.org/project/thrift/
	https://thrift.apache.org/
	https://github.com/apache/thrift
"
SRC_URI="
	mirror://apache/${PN}/${PV}/${P}.tar.gz
"
S="${WORKDIR}/${P}/lib/py"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~riscv x86"
IUSE="+native-extensions test"
RESTRICT="!test? ( test )"

BDEPEND="
	test? (
		>=dev-libs/thrift-0.24.0
	)
"

distutils_enable_tests unittest

src_prepare() {
	distutils-r1_src_prepare

	# upstream tries True, and if it fails, tries False
	# just subtitute both to get what we want
	local build_ext=$(usex native-extensions True False)
	sed -e "/with_binary=/s:False\|True:${build_ext}:" \
		-i setup.py || die
}

python_test() {
	# upstream generates more files, but only this one seems to affect
	# test results
	thrift --gen py ../../test/Recursive.thrift || die

	eunittest test
}

src_install() {
	distutils-r1_src_install
	# avoid file collision with dev-libs/thrift (bug #933272)
	mv "${D}"/usr/share/doc/${P}/README.md \
		"${D}"/usr/share/doc/${P}/ReadMe.md || die
}